From 573781310a8adfb183697bceb5510fe692917ad3 Mon Sep 17 00:00:00 2001 From: Lennart <18233294+lennart-k@users.noreply.github.com> Date: Sun, 8 Jun 2025 21:46:20 +0200 Subject: [PATCH] Minor frontend improvements, feature to create calendar --- Cargo.lock | 1 + crates/frontend/Cargo.toml | 1 + crates/frontend/public/assets/style.css | 31 +++++-- .../frontend/public/templates/pages/user.html | 53 ++++++++++++ crates/frontend/src/lib.rs | 3 +- crates/frontend/src/routes/calendar.rs | 80 ++++++++++++++++++- crates/ical/src/icalendar/object.rs | 3 +- crates/store_sqlite/src/error.rs | 3 + 8 files changed, 165 insertions(+), 10 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 099b561..189d470 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2796,6 +2796,7 @@ dependencies = [ "mime_guess", "rand 0.9.1", "rust-embed", + "rustical_ical", "rustical_oidc", "rustical_store", "serde", diff --git a/crates/frontend/Cargo.toml b/crates/frontend/Cargo.toml index 9ad9f54..4690a31 100644 --- a/crates/frontend/Cargo.toml +++ b/crates/frontend/Cargo.toml @@ -17,6 +17,7 @@ serde.workspace = true thiserror.workspace = true tokio.workspace = true rustical_store.workspace = true +rustical_ical.workspace = true rust-embed.workspace = true futures-core.workspace = true hex.workspace = true diff --git a/crates/frontend/public/assets/style.css b/crates/frontend/public/assets/style.css index 7297cd1..2b33a7d 100644 --- a/crates/frontend/public/assets/style.css +++ b/crates/frontend/public/assets/style.css @@ -159,14 +159,14 @@ table { display: grid; min-height: 80px; grid-template-areas: - ". color-chip" - "title color-chip" - "description color-chip" - "subscription-url color-chip" - "restore color-chip" - ". color-chip"; + ". . color-chip" + "title comps color-chip" + "description . color-chip" + "subscription-url . color-chip" + "restore . color-chip" + ". . color-chip"; grid-template-rows: 12px auto auto auto 12px; - grid-template-columns: auto 80px; + grid-template-columns: min-content auto 80px; color: inherit; text-decoration: none; padding-left: 12px; @@ -180,14 +180,31 @@ table { .title { font-weight: bold; grid-area: title; + margin-right: 12px; + white-space: nowrap; + } + + .comps { + grid-area: comps; + + span { + margin: 0 2px; + background: var(--primary-color); + color: var(--text-on-primary-color); + font-size: .8em; + padding: 3px 8px; + border-radius: 12px; + } } .description { grid-area: description; + white-space: nowrap; } .subscription-url { grid-area: subscription-url; + white-space: nowrap; } .color-chip { diff --git a/crates/frontend/public/templates/pages/user.html b/crates/frontend/public/templates/pages/user.html index 1416d53..c8ff8a2 100644 --- a/crates/frontend/public/templates/pages/user.html +++ b/crates/frontend/public/templates/pages/user.html @@ -64,6 +64,11 @@