From 8570d4e39e7d58251d6447eebf42a941f70dbecd Mon Sep 17 00:00:00 2001 From: Mikko Ahlroth Date: Sat, 24 Aug 2024 00:16:29 +0300 Subject: [PATCH] Dig the project out form naphthalene, bump deps, update to Lustre v4 --- .tool-versions | 4 +- common.css | 82 ++++++ gleam.toml | 20 +- index.html | 2 - manifest.toml | 50 ++-- settings.css | 42 ++++ src/custom_event_ffi.mjs | 2 +- src/elekf/transfer/library.gleam | 6 +- src/elekf/transfer/track.gleam | 12 +- src/elekf/web/authed_view.gleam | 77 +++--- src/elekf/web/codec/play_queue.gleam | 16 ++ src/elekf/web/codec/track.gleam | 89 +++++++ src/elekf/web/common.gleam | 5 - src/elekf/web/components/library_item.gleam | 4 - src/elekf/web/components/library_view.css | 107 ++++++++ src/elekf/web/components/library_view.gleam | 150 ++++++----- .../components/library_views/album_item.gleam | 18 +- .../library_views/albums_view.gleam | 17 +- .../library_views/artists_view.gleam | 25 +- .../library_views/play_queue_view.gleam | 36 ++- .../library_views/single_album_view.gleam | 28 ++- .../library_views/single_artist_view.gleam | 30 +-- .../components/library_views/track_item.gleam | 19 +- .../components/library_views/tracks_view.css | 5 + .../library_views/tracks_view.gleam | 17 +- src/elekf/web/components/player/track.gleam | 17 +- src/elekf/web/components/search.gleam | 13 +- src/elekf/web/events/scroll_to.gleam | 28 +-- src/elekf/web/events/start_play.gleam | 36 ++- src/elekf/web/library_item.gleam | 3 + src/elekf/web/play_queue.gleam | 14 ++ src/forbidden_stdlib/dynamic.gleam | 2 + src/forbidden_stdlib/list.gleam | 11 + src/forbidden_stdlib_ffi.mjs | 3 + src/ibroadcast/history.gleam | 52 ++-- src/ibroadcast/library/library.gleam | 52 ++-- style.css | 237 +----------------- 37 files changed, 760 insertions(+), 571 deletions(-) create mode 100644 common.css create mode 100644 settings.css create mode 100644 src/elekf/web/codec/play_queue.gleam create mode 100644 src/elekf/web/codec/track.gleam create mode 100644 src/elekf/web/components/library_view.css create mode 100644 src/elekf/web/components/library_views/tracks_view.css create mode 100644 src/elekf/web/library_item.gleam create mode 100644 src/elekf/web/play_queue.gleam create mode 100644 src/forbidden_stdlib/dynamic.gleam create mode 100644 src/forbidden_stdlib/list.gleam create mode 100644 src/forbidden_stdlib_ffi.mjs diff --git a/.tool-versions b/.tool-versions index aa5a120..0b811ca 100644 --- a/.tool-versions +++ b/.tool-versions @@ -1,2 +1,2 @@ -gleam 1.0.0 -nodejs 20.10.0 +gleam 1.4.1 +nodejs 22.4.1 diff --git a/common.css b/common.css new file mode 100644 index 0000000..5e40928 --- /dev/null +++ b/common.css @@ -0,0 +1,82 @@ +@import "./normalize.css"; +@import "./vendor/bootstrap-icons/bootstrap-icons.min.css"; +@import "./settings.css"; + +.glass-bg, +.glass-button, +.glass-input { + background: var(--glass-background); +} + +.glass-button:active { + background: rgba(255, 255, 255, var(--glass-opacity-active)); +} + +.glass-shadow, +.glass-button, +.glass-input { + box-shadow: var(--glass-shadow); +} + +.glass-blur, +.glass-button, +.glass-input { + backdrop-filter: blur(var(--glass-blur)); + -webkit-backdrop-filter: blur(var(--glass-blur)); +} + +.glass-border, +.glass-button, +.glass-input { + border: var(--glass-border); +} + +.glass-button { + border-radius: var(--button-border-radius); + + text-align: center; +} + +.button-small, +.glass-input { + border-radius: var(--button-border-radius-small); +} + +.glass-button, +.glass-input { + padding: var(--side-margin); +} + +.button-group { + display: flex; + flex-direction: row; + justify-content: space-around; + align-items: stretch; +} + +.button-group > * { + flex: 1; +} + +.button-group .glass-button { + border-radius: 0; + border-right: none; +} + +.button-group .glass-button:first-child { + border-radius: var(--button-border-radius) 0 0 var(--button-border-radius); +} + +.button-group .glass-button:last-child { + border-radius: 0 var(--button-border-radius) var(--button-border-radius) 0; + border-right: var(--glass-border); +} + +.hidden { + display: none; +} + +a { + color: var(--text-color); + text-decoration: none; +} diff --git a/gleam.toml b/gleam.toml index 01103b9..05af1d8 100644 --- a/gleam.toml +++ b/gleam.toml @@ -1,7 +1,7 @@ name = "elektrofoni" version = "1.0.0" target = "javascript" -gleam = ">= 0.33.0" +gleam = ">= 1.4.0" # Fill out these fields if you intend to generate HTML documentation or publish # your project to the Hex package manager. @@ -12,15 +12,15 @@ gleam = ">= 0.33.0" # links = [{ title = "Website", href = "https://gleam.run" }] [dependencies] -gleam_stdlib = "~> 0.34" -gleam_json = "~> 0.7" +gleam_stdlib = "0.40.0" +gleam_json = "~> 1.0" gleam_http = "~> 3.5" -gleam_javascript = "~> 0.7" -gleam_fetch = "~> 0.3" -plinth = "~> 0.1" -varasto = "~> 2.0" -lustre = "~> 3.1" -birl = "~> 1.3" +gleam_javascript = "0.11.0" +gleam_fetch = "~> 1.0" +plinth = "0.4.12" +varasto = ">= 3.0.1 and < 4.0.0" +lustre = "~> 4.3" +birl = "~> 1.7" [dev-dependencies] -gleeunit = "~> 1.0" +gleeunit = "~> 1.2" diff --git a/index.html b/index.html index ca38f10..b106d14 100644 --- a/index.html +++ b/index.html @@ -26,8 +26,6 @@ - -