improvement: rtl direction, solar calendar and persian formatting added for persian users.

This commit is contained in:
2026-07-14 01:27:11 +03:30
parent 27eae25f61
commit ec2b23f4b1
50 changed files with 1410 additions and 528 deletions

View File

@@ -657,12 +657,12 @@ export function StaffPage() {
<Table
headers={
<tr>
<th className="px-6 py-3 text-left text-xs font-medium text-text-muted uppercase tracking-wider">{t('tableName')}</th>
<th className="px-6 py-3 text-left text-xs font-medium text-text-muted uppercase tracking-wider">{t('tableEmail')}</th>
<th className="px-6 py-3 text-left text-xs font-medium text-text-muted uppercase tracking-wider">{t('tableRole')}</th>
<th className="px-6 py-3 text-center text-xs font-medium text-text-muted uppercase tracking-wider">{t('tableStatus')}</th>
<th className="px-6 py-3 text-left text-xs font-medium text-text-muted uppercase tracking-wider">{t('tableAccess')}</th>
<th className="px-6 py-3 text-center text-xs font-medium text-text-muted uppercase tracking-wider w-36">
<th className="text-xs font-medium text-text-muted uppercase tracking-wider">{t('tableName')}</th>
<th className="text-xs font-medium text-text-muted uppercase tracking-wider">{t('tableEmail')}</th>
<th className="text-xs font-medium text-text-muted uppercase tracking-wider">{t('tableRole')}</th>
<th className="text-center text-xs font-medium text-text-muted uppercase tracking-wider">{t('tableStatus')}</th>
<th className="text-xs font-medium text-text-muted uppercase tracking-wider">{t('tableAccess')}</th>
<th className="text-center text-xs font-medium text-text-muted uppercase tracking-wider w-36">
{t('tableAction')}
</th>
</tr>
@@ -671,16 +671,16 @@ export function StaffPage() {
<>
{members.map((m) => (
<tr key={m.id} className="hover:bg-background-secondary/45">
<td className="px-6 py-1.5 text-sm text-text-primary">{m.name}</td>
<td className="px-6 py-1.5 text-sm text-text-secondary">{m.email}</td>
<td className="px-6 py-1.5 text-sm">
<td className="text-sm text-text-primary">{m.name}</td>
<td className="text-sm text-text-secondary">{m.email}</td>
<td className="text-sm">
{m.isOwner ? (
<span className="text-primary font-medium">{t('roleOwner')}</span>
) : (
<span className="text-text-secondary">{t('roleStaff')}</span>
)}
</td>
<td className="px-6 py-1.5 align-middle text-center">
<td className="align-middle text-center">
{m.isOwner || m.invitationStatus === 'ACTIVE' ? (
<Badge variant="success">{t('statusActive')}</Badge>
) : m.invitationStatus === 'PENDING' ? (
@@ -691,7 +691,7 @@ export function StaffPage() {
<Badge variant="danger">{t('statusExpired')}</Badge>
)}
</td>
<td className="px-6 py-1.5 text-sm text-text-secondary max-w-md">
<td className="text-sm text-text-secondary max-w-md">
{m.isOwner ? (
<span className="text-text-muted">{t('allFeatures')}</span>
) : (
@@ -700,7 +700,7 @@ export function StaffPage() {
</span>
)}
</td>
<td className="px-6 py-1.5 align-middle text-center">
<td className="align-middle text-center">
{!m.isOwner && (
<div className="flex min-h-[36px] items-center justify-center gap-1 mx-auto w-fit">
{canShareStaffInviteLink(m) && (