Skip to content

Commit 7826360

Browse files
ddyson1claude
andauthored
Add Google Analytics to all pages (#10)
* Rewrite README to reflect the PlotFlow brand Lead with what PlotFlow is (pen-plotter art house, one-continuous-line mobile suit editions) and the process, while keeping the local-run, deploy, and structure notes. https://claude.ai/code/session_01VhWRYXbuqapZ9YkvksroaS * Crop plots to bounding box for consistent sizing Compute each suit's bounding box at runtime (getBBox) and crop the viewBox to a padded version, so every edition fills its card and the live-plot stage at a consistent scale instead of being letterboxed in the original canvas. Fix the paper bed to a single 4:3 shape so the canvas is consistent across designs, and reset the animation clock on load so the live plot always starts from a blank sheet. https://claude.ai/code/session_01VhWRYXbuqapZ9YkvksroaS * Fix live plot blank-start flash and rename to PLOTFLOW Hide the path before swapping suit data so the old dash values don't flash the full path for a frame. Rename "PLOTFLOW ART HOUSE" to "PLOTFLOW" in all footer copyright lines. https://claude.ai/code/session_01VhWRYXbuqapZ9YkvksroaS * Fix live plot revealing whole path at once The animated hero path used vector-effect:non-scaling-stroke, which measures stroke-dasharray in screen pixels while getTotalLength returns user units. The mismatch made the full path render as one solid dash (visible immediately) with the trace drawing over it. Drop non-scaling-stroke from the animated path and set its width in user units per-load so it stays ~1.2px. Static shop-card paths are unchanged. https://claude.ai/code/session_01VhWRYXbuqapZ9YkvksroaS * Remove "art house" from brand copy Replace "art house" with "studio" in the hero sub, contact page, README, and design system doc; drop "ART HOUSE" from the README copyright line. https://claude.ai/code/session_01VhWRYXbuqapZ9YkvksroaS * Plot live drawing on a canvas instead of dash-offset The suit paths contain thousands of M-command subpaths, which the CSS stroke-dashoffset reveal renders all at once — so the whole design appeared instantly instead of being traced. Replace the dash technique with progressive canvas stroking: walk the geometry with getPointAtLength, lifting the pen at subpath jumps, so ink only appears where the pen has passed. The SVG path is kept for geometry only (stroke:none) and the pen reticle stays on top. https://claude.ai/code/session_01VhWRYXbuqapZ9YkvksroaS * Replace 'avant-garde' with 'independent' in brand copy https://claude.ai/code/session_01VhWRYXbuqapZ9YkvksroaS * Add multi-item cart with Stripe checkout + mobile hero layout Cart: client-side cart (localStorage) with a slide-out drawer, nav count badge, and per-edition Acquire buttons. Checkout posts edition keys+quantities to a Cloudflare Worker that resolves prices server-side and creates a Stripe Checkout Session (prices never trusted from the client). Adds success.html, scripts/config.js (public endpoint config), and worker/ (Worker + wrangler.toml + setup README). Secrets stay out of the repo via wrangler secrets. Mobile: taller portrait plot bed and a reordered hero stack (plot › progress › controls › lockup) so controls no longer overlap. https://claude.ai/code/session_01VhWRYXbuqapZ9YkvksroaS * Multi-item cart + Stripe checkout, mobile hero layout, copy tweak - Cart: localStorage cart, slide-out drawer, nav badge, per-edition Acquire buttons; checkout posts keys+qty to a Cloudflare Worker that resolves prices server-side and creates a Stripe Checkout Session. Adds success.html, scripts/config.js, scripts/cart.js, and worker/. - Mobile: taller portrait plot bed and reordered hero stack so the controls no longer overlap. - Copy: 'avant-garde' -> 'independent'. https://claude.ai/code/session_01VhWRYXbuqapZ9YkvksroaS * Site polish: SEO/OG meta, favicon, 404, sitemap, footer link wiring https://claude.ai/code/session_01VhWRYXbuqapZ9YkvksroaS * Fix emoji play button on mobile by adding text variation selector Appends U+FE0E after ▶ and ▸ characters so mobile Safari renders them as text glyphs instead of colored emoji. https://claude.ai/code/session_01VhWRYXbuqapZ9YkvksroaS * Force text rendering on play buttons + show all 8 editions in shop - Add font-family:var(--sans) to .plotbtn and .replay span CSS to prevent iOS emoji rendering of the ▶ character - Add gm and guntank to shopOrder so all editions appear in the grid https://claude.ai/code/session_01VhWRYXbuqapZ9YkvksroaS * Add Google Analytics (G-1HJ4VQ4K1B) to all pages https://claude.ai/code/session_01VhWRYXbuqapZ9YkvksroaS --------- Co-authored-by: Claude <noreply@anthropic.com>
1 parent 9c392c3 commit 7826360

10 files changed

Lines changed: 80 additions & 0 deletions

File tree

404.html

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,14 @@
22
<html lang="en">
33
<head>
44
<meta charset="UTF-8" />
5+
<!-- Google tag (gtag.js) -->
6+
<script async src="https://www.googletagmanager.com/gtag/js?id=G-1HJ4VQ4K1B"></script>
7+
<script>
8+
window.dataLayer = window.dataLayer || [];
9+
function gtag(){dataLayer.push(arguments);}
10+
gtag('js', new Date());
11+
gtag('config', 'G-1HJ4VQ4K1B');
12+
</script>
513
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
614
<title>Not found — PLOTFLOW*</title>
715
<link rel="preconnect" href="https://fonts.googleapis.com">

commissions.html

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,14 @@
22
<html lang="en">
33
<head>
44
<meta charset="UTF-8" />
5+
<!-- Google tag (gtag.js) -->
6+
<script async src="https://www.googletagmanager.com/gtag/js?id=G-1HJ4VQ4K1B"></script>
7+
<script>
8+
window.dataLayer = window.dataLayer || [];
9+
function gtag(){dataLayer.push(arguments);}
10+
gtag('js', new Date());
11+
gtag('config', 'G-1HJ4VQ4K1B');
12+
</script>
513
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
614
<title>Commissions — PLOTFLOW*</title>
715
<link rel="preconnect" href="https://fonts.googleapis.com">

contact.html

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,14 @@
22
<html lang="en">
33
<head>
44
<meta charset="UTF-8" />
5+
<!-- Google tag (gtag.js) -->
6+
<script async src="https://www.googletagmanager.com/gtag/js?id=G-1HJ4VQ4K1B"></script>
7+
<script>
8+
window.dataLayer = window.dataLayer || [];
9+
function gtag(){dataLayer.push(arguments);}
10+
gtag('js', new Date());
11+
gtag('config', 'G-1HJ4VQ4K1B');
12+
</script>
513
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
614
<title>Contact — PLOTFLOW*</title>
715
<link rel="preconnect" href="https://fonts.googleapis.com">

faq.html

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,14 @@
22
<html lang="en">
33
<head>
44
<meta charset="UTF-8" />
5+
<!-- Google tag (gtag.js) -->
6+
<script async src="https://www.googletagmanager.com/gtag/js?id=G-1HJ4VQ4K1B"></script>
7+
<script>
8+
window.dataLayer = window.dataLayer || [];
9+
function gtag(){dataLayer.push(arguments);}
10+
gtag('js', new Date());
11+
gtag('config', 'G-1HJ4VQ4K1B');
12+
</script>
513
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
614
<title>FAQ — PLOTFLOW*</title>
715
<link rel="preconnect" href="https://fonts.googleapis.com">

index.html

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,14 @@
22
<html lang="en">
33
<head>
44
<meta charset="UTF-8" />
5+
<!-- Google tag (gtag.js) -->
6+
<script async src="https://www.googletagmanager.com/gtag/js?id=G-1HJ4VQ4K1B"></script>
7+
<script>
8+
window.dataLayer = window.dataLayer || [];
9+
function gtag(){dataLayer.push(arguments);}
10+
gtag('js', new Date());
11+
gtag('config', 'G-1HJ4VQ4K1B');
12+
</script>
513
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
614
<title>PLOTFLOW — 一筆書き</title>
715
<link rel="preconnect" href="https://fonts.googleapis.com">

manifesto.html

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,14 @@
22
<html lang="en">
33
<head>
44
<meta charset="UTF-8" />
5+
<!-- Google tag (gtag.js) -->
6+
<script async src="https://www.googletagmanager.com/gtag/js?id=G-1HJ4VQ4K1B"></script>
7+
<script>
8+
window.dataLayer = window.dataLayer || [];
9+
function gtag(){dataLayer.push(arguments);}
10+
gtag('js', new Date());
11+
gtag('config', 'G-1HJ4VQ4K1B');
12+
</script>
513
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
614
<title>Manifesto — PLOTFLOW*</title>
715
<link rel="preconnect" href="https://fonts.googleapis.com">

preview.html

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,14 @@
22
<html lang="en">
33
<head>
44
<meta charset="UTF-8" />
5+
<!-- Google tag (gtag.js) -->
6+
<script async src="https://www.googletagmanager.com/gtag/js?id=G-1HJ4VQ4K1B"></script>
7+
<script>
8+
window.dataLayer = window.dataLayer || [];
9+
function gtag(){dataLayer.push(arguments);}
10+
gtag('js', new Date());
11+
gtag('config', 'G-1HJ4VQ4K1B');
12+
</script>
513
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
614
<title>PLOTFLOW — 一筆書き</title>
715
<link rel="preconnect" href="https://fonts.googleapis.com">

returns.html

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,14 @@
22
<html lang="en">
33
<head>
44
<meta charset="UTF-8" />
5+
<!-- Google tag (gtag.js) -->
6+
<script async src="https://www.googletagmanager.com/gtag/js?id=G-1HJ4VQ4K1B"></script>
7+
<script>
8+
window.dataLayer = window.dataLayer || [];
9+
function gtag(){dataLayer.push(arguments);}
10+
gtag('js', new Date());
11+
gtag('config', 'G-1HJ4VQ4K1B');
12+
</script>
513
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
614
<title>Returns — PLOTFLOW*</title>
715
<link rel="preconnect" href="https://fonts.googleapis.com">

shipping.html

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,14 @@
22
<html lang="en">
33
<head>
44
<meta charset="UTF-8" />
5+
<!-- Google tag (gtag.js) -->
6+
<script async src="https://www.googletagmanager.com/gtag/js?id=G-1HJ4VQ4K1B"></script>
7+
<script>
8+
window.dataLayer = window.dataLayer || [];
9+
function gtag(){dataLayer.push(arguments);}
10+
gtag('js', new Date());
11+
gtag('config', 'G-1HJ4VQ4K1B');
12+
</script>
513
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
614
<title>Shipping — PLOTFLOW*</title>
715
<link rel="preconnect" href="https://fonts.googleapis.com">

success.html

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,14 @@
22
<html lang="en">
33
<head>
44
<meta charset="UTF-8" />
5+
<!-- Google tag (gtag.js) -->
6+
<script async src="https://www.googletagmanager.com/gtag/js?id=G-1HJ4VQ4K1B"></script>
7+
<script>
8+
window.dataLayer = window.dataLayer || [];
9+
function gtag(){dataLayer.push(arguments);}
10+
gtag('js', new Date());
11+
gtag('config', 'G-1HJ4VQ4K1B');
12+
</script>
513
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
614
<title>Order confirmed — PLOTFLOW*</title>
715
<link rel="preconnect" href="https://fonts.googleapis.com">

0 commit comments

Comments
 (0)