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
+18
View File
@@ -0,0 +1,18 @@
import * as moment from "moment";
export const unixToDate = (unix: number) => {
return moment.unix(unix).format("DD-MM-YYYY");
};
export const getStatusColor = <T>(status: T) => {
switch (status) {
case "active":
return "bg-green-dark text-white";
case "expired":
return "bg-orange-light text-white";
case "cancelled":
return "bg-error-dark text-white";
case "awarded":
return "bg-blue-light-3";
case "draft":
return "bg-gray-3";
}
};