feat(i18n): add batch group switch text to English, Nepali, and Chinese locales
- Updated the English, Nepali, and Chinese locale files to include a new translation for "Toggle batch switch for {{group}}".
- Enhanced internationalization support for the admin interface by adding relevant strings for improved user experience.
This commit is contained in:
@@ -16,10 +16,9 @@ import {
|
||||
} from "@/api/admin-users";
|
||||
import { AdminListPaginationFooter } from "@/components/admin/admin-list-pagination-footer";
|
||||
import { AdminTableExportButton } from "@/components/admin/admin-table-export-button";
|
||||
import { AdminStatusBadge } from "@/components/admin/admin-status-badge";
|
||||
import { Badge } from "@/components/ui/badge";
|
||||
import { resolveAdminUserStatusTone } from "@/lib/admin-status-tone";
|
||||
import { Button } from "@/components/ui/button";
|
||||
import { Switch } from "@/components/ui/switch";
|
||||
import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card";
|
||||
import { Checkbox } from "@/components/ui/checkbox";
|
||||
import {
|
||||
@@ -92,12 +91,6 @@ export function AdminUsersConsole(): React.ReactElement {
|
||||
[catalog],
|
||||
);
|
||||
|
||||
const selectClassName = cn(
|
||||
"h-8 w-full min-w-0 rounded-lg border border-input bg-transparent px-2.5 py-1 text-base outline-none transition-colors",
|
||||
"focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 md:text-sm",
|
||||
"dark:bg-input/30 disabled:cursor-not-allowed disabled:opacity-50",
|
||||
);
|
||||
|
||||
const load = useCallback(async () => {
|
||||
setLoading(true);
|
||||
setErr(null);
|
||||
@@ -398,9 +391,13 @@ export function AdminUsersConsole(): React.ReactElement {
|
||||
</TableCell>
|
||||
<TableCell>{row.nickname ?? ""}</TableCell>
|
||||
<TableCell>
|
||||
<AdminStatusBadge status={row.status} tone={resolveAdminUserStatusTone(row.status)}>
|
||||
{row.status === 0 ? t("status.enabled") : t("status.disabled")}
|
||||
</AdminStatusBadge>
|
||||
<div className="flex justify-center">
|
||||
<Switch
|
||||
checked={row.status === 0}
|
||||
disabled
|
||||
aria-label={t("table.status")}
|
||||
/>
|
||||
</div>
|
||||
</TableCell>
|
||||
<TableCell>
|
||||
<div className="flex flex-wrap gap-1">
|
||||
@@ -634,16 +631,19 @@ export function AdminUsersConsole(): React.ReactElement {
|
||||
</div>
|
||||
</div>
|
||||
) : null}
|
||||
<div className="space-y-1.5">
|
||||
<div className="text-sm font-medium leading-none">{t("table.status")}</div>
|
||||
<select
|
||||
className={selectClassName}
|
||||
value={formStatus}
|
||||
onChange={(e) => setFormStatus(Number(e.target.value))}
|
||||
>
|
||||
<option value={0}>{t("status.enabled")}</option>
|
||||
<option value={1}>{t("status.disabled")}</option>
|
||||
</select>
|
||||
<div className="flex items-center justify-between rounded-xl border border-border/70 p-3">
|
||||
<div className="space-y-1">
|
||||
<p className="text-sm font-medium">{t("table.status")}</p>
|
||||
<p className="text-xs text-muted-foreground">
|
||||
{formStatus === 0 ? t("status.enabled") : t("status.disabled")}
|
||||
</p>
|
||||
</div>
|
||||
<Switch
|
||||
checked={formStatus === 0}
|
||||
disabled={accountSaving}
|
||||
aria-label={t("table.status")}
|
||||
onCheckedChange={(checked) => setFormStatus(checked ? 0 : 1)}
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
<div className="flex flex-col-reverse gap-2 sm:flex-row sm:justify-end">
|
||||
|
||||
Reference in New Issue
Block a user