📄 src/ui/strings.ts
import type { FailureReason } from '../errors';

export const LOADING_TITLE = 'Laddar ned PDF…';
export const LOADING_SUBTITLE = 'E-tidningen hämtas och öppnas i den här fliken när den är klar.';

export const DIALOG_TITLE = 'Något gick fel';
export const DIALOG_FALLBACK_BUTTON = 'Öppna tidningen ändå';
export const DIALOG_CLOSE_LABEL = 'Stäng';

export const FAILURE_MESSAGES: Record<FailureReason, string> = {
  'not-logged-in':
    'Du verkar inte vara inloggad. Logga in på e-tidningens webbsida och försök igen.',
  'session-expired':
    'Din inloggning har upphört att gälla. Logga in igen på webbsidan och försök igen.',
  network: 'Det gick inte att nå servern. Kontrollera internetanslutningen och försök igen.',
  'popup-blocked':
    'Webbläsaren blockerade öppningen av en ny flik. Tillåt pop-up-fönster för den här sidan och försök igen.',
  server: 'Tyvärr kunde inte PDF:en laddas ned just nu. Försök igen om en stund.',
  unknown: 'Tyvärr kunde inte PDF:en laddas ned.',
};

/** Format a byte count as megabytes with Swedish decimal comma, e.g. "13,4 MB". */
export function formatMegabytes(bytes: number): string {
  return `${(bytes / 1024 / 1024).toFixed(1).replace('.', ',')} MB`;
}