From bbb2ee00d65f11f12816d0a278fe717b0655890a Mon Sep 17 00:00:00 2001 From: Gabriel Kaszewski Date: Mon, 4 May 2026 15:39:15 +0200 Subject: [PATCH] feat: enhance styling and layout; add background image and improve UI elements --- .../template-askama/templates/base.html | 3 + .../template-askama/templates/diary.html | 2 +- static/background.avif | Bin 0 -> 44431 bytes static/style.css | 303 +++++++++++++++--- 4 files changed, 262 insertions(+), 46 deletions(-) create mode 100644 static/background.avif diff --git a/crates/adapters/template-askama/templates/base.html b/crates/adapters/template-askama/templates/base.html index ec6fb1e..f9d9bf3 100644 --- a/crates/adapters/template-askama/templates/base.html +++ b/crates/adapters/template-askama/templates/base.html @@ -4,6 +4,9 @@ Movies Diary + + + diff --git a/crates/adapters/template-askama/templates/diary.html b/crates/adapters/template-askama/templates/diary.html index 61fc515..2150012 100644 --- a/crates/adapters/template-askama/templates/diary.html +++ b/crates/adapters/template-askama/templates/diary.html @@ -23,7 +23,7 @@
{{ entry.review().watched_at().format("%Y-%m-%d") }}
{% if let Some(uid) = ctx.user_id %} {% if *uid == entry.review().user_id().value() %} -
+
{% endif %} diff --git a/static/background.avif b/static/background.avif new file mode 100644 index 0000000000000000000000000000000000000000..4913844b752f8e4b26a0231ac30febc1b0c8e68d GIT binary patch literal 44431 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 ^ac~+x10nJxC`*q@8@G?DcmCU) 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 literal 0 HcmV?d00001 diff --git a/static/style.css b/static/style.css index e5ef494..f26b8ec 100644 --- a/static/style.css +++ b/static/style.css @@ -1,50 +1,143 @@ -*, *::before, *::after { box-sizing: border-box; } +*, +*::before, +*::after { + box-sizing: border-box; +} + +:root { + --glass-bg: rgba(255, 255, 255, 0.15); + --glass-border: rgba(255, 255, 255, 0.35); + --glass-shadow: 0 8px 32px oklch(85.2% 0.199 91.936 / 0.15); + --glass-inset: inset 0 1px 0 rgba(255, 255, 255, 0.5); + --blur: blur(12px); + + --aqua: oklch(85.2% 0.199 91.936); + --aqua-mid: oklch(89% 0.13 91.936); + --aqua-light: oklch(93% 0.07 91.936); + --aqua-glow: oklch(85.2% 0.199 91.936 / 0.3); + + --text: #fff; + --text-muted: rgba(255, 255, 255, 0.7); + --text-light: rgba(255, 255, 255, 0.5); +} + +html { + height: 100%; +} body { - font-family: monospace; + font-family: "Nunito", sans-serif; max-width: 720px; margin: 0 auto; padding: 20px; - color: #222; - background: #fff; + color: var(--text); + background: url("/static/background.avif") center / cover no-repeat fixed; + min-height: 100%; line-height: 1.5; } -a { color: inherit; } +a { + color: inherit; +} /* Header */ header { display: flex; justify-content: space-between; - align-items: baseline; - border-bottom: 1px solid #ccc; - padding-bottom: 8px; - margin-bottom: 28px; + align-items: center; + background: var(--glass-bg); + backdrop-filter: var(--blur); + -webkit-backdrop-filter: var(--blur); + border: 1px solid var(--glass-border); + border-radius: 20px; + padding: 12px 20px; + margin-bottom: 24px; + box-shadow: var(--glass-shadow), var(--glass-inset); } .site-title { - font-weight: bold; - text-decoration: none; + font-weight: 800; font-size: 1.1em; + text-decoration: none; + color: var(--aqua); + text-shadow: 0 0 20px var(--aqua-glow); } nav { display: flex; - gap: 14px; - font-size: 0.88em; + gap: 8px; + align-items: center; } -nav a { text-decoration: none; } -nav a:hover { text-decoration: underline; } +nav a { + text-decoration: none; + color: var(--aqua); + font-weight: 600; + font-size: 0.85em; + padding: 4px 14px; + border-radius: 20px; + background: oklch(85.2% 0.199 91.936 / 0.08); + border: 1px solid oklch(85.2% 0.199 91.936 / 0.2); + transition: + background 0.2s, + box-shadow 0.2s; +} -.user-email { color: #666; } +nav a:hover { + background: oklch(85.2% 0.199 91.936 / 0.2); + box-shadow: 0 0 12px var(--aqua-glow); +} + +.user-email { + color: var(--text-muted); + font-size: 0.85em; +} /* Diary entries */ +.diary { + display: flex; + flex-direction: column; + gap: 12px; +} + .entry { display: flex; - gap: 14px; - padding: 14px 0; - border-bottom: 1px solid #eee; + gap: 16px; + padding: 16px; + background: var(--glass-bg); + backdrop-filter: var(--blur); + -webkit-backdrop-filter: var(--blur); + border: 1px solid var(--glass-border); + border-radius: 16px; + box-shadow: var(--glass-shadow), var(--glass-inset); + position: relative; + overflow: hidden; + transition: + box-shadow 0.2s, + transform 0.2s; +} + +.entry::before { + content: ""; + position: absolute; + top: 0; + left: 0; + right: 0; + height: 50%; + background: linear-gradient( + to bottom, + rgba(255, 255, 255, 0.12), + transparent + ); + border-radius: 16px 16px 0 0; + pointer-events: none; +} + +.entry:hover { + transform: translateY(-2px); + box-shadow: + 0 12px 40px var(--aqua-glow), + var(--glass-inset); } .poster { @@ -55,56 +148,89 @@ nav a:hover { text-decoration: underline; } .poster img { width: 100%; display: block; - border: 1px solid #ddd; + border-radius: 8px; + border: 2px solid var(--aqua-mid); + box-shadow: 0 4px 12px var(--aqua-glow); } -.entry-body { flex: 1; } +.entry-body { + flex: 1; +} .entry-title { - font-weight: bold; + font-weight: 700; margin-bottom: 2px; + color: var(--text); } -.year { color: #666; font-weight: normal; } +.year { + color: var(--text-muted); + font-weight: 400; +} .director { - color: #666; + color: var(--text-muted); font-size: 0.88em; margin-bottom: 2px; } .rating { font-size: 0.88em; + font-weight: 700; + color: var(--aqua); margin-bottom: 2px; } .comment { font-style: italic; - color: #444; + color: var(--text-light); font-size: 0.9em; margin-bottom: 2px; } .watched-at { font-size: 0.8em; - color: #888; + color: var(--text-muted); } -.empty { color: #999; margin-top: 20px; } +.empty { + color: var(--text-muted); + margin-top: 20px; +} /* Pagination */ .pagination { margin-top: 24px; display: flex; - gap: 20px; + gap: 10px; font-size: 0.9em; } -.pagination a { text-decoration: none; } -.pagination a:hover { text-decoration: underline; } +.pagination a { + text-decoration: none; + color: var(--aqua); + font-weight: 600; + padding: 4px 16px; + border-radius: 20px; + background: oklch(85.2% 0.199 91.936 / 0.08); + border: 1px solid oklch(85.2% 0.199 91.936 / 0.2); + transition: + background 0.2s, + box-shadow 0.2s; +} + +.pagination a:hover { + background: oklch(85.2% 0.199 91.936 / 0.2); + box-shadow: 0 0 12px var(--aqua-glow); +} /* Forms */ -h1 { font-size: 1.2em; margin-bottom: 20px; } +h1 { + font-size: 1.4em; + font-weight: 800; + color: var(--text); + margin-bottom: 20px; +} form { max-width: 400px; @@ -114,6 +240,8 @@ form label { display: block; margin-bottom: 14px; font-size: 0.9em; + font-weight: 600; + color: var(--text); } form input[type="text"], @@ -124,14 +252,26 @@ form input[type="datetime-local"], form textarea { display: block; width: 100%; - font-family: monospace; + font-family: "Nunito", sans-serif; font-size: 1em; - margin-top: 3px; - padding: 5px 6px; - border: 1px solid #bbb; - border-radius: 0; - background: #fff; - color: #222; + margin-top: 4px; + padding: 8px 12px; + border: 1px solid var(--glass-border); + border-radius: 10px; + background: rgba(255, 255, 255, 0.5); + backdrop-filter: blur(4px); + -webkit-backdrop-filter: blur(4px); + color: var(--text); + transition: + border-color 0.2s, + box-shadow 0.2s; +} + +form input:focus, +form textarea:focus { + outline: none; + border-color: var(--aqua); + box-shadow: 0 0 0 3px oklch(85.2% 0.199 91.936 / 0.2); } form textarea { @@ -141,27 +281,100 @@ form textarea { form hr { border: none; - border-top: 1px solid #eee; + border-top: 1px solid rgba(255, 255, 255, 0.3); margin: 18px 0; } form button[type="submit"] { - font-family: monospace; + font-family: "Nunito", sans-serif; font-size: 1em; - padding: 6px 18px; + font-weight: 700; + padding: 10px 28px; cursor: pointer; - background: #222; + background: linear-gradient( + 135deg, + var(--aqua-mid) 0%, + var(--aqua) 60%, + oklch(72% 0.199 91.936) 100% + ); color: #fff; border: none; + border-radius: 24px; + box-shadow: + 0 4px 16px var(--aqua-glow), + inset 0 1px 0 rgba(255, 255, 255, 0.4); + position: relative; + overflow: hidden; + transition: + transform 0.15s, + box-shadow 0.15s; } -form button[type="submit"]:hover { background: #444; } +form button[type="submit"]::after { + content: ""; + position: absolute; + top: 0; + left: 0; + right: 0; + height: 50%; + background: linear-gradient( + to bottom, + rgba(255, 255, 255, 0.28), + transparent + ); + border-radius: 24px 24px 0 0; + pointer-events: none; +} -.optional { color: #888; font-size: 0.85em; } +form button[type="submit"]:hover { + transform: translateY(-1px); + box-shadow: + 0 6px 24px var(--aqua-glow), + inset 0 1px 0 rgba(255, 255, 255, 0.4); +} + +.delete-form { + display: inline; + margin-top: 6px; +} + +.delete-form button[type="submit"] { + background: rgba(200, 60, 60, 0.65); + backdrop-filter: blur(4px); + -webkit-backdrop-filter: blur(4px); + color: #fff; + border-radius: 16px; + padding: 3px 12px; + font-size: 0.8em; + font-weight: 600; + border: 1px solid rgba(220, 80, 80, 0.3); + box-shadow: none; + transition: background 0.2s; +} + +.delete-form button[type="submit"]::after { + display: none; +} + +.delete-form button[type="submit"]:hover { + background: rgba(220, 60, 60, 0.85); + transform: none; + box-shadow: none; +} + +.optional { + color: var(--text-muted); + font-size: 0.85em; + font-weight: 400; +} /* Errors */ .error { - color: #c00; + color: #e05050; + background: rgba(220, 50, 50, 0.1); + padding: 8px 12px; + border-radius: 8px; + border: 1px solid rgba(220, 50, 50, 0.2); margin-bottom: 16px; font-size: 0.9em; }