diff --git a/backend/main.py b/backend/main.py index 9786964..746bcc9 100644 --- a/backend/main.py +++ b/backend/main.py @@ -80,6 +80,7 @@ class OilIn(BaseModel): drop_count: int retail_price: Optional[float] = None en_name: Optional[str] = None + is_active: Optional[int] = None class IngredientIn(BaseModel): @@ -659,10 +660,11 @@ def list_oils(): def upsert_oil(oil: OilIn, user=Depends(require_role("admin", "senior_editor"))): conn = get_db() conn.execute( - "INSERT INTO oils (name, bottle_price, drop_count, retail_price, en_name) VALUES (?, ?, ?, ?, ?) " + "INSERT INTO oils (name, bottle_price, drop_count, retail_price, en_name, is_active) VALUES (?, ?, ?, ?, ?, ?) " "ON CONFLICT(name) DO UPDATE SET bottle_price=excluded.bottle_price, drop_count=excluded.drop_count, " - "retail_price=excluded.retail_price, en_name=COALESCE(excluded.en_name, oils.en_name)", - (oil.name, oil.bottle_price, oil.drop_count, oil.retail_price, oil.en_name), + "retail_price=excluded.retail_price, en_name=COALESCE(excluded.en_name, oils.en_name), " + "is_active=COALESCE(excluded.is_active, oils.is_active)", + (oil.name, oil.bottle_price, oil.drop_count, oil.retail_price, oil.en_name, oil.is_active), ) log_audit(conn, user["id"], "upsert_oil", "oil", oil.name, oil.name, json.dumps({"bottle_price": oil.bottle_price, "drop_count": oil.drop_count})) diff --git a/frontend/src/views/OilReference.vue b/frontend/src/views/OilReference.vue index aec177d..805d171 100644 --- a/frontend/src/views/OilReference.vue +++ b/frontend/src/views/OilReference.vue @@ -124,23 +124,20 @@ v-for="name in filteredOilNames" :key="name + '-' + cardVersion" class="oil-chip" + :class="{ 'oil-chip--inactive': getMeta(name)?.isActive === false, 'oil-chip--incomplete': auth.isAdmin && isIncomplete(name) }" :style="chipStyle(name)" @click="openOilDetail(name)" >
- {{ name }} - 📖 - -
- {{ getEnglishName(name) }} +
{{ name }}
+
{{ getEnglishName(name) }}