Web-UI: professionelles Redesign (Icons statt Emojis) + neue Features
Design: - Neues Icon-Set (Inline-SVG, Feather-Stil), keine Emojis mehr - Kohaerentes Design-System (Sidebar-Layout, Palette, Spacing, Light/Dark) - Alle Seiten ueberarbeitet (Login, Dashboard, Produkte, Formular, Ein-/Auslagern, Lagerorte, Benutzer, Einkaufsliste) Neue Features: - Gruppen-Verwaltung (anlegen/bearbeiten/loeschen, Produktzahl + Bestand, Gruppen-Mindestbestand) inkl. Einkaufsliste - Einfache Gruppen-Auto-Zuordnung aus OFF-Kategorie im Produktformular - Verlauf-Seite (Bewegungen: wer/was/wann) via neuem /movements-Endpoint - Einstellungen-Seite (Ablauf-Warnfrist) - Lagerorte mit optional uebergeordnetem Ort (verschachtelbar) Backend: - groups: PATCH + Anreicherung (product_count, stock) - views: /shopping-list/groups, /movements - schemas: GroupUpdate, GroupShoppingItem, MovementOut Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -40,11 +40,19 @@ class GroupOut(BaseModel):
|
||||
id: int
|
||||
name: str
|
||||
min_stock: float | None = None
|
||||
# angereichert:
|
||||
product_count: int = 0
|
||||
stock: float = 0.0
|
||||
|
||||
|
||||
class GroupCreate(BaseModel):
|
||||
name: str = Field(min_length=1, max_length=120)
|
||||
min_stock: float | None = None
|
||||
min_stock: float | None = Field(default=None, ge=0)
|
||||
|
||||
|
||||
class GroupUpdate(BaseModel):
|
||||
name: str | None = Field(default=None, min_length=1, max_length=120)
|
||||
min_stock: float | None = Field(default=None, ge=0)
|
||||
|
||||
|
||||
# ---- Locations ----
|
||||
@@ -169,6 +177,28 @@ class ExpiringItem(BaseModel):
|
||||
days_left: int
|
||||
|
||||
|
||||
class GroupShoppingItem(BaseModel):
|
||||
group_id: int
|
||||
name: str
|
||||
stock: float
|
||||
min_stock: float
|
||||
deficit: float
|
||||
product_count: int
|
||||
|
||||
|
||||
class MovementOut(BaseModel):
|
||||
id: int
|
||||
product_id: int
|
||||
product_name: str
|
||||
type: str
|
||||
quantity: float
|
||||
base_unit: BaseUnit
|
||||
unit_used: str
|
||||
username: str | None
|
||||
note: str | None
|
||||
created_at: datetime
|
||||
|
||||
|
||||
class SettingOut(BaseModel):
|
||||
key: str
|
||||
value: str
|
||||
|
||||
Reference in New Issue
Block a user