cc8f917cdd
`interactive-widget=resizes-content` was set in the SSR viewport metadata so Android Chrome would shrink the layout viewport when the on-screen keyboard opens (matching iOS default behavior). Other browsers — Safari on macOS / iOS, desktop Chrome, Firefox — log a console warning every page load because they don't recognize the key. Move the attachment client-side, gated on a UA sniff for Android, so the meta tag stays clean for everyone else. The Android-specific behavior (modals centered above the keyboard) is preserved on the platform that actually needed it. Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
44 lines
1.5 KiB
TypeScript
44 lines
1.5 KiB
TypeScript
import Head from 'next/head';
|
|
import { AppProps } from 'next/app';
|
|
import { EnvProvider } from '@/context/EnvContext';
|
|
import Providers from '@/components/Providers';
|
|
|
|
import '../styles/globals.css';
|
|
|
|
function MyApp({ Component, pageProps }: AppProps) {
|
|
return (
|
|
<>
|
|
<Head>
|
|
{/*
|
|
* `interactive-widget=resizes-content` is appended client-side
|
|
* on Android only (Providers.tsx) so other browsers don't
|
|
* warn about the unrecognized key on every page load.
|
|
*/}
|
|
<meta
|
|
name='viewport'
|
|
content='minimum-scale=1, initial-scale=1, width=device-width, shrink-to-fit=no, user-scalable=no, viewport-fit=cover'
|
|
/>
|
|
<meta name='application-name' content='Readest' />
|
|
<meta name='apple-mobile-web-app-capable' content='yes' />
|
|
<meta name='apple-mobile-web-app-status-bar-style' content='default' />
|
|
<meta name='apple-mobile-web-app-title' content='Readest' />
|
|
<meta
|
|
name='description'
|
|
content='Readest is an open-source eBook reader supporting EPUB, PDF, and sync across devices.'
|
|
/>
|
|
<meta name='format-detection' content='telephone=no' />
|
|
<meta name='mobile-web-app-capable' content='yes' />
|
|
<meta name='theme-color' content='white' />
|
|
<link rel='manifest' href='/manifest.json' />
|
|
</Head>
|
|
<EnvProvider>
|
|
<Providers>
|
|
<Component {...pageProps} />
|
|
</Providers>
|
|
</EnvProvider>
|
|
</>
|
|
);
|
|
}
|
|
|
|
export default MyApp;
|