Commit graph

70 commits

Author SHA1 Message Date
Neeldhara Misra
e7dd3ed8eb admin: descriptive commit messages + dev-mode sync fallback
Server side: writeData() now takes a message, and each action in the
POST handler computes its own — e.g. "admin: add idea "Title"", "admin:
clear note on slug". For setTodos (which ships the whole blob), diff
old vs new per slug to produce messages like "neighbor-sum-avoidance:
add T6" or "mark T1 done, add T5".

Client side: syncFromServer() falls back to the bundled admin-data.json
when /api/admin is unreachable, so the admin panel reflects committed
state under `astro dev` (which doesn't run Netlify Functions).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-19 18:26:27 +05:30
Neeldhara Misra
0d0365cf6d admin: update admin data 2026-04-17 10:41:22 +05:30
Neeldhara Misra
c95b9aaa28 admin: update admin data 2026-04-17 10:40:00 +05:30
Neeldhara Misra
ac0e1013c9 admin: update admin data 2026-04-17 10:39:26 +05:30
Neeldhara Misra
3de9806fe7 admin: update admin data 2026-04-17 10:39:10 +05:30
Neeldhara Misra
0448c26220 admin: update admin data 2026-04-17 10:39:01 +05:30
Neeldhara Misra
486fd6aa2d admin: update admin data 2026-04-17 10:38:28 +05:30
Neeldhara Misra
46086795a2 admin: update admin data 2026-04-17 10:38:05 +05:30
Neeldhara Misra
1c754de4f7 neighbor-sum-avoidance: render arena pre-start with interactions disabled
Show the circle arena before the user clicks Start (greyed via
opacity-60 pointer-events-none), and guard drag/drop/click handlers on
isActive. Clicking Start enables interactions and kicks off the timer
as before. Also resync slot count with the Numbers slider while idle.

Marks T1 done.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-17 09:22:23 +05:30
Neeldhara Misra
fcbdcfccdf admin: update admin data 2026-04-17 04:01:45 +05:30
Neeldhara Misra
0c9940485d Remove debug logging from admin function
GitHub API working correctly with fine-grained PAT.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-17 03:58:55 +05:30
Neeldhara Misra
9f5fbd99aa Add debug logging to admin function 2026-04-17 03:57:35 +05:30
Neeldhara Misra
cb252a5841 trigger redeploy for env var update 2026-04-17 03:53:04 +05:30
Neeldhara Misra
96cc344391 Remove unused form.tsx to fix dev server warning
The form.tsx UI component imported react-hook-form and
@radix-ui/react-slot which aren't installed. Nothing uses
this component — removing it cleans up the dev server output.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-17 03:50:35 +05:30
Neeldhara Misra
8e61afac2b Switch to standalone Netlify Function for admin API
Remove Astro adapter (causes esbuild bundling errors on Netlify)
and use a pure static build + standalone Netlify Function instead.

- Removed @astrojs/netlify adapter — site builds as fully static
- Created netlify/functions/admin.mts as a standalone Netlify Function
- Function handles all admin API operations via GitHub API
- Removed src/pages/api/admin.ts (Astro SSR route)
- Local dev: admin syncs to localStorage (server sync fails silently)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-17 03:44:01 +05:30
Neeldhara Misra
a90cd7283c Sanitize rollup chunk filenames for Netlify compatibility
Vite/Rollup generates chunk names with !~{} characters that cause
esbuild syntax errors on Netlify's build system. Added sanitizeFileName
to replace special characters with underscores.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-17 03:37:55 +05:30
Neeldhara Misra
11ab6c3b9f Fix esbuild charset and target for Netlify compatibility
Set esbuild charset to utf8 and target to es2022 to avoid
syntax errors from ASCII-escaped unicode in the bundled output
on Netlify's build environment.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-17 03:34:37 +05:30
Neeldhara Misra
fd8bbe16e6 Add netlify.toml, disable JS/CSS post-processing
Netlify's asset post-processing was re-minifying Vite's output
and causing esbuild syntax errors. Disable it since Astro/Vite
already handles bundling and minification.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-17 03:30:42 +05:30
Neeldhara Misra
9b182053f1 Switch to Netlify adapter with GitHub API persistence
- Swap @astrojs/node for @astrojs/netlify adapter
- Admin API reads/writes admin-data.json via GitHub API in production
- Status changes (commitStatus) and deletes commit directly to repo
- Env vars: ADMIN_PASSWORD, GITHUB_TOKEN
- Local dev falls back to filesystem (no env vars needed)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-17 03:22:18 +05:30
Neeldhara Misra
c5926b4213 Initial commit: Interactives site
Astro-based site with 40+ interactive math games, puzzles, and explorations.
Includes admin dashboard, todo system, blog, theme/subcategory navigation,
and embed pages for iframe embedding.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-17 03:09:40 +05:30