Localize kanban, auth, backup, and admin utilities

This commit is contained in:
cesnimda
2026-03-23 21:05:49 +01:00
parent 9661a321da
commit 2c03379504
11 changed files with 181 additions and 75 deletions
+23 -4
View File
@@ -35,6 +35,25 @@ function toneColor(theme: any, status: Status | "Other"): string {
return theme.palette.primary.main;
}
function statusLabel(t: (key: any, params?: any) => string, status: Status): string {
switch (status) {
case "Applied":
return t("statusApplied");
case "Waiting":
return t("statusWaiting");
case "Interview":
return t("statusInterview");
case "Offer":
return t("statusOffer");
case "Rejected":
return t("statusRejected");
case "Ghosted":
return t("statusGhosted");
default:
return status;
}
}
export default function KanbanBoard() {
const theme = useTheme();
const { t } = useI18n();
@@ -79,7 +98,7 @@ export default function KanbanBoard() {
return (
<Box sx={{ mt: 2 }}>
<Typography variant="body2" sx={{ color: "text.secondary", mb: 1 }}>
Drag cards between columns to update status.
{t("kanbanHint")}
</Typography>
<Box sx={{ display: "grid", gridTemplateColumns: { xs: "1fr", md: "repeat(3, 1fr)", xl: "repeat(6, 1fr)" }, gap: 2, alignItems: "start" }}>
@@ -101,7 +120,7 @@ export default function KanbanBoard() {
>
<Box sx={{ display: "flex", justifyContent: "space-between", alignItems: "center", mb: 1 }}>
<Typography variant="subtitle1" sx={{ fontWeight: 800, color: theme.palette.mode === "dark" ? "#f8fafc" : "inherit" }}>
{status}
{statusLabel(t, status)}
</Typography>
<Chip
size="small"
@@ -160,7 +179,7 @@ export default function KanbanBoard() {
))}
{list.length === 0 && (
<Typography variant="body2" sx={{ color: "text.secondary", py: 1 }}>
Drop here
{t("kanbanDropHere")}
</Typography>
)}
</Box>
@@ -174,7 +193,7 @@ export default function KanbanBoard() {
.filter((s) => s !== currentMenuStatus)
.map((s) => (
<MenuItem key={s} onClick={() => { if (menuJobId) void setStatus(menuJobId, s); setMenuAnchor(null); setMenuJobId(null); }}>
{t("jobTableSetStatus", { status: s })}
{t("jobTableSetStatus", { status: statusLabel(t, s) })}
</MenuItem>
))}
</Menu>