Commit Graph

152 Commits

Author SHA1 Message Date
m038 c05b9e3400 feat: add Grav 2.0 compat flag for cache-on-save plugin and switch GPM to testing channel
- Add blueprints.yaml for cache-on-save plugin with Grav 2.0 support
- Update system.yaml GPM setting from stable to testing channel
- Update .gitignore to allow cache-on-save plugin tracking

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-18 23:19:27 +02:00
m038 4fcd74df8a Merge pull request 'Tracker ordering fix + March–April fixture entries' (#1) from experimental-polar-steps into main
Reviewed-on: #1
2026-06-18 22:41:53 +02:00
m038 14791ab69e feat: add March–April trip fixture entries, remove stale test entry
Seven fixture entries (March 25 Narita through April 1 Seoul) used as
Playwright test fixtures for tracker ordering and entry-page tests.
Removes the leftover June 18 test entry.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-18 22:34:29 +02:00
m038 c63378740c fix: use page.collection() for tracker descending date order
page.children ignores the order.by/dir frontmatter config; page.collection()
applies it, so entries now render newest-first as intended.

Also wire Grav asset pipeline into base template (assets.css/js tags).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-18 22:34:19 +02:00
m038 f0768c297b fix: switch photos to filepond for AJAX upload + increase limit to 100MB 2026-06-18 20:26:22 +02:00
m038 4558f94c3f fix: button color, replace native validation with custom inline errors 2026-06-18 20:10:05 +02:00
m038 682ba00bea fix: make Post Daily button full-width and mobile-friendly 2026-06-18 20:02:20 +02:00
m038 6b24215190 fix: rewire add-page-by-form so posts actually get created
Two root-cause bugs:
1. Wrong action name: 'add-page-by-form' is not handled by the plugin;
   the plugin only matches 'addpage' or 'add_page'. Using the wrong name
   meant the action silently no-oped while 'message' still fired, showing
   'Entry posted successfully!' for a post that was never written.
2. Config in wrong place: parent/slug/template must be in 'pageconfig' and
   'pagefrontmatter' frontmatter blocks on the form page — the plugin reads
   from page->header(), not from the process block params.

Fix: move config to pageconfig/pagefrontmatter, change action to 'add_page'.
Slug is built from date+title fields (e.g. 2026-06-18-1430-my-title).
Photos destination changed to '@self' so the plugin copies from flash to
the new entry folder correctly.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-18 19:51:58 +02:00
m038 50ab4f522b fix: redirect back to /post after login instead of always going to /tracker 2026-06-18 19:42:33 +02:00
m038 f631ca3cfd fix: raise Grav upload_limit to 25MB to match PHP config 2026-06-18 19:40:54 +02:00
m038 8cc141d7d2 fix: correct HTML rendering in entry body and feed excerpts
- entry.html.twig: add |raw to page.content (autoescape: true in
  system.yaml was escaping all HTML output including rendered markdown)
- tracker.html.twig: use |striptags|slice(0,250) for clean plain-text
  excerpts instead of raw HTML summary
- Both templates: fix location display whitespace (Tokyo , Japan → Tokyo, Japan)
  using parts array pattern with Twig whitespace control

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-18 19:30:47 +02:00
m038 0eb5e8c6a5 docs: update demo instructions to use make commands 2026-06-18 17:52:38 +02:00
m038 b37f46de55 feat: add demo content (7 Japan/Korea entries) and update summary
Demo covers: Tokyo × 2, Mt. Fuji (snow), Kyoto, Nara, Osaka, Seoul.
All entries have GPS — shows full map route, 2-country stats, weather
variety including snow. Deploy/reset instructions in docs/demo/README.md.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-18 14:33:56 +02:00
m038 bbcea0094c docs: add visual design QA checklist to test plan 2026-06-18 14:25:20 +02:00
m038 1addbc294f feat: add reduced-motion support and :focus-visible ring 2026-06-18 14:24:37 +02:00
m038 5a3f2bc0c5 feat: apply design tokens to stats, map, mini-map; teal markers 2026-06-18 14:24:16 +02:00
m038 c60f6726df feat: redesign post form — hide GPS fields via :has(), teal CTA, status feedback 2026-06-18 14:23:08 +02:00
m038 c5d9c92968 feat: redesign single entry page — hero image, display typography, rule separator 2026-06-18 14:22:05 +02:00
m038 521c678f1c feat: redesign entry feed cards with full-bleed photo + gradient overlay 2026-06-18 14:21:00 +02:00
m038 c33dc2ca56 feat: redesign site header — accent bar, DM Serif title, sticky, active nav 2026-06-18 14:19:58 +02:00
m038 49f60a873a feat: update global styles and login form to use design tokens 2026-06-18 14:19:23 +02:00
m038 573ac00a8d feat: add design tokens and DM font loading 2026-06-18 14:18:42 +02:00
m038 d190094e80 docs: add UI redesign spec and implementation plan
Design direction: Field Notes — DM Serif Display + DM Sans typography,
deep teal (#1F6B5A) accent, full-bleed entry card photos with overlay.
9-task implementation plan covering tokens, header, feed, entry page,
post form, stats/map, mobile polish, and visual QA checklist.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-18 14:15:27 +02:00
m038 6cd5ed0100 Update docs to reflect date+time+title slug format
- qa-test-plan: update expected folder, URL, and automation greps in
  TC-P.5, TC-P.6, TC-P.7; add slug explanation block to test data;
  rewrite TC-P.10 to cover two posts on the same day (now valid)
- bugs-and-fixes: add BUG-003 documenting the silent duplicate-date
  failure and the slug fix

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-18 13:50:47 +02:00
m038 c928fff92e Improve post slug: date + time + title
Slug format: 2026-06-18-1430-arrived-in-tokyo
- Eliminates one-post-per-day collision (BUG TC-P.10)
- URL is stable after creation (time baked in, title change doesn't affect it)
- regex_replace strips non-alphanumeric chars; trim('-') cleans edges

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-18 13:45:35 +02:00
m038 8ddc1af5c0 Fix cache-on-save plugin: use deleteAll() not clear()
Grav\Common\Cache has no clear() method in this version; the correct
method is deleteAll().

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-18 13:30:01 +02:00
m038 fdb423d2c7 Fix BUG-001 and BUG-002; add post-submission QA test plan and QA entry
BUG-001: cache-on-save plugin clears page cache on onFormProcessed so
new entries appear in the tracker feed immediately after submission.

BUG-002: disabled Twig template cache (twig.cache: false) so theme
file changes take effect without a manual cache flush.

Also adds bugs-and-fixes.md, corrects TC-P test URLs (.entry suffix),
fixes TC-P.1 expectation (inline login form, not a redirect), and
creates the QA test entry for automated scenario verification.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-18 13:21:26 +02:00
m038 03ebdd6acb Phase 5: Summary document for morning review 2026-06-18 01:17:26 +02:00
m038 94e833273d Phase 5: QA test plan and automated test results 2026-06-18 01:16:42 +02:00
m038 1251086b69 Phase 4 M4: Mini-map on tracker feed with route line and entry navigation 2026-06-18 01:13:47 +02:00
m038 df18b9cd5a Phase 4 M3: Statistics page with days, entries, countries, distance 2026-06-18 01:13:13 +02:00
m038 82efc6450f Phase 4 M2: Interactive Leaflet map with route polyline and entry markers 2026-06-18 01:11:43 +02:00
m038 d3fcde9b0b Phase 4 M1: Entry enrichment — location, weather, gallery, hero image 2026-06-18 01:10:41 +02:00
m038 f1181a07b4 Phase 3: Product specs for Milestones 1-4 2026-06-18 01:07:21 +02:00
m038 c61f673511 Phase 2: PM analysis and milestone plan 2026-06-18 01:03:38 +02:00
m038 d1f905f196 Phase 1: Research docs for Polarsteps and FindPenguins 2026-06-18 01:02:20 +02:00
m038 cc0ed07ca6 Fix post form: use correct forms/form.html.twig include path 2026-06-18 00:51:31 +02:00
m038 fd6afe00e0 Post form: limit photos to 4, add GPS fields with geolocation button 2026-06-18 00:48:03 +02:00
m038 7faf758a2e Mobile-friendly login form styles 2026-06-18 00:42:02 +02:00
m038 585e147cfe Fix theme: add partials/base.html.twig for plugin template compatibility 2026-06-18 00:40:44 +02:00
m038 d3b79efda7 Local dev config: fix account format, site_host, base URL, disable admin notifications 2026-06-18 00:38:54 +02:00
m038 05f718ad9d Fix critical issues: slug from date field, photo destination, tracker template 2026-06-17 23:59:51 +02:00
m038 f46356e54c Add example entry page for testing 2026-06-17 23:55:17 +02:00
m038 f17c953a47 Add login-gated mobile posting form 2026-06-17 23:55:10 +02:00
m038 75b98d4308 Add tracker feed index page 2026-06-17 23:55:02 +02:00
m038 4a1c500853 Add daily entry blueprint with location and scheduling fields 2026-06-17 23:53:43 +02:00
m038 74805083e0 Fix theme: CSS specificity, hero_image URL, form include safety 2026-06-17 23:51:52 +02:00
m038 9f4aea9671 Add intotheeast theme: blueprints, 4 templates, CSS 2026-06-17 23:49:07 +02:00
m038 4d68f528e5 Add Mischa user account 2026-06-17 23:44:31 +02:00
m038 9671c75a7c Fix .gitignore: anchor plugins/ and data/ to repo root 2026-06-17 23:41:38 +02:00