feat: Regeln (Betrag/Transfer/Konto-Texte) + Münz-Icon + pastellgrünes Theme
Regeln: - Schlagwörter mit optionaler Betragsbedingung (z. B. „SV = 5.00 → Restaurant"); Betrags-Regeln gewinnen vor betragslosen - Transfer-Schlagwörter (Text → Transfer) auf der Konten-Seite - Konto-Identifikator-Art „Text": erkennt das Zielkonto eines Transfers aus dem Buchungstext (längster passender Text gewinnt) - Migration 0007, Endpunkte, Tests (Betrag/Transfer/Konflikt), gesamt 30 grün Optik: - App-Icon: Münzhaufen (aus Nutzer-SVG) weiß auf grünem Grund, klein gehalten - Farbschema auf pastelliges Grün (Akzent hell/dunkel + Favicon) Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
+15
-1
@@ -352,21 +352,35 @@ class ImportCommitIn(BaseModel):
|
||||
|
||||
class KeywordCreate(BaseModel):
|
||||
word: str = Field(min_length=1, max_length=255)
|
||||
amount_cents: int | None = Field(default=None, gt=0)
|
||||
|
||||
|
||||
class KeywordUpdate(BaseModel):
|
||||
word: str = Field(min_length=1, max_length=255)
|
||||
amount_cents: int | None = Field(default=None, gt=0)
|
||||
|
||||
|
||||
class KeywordOut(BaseModel):
|
||||
id: int
|
||||
category_id: int
|
||||
word: str
|
||||
amount_cents: int | None = None
|
||||
|
||||
|
||||
class TransferKeywordCreate(BaseModel):
|
||||
word: str = Field(min_length=1, max_length=255)
|
||||
amount_cents: int | None = Field(default=None, gt=0)
|
||||
|
||||
|
||||
class TransferKeywordOut(BaseModel):
|
||||
id: int
|
||||
word: str
|
||||
amount_cents: int | None = None
|
||||
|
||||
|
||||
class FlaggedKeywordOut(BaseModel):
|
||||
id: int
|
||||
category_id: int
|
||||
category_id: int | None = None
|
||||
category_name: str
|
||||
word: str
|
||||
applied_count: int
|
||||
|
||||
Reference in New Issue
Block a user