From e90e0329098cfb1e589c1a66a3102c1bc4e0a6a5 Mon Sep 17 00:00:00 2001 From: Prozilla Date: Wed, 19 Jun 2024 17:22:14 +0200 Subject: [PATCH] Style improvements for taskbar and standalone mode --- public/assets/logo.png | Bin 37796 -> 38012 bytes public/assets/logo.svg | 26 ++--- .../apps/text-editor/TextEditor.tsx | 18 +--- .../router/routes/StandaloneRoute.module.css | 2 +- src/components/taskbar/Taskbar.module.css | 4 + .../taskbar/app-icon/AppIcon.module.css | 8 ++ .../taskbar/menus/AppList.module.css | 9 +- .../taskbar/menus/HomeMenu.module.css | 95 +++++++++++++++++- src/components/taskbar/menus/HomeMenu.tsx | 20 ++-- .../windows/StandaloneHeader.module.css | 5 +- src/components/windows/StandaloneHeader.tsx | 2 +- .../virtual-drive/file/virtualFile.ts | 6 +- 12 files changed, 149 insertions(+), 46 deletions(-) diff --git a/public/assets/logo.png b/public/assets/logo.png index d0580b06f1d86f82f9d5a9d557053ee33492051c..1b9b2e42098330dd808396b14ae367b28d6b95e7 100644 GIT binary patch literal 38012 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
-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 - - - - - - - - + + + + + + + + + - + - + - - + + diff --git a/src/components/apps/text-editor/TextEditor.tsx b/src/components/apps/text-editor/TextEditor.tsx index d79fce0..e1ef52e 100644 --- a/src/components/apps/text-editor/TextEditor.tsx +++ b/src/components/apps/text-editor/TextEditor.tsx @@ -60,19 +60,11 @@ export function TextEditor({ file, path, setTitle, setIconUrl, close, mode, app, useEffect(() => { void (async () => { - let newContent = ""; + let newContent: string | null = ""; // Load file if (currentFile) { - if (currentFile.content) { - newContent = currentFile.content; - } else if (currentFile.source) { - await fetch(currentFile.source).then((response) => - response.text() - ).then((response) => { - newContent = response; - }); - } + newContent = await currentFile.read() as string | null; const iconUrl = currentFile.getIconUrl(); if (iconUrl) @@ -84,11 +76,11 @@ export function TextEditor({ file, path, setTitle, setIconUrl, close, mode, app, setIconUrl?.(AppsManager.getAppIconUrl(app.id)); } - setContent(newContent); + if (newContent != null) + setContent(newContent); - if (ref.current) { + if (ref.current) (ref.current as HTMLElement).scrollTo(0, 0); - } })(); }, [app?.id, currentFile, setIconUrl]); diff --git a/src/components/router/routes/StandaloneRoute.module.css b/src/components/router/routes/StandaloneRoute.module.css index 2c58491..6ae894f 100644 --- a/src/components/router/routes/StandaloneRoute.module.css +++ b/src/components/router/routes/StandaloneRoute.module.css @@ -1,5 +1,5 @@ .StandaloneView { - --header-height: 2.5rem; + --header-height: 2.75rem; display: flex; flex-direction: column; diff --git a/src/components/taskbar/Taskbar.module.css b/src/components/taskbar/Taskbar.module.css index 7a00449..64e2583 100644 --- a/src/components/taskbar/Taskbar.module.css +++ b/src/components/taskbar/Taskbar.module.css @@ -63,6 +63,10 @@ width: auto; } +button.HomeButton { + padding: 0.625rem; +} + .HomeButton * { fill: var(--foreground-color-0); filter: none; diff --git a/src/components/taskbar/app-icon/AppIcon.module.css b/src/components/taskbar/app-icon/AppIcon.module.css index 2152ee2..e5938d8 100644 --- a/src/components/taskbar/app-icon/AppIcon.module.css +++ b/src/components/taskbar/app-icon/AppIcon.module.css @@ -9,6 +9,14 @@ .App-icon svg { filter: var(--svg-drop-shadow-0); + transform: scale(100%); + transform-origin: center; + transition: transform 300ms ease-out 150ms; +} + +.App-icon:not(.Active):hover svg, +.App-icon:not(.Active):focus-visible svg { + transform: scale(115%); } .App-icon.Hidden { diff --git a/src/components/taskbar/menus/AppList.module.css b/src/components/taskbar/menus/AppList.module.css index 4d38309..9eee0fb 100644 --- a/src/components/taskbar/menus/AppList.module.css +++ b/src/components/taskbar/menus/AppList.module.css @@ -9,18 +9,21 @@ } .AppButton { + --size: 2rem; + display: flex; - gap: 1rem; + gap: 0.75rem; width: 100%; padding: 0.25rem 0.5rem; + font-size: 0.875rem; border-radius: var(--border-radius-1); } .AppButton > div, .AppButton > div > div, .AppButton > div > div > svg { - width: 2rem; - height: 2rem; + width: var(--size); + height: var(--size); } .AppButton svg { diff --git a/src/components/taskbar/menus/HomeMenu.module.css b/src/components/taskbar/menus/HomeMenu.module.css index 2acd65f..e8942f2 100644 --- a/src/components/taskbar/menus/HomeMenu.module.css +++ b/src/components/taskbar/menus/HomeMenu.module.css @@ -4,28 +4,84 @@ } .HomeMenu { + --default-buttons-width: 3rem; + --buttons-count: 5; + min-width: 16rem; max-width: 32rem; + min-height: calc(var(--default-buttons-width) * var(--buttons-count)); border-bottom-left-radius: 0; border-bottom-right-radius: var(--border-radius-1); } .Buttons { + --buttons-width: var(--default-buttons-width); + --padding: 0.25rem; + --filter: blur(0px); + + position: absolute; display: flex; flex-direction: column-reverse; + justify-content: flex-start; align-items: center; - padding: 0.25rem; + bottom: 0; + left: 0; + padding: var(--padding); margin-top: auto; + width: var(--buttons-width); + height: 100%; + border-radius: var(--border-radius-1); + overflow: hidden; + transition: width 200ms ease-out 200ms; z-index: 1; } +.Buttons::after { + content: ""; + position: absolute; + top: 0; + bottom: 0; + left: 0; + right: 0; + border-radius: inherit; + pointer-events: none; + backdrop-filter: var(--filter); + transition: backdrop-filter 200ms ease-out 200ms; +} + +.Buttons:hover, +.Buttons:focus-visible { + --buttons-width: 10rem; + --filter: var(--taskbar-filter); +} + .Buttons > button { + --button-width: calc(var(--buttons-width) - var(--padding) * 2); + --button-height: calc(var(--default-buttons-width) - var(--padding) * 2); + + position: relative; + display: flex; + justify-content: flex-start; + align-items: center; padding: 0.5rem; + width: var(--button-width); + height: var(--button-height); border-radius: var(--border-radius-1); + overflow: hidden; + transition: inherit; + z-index: 1; } .Buttons > button > svg { height: 1.5rem; + width: 1.5rem; +} + +.Buttons > button > p { + position: absolute; + left: calc(var(--default-buttons-width) - var(--padding) * 2); + margin: 0; + white-space: nowrap; } .Apps { @@ -33,15 +89,44 @@ flex-direction: column; width: 100% !important; max-height: 20rem; - padding: 1rem; + padding: 0.5rem; padding-right: 0.25rem; padding-bottom: 0; + margin-left: var(--default-buttons-width); } -.Apps > h1 { +.Logo { + display: flex; + gap: 0.5rem; + width: auto; + margin-bottom: 0.5rem; + justify-content: flex-start; + align-items: center; + user-select: none; +} + +.Logo div, +.Logo svg { + width: auto; + height: 2.25rem; + color: inherit; + aspect-ratio: 1; +} + +.Logo svg { + object-fit: contain; +} + +.Logo svg * { + color: inherit; + fill: currentColor; +} + +.Logo > h1 { width: 100%; text-align: left; - font-size: 1rem; margin: 0; - margin-bottom: 0.5rem; + font-size: 1rem; + font-weight: 600; + letter-spacing: normal; } \ No newline at end of file diff --git a/src/components/taskbar/menus/HomeMenu.tsx b/src/components/taskbar/menus/HomeMenu.tsx index 1c7dbe8..d12381b 100644 --- a/src/components/taskbar/menus/HomeMenu.tsx +++ b/src/components/taskbar/menus/HomeMenu.tsx @@ -64,16 +64,18 @@ export function HomeMenu({ active, setActive, search }: HomeMenuProps) {
- - - - -
-

{NAME}

+ + +

{NAME}

+
{AppsManager.APPS.sort((a, b) => a.name.localeCompare(b.name)).map(({ name, id }) =>