- Unlinked, noindex page listing marker PNGs from public/set/markers (discovered at build time; filenames encode device/resolution/orientation) - Detects the current screen and offers the closest match first - One-tap full-screen viewer: wake lock, hidden controls, full grid/edges toggle, fill vs fit by aspect, back button closes, deep links via hash - Offline service worker + home-screen manifest for iPhone full screen - Marketing chrome moved into an (site) route group so /set has none Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,27 @@
|
||||
import type { Metadata, Viewport } from "next";
|
||||
import MarkerPicker from "@/components/set/MarkerPicker";
|
||||
import { loadMarkers } from "@/lib/markers";
|
||||
|
||||
// On-set screen tracking markers. Deliberately not linked from the site,
|
||||
// kept out of search results and the sitemap.
|
||||
export const metadata: Metadata = {
|
||||
title: "Screen markers",
|
||||
description: "Two Tales VFX screen tracking markers for production crews.",
|
||||
robots: { index: false, follow: false },
|
||||
manifest: "/set/manifest.webmanifest",
|
||||
appleWebApp: { capable: true, title: "Markers", statusBarStyle: "black-translucent" },
|
||||
};
|
||||
|
||||
export const viewport: Viewport = {
|
||||
themeColor: "#000000",
|
||||
viewportFit: "cover",
|
||||
};
|
||||
|
||||
export default function SetPage() {
|
||||
const { screens, extras } = loadMarkers();
|
||||
return (
|
||||
<main className="min-h-dvh bg-ink">
|
||||
<MarkerPicker screens={screens} extras={extras} />
|
||||
</main>
|
||||
);
|
||||
}
|
||||
Reference in New Issue
Block a user