anydrop/web/capacitor.config.ts
ordinarthur 6034da7153
All checks were successful
Build & Deploy / build-and-deploy (push) Successful in 40s
fix(web): responsive guards for iOS WKWebView
The native shell exposed a few latent issues:
- viewport lacked viewport-fit=cover + maximum-scale so content could
  zoom and leak under the notch,
- body had no overflow-x guard, so any one-line string pushed the layout
  wider than the device,
- #root had no env(safe-area-inset-*) padding, hiding content behind
  the status bar now that Capacitor's contentInset is off.

Flipping contentInset from "always" to "never" lets the CSS env()
values drive the inset (single source of truth, no double padding).

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-20 16:13:29 +02:00

23 lines
715 B
TypeScript

import type { CapacitorConfig } from "@capacitor/cli";
const config: CapacitorConfig = {
appId: "fr.arthurbarre.anydrop",
appName: "AnyDrop",
webDir: "dist",
server: {
// The iOS app is a thin shell around the production PWA. The real value
// vs. a web clip is the native Share Extension (see ios/App/AnyDropShare),
// which lets users send photos/videos from the iOS Photos share sheet.
url: "https://anydrop.arthurbarre.fr",
cleartext: false,
},
ios: {
scheme: "AnyDrop",
// We handle safe-areas in CSS via env(safe-area-inset-*). Letting the
// webview add its own inset on top would double-up the padding.
contentInset: "never",
},
};
export default config;