Online now
+-
+
- name1 +
- friend2 +
- bro has a lot of friends +
diff --git a/app/static/app.css b/app/static/app.css new file mode 100644 index 0000000..5544f45 --- /dev/null +++ b/app/static/app.css @@ -0,0 +1,219 @@ +:root { + --bg: #f4f6f8; + --surface: #ffffff; + --surface-soft: #f8fafc; + --border: #dde2e8; + --text: #111827; + --muted: #5f6b7a; + --primary: #1f2937; + --primary-strong: #0f172a; + --success: #16a34a; +} + +* { + box-sizing: border-box; +} + +body { + margin: 0; + font-family: "Manrope", "Segoe UI", sans-serif; + background: var(--bg); + color: var(--text); +} + +.site-shell { + min-height: 100vh; +} + +.topbar { + height: 64px; + border-bottom: 1px solid var(--border); + background: var(--surface); + display: flex; + align-items: center; + justify-content: space-between; + padding: 0 20px; + position: sticky; + top: 0; +} + +.brand { + color: var(--text); + text-decoration: none; + font-weight: 700; + font-size: 1.1rem; +} + +.topnav { + display: flex; + gap: 8px; +} + +.topnav a { + text-decoration: none; + color: var(--muted); + padding: 8px 12px; + border: 1px solid transparent; + border-radius: 4px; + font-weight: 600; +} + +.topnav a:hover { + color: var(--text); + background: var(--surface-soft); + border-color: var(--border); +} + +.topnav a.active { + color: var(--text); + background: var(--surface-soft); + border-color: var(--border); +} + +.profile-pill { + border: 1px solid var(--border); + background: var(--surface-soft); + padding: 7px 10px; + font-size: 0.9rem; + color: var(--muted); +} + +.page-wrap { + max-width: 1080px; + margin: 0 auto; + padding: 24px 20px 30px; +} + +h1 { + margin: 8px 0 10px; + font-size: clamp(1.6rem, 3vw, 2.25rem); + line-height: 1.15; +} + +.cta-row { + margin-top: 18px; + display: flex; + gap: 10px; + flex-wrap: wrap; +} + +.btn { + font: inherit; + border: 1px solid var(--border); + background: var(--surface); + color: var(--text); + padding: 9px 14px; + border-radius: 4px; + text-decoration: none; + cursor: pointer; +} + +.btn-primary { + background: var(--primary); + border-color: var(--primary); + color: #ffffff; +} + +.btn-primary:hover { + background: var(--primary-strong); + border-color: var(--primary-strong); +} + +.btn-secondary:hover { + background: var(--surface-soft); +} + +.queue-layout { + margin-top: 14px; + display: grid; + grid-template-columns: 1fr 1fr; + gap: 12px; +} + +.chip-row { + display: flex; + flex-wrap: wrap; + gap: 8px; + margin-top: 10px; +} + +.chip { + border: 1px solid var(--border); + background: var(--surface-soft); + color: var(--text); + border-radius: 4px; + padding: 7px 11px; + font: inherit; + cursor: pointer; +} + +.chip.active, +.chip:hover { + border-color: #b7c0cb; + background: #eef2f6; +} + +.friend-list { + margin: 0; + padding: 0; + list-style: none; +} + +.friend-list li { + display: flex; + align-items: center; + gap: 8px; + padding: 7px 0; + border-top: 1px solid var(--border); + color: var(--muted); +} + +.friend-list li:first-child { + border-top: 0; +} + +.dot { + width: 8px; + height: 8px; + border-radius: 4px; + background: var(--success); +} + +@media (max-width: 900px) { + .panel-grid { + grid-template-columns: 1fr; + } + + .queue-layout { + grid-template-columns: 1fr; + } +} + +@media (max-width: 700px) { + .topbar { + height: auto; + flex-wrap: wrap; + gap: 8px; + padding: 10px 14px; + } + + .topnav { + width: 100%; + order: 3; + } + + .topnav a { + flex: 1; + text-align: center; + } + + .page-wrap { + padding: 16px 14px 24px; + } + + .hero, + .stack-head, + .panel { + padding: 14px; + } +} diff --git a/app/static/play.css b/app/static/play.css deleted file mode 100644 index e69de29..0000000 diff --git a/app/templates/friends.html b/app/templates/friends.html new file mode 100644 index 0000000..15d359b --- /dev/null +++ b/app/templates/friends.html @@ -0,0 +1,48 @@ + + +
+ + +No pending invitations +
+hi, {{ current_user.username }}!
- Play Chess +