diff --git a/src/pages/Projects.tsx b/src/pages/Projects.tsx index 3f96dec..e280c5a 100644 --- a/src/pages/Projects.tsx +++ b/src/pages/Projects.tsx @@ -9,7 +9,7 @@ import { Plus, Archive, Trash2, Pencil } from "lucide-react"; import FilterBar from "../components/FilterBar"; import { Button } from "../components/ui/button"; -import { Card, CardHeader, CardTitle, CardContent } from "../components/ui/card"; +import { Card } from "../components/ui/card"; import { Modal } from "../components/Modal"; import { toast } from "sonner"; import { Input } from "../components/ui/input"; @@ -21,8 +21,8 @@ import { canWorkspace, } from "../lib/permissions"; -export const Projects: React.FC = () => { - const { t } = useTranslation(); +export const Projects: React.FC = () => { + const { t, lang } = useTranslation(); const { activeWorkspace } = useWorkspace(); const workspaceRole = activeWorkspace?.my_role; const canCreateProject = canWorkspace(workspaceRole, PROJECTS_CREATE); @@ -100,7 +100,7 @@ export const Projects: React.FC = () => { setProjectToDelete(project); }; - const confirmDelete = async () => { + const confirmDelete = async () => { if (!deleteModal.project) return; try { const deletedId = deleteModal.project.id; @@ -118,7 +118,20 @@ export const Projects: React.FC = () => { } catch (error) { toast.error(t.projects?.deleteError || 'Failed to delete project'); } - }; + }; + + const formatDate = (dateStr: string | undefined) => { + if (!dateStr) return "-" + try { + const date = new Date(dateStr) + return new Intl.DateTimeFormat(lang === "fa" ? "fa-IR" : "en-US", { + dateStyle: "long", + timeZone: "Asia/Tehran", + }).format(date) + } catch { + return dateStr + } + } return ( @@ -161,74 +174,76 @@ export const Projects: React.FC = () => { searchPlaceholder={t.projects?.searchPlaceholder || 'Search projects...'} /> - {loading ? ( -
- {project.client ? `${t.projects?.client || "Client"}: ${project.client.name}` : t.projects?.noClient || 'No client'} -
- - {project.description && ( -- {project.description} -
- )} - -{t.projects?.emptyState || 'No projects found'}
++ {project.client ? `${t.projects?.client || "Client"}: ${project.client.name}` : t.projects?.noClient || "No client"} +
+ {project.description && ( ++ {project.description} +
+ )} +{t.projects?.emptyState || 'No projects found'}
-