freezmo/package.json
Martin Dvorak b315e2a1aa Touch devices blur the live backdrop instead of the baked layer
Mobile engines repaint background-attachment: fixed late (iOS treats it
as scroll), so the baked glass showed a stale crop of the wallpaper
until a tap forced a repaint - "some of the UI looks bugged until I
click it". On touch devices (max-width 639px or pointer: coarse) the
bake is dropped for a real backdrop-filter over the live scene, so the
bubbles blur through the glass as they pass and the position is correct
by construction. Hand-rolled frost fills keep their own tints there;
desktop keeps the baked layer (measured cheaper and verified correct).

Pinned with a touch-context check in the mobile suite (124 checks).
Contrast 0 findings, axe clean, chat 101/101, regression 44/44, i18n
13/13, native 33/33. Version 0.3.8, SW -> freezmo-v67.
2026-10-13 14:07:24 +00:00

44 lines
1.2 KiB
JSON

{
"name": "freezmo",
"version": "0.3.8",
"private": true,
"license": "GPL-3.0-only",
"scripts": {
"predev": "node scripts/copy-pdf-worker.mjs",
"dev": "next dev -H 0.0.0.0 -p 3207",
"prebuild": "node scripts/copy-pdf-worker.mjs",
"build": "next build",
"start": "next start -H 0.0.0.0 -p 3207",
"lint": "eslint",
"test:e2e": "node tests/run-all.mjs",
"version:bump": "node scripts/bump-version.mjs"
},
"dependencies": {
"canvas-confetti": "^1.9.4",
"framer-motion": "^12.23.24",
"jszip": "^3.10.2",
"katex": "^0.19.0",
"mammoth": "^1.13.0",
"next": "15.5.27",
"pdfjs-dist": "^6.4.299",
"react": "19.1.0",
"react-dom": "19.1.0",
"web-push": "^3.6.7",
"zod": "^4.1.13"
},
"devDependencies": {
"@eslint/eslintrc": "^3",
"@tailwindcss/postcss": "^4",
"@types/canvas-confetti": "^1.9.0",
"@types/node": "^20",
"@types/react": "^19",
"@types/react-dom": "^19",
"@types/web-push": "^3.6.4",
"axe-core": "^4.14.0",
"eslint": "^9",
"eslint-config-next": "15.5.27",
"playwright-core": "^1.64.0",
"tailwindcss": "^4",
"typescript": "^5"
}
}