feat(frontend): add project access ui and report summaries

This commit is contained in:
2026-05-14 17:06:34 +03:30
parent eaafb6c3b4
commit 84b7290fe8
8 changed files with 761 additions and 25 deletions

View File

@@ -1,4 +1,4 @@
export const fa = {
export const fa = {
title: "Qlockify",
logout: "خروج",
logoutToast: "با موفقیت خارج شدید!",
@@ -525,7 +525,24 @@ export const fa = {
manager: "مدیر"
},
namePlaceholder: "نام پروژه...",
teamMembers: "اعضای تیم",
teamMembers: "اعضای تیم",
manageAccess: "مدیریت دسترسی",
accessModalTitle: "دسترسی پروژه‌ها",
accessModalDescription: "دسترسی اعضای ورک‌اسپیس به پروژه‌ها را اعطا یا لغو کنید.",
accessMemberLabel: "عضو",
accessNoMembers: "عضو واجد شرایطی پیدا نشد.",
accessNoProjects: "پروژه‌ای پیدا نشد.",
accessSelectVisible: "انتخاب همه موارد قابل مشاهده",
accessClearSelection: "پاک کردن انتخاب",
accessSelectClientProjects: "انتخاب همه پروژه‌های این مشتری",
accessGrant: "اعطای دسترسی به موارد انتخاب‌شده",
accessRevoke: "لغو دسترسی موارد انتخاب‌شده",
accessOn: "دارای دسترسی",
accessOff: "بدون دسترسی",
accessGrantSuccess: "دسترسی پروژه با موفقیت اعطا شد.",
accessRevokeSuccess: "دسترسی پروژه با موفقیت لغو شد.",
accessLoadError: "بارگذاری وضعیت دسترسی پروژه‌ها انجام نشد.",
accessSaveError: "به‌روزرسانی دسترسی پروژه‌ها انجام نشد.",
createSuccess: "پروژه با موفقیت ایجاد شد.",
createError: "خطا در ایجاد پروژه.",
updateSuccess: "پروژه با موفقیت به‌روزرسانی شد.",
@@ -664,7 +681,8 @@ export const fa = {
periodCustom: "بازه دلخواه",
fromDate: "از تاریخ",
toDate: "تا تاریخ",
user: "کاربر",
user: "کاربر",
mobile: "موبایل",
allUsers: "همه کاربران",
searchUsers: "جست‌وجوی کاربران...",
client: "مشتری",
@@ -682,16 +700,28 @@ export const fa = {
totalHours: "مجموع ساعت",
billableHours: "ساعات کاری",
nonBillableHours: "ساعات غیر کاری",
hourlyRate: "نرخ ساعتی",
totalIncome: "مجموع درآمد",
chartTitle: "نمودار فعالیت",
hourlyRate: "نرخ ساعتی",
hourlyRates: "نرخ‌های ساعتی",
workingHours: "ساعات کاری",
nonWorkingHours: "ساعات غیرکاری",
totalIncome: "مجموع کارکرد",
projectPercentages: "درصد پروژه‌ها",
clientPercentages: "درصد مشتری‌ها",
tagPercentages: "درصد تگ‌ها",
userSummaryTitle: "خلاصه کاربران",
userSummaryDetailsTitle: "جزئیات کاربر: {name}",
userSummaryDetailsDescription: "تاریخچه نرخ‌های ساعتی و توزیع زمان کار برای کاربر انتخاب‌شده را بررسی کنید.",
rateHistory: "تاریخچه نرخ‌ها",
percentage: "درصد",
chartTitle: "نمودار فعالیت",
totalSeconds: "مجموع ثانیه",
exportExcel: "خروجی Excel",
exportPdf: "خروجی PDF",
date: "تاریخ",
details: "جزئیات",
total: "مجموع",
clientsTable: "مشتری‌ها",
details: "جزئیات",
total: "مجموع",
noData: "داده‌ای وجود ندارد",
clientsTable: "مشتری‌ها",
projectsTable: "پروژه‌ها",
tagsTable: "تگ‌ها",
loadError: "دریافت گزارش‌ها با خطا مواجه شد.",
@@ -810,5 +840,5 @@ export const fa = {
reportExportFailedTitle: "خروجی گزارش ناموفق بود",
reportExportFailedMessage: (exportType: string, workspace: string) =>
`تولید خروجی ${exportType.toUpperCase()} گزارش ${workspace} با خطا مواجه شد.`,
},
}
},
}