fix(i18n): localise attachment size displays

This commit is contained in:
cesnimda
2026-11-03 19:22:07 +01:00
parent 7a9de940df
commit 31ce702716
8 changed files with 59 additions and 5 deletions
@@ -357,7 +357,7 @@ export function SubmittedPackagesSection({ jobId, allowCapture = true }: { jobId
</Button>
{item.attachments.map((attachment) => (
<Button key={attachment.id} size="small" variant="text" disabled={pending} startIcon={<DownloadOutlinedIcon />} onClick={() => void download(item, attachment)} sx={{ alignSelf: "flex-start", maxWidth: "100%", overflowWrap: "anywhere", textAlign: "left" }}>
{attachment.fileName} · {(attachment.fileSize / 1024).toFixed(1)} KB
{attachment.fileName} · {new Intl.NumberFormat(language === "nb" ? "nb-NO" : "en", { minimumFractionDigits: 1, maximumFractionDigits: 1 }).format(attachment.fileSize / 1024)} KB
</Button>
))}
</Stack>
@@ -47,11 +47,12 @@ interface AttachmentItem {
useForAi: boolean;
}
function fmtSize(n: number) {
function fmtSize(n: number, language: string) {
if (!n) return "";
const kb = n / 1024;
if (kb < 1024) return `${kb.toFixed(0)} KB`;
return `${(kb / 1024).toFixed(1)} MB`;
const digits = kb < 1024 ? 0 : 1;
const value = new Intl.NumberFormat(language === "nb" ? "nb-NO" : "en", { minimumFractionDigits: digits, maximumFractionDigits: digits }).format(kb < 1024 ? kb : kb / 1024);
return `${value} ${kb < 1024 ? "KB" : "MB"}`;
}
function isImageType(t: string) {
@@ -303,7 +304,7 @@ export default function Attachments({ jobId }: { jobId: number }) {
</TableCell>
<TableCell>{kind}</TableCell>
<TableCell sx={{ color: "text.secondary" }}>{a.fileType ? a.fileType.replace("application/", "") : ""}</TableCell>
<TableCell sx={{ color: "text.secondary" }}>{a.fileSize ? fmtSize(a.fileSize) : ""}</TableCell>
<TableCell sx={{ color: "text.secondary" }}>{a.fileSize ? fmtSize(a.fileSize, language) : ""}</TableCell>
<TableCell sx={{ color: "text.secondary" }}>{a.uploadDate ? new Date(a.uploadDate).toLocaleString(language === "nb" ? "nb-NO" : "en") : ""}</TableCell>
<TableCell>
<FormControl size="small" fullWidth>