style: fix scrollbar once and for all

This commit is contained in:
Youwen Wu 2024-02-25 01:44:35 -08:00
parent a07efc37e4
commit 478667cc54
Signed by: youwen5
GPG key ID: 865658ED1FE61EC3
5 changed files with 39 additions and 27 deletions

View file

@ -12,6 +12,7 @@
"howler": "^2.2.4", "howler": "^2.2.4",
"material-icons": "^1.13.12", "material-icons": "^1.13.12",
"material-symbols": "^0.15.0", "material-symbols": "^0.15.0",
"overlayscrollbars-svelte": "^0.5.3",
"socket.io-client": "^4.7.4", "socket.io-client": "^4.7.4",
"svelte-french-toast": "^1.2.0", "svelte-french-toast": "^1.2.0",
"svrollbar": "^0.12.0" "svrollbar": "^0.12.0"
@ -2089,6 +2090,21 @@
"wrappy": "1" "wrappy": "1"
} }
}, },
"node_modules/overlayscrollbars": {
"version": "2.5.0",
"resolved": "https://registry.npmjs.org/overlayscrollbars/-/overlayscrollbars-2.5.0.tgz",
"integrity": "sha512-CWVC2dwS07XZfLHDm5GmZN1iYggiJ8Vufnvzwt0gwR9Yz1hVckKeTxg7VILZeYVGhDYJHZ1Xc8Xfys5dWZ1qiA==",
"peer": true
},
"node_modules/overlayscrollbars-svelte": {
"version": "0.5.3",
"resolved": "https://registry.npmjs.org/overlayscrollbars-svelte/-/overlayscrollbars-svelte-0.5.3.tgz",
"integrity": "sha512-oBuYVlCavo6FNSf+qnvrE9XGbRnnGmpLIGBMNBjlTieGB7v3/bPZ+/j06Zgs89sWn8mI73myMmgGXI97PHuxoQ==",
"peerDependencies": {
"overlayscrollbars": "^2.0.0",
"svelte": ">=3.54.0"
}
},
"node_modules/parent-module": { "node_modules/parent-module": {
"version": "1.0.1", "version": "1.0.1",
"resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",

View file

@ -31,6 +31,7 @@
"howler": "^2.2.4", "howler": "^2.2.4",
"material-icons": "^1.13.12", "material-icons": "^1.13.12",
"material-symbols": "^0.15.0", "material-symbols": "^0.15.0",
"overlayscrollbars-svelte": "^0.5.3",
"socket.io-client": "^4.7.4", "socket.io-client": "^4.7.4",
"svelte-french-toast": "^1.2.0", "svelte-french-toast": "^1.2.0",
"svrollbar": "^0.12.0" "svrollbar": "^0.12.0"

View file

@ -48,7 +48,7 @@
</script> </script>
<main <main
class="select-none transition-opacity duration-300 overflow-hidden" class="select-none transition-opacity duration-300"
class:opacity-0={loading} class:opacity-0={loading}
> >
<!-- driver dashboard --> <!-- driver dashboard -->
@ -56,27 +56,22 @@
<Dashboard /> <Dashboard />
</div> </div>
<!-- the infotainment system --> <!-- the infotainment system -->
<div <div class="min-h-screen w-[65vw] right-0 absolute infotainment-container">
class="min-h-screen w-[65vw] right-0 absolute infotainment-container overflow-x-hidden"
>
<!-- dynamic app system (edit appList.ts to add new apps) --> <!-- dynamic app system (edit appList.ts to add new apps) -->
<div class="mx-10 mt-10 overflow-x-hidden"> <div class="mx-10 mt-10 overflow-hidden">
<svelte:component this={appList[activeApp].component} /> <svelte:component this={appList[activeApp].component} />
</div> </div>
<div <div class="fixed w-[65vw] flex justify-center right-0 bottom-0 mb-4">
class="fixed w-[65vw] flex justify-center right-0 bottom-0 mb-4 overflow-x-hidden"
>
<AppBar bind:activeApp {appList} /> <AppBar bind:activeApp {appList} />
</div> </div>
</div> </div>
<!-- toast service -->
</main> </main>
{#if loading} {#if loading}
<Loading /> <Loading />
{/if} {/if}
<!-- toast service -->
<Toaster /> <Toaster />
<style lang="postcss"> <style lang="postcss">

View file

@ -1,31 +1,31 @@
<script lang="ts"> <script lang="ts">
import AppContainer from '../AppContainer.svelte' import AppContainer from "../AppContainer.svelte";
import { Notifications } from '../../Notifications/notifications' import { Notifications } from "../../Notifications/notifications";
import { onMount } from 'svelte' import { onMount } from "svelte";
import { gbaEmulatorBootupSequence } from '../../Sequences/sequences' import { gbaEmulatorBootupSequence } from "../../Sequences/sequences";
onMount(() => { onMount(() => {
fetch('/static/external-apps/gba-emulator/index.html') fetch("/static/external-apps/gba-emulator/index.html")
.then((res: Response) => { .then((res: Response) => {
if (!res.ok) { if (!res.ok) {
throw new Error('GBA failed to load', { cause: res }) throw new Error("GBA failed to load", { cause: res });
} else { } else {
gbaEmulatorBootupSequence() gbaEmulatorBootupSequence();
} }
}) })
.catch(() => { .catch(() => {
Notifications.error( Notifications.error(
'Failed to load the GBA Emulator app. Did you add it to the app/static/external-apps directory?', "Failed to load the GBA Emulator app. Did you add it to the app/static/external-apps directory?",
{ duration: 10000 } { duration: 10000 }
) );
}) });
Notifications.warn( Notifications.warn(
'The GBA Emulator is currently not working in this version of Jankboard.' "The GBA Emulator is currently not working in this version of Jankboard."
) );
}) });
</script> </script>
<AppContainer useContainer={false} class="h-screen w-full"> <AppContainer class="h-screen w-full">
<!-- <iframe <!-- <iframe
title="GBA Emulator" title="GBA Emulator"
src="/static/external-apps/gba-emulator/index.html" src="/static/external-apps/gba-emulator/index.html"

View file

@ -1,11 +1,11 @@
<script lang="ts"> <script lang="ts">
import { blur } from 'svelte/transition' import { blur } from "svelte/transition";
import SvelteLogo from './SvelteLogo.svelte' import SvelteLogo from "./SvelteLogo.svelte";
</script> </script>
<div <div
class="absolute w-screen h-screen flex justify-center items-center flex-col overflow-hidden bg" class="absolute w-screen h-screen flex justify-center items-center flex-col overflow-hidden select-none bg"
transition:blur={{ duration: 300, amount: 0.5 }} transition:blur={{ duration: 300, amount: 0.5 }}
> >
<div class="max-w-64"> <div class="max-w-64">