Added table sorting. next up: filtering

This commit is contained in:
2026-02-20 00:17:16 +05:30
parent ab785c610f
commit fe3d9ac852
2 changed files with 39 additions and 3 deletions

View File

@@ -1,7 +1,7 @@
"use client";
import { ColumnDef } from "@tanstack/react-table";
import { Ghost, MoreHorizontal } from "lucide-react";
import { MoreHorizontal, ArrowUpDown } from "lucide-react";
import { Button } from "@/components/ui/button";
import {
DropdownMenu,
@@ -29,7 +29,19 @@ export const columns: ColumnDef<Customer>[] = [
},
{
accessorKey: "name",
header: "Name",
header: ({ column }) => {
return (
<div className="text-left">
<Button
variant="ghost"
onClick={() => column.toggleSorting(column.getIsSorted() === "asc")}
>
Name
<ArrowUpDown className="ml-2 h-4 w-4" />
</Button>
</div>
);
},
},
{
accessorKey: "occupation",
@@ -46,7 +58,20 @@ export const columns: ColumnDef<Customer>[] = [
},
{
accessorKey: "balance",
header: () => <div className="text-right">Balance</div>,
// header: () => <div className="text-right">Balance</div>,
header: ({ column }) => {
return (
<div className="text-right">
<Button
variant="ghost"
onClick={() => column.toggleSorting(column.getIsSorted() === "asc")}
>
Balance
<ArrowUpDown className="ml-2 h-4 w-4" />
</Button>
</div>
);
},
cell: ({ row }) => {
const amount = parseFloat(row.getValue("balance"));
const formatted = new Intl.NumberFormat("en-IN", {