diff --git a/src-tauri/src/commands.rs b/src-tauri/src/commands.rs index 23dfa13..a22fe6a 100644 --- a/src-tauri/src/commands.rs +++ b/src-tauri/src/commands.rs @@ -546,7 +546,13 @@ pub async fn open_image_viewer( builder = builder.position(x, y); } - builder.build().map_err(|e| e.to_string())?; + let viewer = builder.build().map_err(|e| e.to_string())?; + viewer.eval(r#"(function(){ + var s=document.createElement('style'); + s.textContent='::-webkit-scrollbar{display:none!important;width:0!important;height:0!important}*{scrollbar-width:none!important}'; + var apply=function(){if(document.head)document.head.appendChild(s)}; + if(document.head)apply();else document.addEventListener('DOMContentLoaded',apply); + })();"#).ok(); Ok(()) } diff --git a/src-tauri/src/lib.rs b/src-tauri/src/lib.rs index 815fc70..177ec6a 100644 --- a/src-tauri/src/lib.rs +++ b/src-tauri/src/lib.rs @@ -21,6 +21,12 @@ pub fn run() { use webkit2gtk::WebViewExt; let window = app.get_webview_window("main").expect("no main window"); + window.eval(r#"(function(){ + var s=document.createElement('style'); + s.textContent='*:not(.with-scrollbar)::-webkit-scrollbar{display:none!important;width:0!important;height:0!important}*:not(.with-scrollbar){scrollbar-width:none!important}'; + var apply=function(){if(document.head)document.head.appendChild(s)}; + if(document.head)apply();else document.addEventListener('DOMContentLoaded',apply); + })();"#).ok(); window.with_webview(|wv| { let webkit_view = wv.inner(); if let Some(parent) = webkit_view.parent() { diff --git a/src/components/GuideView.tsx b/src/components/GuideView.tsx index ba7e4d2..acfbf98 100644 --- a/src/components/GuideView.tsx +++ b/src/components/GuideView.tsx @@ -1,5 +1,4 @@ import { useEffect, useState } from "react"; -import { openUrl } from "@tauri-apps/plugin-opener"; import { useStore } from "../store"; import { SectionItem, QuestItem, CombatType } from "../types"; import QuestDetailPanel from "./QuestDetailPanel"; @@ -55,7 +54,7 @@ export default function GuideView() { return (
-
+
{/* Header */}
@@ -181,7 +180,7 @@ export default function GuideView() { {/* List */} {!resourcesCollapsed && ( -
+
{resources.map((r, i) => { const owned = resourceInventory[r.name] ?? 0; const done = owned >= r.quantity; diff --git a/src/components/HomeView.tsx b/src/components/HomeView.tsx index beabde5..6f766ed 100644 --- a/src/components/HomeView.tsx +++ b/src/components/HomeView.tsx @@ -11,7 +11,7 @@ export default function HomeView() { const inProgressGuides = guides.filter(g => g.completed_quests > 0 && g.completed_quests < g.total_quests); return ( -
+
{/* Header */}

diff --git a/src/components/QuestDetailPanel.tsx b/src/components/QuestDetailPanel.tsx index 3293690..7f06fd7 100644 --- a/src/components/QuestDetailPanel.tsx +++ b/src/components/QuestDetailPanel.tsx @@ -120,7 +120,7 @@ export default function QuestDetailPanel({ questName, questUrl, profileId, onClo

{/* Content */} -
+
{loading && (
diff --git a/src/components/ResizeHandles.tsx b/src/components/ResizeHandles.tsx index 8048203..54d5265 100644 --- a/src/components/ResizeHandles.tsx +++ b/src/components/ResizeHandles.tsx @@ -1,9 +1,9 @@ import { getCurrentWindow } from "@tauri-apps/api/window"; -import type { ResizeEdge } from "@tauri-apps/api/window"; +import type { ResizeDirection } from "@tauri-apps/api/window"; const S = 8; // grab zone size in px -const handles: { edge: ResizeEdge; style: React.CSSProperties }[] = [ +const handles: { edge: ResizeDirection; style: React.CSSProperties }[] = [ { edge: "North", style: { top: 0, left: S, right: S, height: S, cursor: "n-resize" } }, { edge: "South", style: { bottom: 0, left: S, right: S, height: S, cursor: "s-resize" } }, { edge: "West", style: { top: S, left: 0, bottom: S, width: S, cursor: "w-resize" } }, diff --git a/src/components/Sidebar.tsx b/src/components/Sidebar.tsx index 95355f6..6627876 100644 --- a/src/components/Sidebar.tsx +++ b/src/components/Sidebar.tsx @@ -15,7 +15,6 @@ export default function Sidebar() { const { guides, openGuide, activeGuideGid, view, sidebarCollapsed, setSidebarCollapsed } = useStore(); const [search, setSearch] = useState(""); const collapsed = sidebarCollapsed; - const setCollapsed = setSidebarCollapsed; const windowWidth = useWindowWidth(); const isOverlay = collapsed || windowWidth < 500; @@ -41,8 +40,7 @@ export default function Sidebar() { }}> {/* Toggle button */}