Dildo items, admin fixes, UI refactor

- Add 85 custom Dildo items (knife/skin pattern names, various rarities)
- Create Dildo Case config (hidden, items obtained via contracts)
- Fix admin user_detail.html nested script tag (Notify fallback removed)
- Fix admin cases.html embedded script tag
- Add notifications.js to admin base.html
- Fix admin users.html: use counts instead of relationship lists
- Replace old money format with |money filter across all templates
- Standardize nav partial (_nav.html) with active_page highlighting
- Fix RARITY_COLORS rename in activity sidebar
- Fix toast animation (forwards) and remove duplicate CSS
- Replace showToast() with Notify.* in upgrade page
- Add cs2_simulator.db and *.log to .gitignore
- Create remote-deploy.sh with DB exclusion
This commit is contained in:
root
2026-07-05 16:15:12 +00:00
parent 50535ec777
commit 3fe8a47e04
25 changed files with 2669 additions and 390 deletions
+11 -2
View File
@@ -15,6 +15,14 @@ from rpu import get_user_rpu, calculate_rpu_level, get_rpu_description
admin_router = APIRouter(prefix="/admin", tags=["admin"])
templates = Jinja2Templates(directory="templates")
def money_filter(value):
try:
return "{:,.0f}".format(float(value)).replace(",", " ")
except (ValueError, TypeError):
return "0"
templates.env.filters["money"] = money_filter
# Загрузка конфигов
CASES_FILE = Path("cases.json")
MAINPAGE_FILE = Path("mainpage.json")
@@ -137,8 +145,9 @@ async def admin_users(
"balance": u.balance,
"is_admin": u.is_admin,
"created_at": u.created_at,
"inventory_items": u.inventory_items,
"case_openings": u.case_openings,
"case_openings": db.query(CaseOpening).filter(CaseOpening.user_id == u.id).count(),
"contracts": db.query(Contract).filter(Contract.user_id == u.id).count(),
"inventory_count": db.query(InventoryItem).filter(InventoryItem.user_id == u.id).count(),
"rpu_level": round(calculate_rpu_level(rpu))
})