wip: magazine tile layout, film descriptions, dev script fixes

- MagazineGrid: New Yorker tile layout with wide/half/dark/banner tiles
- Extract AI film descriptions into synopsis field
- Fix section extraction to handle ### headers
- Strip emojis from magazine titles and content
- FilmDetail: conditional synopsis with "Why watch" header
- FilmCard: synopsis preview for external films
- Consolidate dev server to single script
- Fix dev.sh for macOS bash 3.2 compatibility

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Dorian
2026-03-03 00:27:51 +00:00
co-authored by Claude Opus 4.6
parent c82b4ef54f
commit 2f27cb86c4
7 changed files with 313 additions and 213 deletions
+10 -9
View File
@@ -7,23 +7,24 @@ set -euo pipefail
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
APP_DIR="$(cd "$SCRIPT_DIR/.." && pwd)"
cd "$APP_DIR"
cleanup() {
# Kill all child processes
kill 0 2>/dev/null || true
wait 2>/dev/null || true
}
trap cleanup EXIT INT TERM
# Use local node_modules binaries
BIN="$APP_DIR/node_modules/.bin"
# Start Claude proxy in background
npx tsx "$APP_DIR/server/claude-proxy.ts" &
PROXY_PID=$!
"$BIN/tsx" server/claude-proxy.ts &
# Give proxy a moment to bind port
sleep 0.3
# Start Vite dev server in foreground
npx vite --host &
VITE_PID=$!
# Start Vite dev server in background
"$BIN/vite" --host &
# Wait for either to exit — then cleanup kills both
wait -n $PROXY_PID $VITE_PID 2>/dev/null || true
# Wait for all background jobs (compatible with bash 3.2 on macOS)
wait