can I get a hamburger please?
This commit is contained in:
1 parent
49b0b54c2d
commit
c891163c6d
4 files changed
+32
-41
No files matched your search
@@ -8,7 +8,7 @@ BASE_DIR = Path(__file__).resolve().parent
|
||||
DATA_PATH = BASE_DIR / "data" / "entries.csv"
|
||||
|
||||
ELIGIBLE_MIN_SESSIONS = 3
|
||||
APP_VERSION = "1.8.4"
|
||||
APP_VERSION = "1.8.6"
|
||||
|
||||
|
||||
def load_local_env(env_path: Path) -> None:
|
||||
|
||||
@@ -1,3 +0,0 @@
|
||||
# Memory Index
|
||||
|
||||
- [Project overview](project_overview.md) — Flask poker ledger app, Graphite+Violet design system, append-only CSV event model
|
||||
@@ -1,26 +0,0 @@
|
||||
---
|
||||
name: project-overview
|
||||
description: Flask poker ledger app — design system, tech stack, key files
|
||||
metadata:
|
||||
type: project
|
||||
---
|
||||
|
||||
Flask/Jinja app: poker session tracker and leaderboard. Append-only CSV event ledger (`data/entries.csv`).
|
||||
|
||||
**Design system (Graphite + Violet):** Implemented June 2026.
|
||||
- `static/css/tokens.css` — all CSS custom properties (--accent: #9b8cf0 violet, not orange)
|
||||
- `static/css/style.css` — component classes: .panel, .stat, .tbl, .badge, .segmented, .btn, .feed, etc.
|
||||
- Fonts: Spectral (display), Hanken Grotesk (UI), IBM Plex Mono (numbers/labels)
|
||||
|
||||
**Pages:** leaderboard, sessions, session_detail, player_detail, admin_dashboard, admin_login.
|
||||
|
||||
**Key patterns:**
|
||||
- Leaderboard has Eligible/All/Recent segmented control; `ELIGIBLE_MIN_SESSIONS = 3` in app.py
|
||||
- Session detail has Compact/Full toggle for the table (`col-acct` class, `.is-full` on table)
|
||||
- Chart.js colors: leaderboard uses CHART_PALETTE from template JS; bars use `net_tone()` from stats.py
|
||||
- `--text-muted` and `--line` CSS vars kept as backward compat for Chart.js JS reads
|
||||
- `.venv/bin/python` is the Python runtime
|
||||
|
||||
**Data model:** EventRow CSV → SessionEntry → SessionSummary, PlayerStats (via stats.py). No DB.
|
||||
|
||||
**Why:** Design ported from "Poker Ledger.dc.html" prototype spec per handoff document.
|
||||
+31
-11
@@ -95,25 +95,41 @@ h1, h2, h3, h4 { margin: 0; }
|
||||
display: none;
|
||||
width: 42px;
|
||||
height: 42px;
|
||||
place-items: center;
|
||||
gap: 4px;
|
||||
padding: 0;
|
||||
border: 1px solid var(--border-strong);
|
||||
border-radius: 10px;
|
||||
background: var(--field);
|
||||
color: var(--text-2);
|
||||
position: relative;
|
||||
transition: border-color 180ms ease, color 180ms ease, background 180ms ease;
|
||||
}
|
||||
.nav-toggle span {
|
||||
display: block;
|
||||
width: 18px;
|
||||
position: absolute;
|
||||
left: 50%;
|
||||
top: 50%;
|
||||
width: 19px;
|
||||
height: 2px;
|
||||
border-radius: 2px;
|
||||
margin-left: -9.5px;
|
||||
margin-top: -1px;
|
||||
border-radius: 999px;
|
||||
background: currentColor;
|
||||
transition: transform 160ms, opacity 160ms;
|
||||
transform-origin: 50% 50%;
|
||||
transition:
|
||||
transform 220ms cubic-bezier(.2,.8,.2,1),
|
||||
opacity 160ms ease;
|
||||
}
|
||||
.nav-is-open .nav-toggle span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
|
||||
.nav-is-open .nav-toggle span:nth-child(2) { opacity: 0; }
|
||||
.nav-is-open .nav-toggle span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }
|
||||
.nav-toggle span:nth-child(1) { transform: translateY(-6px); }
|
||||
.nav-toggle span:nth-child(2) { transform: scaleX(.82); }
|
||||
.nav-toggle span:nth-child(3) { transform: translateY(6px); }
|
||||
.nav-is-open .nav-toggle {
|
||||
color: var(--text-strong);
|
||||
border-color: var(--accent-chip-bd);
|
||||
background: var(--accent-chip);
|
||||
}
|
||||
.nav-is-open .nav-toggle span:nth-child(1) { transform: rotate(45deg) scaleX(1.04); }
|
||||
.nav-is-open .nav-toggle span:nth-child(2) { opacity: 0; transform: scaleX(.2); }
|
||||
.nav-is-open .nav-toggle span:nth-child(3) { transform: rotate(-45deg) scaleX(1.04); }
|
||||
.navlink {
|
||||
font-size: 13.5px;
|
||||
font-weight: 600;
|
||||
@@ -1851,15 +1867,19 @@ select.control { cursor: pointer; }
|
||||
border-radius: 12px;
|
||||
background: rgba(22, 22, 28, .98);
|
||||
box-shadow: 0 18px 48px rgba(0,0,0,.42);
|
||||
transform: translateY(-8px);
|
||||
transform: translateY(-6px) scale(.985);
|
||||
transform-origin: top center;
|
||||
opacity: 0;
|
||||
pointer-events: none;
|
||||
visibility: hidden;
|
||||
transition: opacity 150ms, transform 150ms, visibility 150ms;
|
||||
transition:
|
||||
opacity 180ms ease,
|
||||
transform 220ms cubic-bezier(.2,.8,.2,1),
|
||||
visibility 180ms;
|
||||
overflow: hidden;
|
||||
}
|
||||
.nav-is-open .mainnav {
|
||||
transform: translateY(0);
|
||||
transform: translateY(0) scale(1);
|
||||
opacity: 1;
|
||||
pointer-events: auto;
|
||||
visibility: visible;
|
||||
|
||||
Reference in new issue
Block a user