Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
19 commits
Select commit Hold shift + click to select a range
e148052
Redesign locations page with card-based grid layout
RbVs Mar 23, 2026
bac0b87
Fix spool select table on print page to expand like other tables
RbVs Mar 23, 2026
d037306
Add modal dialog for creating new locations
RbVs Mar 23, 2026
01e0f77
Redesign dashboard with industrial layout and soften dark theme
RbVs Mar 23, 2026
2d94ba1
Add missing telemetry_subtitle i18n key to all 28 locales
RbVs Mar 23, 2026
48795d0
Fix dashboard to support light theme with dynamic surface colors
RbVs Mar 23, 2026
7a85db2
Fix dashboard light theme readability
RbVs Mar 23, 2026
1370d91
Move version and Ko-fi into sidebar, push settings/help to bottom
RbVs Mar 23, 2026
4ef02aa
Replace single new spool button with 3 quick-add icon buttons
RbVs Mar 23, 2026
0010ee7
Add missing home.welcome and home.description i18n keys to 12 locales
RbVs Mar 23, 2026
b5de5d4
Add empty state hero with prominent add-spool button on home page
RbVs Mar 23, 2026
50d93b7
Refactor home page to non-scrollable tab layout with manufacturer tab
RbVs Mar 23, 2026
ab31aff
Fix mobile home page: enable scrolling, compact KPI cards, expand sec…
RbVs Mar 23, 2026
a878a25
Move version & Ko-fi from sidebar footer to top bar, remove location …
RbVs Mar 23, 2026
c3a5974
Mobile icon-only list header buttons, move locations button to List h…
RbVs Mar 23, 2026
b02351a
Fix mobile layout: move hamburger into header row, offset version/kofi
RbVs Mar 23, 2026
d4983ed
Compact low-stock items on mobile
RbVs Mar 23, 2026
d40dc04
Redesign settings page as side-panel layout, improve help page
RbVs Mar 24, 2026
58cb901
Use EntityType enum instead of string literals in settings page
RbVs Mar 28, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 13 additions & 2 deletions client/public/locales/cs/common.json
Original file line number Diff line number Diff line change
Expand Up @@ -352,7 +352,16 @@
"home": {
"home": "Domů",
"description": "Vypadá to, že jste ještě nepřidali žádné cívky. Úvodní nápovědu najdete na stránce <helpPageLink>Help page</helpPageLink> .",
"welcome": "Vítejte ve vaší instanci Spoolman!"
"welcome": "Vítejte ve vaší instanci Spoolman!",
"total_weight": "Celkový stav",
"total_value": "Hodnota",
"low_stock": "Nízký stav",
"all_stocked": "Všechny cívky jsou dobře zásobeny",
"recently_used": "Naposledy použité",
"no_recent": "Žádné nedávno použité cívky",
"by_material": "Podle materiálu",
"by_location": "Podle umístění",
"telemetry_subtitle": "Stav vašeho inventáře filamentů v reálném čase."
},
"settings": {
"extra_fields": {
Expand Down Expand Up @@ -407,6 +416,8 @@
"locations": "Umístění",
"no_locations_help": "Na této stránce můžete uspořádat své cívky podle umístění, přidejte několik cívek a začněte!",
"new_location": "Nové umístění",
"no_location": "Žádné umístění"
"no_location": "Žádné umístění",
"error_empty": "Název nesmí být prázdný",
"error_exists": "Umístění již existuje"
}
}
17 changes: 16 additions & 1 deletion client/public/locales/da/common.json
Original file line number Diff line number Diff line change
Expand Up @@ -316,7 +316,18 @@
},
"kofi": "Donér på Ko-fi",
"home": {
"home": "Hjem"
"home": "Hjem",
"welcome": "Velkommen til din Spoolman-instans!",
"description": "Det ser ud til, at du endnu ikke har tilføjet nogen spoler. Se <helpPageLink>hjælpesiden</helpPageLink> for at komme i gang.",
"total_weight": "Samlet beholdning",
"total_value": "Værdi",
"low_stock": "Lav beholdning",
"all_stocked": "Alle spoler er godt fyldt op",
"recently_used": "Senest brugt",
"no_recent": "Ingen nyligt brugte spoler",
"by_material": "Efter materiale",
"by_location": "Efter placering",
"telemetry_subtitle": "Realtidsstatus for dit filamentlager."
},
"settings": {
"header": "Indstillinger",
Expand Down Expand Up @@ -358,5 +369,9 @@
"delete_confirm_description": "Dette vil slette feltet samt alle associerede data for alle poster."
},
"settings": "Indstillinger"
},
"locations": {
"error_empty": "Navn må ikke være tomt",
"error_exists": "Placering findes allerede"
}
}
15 changes: 13 additions & 2 deletions client/public/locales/de/common.json
Original file line number Diff line number Diff line change
Expand Up @@ -351,7 +351,16 @@
"home": {
"home": "Home",
"welcome": "Willkommen auf deiner Spoolman Instanz!",
"description": "Es sieht so aus, als hättest du noch keine Spulen hinzugefügt. Schau auf unsere <helpPageLink>Hilfeseite</helpPageLink>, falls du Hilfe beim Start benötigst."
"description": "Es sieht so aus, als hättest du noch keine Spulen hinzugefügt. Schau auf unsere <helpPageLink>Hilfeseite</helpPageLink>, falls du Hilfe beim Start benötigst.",
"total_weight": "Gesamtbestand",
"total_value": "Wert",
"low_stock": "Niedriger Bestand",
"all_stocked": "Alle Spulen sind gut bevorratet",
"recently_used": "Zuletzt verwendet",
"no_recent": "Keine kürzlich verwendeten Spulen",
"by_material": "Nach Material",
"by_location": "Nach Standort",
"telemetry_subtitle": "Echtzeitstatus deines Filament-Inventars."
},
"settings": {
"header": "Einstellungen",
Expand Down Expand Up @@ -406,6 +415,8 @@
"no_location": "Kein Ort",
"no_locations_help": "Diese Seite lässt Sie Ihre Spulen zu Orten zuweisen, fügen Sie ein paar Spulen hinzu um loszulegen!",
"locations": "Orte",
"new_location": "Neuer Ort"
"new_location": "Neuer Ort",
"error_empty": "Name darf nicht leer sein",
"error_exists": "Ort existiert bereits"
}
}
17 changes: 16 additions & 1 deletion client/public/locales/el/common.json
Original file line number Diff line number Diff line change
Expand Up @@ -288,7 +288,18 @@
},
"kofi": "Φιλοδώρημα στο Ko-fi",
"home": {
"home": "Αρχική"
"home": "Αρχική",
"welcome": "Καλώς ήρθατε στην εγκατάσταση Spoolman σας!",
"description": "Φαίνεται ότι δεν έχετε προσθέσει ακόμα κουβαρίστρες. Δείτε τη <helpPageLink>σελίδα βοήθειας</helpPageLink> για να ξεκινήσετε.",
"total_weight": "Συνολικό απόθεμα",
"total_value": "Αξία",
"low_stock": "Χαμηλό απόθεμα",
"all_stocked": "Όλες οι κουβαρίστρες είναι καλά εφοδιασμένες",
"recently_used": "Πρόσφατα χρησιμοποιημένα",
"no_recent": "Δεν υπάρχουν πρόσφατα χρησιμοποιημένες κουβαρίστρες",
"by_material": "Ανά υλικό",
"by_location": "Ανά τοποθεσία",
"telemetry_subtitle": "Κατάσταση σε πραγματικό χρόνο του αποθέματος νημάτων σας."
},
"settings": {
"extra_fields": {
Expand Down Expand Up @@ -330,5 +341,9 @@
},
"header": "Ρυθμίσεις",
"settings": "Ρυθμίσεις"
},
"locations": {
"error_empty": "Το όνομα δεν μπορεί να είναι κενό",
"error_exists": "Η τοποθεσία υπάρχει ήδη"
}
}
16 changes: 14 additions & 2 deletions client/public/locales/en/common.json
Original file line number Diff line number Diff line change
Expand Up @@ -293,7 +293,17 @@
"home": {
"home": "Home",
"welcome": "Welcome to your Spoolman instance!",
"description": "It looks like you haven't added any spools yet. See the <helpPageLink>Help page</helpPageLink> for help getting started."
"description": "It looks like you haven't added any spools yet. See the <helpPageLink>Help page</helpPageLink> for help getting started.",
"total_weight": "Total Stock",
"total_value": "Value",
"low_stock": "Low Stock",
"all_stocked": "All spools are well stocked",
"recently_used": "Recently Used",
"no_recent": "No recently used spools",
"by_material": "By Material",
"by_location": "By Location",
"by_vendor": "By Manufacturer",
"telemetry_subtitle": "Real-time status of your filament inventory."
},
"help": {
"help": "Help",
Expand Down Expand Up @@ -394,6 +404,8 @@
"locations": "Locations",
"new_location": "New Location",
"no_location": "No Location",
"no_locations_help": "This page lets you organize your spools in locations, add some spools to get started!"
"no_locations_help": "This page lets you organize your spools in locations, add some spools to get started!",
"error_empty": "Name cannot be empty",
"error_exists": "Location already exists"
}
}
15 changes: 13 additions & 2 deletions client/public/locales/es/common.json
Original file line number Diff line number Diff line change
Expand Up @@ -352,7 +352,16 @@
"home": {
"home": "Inicio",
"welcome": "¡Bienvenido a tu instancia de Spoolman!",
"description": "Parece que aún no has añadido ninguna bobina aún. Visita la <helpPageLink>página de ayuda</helpPageLink> para comenzar."
"description": "Parece que aún no has añadido ninguna bobina aún. Visita la <helpPageLink>página de ayuda</helpPageLink> para comenzar.",
"total_weight": "Stock total",
"total_value": "Valor",
"low_stock": "Stock bajo",
"all_stocked": "Todas las bobinas están bien abastecidas",
"recently_used": "Usadas recientemente",
"no_recent": "No hay bobinas usadas recientemente",
"by_material": "Por material",
"by_location": "Por ubicación",
"telemetry_subtitle": "Estado en tiempo real de tu inventario de filamento."
},
"settings": {
"header": "Ajustes",
Expand Down Expand Up @@ -407,6 +416,8 @@
"locations": "Ubicaciones",
"new_location": "Nueva ubicación",
"no_location": "Sin ubicación",
"no_locations_help": "Esta página te permite organizar tus carretes en ubicaciones, ¡añade algunos carretes para empezar!"
"no_locations_help": "Esta página te permite organizar tus carretes en ubicaciones, ¡añade algunos carretes para empezar!",
"error_empty": "El nombre no puede estar vacío",
"error_exists": "La ubicación ya existe"
}
}
15 changes: 15 additions & 0 deletions client/public/locales/et/common.json
Original file line number Diff line number Diff line change
Expand Up @@ -62,5 +62,20 @@
"generic": {
"title": "Trükkib"
}
},
"home": {
"total_weight": "Koguvaru",
"total_value": "Väärtus",
"low_stock": "Madal varu",
"all_stocked": "Kõik poolid on hästi varustatud",
"recently_used": "Hiljuti kasutatud",
"no_recent": "Hiljuti kasutatud poole pole",
"by_material": "Materjali järgi",
"by_location": "Asukoha järgi",
"telemetry_subtitle": "Teie filamendi varude reaalajas olek."
},
"locations": {
"error_empty": "Nimi ei tohi olla tühi",
"error_exists": "Asukoht on juba olemas"
}
}
17 changes: 16 additions & 1 deletion client/public/locales/fa/common.json
Original file line number Diff line number Diff line change
Expand Up @@ -288,7 +288,18 @@
}
},
"home": {
"home": "صفحه اصلی"
"home": "صفحه اصلی",
"welcome": "به نمونه Spoolman خود خوش آمدید!",
"description": "به نظر می‌رسد هنوز هیچ قرقره‌ای اضافه نکرده‌اید. برای شروع به <helpPageLink>صفحه راهنما</helpPageLink> مراجعه کنید.",
"total_weight": "موجودی کل",
"total_value": "ارزش",
"low_stock": "موجودی کم",
"all_stocked": "همه قرقره‌ها به خوبی ذخیره شده‌اند",
"recently_used": "اخیراً استفاده شده",
"no_recent": "قرقره‌ای اخیراً استفاده نشده",
"by_material": "بر اساس مواد",
"by_location": "بر اساس مکان",
"telemetry_subtitle": "وضعیت بلادرنگ موجودی فیلامنت شما."
},
"help": {
"help": "راهنما",
Expand Down Expand Up @@ -377,5 +388,9 @@
"create": "تعریف کردن تولید کننده فیلامنت جدید | اسپول من",
"clone": "تکثیر تولید کننده فیلامنت شماره {{id}} | اسپول من"
}
},
"locations": {
"error_empty": "نام نمی‌تواند خالی باشد",
"error_exists": "مکان از قبل وجود دارد"
}
}
16 changes: 14 additions & 2 deletions client/public/locales/fr/common.json
Original file line number Diff line number Diff line change
Expand Up @@ -351,7 +351,17 @@
"kofi": "Me donner un pourboire sur Ko-fi",
"home": {
"home": "Accueil",
"welcome": "Bienvenue sur votre instance Spoolman !"
"welcome": "Bienvenue sur votre instance Spoolman !",
"description": "Il semble que vous n'ayez pas encore ajouté de bobines. Consultez la <helpPageLink>page d'aide</helpPageLink> pour commencer.",
"total_weight": "Stock total",
"total_value": "Valeur",
"low_stock": "Stock faible",
"all_stocked": "Toutes les bobines sont bien approvisionnées",
"recently_used": "Utilisées récemment",
"no_recent": "Aucune bobine utilisée récemment",
"by_material": "Par matériau",
"by_location": "Par emplacement",
"telemetry_subtitle": "État en temps réel de votre inventaire de filament."
},
"settings": {
"settings": "Paramètres",
Expand Down Expand Up @@ -402,6 +412,8 @@
"locations": "Emplacements",
"new_location": "Créer un emplacement",
"no_location": "Pas de localisation",
"no_locations_help": "Cette page vous permet d'organiser vos bobines par lieu, ajoutez une bobine pour commencer !"
"no_locations_help": "Cette page vous permet d'organiser vos bobines par lieu, ajoutez une bobine pour commencer !",
"error_empty": "Le nom ne peut pas être vide",
"error_exists": "L'emplacement existe déjà"
}
}
15 changes: 15 additions & 0 deletions client/public/locales/hi-Latn/common.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,5 +13,20 @@
"confirm": "Kya aapko pakka hai?",
"continue": "Aage badhen",
"show": "Dikhayen"
},
"home": {
"total_weight": "Kul stock",
"total_value": "Mulya",
"low_stock": "Kam stock",
"all_stocked": "Sabhi spool achhe se stock hain",
"recently_used": "Haal hi mein istemal ki gayi",
"no_recent": "Koi haal hi mein istemal ki gayi spool nahi",
"by_material": "Material ke anusaar",
"by_location": "Jagah ke anusaar",
"telemetry_subtitle": "Aapke filament inventory ki real-time sthiti."
},
"locations": {
"error_empty": "Naam khaali nahi ho sakta",
"error_exists": "Jagah pehle se maujood hai"
}
}
17 changes: 16 additions & 1 deletion client/public/locales/hu/common.json
Original file line number Diff line number Diff line change
Expand Up @@ -277,7 +277,18 @@
},
"kofi": "Tipp a Ko-fi-ra",
"home": {
"home": "Kezdő lap"
"home": "Kezdő lap",
"welcome": "Üdvözöljük a Spoolman példányában!",
"description": "Úgy tűnik, még nem adott hozzá orsókat. Nézze meg a <helpPageLink>Súgó oldalt</helpPageLink> az induláshoz.",
"total_weight": "Teljes készlet",
"total_value": "Érték",
"low_stock": "Alacsony készlet",
"all_stocked": "Minden orsó jól feltöltve",
"recently_used": "Nemrég használt",
"no_recent": "Nincsenek nemrég használt orsók",
"by_material": "Anyag szerint",
"by_location": "Hely szerint",
"telemetry_subtitle": "A filament készleted valós idejű állapota."
},
"help": {
"resources": {
Expand Down Expand Up @@ -328,5 +339,9 @@
},
"tab": "Általános"
}
},
"locations": {
"error_empty": "A név nem lehet üres",
"error_exists": "A hely már létezik"
}
}
15 changes: 13 additions & 2 deletions client/public/locales/it/common.json
Original file line number Diff line number Diff line change
Expand Up @@ -352,7 +352,16 @@
"home": {
"home": "Home",
"welcome": "Benvenuto nella tua istanza Spoolman!",
"description": "Sembra che tu non abbia ancora aggiunto alcuna bobina. Vai su <helpPageLink>Help page</helpPageLink> per ricevere assistenza su come iniziare."
"description": "Sembra che tu non abbia ancora aggiunto alcuna bobina. Vai su <helpPageLink>Help page</helpPageLink> per ricevere assistenza su come iniziare.",
"total_weight": "Stock totale",
"total_value": "Valore",
"low_stock": "Scorte basse",
"all_stocked": "Tutte le bobine sono ben rifornite",
"recently_used": "Usate di recente",
"no_recent": "Nessuna bobina usata di recente",
"by_material": "Per materiale",
"by_location": "Per posizione",
"telemetry_subtitle": "Stato in tempo reale del tuo inventario di filamento."
},
"settings": {
"settings": "Configurazione",
Expand Down Expand Up @@ -407,6 +416,8 @@
"locations": "Posizioni",
"new_location": "Nuova Posizione",
"no_location": "Nessuna Posizione",
"no_locations_help": "Questa pagina ti consente di organizzare le bobine in base alla posizione. Aggiungi alcune bobine per iniziare!"
"no_locations_help": "Questa pagina ti consente di organizzare le bobine in base alla posizione. Aggiungi alcune bobine per iniziare!",
"error_empty": "Il nome non può essere vuoto",
"error_exists": "La posizione esiste già"
}
}
17 changes: 15 additions & 2 deletions client/public/locales/ja/common.json
Original file line number Diff line number Diff line change
Expand Up @@ -388,9 +388,22 @@
"locations": "場所",
"new_location": "新しい場所",
"no_location": "場所なし",
"no_locations_help": "このページでは、スプールを場所ごとに整理することができます!"
"no_locations_help": "このページでは、スプールを場所ごとに整理することができます!",
"error_empty": "名前を入力してください",
"error_exists": "この場所は既に存在します"
},
"home": {
"home": "ホーム"
"home": "ホーム",
"welcome": "Spoolmanへようこそ!",
"description": "まだスプールが追加されていないようです。始め方については<helpPageLink>ヘルプページ</helpPageLink>をご覧ください。",
"total_weight": "総在庫",
"total_value": "総額",
"low_stock": "在庫不足",
"all_stocked": "すべてのスプールは十分な在庫があります",
"recently_used": "最近使用",
"no_recent": "最近使用したスプールはありません",
"by_material": "素材別",
"by_location": "場所別",
"telemetry_subtitle": "フィラメント在庫のリアルタイムステータス。"
}
}
15 changes: 13 additions & 2 deletions client/public/locales/lt/common.json
Original file line number Diff line number Diff line change
Expand Up @@ -294,7 +294,16 @@
"home": {
"home": "Pradžia",
"welcome": "Sveiki atvykę į savo Spoolman!",
"description": "Panašu, kad dar nepridėjote jokių ričių. Norėdami gauti pagalbos, kaip pradėti, žr. <helpPageLink>pagalbos puslapį</helpPageLink>."
"description": "Panašu, kad dar nepridėjote jokių ričių. Norėdami gauti pagalbos, kaip pradėti, žr. <helpPageLink>pagalbos puslapį</helpPageLink>.",
"total_weight": "Bendras kiekis",
"total_value": "Vertė",
"low_stock": "Mažas kiekis",
"all_stocked": "Visos ritės gerai aprūpintos",
"recently_used": "Neseniai naudotos",
"no_recent": "Nėra neseniai naudotų ričių",
"by_material": "Pagal medžiagą",
"by_location": "Pagal vietą",
"telemetry_subtitle": "Jūsų filamento atsargų būsena realiu laiku."
},
"help": {
"help": "Pagalba",
Expand Down Expand Up @@ -395,6 +404,8 @@
"locations": "Vietos",
"new_location": "Nauja vieta",
"no_location": "Be vietos",
"no_locations_help": "Šiame puslapyje galite tvarkyti rites pagal vietas, pridėkite keletą ričių, kad pradėtumėte!"
"no_locations_help": "Šiame puslapyje galite tvarkyti rites pagal vietas, pridėkite keletą ričių, kad pradėtumėte!",
"error_empty": "Pavadinimas negali būti tuščias",
"error_exists": "Vieta jau egzistuoja"
}
}
Loading