v2.0.0 - #235
Merged
Merged
Conversation
Add 142 missing German translation keys to reach 100% coverage (695 keys). Normalize all German text to informal "du" instead of mixed Sie/du. Remove 19 duplicate keys and improve existing translations. Add ~140 new English i18n keys for UI strings that were previously hardcoded in Svelte components (settings, notifications, reminders, provider forms, header). These keys enable proper localization and will be extracted in the next commit. Also add <svelte:head><title> to the root layout so the browser tab shows the app name instead of the URL.
Replace hardcoded English strings in 21 Svelte components with Paraglide message function calls (m.key_name()). Affected areas: - Settings page: all four tabs (Personalization, Units, Features, Notifications) including section titles, descriptions, labels - Notification system: provider dialogs, delivery panel, cron presets, email/webhook/gotify forms, test dialog, channel labels - Reminder form: type dropdown now uses getReminderTypeLabel() - Header: aria-labels and button tooltips - SearchableSelect: new optional "label" prop for localized search placeholders instead of raw field names - SettingsSection: accordion expanded values are now $derived so they update correctly on locale change
…ation - Replace date-fns format() with Intl.DateTimeFormat respecting app locale - Extract shared dateFormatter as $derived for readability and performance - Make channelOptions and sidebarItems reactive via $derived for locale changes - Show localized auth type labels instead of raw enum values in webhook form - Handle singular/plural correctly for notification cleared toast - Replace hardcoded English toast with i18n message key
Add complete German translation and extract hardcoded strings to i18n
- Implement PDF generation using pdfkit - Add API endpoint at /api/vehicles/[id]/maintenance-logs/export-pdf - Add export button to maintenance page toolbar - Add blob response support for file downloads Co-Authored-By: Paperclip <noreply@paperclip.ing>
Add PDF export for maintenance logs
feat: update hungarian translation
- Remove 200s fake delay from CSV import (csv.helper.ts) - Fix data export to exclude users/sessions, include reminders/notifications/providers - Consolidate encryption into crypto.service.ts, delete utils/encryption.ts - Hard-fail without APP_SECRET instead of silent plaintext fallback - Legacy PBKDF2 fallback for existing provider credential rows - Fix PDF export: use make+model instead of nonexistent vehicle.name - Decouple domain schemas from config store (import leak, server-side date validation) - Create src/lib/domain/shared.ts with apiDateString/optionalApiDateString - Remove parseDate imports from all 5 domain files - Fix PUCC form toast (edit-mode detection via data prop, not broken store) - Remove dead openForm/openSheet/editMode from pucc.svelte.ts and vehicle.svelte.ts - Fix seeder race conditions (await seedDefaultUser, forEach -> Promise.all) - Fix maintenance ownership: update/delete verify vehicleId scoping - Fix insurance POST recurrenceType default to 'none' (consistent with PUT) - Fix status codes: notification PUT 200 (not 201), register POST 201 - Fix cookie secure flag consistency (unify on env.HTTP_MODE) - Remove stale 'body from locals' comments from 10+ route files - Fix branding error label, health message
- Move auth checks from client onMount to +page.server.ts (login, register, root) - Simplify login/register/root pages (remove loading skeletons, delegate to server) - Replace dashboard +layout.ts (client load) with +layout.server.ts (server load) - Replace onMount with .pre in dashboard layout for SSR-friendly init - Add setConfigs method to config store for server-provided config hydration - Add OpenWiki documentation stubs (workflows, architecture, operations, etc.) - Update AGENTS.md with OpenWiki section
…rom old /dashboard/* paths - Create top-level feature pages: /fuel, /maintenance, /reminders, /pollution, /insurance, /vehicles - /dashboard is now the fleet home page (placeholder) - Old /dashboard/* paths redirect to new top-level paths - /dashboard/overview redirects to /dashboard - Update AppSidebar nav item hrefs to point to new paths - Remove DashboardNav/DashboardTabs references (no longer used)
- Create GET /api/dashboard/summary endpoint with fleet-wide aggregates - Create dashboardService on the server computing totals, expenses, PUC status, vehicle health, reminders - Create client-side dashboard store - Build full dashboard home page with: - Greeting header + Add Vehicle button - 4 KPI stat cards (Vehicles, Distance, Fuel, Expenses) - Expenses donut chart with legend - My Vehicles compact list - Vehicle Health ProgressRing with Good/Attention/Needs Action bars - PUC Status donut chart - Upcoming Reminders list with time-until-due chips - Bottom CTA banner for Reports
…electors - Fuel: Add vehicle selector, 4 stat cards (Fuel Used, Total Spent, Avg Mileage, Entries) - Maintenance: Add vehicle selector, 4 stat cards (Total Spent, Next Service, Odometer, Records) - Reminders: Fleet-wide endpoint GET /api/reminders, filter tabs, status pills - PUC/Pollution: Fleet-wide endpoint GET /api/pucc/status, 4 stat cards with %, filter tabs, table - Insurance: Add vehicle selector, restyle in sidebar shell - Vehicles: Responsive card grid with add vehicle tile - All pages use FeatureGate for disabled feature handling
- Remove DashboardNav, DashboardTabs, OverviewTab (dead components) - Add path alias to svelte.config.js - Fix all TypeScript type errors (VehicleCard props, status types, null checks) - Fix all lint errors (unused imports, unused variables) - Add Expenses and Reports pages as sidebar nav items - Run pnpm check, pnpm lint, pnpm format, pnpm test - all passing
- [x] App name in sidebar is clickable and take to "/" The tracktor icon must follow theme colour - [x] Theme changer settings and profile and bottom aligned. - [x] Better segregation of menus in sidebar - [x] Theme colour is better followed or removed if that does't align correctly and give options for dark mode like OLED/a few lighter options - [x] Demo notice looks weird find a better position for that - [x] Add calendar widget to show all upcoming or previous actions on date
Redesigned whole UI
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Highlights
/fuel,/insurance,/maintenance,/pollution,/reminders) replacing the old/dashboard/*nesting, fleet-wide dashboard with rearrangeable widgets, and a new "Vintage" theme.What's Changed
New Contributors
Full Changelog: 1.4.1...2.0.0