Compare commits

...

3 Commits

Author SHA1 Message Date
spinline
8d5edc659f fix(frontend): use proper link tag for Cargo.toml instead of script tag to prevent syntax error
All checks were successful
Build MIPS Binary / build (push) Successful in 2m1s
2026-02-21 21:09:07 +03:00
spinline
c122290f37 build(frontend): add post_build hook to strip modulepreload tags preventing Safari warnings
All checks were successful
Build MIPS Binary / build (push) Successful in 2m1s
2026-02-21 21:03:48 +03:00
spinline
999cef34a7 fix(frontend): remove fake ScrollBar and use native styled webkit scrollbar in ScrollArea
All checks were successful
Build MIPS Binary / build (push) Successful in 2m1s
2026-02-21 20:51:27 +03:00
4 changed files with 3317 additions and 3615 deletions

View File

@@ -7,6 +7,11 @@ stage = "build"
command = "sh"
command_arguments = ["-c", "npx @tailwindcss/cli -i input.css -o public/tailwind.css"]
[[hooks]]
stage = "post_build"
command = "sh"
command_arguments = ["-c", "sed -i '' -e 's/<link rel=\"modulepreload\"[^>]*>//g' -e 's/<link rel=\"preload\"[^>]*>//g' \"$TRUNK_STAGING_DIR/index.html\" || sed -i -e 's/<link rel=\"modulepreload\"[^>]*>//g' -e 's/<link rel=\"preload\"[^>]*>//g' \"$TRUNK_STAGING_DIR/index.html\""]
[build]
target = "index.html"
dist = "dist"

View File

@@ -20,7 +20,7 @@
<link rel="apple-touch-icon" sizes="512x512" href="icon-512.png" />
<!-- Trunk Assets -->
<script data-trunk rel="rust" src="Cargo.toml" data-wasm-opt="0" data-preload="false"></script>
<link data-trunk rel="rust" href="Cargo.toml" data-wasm-opt="0" />
<link data-trunk rel="css" href="public/tailwind.css" />
<link data-trunk rel="copy-file" href="manifest.json" />
<link data-trunk rel="copy-file" href="icon-192.png" />

File diff suppressed because it is too large Load Diff

View File

@@ -2,12 +2,7 @@ use leptos::prelude::*;
use leptos_ui::void;
use tw_merge::*;
mod components {
use super::*;
void! {ScrollAreaThumb, div, "bg-border relative flex-1 rounded-full"}
void! {ScrollAreaCorner, div, "bg-border"}
}
pub use components::*;
// Removed unused fake components
/* ========================================================== */
/* ✨ COMPONENTS ✨ */
@@ -18,9 +13,7 @@ pub fn ScrollArea(children: Children, #[prop(into, optional)] class: String) ->
let merged_class = tw_merge!("relative overflow-hidden", class);
view! {
<div data-name="ScrollArea" class=merged_class>
<ScrollAreaViewport>{children()}</ScrollAreaViewport>
<ScrollBar />
<ScrollAreaCorner />
<ScrollAreaViewport class="pr-3 pb-3 [&::-webkit-scrollbar]:w-1.5 [&::-webkit-scrollbar]:h-1.5 [&::-webkit-scrollbar-track]:bg-transparent [&::-webkit-scrollbar-thumb]:bg-border/60 [&::-webkit-scrollbar-thumb]:rounded-full hover:[&::-webkit-scrollbar-thumb]:bg-border/80">{children()}</ScrollAreaViewport>
</div>
}
}
@@ -42,29 +35,7 @@ pub fn ScrollAreaViewport(children: Children, #[prop(into, optional)] class: Str
/* 🧬 ENUMS 🧬 */
/* ========================================================== */
#[derive(Clone, Copy, Default)]
pub enum ScrollBarOrientation {
#[default]
Vertical,
Horizontal,
}
#[component]
pub fn ScrollBar(
#[prop(default = ScrollBarOrientation::default())] orientation: ScrollBarOrientation,
#[prop(into, optional)] class: String,
) -> impl IntoView {
let orientation_class = match orientation {
ScrollBarOrientation::Vertical => "h-full w-2.5 border-l border-l-transparent",
ScrollBarOrientation::Horizontal => "h-2.5 flex-col border-t border-t-transparent",
};
let merged_class = tw_merge!("flex touch-none p-px transition-colors select-none", orientation_class, class);
view! {
<div data-name="ScrollBar" class=merged_class>
<ScrollAreaThumb />
</div>
}
}
// Real scrollbars are now utilized in the viewport directly.
/* ========================================================== */
/* 🧬 STRUCT 🧬 */