mirror of
https://github.com/getpaseo/paseo.git
synced 2026-10-23 17:52:49 +00:00
* fix(app): restore desktop screen header dragging * fix(desktop): keep the titlebar draggable after scrolling chat * fix(desktop): preserve global control exclusions without blocking chat headers Keep programmatic focus containers out of the global interactive no-drag rule. Retain semantic controls everywhere, including window-owned sidebar toggles and negative-tabindex buttons. Verify both header rows and independently positioned controls with native input. Co-authored-by: Ruichen Zhou <ruichenzhou@outlook.com> * fix(desktop): isolate chat content from window drag regions Electron includes scrolled interactive rectangles outside their viewport in window hit testing. Reset window regions at the chat viewport while preserving the global control exclusions for chrome and portals. --------- Co-authored-by: Mohamed Boudra <boudra.moha@gmail.com>
99 lines
3.0 KiB
HTML
99 lines
3.0 KiB
HTML
<!doctype html>
|
|
<html lang="%LANG_ISO_CODE%">
|
|
<head>
|
|
<meta charset="utf-8" />
|
|
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
|
<meta name="robots" content="noindex,nofollow" />
|
|
<meta name="theme-color" content="#181B1A" />
|
|
<meta name="apple-mobile-web-app-capable" content="yes" />
|
|
<meta name="apple-mobile-web-app-title" content="Paseo" />
|
|
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
|
|
<meta
|
|
name="viewport"
|
|
content="width=device-width, initial-scale=1, shrink-to-fit=no, viewport-fit=cover"
|
|
/>
|
|
<link rel="manifest" href="/manifest.json" />
|
|
<link rel="apple-touch-icon" href="/apple-touch-icon.png" />
|
|
<title>%WEB_TITLE%</title>
|
|
<!-- The `react-native-web` recommended style reset: https://necolas.github.io/react-native-web/docs/setup/#root-element -->
|
|
<style id="expo-reset">
|
|
/* Keep the app shell fixed to the viewport. */
|
|
html,
|
|
body {
|
|
width: 100%;
|
|
height: 100%;
|
|
margin: 0;
|
|
padding: 0;
|
|
overflow: hidden;
|
|
overscroll-behavior: none;
|
|
}
|
|
/* These styles smooth text rendering in the app shell. */
|
|
body {
|
|
-webkit-font-smoothing: antialiased;
|
|
-moz-osx-font-smoothing: grayscale;
|
|
}
|
|
/* Prevent white flash before React mounts */
|
|
@media (prefers-color-scheme: dark) {
|
|
html,
|
|
body {
|
|
background-color: #181b1a;
|
|
}
|
|
}
|
|
/* These styles make the root element full-height */
|
|
#root {
|
|
display: flex;
|
|
width: 100%;
|
|
height: 100%;
|
|
flex: 1;
|
|
min-width: 0;
|
|
min-height: 0;
|
|
overflow: hidden;
|
|
}
|
|
</style>
|
|
<style>
|
|
button,
|
|
a,
|
|
input,
|
|
textarea,
|
|
select,
|
|
[role="button"],
|
|
[role="link"],
|
|
[role="textbox"],
|
|
[role="combobox"],
|
|
[role="tab"],
|
|
[role="switch"],
|
|
[role="checkbox"],
|
|
[role="slider"],
|
|
[role="menuitem"],
|
|
[tabindex],
|
|
[contenteditable="true"] {
|
|
-webkit-app-region: no-drag !important;
|
|
}
|
|
|
|
/* Electron does not clip app-region rectangles to scroll viewports.
|
|
Content-only viewports emit no window regions, including from their
|
|
controls. Visible controls here use normal DOM hit testing.
|
|
Use initial: Blink parses the explicit value none as no-drag. */
|
|
[data-window-content],
|
|
[data-window-content] * {
|
|
-webkit-app-region: initial !important;
|
|
}
|
|
|
|
/* Suppress the browser's default focus outline — it appears on mouse
|
|
clicks and looks out of place against our themed surfaces. Keep a
|
|
themed ring for keyboard users via :focus-visible. */
|
|
*:focus {
|
|
outline: none;
|
|
}
|
|
*:focus-visible {
|
|
outline: 2px solid #20744a;
|
|
outline-offset: 2px;
|
|
}
|
|
</style>
|
|
</head>
|
|
<body>
|
|
<noscript>You need to enable JavaScript to run this app.</noscript>
|
|
<div id="root"></div>
|
|
</body>
|
|
</html>
|