From 0f49cbeabdc7646a02cb391c557f94544cc9c0ca Mon Sep 17 00:00:00 2001 From: Chris Wanstrath Date: Thu, 2 Oct 2025 22:03:07 -0700 Subject: [PATCH] fullscreen button (kinda) --- src/css/browser.css | 10 ++++++++++ src/html/layout.tsx | 1 - src/html/terminal.tsx | 2 ++ src/js/browser.ts | 7 +++++++ src/js/hyperlink.ts | 2 +- 5 files changed, 20 insertions(+), 2 deletions(-) diff --git a/src/css/browser.css b/src/css/browser.css index 353f149..efa0f33 100644 --- a/src/css/browser.css +++ b/src/css/browser.css @@ -10,6 +10,10 @@ iframe.browser { margin-top: var(--browser-bar-height); } +iframe.browser.fullscren { + margin-top: 0; +} + [data-mode="tall"] iframe.browser { height: 100%; } @@ -48,6 +52,12 @@ iframe:focus { transform: scaleX(-1); } +#fullscreen-button { + position: absolute; + right: 15; + top: -1; +} + #close-button { position: absolute; right: -10; diff --git a/src/html/layout.tsx b/src/html/layout.tsx index b7c5e83..5401fbb 100644 --- a/src/html/layout.tsx +++ b/src/html/layout.tsx @@ -11,7 +11,6 @@ export const Layout: FC = async ({ children, title }) => ( - diff --git a/src/html/terminal.tsx b/src/html/terminal.tsx index 6216519..bdb1c0e 100644 --- a/src/html/terminal.tsx +++ b/src/html/terminal.tsx @@ -4,12 +4,14 @@ export const Terminal: FC = async () => ( <> + diff --git a/src/js/browser.ts b/src/js/browser.ts index 2a507d6..923f02d 100644 --- a/src/js/browser.ts +++ b/src/js/browser.ts @@ -104,6 +104,8 @@ function handleClick(e: MouseEvent) { stopLoading(); break case "reload-button": reloadBrowser(); break + case "fullscreen-button": + fullscreenBrowser(); break case "close-button": closeBrowser(); break default: @@ -136,6 +138,11 @@ function stopLoading() { sendNavCommand('stop') } +function fullscreenBrowser() { + controls.style.display = 'none' + iframe.classList.add('fullscren') +} + function sendNavCommand(action: 'back' | 'forward' | 'reload' | 'stop') { if (!iframe.contentWindow) return diff --git a/src/js/hyperlink.ts b/src/js/hyperlink.ts index 0bd18d8..97c5986 100644 --- a/src/js/hyperlink.ts +++ b/src/js/hyperlink.ts @@ -21,7 +21,7 @@ async function handleClick(e: MouseEvent) { const href = a.getAttribute("href") if (!href) return - if (href.startsWith("#")) { + if (href.startsWith("#") && href.length > 1) { e.preventDefault() await runCommand(href.slice(1)) focusInput()