Commit Graph

  • 71e675489c fix(builder): Footer commits in-progress edits on deselect, not just blur (D7) shadowdao 2026-07-12 13:46:52 -07:00
  • fdd088b4bf fix(builder): VideoBlock parses more YouTube/Vimeo URL shapes (D4) shadowdao 2026-07-12 13:46:48 -07:00
  • cdcc3969bc fix(builder): ColumnLayout.toHtml derives column widths from split (D2b) shadowdao 2026-07-12 13:46:44 -07:00
  • 2887cc9bdf fix(builder): Testimonials single-layout static-parity export (D2a) shadowdao 2026-07-12 13:46:38 -07:00
  • a0cdbd1d82 refactor(builder): remove dead FeaturesGrid mediaType field (D1c) shadowdao 2026-07-12 13:46:33 -07:00
  • f0728a9070 fix(builder): emit ContactForm successMessage as a data attribute (D1b) shadowdao 2026-07-12 13:46:29 -07:00
  • 36ce256760 fix(builder): emit Container cssId/cssClass with live panel controls (D1a) shadowdao 2026-07-12 13:46:23 -07:00
  • cf56f2a388 refactor(builder): remove dead per-page headCode field (D9) shadowdao 2026-07-12 13:30:17 -07:00
  • e1d381dc8a fix(builder): Preview includes site headCode and is \$-safe (D8) shadowdao 2026-07-12 13:29:02 -07:00
  • d4ee09e54c fix(builder): make switchPage/deletePage state updaters pure (D6) shadowdao 2026-07-12 13:28:27 -07:00
  • 7973ee9ba8 fix(builder): await TemplateModal's load sequence before closing (D5) shadowdao 2026-07-12 13:26:46 -07:00
  • 2ee66ebae9 fix(builder): dedupe page slugs on add/rename/replaceAll (D3) shadowdao 2026-07-12 13:25:41 -07:00
  • a7c00119e6 refactor(builder): remove dead HeaderZone/FooterZone components shadowdao 2026-07-12 13:17:03 -07:00
  • 232dc3c980 refactor(builder): remove orphaned ui/ settings controls shadowdao 2026-07-12 13:16:57 -07:00
  • 65a10a1ef9 refactor(builder): remove dead component settings UI shadowdao 2026-07-12 13:16:53 -07:00
  • 4674a99ec9 feat(builder): unify StylePanel image fields on AssetPicker shadowdao 2026-07-12 13:00:10 -07:00
  • c50b385661 feat(builder): reusable AssetPicker (full/compact, media-typed) shadowdao 2026-07-12 12:49:34 -07:00
  • 296c10d019 feat(builder): shared asset upload/list util shadowdao 2026-07-12 12:43:59 -07:00
  • b46b6915a5 fix(builder): validate AI response before deserializing into craft state shadowdao 2026-07-12 12:37:25 -07:00
  • 4b36ce0d6a fix(builder): route live header/footer edits correctly on save shadowdao 2026-07-12 12:28:38 -07:00
  • 1a88baa95d fix(builder): deep-clone node data on id regeneration to avoid shared props shadowdao 2026-07-12 12:25:22 -07:00
  • 97123c4c58 fix(builder): regenerate node ids on duplicate/paste to prevent state corruption shadowdao 2026-07-12 12:18:44 -07:00
  • 4c001e1af4 fix(builder): preserve data-URI semicolons in css value sanitizer shadowdao 2026-07-12 12:15:23 -07:00
  • fb4e9f87be fix(builder): sanitize style-string emission shadowdao 2026-07-12 12:06:16 -07:00
  • 7179287087 fix(builder): sanitize HtmlBlock/Countdown/Gallery JS contexts shadowdao 2026-07-12 12:06:07 -07:00
  • 48d0441be3 fix(builder): neutralize javascript:/breakout URLs in export shadowdao 2026-07-12 12:05:57 -07:00
  • fad1882117 refactor(builder): use shared escaper everywhere, drop 26 local copies shadowdao 2026-07-12 11:49:10 -07:00
  • cce984508f feat(builder): add shared escape/safeUrl util shadowdao 2026-07-12 11:41:11 -07:00
  • 94140990c2 Add implementation plan: site builder hardening + asset picker shadowdao 2026-07-12 11:36:27 -07:00
  • 02e99f7623 Add design spec: site builder security & data-loss hardening shadowdao 2026-07-12 11:27:57 -07:00
  • aaa305cc3e Add design spec: unified image/asset picker for site builder shadowdao 2026-07-12 11:14:00 -07:00
  • 97cb439508 site-builder: fix Menu guided panel (empty Colors) + surface layout/nav colors shadowdao 2026-07-10 13:10:46 -07:00
  • d20b77e66d site-builder: dedicated Features editor in guided panel (per-card icon/image+upload/button, robust to template items missing keys) shadowdao 2026-07-07 17:19:37 -07:00
  • 5a26e4ef43 site-builder: FeaturesGrid renders image when 'image' set + expose image/button keys so the guided array editor edits them shadowdao 2026-07-07 14:16:14 -07:00
  • 1cfb51f181 site-builder: surface Spotify/Twitch + contact-form recipient in the Styles (guided) panel shadowdao 2026-07-07 14:06:24 -07:00
  • 814ad29b91 Merge branch 'site-builder-feedback-batch' shadowdao 2026-07-07 13:50:12 -07:00
  • b9c5d3dd1c site-builder: relay wiring on FormContainer (template forms) + shared helper shadowdao 2026-07-07 13:35:18 -07:00
  • 6b9c258d26 Merge pull request 'ContactForm relay wiring (recipient, thank-you, honeypot, marker)' (#2) from contact-form-relay into main jknapp 2026-07-07 19:35:27 +00:00
  • 4877a63a3b site-builder: pin non-relay byte-identity on the realistic (non-empty fields) case [PR #2 review] contact-form-relay shadowdao 2026-07-07 12:22:28 -07:00
  • cf5d30382a site-builder: ContactForm non-relay output byte-identical (honeypot whitespace fix) + test guard shadowdao 2026-07-07 08:30:36 -07:00
  • 66117d375e site-builder: ContactForm relay wiring (recipient, thank-you, honeypot, marker) shadowdao 2026-07-07 08:24:56 -07:00
  • 53c40f856f site-builder: feedback batch (social, features, header menu, spacer) shadowdao 2026-07-06 17:53:22 -07:00
  • d0925d9e2d site-builder: dynamic CTAs, section anchors, edit-with-Sitesmith shadowdao 2026-05-25 12:43:28 -07:00
  • 7b747f775f site-builder: lock landing page to index.html regardless of name shadowdao 2026-05-25 12:14:26 -07:00
  • 330032eea3 sitesmith: publish home page to index.html, not home.html shadowdao 2026-05-24 17:50:08 -07:00
  • 5e60415311 sitesmith: strip diagnostic shim + state-dump now that the fix is verified shadowdao 2026-05-24 17:32:38 -07:00
  • 87dd4340f7 sitesmith: pre-create section-inner/bg-section-inner/form-inner linkedNodes shadowdao 2026-05-24 17:22:40 -07:00
  • a1ec51afc3 sitesmith: filter known-benign invariants from diagnostic shim shadowdao 2026-05-24 16:37:08 -07:00
  • 43627bddb0 sitesmith: alias tiny-invariant to a diagnostic shim shadowdao 2026-05-24 16:32:50 -07:00
  • 849f432330 sitesmith: narrow CANVAS_TYPES to just Container shadowdao 2026-05-24 16:27:38 -07:00
  • 6428f93cec sitesmith: route ColumnLayout children through linkedNodes (Invariant fix) shadowdao 2026-05-24 16:17:25 -07:00
  • 906695379b sitesmith: null-safe esc() in Navbar/Menu/Logo + clear chat button shadowdao 2026-05-24 16:03:02 -07:00
  • 069ea1235a sitesmith: null-safe esc() across all toHtml + WorkingIndicator shadowdao 2026-05-24 15:54:48 -07:00
  • ac0347ae5f sitesmith: fix blank canvas on Replace site shadowdao 2026-05-24 15:35:05 -07:00
  • 5c5066c20b Merge pull request 'Sitesmith: AI site builder addon (frontend)' (#1) from sitesmith-ai-builder into main jknapp 2026-05-24 17:11:03 +00:00
  • 0f943bacc7 sitesmith: playwright e2e suite (locked/cap/bonus/build+patch) shadowdao 2026-05-23 14:27:34 -07:00
  • 2ca1ff0cf9 sitesmith: layers panel prefers props.aiName when present shadowdao 2026-05-23 14:25:43 -07:00
  • e651becdbe sitesmith: chat modal (messages, input, banner, scope confirm) shadowdao 2026-05-23 14:25:28 -07:00
  • b4d71340e1 sitesmith: upgrade banner + scope-replace confirmation dialog shadowdao 2026-05-23 14:24:20 -07:00
  • bf55ee85b9 sitesmith: topbar button with locked/capped states shadowdao 2026-05-23 14:23:51 -07:00
  • cf3457aa15 sitesmith: apply-ai-response utility (replace + patch + ask) + PageContext helpers shadowdao 2026-05-23 14:20:51 -07:00
  • f6243d3ffe sitesmith: useSitesmith hook (entitlement, history, send) shadowdao 2026-05-23 14:16:20 -07:00
  • 8d094a9c67 sitesmith: typescript types for messages, responses, patch ops shadowdao 2026-05-23 14:15:15 -07:00
  • 14a957f57c sitesmith: canvas summary serializer with unit tests shadowdao 2026-05-23 14:14:38 -07:00
  • bd15a33984 sitesmith: harden HtmlBlock with DOMPurify + add Vitest setup shadowdao 2026-05-23 14:13:42 -07:00
  • 606c9b78c8 fix(image-radius): split out 3x-scale IMAGE_RADIUS_PRESETS for the image picker archive/grapesjs shadowdao 2026-04-26 21:31:58 -07:00
  • 8eeaecd857 fix(radius): bump shared RADIUS_PRESETS so S/M/L are visible on real elements shadowdao 2026-04-26 21:22:57 -07:00
  • c2bacb41bf feat(image): bump radius presets so S/M/L are actually visible on real images shadowdao 2026-04-26 21:05:25 -07:00
  • 1558626b84 fix(delete): redirect Delete to owning component when target is empty linked node shadowdao 2026-04-26 20:42:17 -07:00
  • 4acbeefaed fix(container): align block children when Content Alignment is set shadowdao 2026-04-26 20:24:28 -07:00
  • 91a6b6f34b Add Craft.js site builder (v2) - complete rebuild from GrapesJS shadowdao 2026-04-05 18:31:16 -07:00
  • b511a6684d Add templates, tests, and miscellaneous project files shadowdao 2026-03-01 14:15:58 -08:00
  • 03f573b451 Replace Google Docs viewer with download card for non-PDF file embeds shadowdao 2026-03-01 14:13:02 -08:00
  • a71b58c2c7 Initial commit: Site Builder with PHP API backend shadowdao 2026-02-28 19:25:42 +00:00