feat(companies): implement companies page with data table

This commit introduces a new "Companies" page to the dashboard, providing a comprehensive view of company data in a sortable and paginated table.

Key changes include:
- A new page at `/companies` to display the data table.
- A new API route `/api/companies` that serves mock company data.
- A `CompaniesTable` component built with `react-table` featuring sorting, pagination, and search functionality.
- Reusable `TablePagination` and `TableActions` components to support the table.
- The `moment` library has been added as a dependency to format dates within the table.
- A new `CrossIcon` has been added for UI controls.
- The `InputGroup` component is enhanced with an `autoComplete` prop.
- A link to the new "Companies" page has been added to the sidebar navigation.
This commit is contained in:
AmirReza Jamali
2025-09-16 16:01:59 +03:30
parent feac2ddcb9
commit 2fa774b6bd
21 changed files with 350 additions and 24 deletions
+2 -1
View File
@@ -2,7 +2,7 @@
import { ChevronUpIcon } from "@/assets/icons";
import { cn } from "@/lib/utils";
import { useId, useState } from "react";
import { useId, useState, type ChangeEvent } from "react";
import {
type FieldErrors,
type FieldValues,
@@ -16,6 +16,7 @@ type PropsType<T extends FieldValues> = {
label: string;
items: { value: string; label: string }[];
prefixIcon?: React.ReactNode;
onChange?: (e: ChangeEvent<HTMLSelectElement>) => void;
className?: string;
register?: UseFormRegister<T>;
errors?: FieldErrors<T>;