Keith Solomon
3c786ee9d9
🔧 chore: Import team-grid block CSS into theme
2026-07-25 13:27:16 -05:00
Keith Solomon
c20510814e
✨ feat: Add team-grid block PHP template
2026-07-25 13:24:06 -05:00
Keith Solomon
a816e56cfa
✨ feat: Add team-grid block CSS
2026-07-25 13:21:02 -05:00
Keith Solomon
c1ac1d659b
✨ feat: Add team-grid block.json registration
2026-07-25 13:17:40 -05:00
Keith Solomon
379dee3ea6
✨ feat: Add ACF field group for team-grid block
2026-07-25 13:13:53 -05:00
Keith Solomon
54d79cdcdf
📝 docs: Add implementation plan for team grid block
2026-07-25 12:48:10 -05:00
Keith Solomon
619409eabb
📝 docs: Add design spec for team grid block
2026-07-25 12:46:27 -05:00
Keith Solomon
e7de88551d
🐞 fix: Adjust text alignment styles
Deploy to Dreamhost (dev) / build (push) Successful in 35s
Sync TODOs with Issues / sync_todos (push) Successful in 6s
2026-07-25 11:21:47 -05:00
Keith Solomon
f8247ff7af
🐞 fix: Adjust line thickness
Deploy to Dreamhost (dev) / build (push) Successful in 36s
Sync TODOs with Issues / sync_todos (push) Successful in 6s
2026-07-25 11:16:39 -05:00
Keith Solomon
2441cef539
⏪ rollback: Revert file move, change url for svg
Deploy to Dreamhost (dev) / build (push) Successful in 36s
Sync TODOs with Issues / sync_todos (push) Successful in 5s
2026-07-25 11:13:26 -05:00
Keith Solomon
75055e6f6e
🐞 fix: Move line image into block folder
Deploy to Dreamhost (dev) / build (push) Successful in 34s
Sync TODOs with Issues / sync_todos (push) Successful in 6s
2026-07-25 11:07:06 -05:00
Keith Solomon
63df8e9a88
🐞 fix: Update service heading font size
Deploy to Dreamhost (dev) / build (push) Successful in 35s
Sync TODOs with Issues / sync_todos (push) Successful in 6s
2026-07-25 10:54:30 -05:00
Keith Solomon
704b0dc266
🐞 fix: Unregister core pullquote block
2026-07-25 10:54:07 -05:00
Keith Solomon
b7477306d8
🐞 fix: Adjust menu width
Deploy to Dreamhost (dev) / build (push) Successful in 34s
Sync TODOs with Issues / sync_todos (push) Successful in 5s
2026-07-25 10:45:43 -05:00
Keith Solomon
02a8379de2
🐞 fix: Update styles and footer spacing
Deploy to Dreamhost (dev) / build (push) Successful in 36s
Sync TODOs with Issues / sync_todos (push) Successful in 5s
2026-07-25 10:42:57 -05:00
Keith Solomon
f0b5bf75a5
✨ feature: Add services list block
Deploy to Dreamhost (dev) / build (push) Successful in 39s
Sync TODOs with Issues / sync_todos (push) Successful in 7s
2026-07-25 10:37:28 -05:00
Keith Solomon
60d764045f
🐞 fix: Remove dead $line_url variable from services-list template
2026-07-25 00:18:40 -05:00
Keith Solomon
9c4553f3d0
✅ test: Add assertion for dynamic grid column class
2026-07-25 00:16:26 -05:00
Keith Solomon
b0bad0d273
🐞 fix: Remove redundant inline style on services-list line div
2026-07-25 00:16:03 -05:00
Keith Solomon
9c3a645368
📝 docs: Sync spec and plan to use text-24px after the build fix
2026-07-25 00:15:47 -05:00
Keith Solomon
d2b2a04b56
✅ test: Add Playwright tests for services-list block
2026-07-24 23:59:28 -05:00
Keith Solomon
7663ca63f6
📝 docs: Fix Task 7 Step 2 grep to match CSS-nesting unwrap
2026-07-24 23:57:25 -05:00
Keith Solomon
415934e0bf
📝 docs: Fix Task 7 verification greps for Windows Git-Bash
2026-07-24 23:54:15 -05:00
Keith Solomon and Claude
dae3e7fd68
🎨 build: Rebuild dist after services-list heading token fix
...
Rebuild static/dist/theme.css to reflect the text-25px → text-24px
fix in views/blocks/services-list/services-list.css. The
.services-list__heading rule now resolves cleanly in Tailwind v4.
Co-Authored-By: Claude <noreply@anthropic.com >
2026-07-24 23:52:33 -05:00
Keith Solomon and Claude
2c917edf20
🐞 fix: Use registered text-24px token in services-list heading
...
The text-25px literal is not a registered token in the project's
typography scale (--text-*). Replace with the closest existing
token, text-24px, to satisfy Tailwind v4 @apply resolution.
Co-Authored-By: Claude <noreply@anthropic.com >
2026-07-24 23:51:57 -05:00
Keith Solomon
0be6800d88
🔧 chore: Import services-list block CSS into theme
2026-07-24 23:43:24 -05:00
Keith Solomon
61f959e1a2
✨ feat: Add services-list block PHP template
2026-07-24 23:39:51 -05:00
Keith Solomon
a13a3adeef
📝 docs: Fix brief Task 4 verification grep for CSS nesting
2026-07-24 23:34:39 -05:00
Keith Solomon
8c52946340
✨ feat: Add services-list block CSS
2026-07-24 23:32:06 -05:00
Keith Solomon
a628973ed8
✨ feat: Add services-list block.json registration
2026-07-24 23:28:25 -05:00
Keith Solomon
b32abfb8f6
✨ feat: Add services-list decorative line SVG
2026-07-24 23:24:13 -05:00
Keith Solomon
07fea9e57b
✨ feat: Add ACF field group for services-list block
2026-07-24 23:21:14 -05:00
Keith Solomon
c8832f49b2
📝 docs: Add design spec for services content blocks
2026-07-24 23:11:28 -05:00
Keith Solomon
bd035501b7
🐞 fix: Round corners of hero intro
Deploy to Dreamhost (dev) / build (push) Successful in 35s
Sync TODOs with Issues / sync_todos (push) Successful in 7s
2026-07-14 22:32:01 -05:00
Keith Solomon
ecccfe8c70
🐞 fix: Adjust font size and line height for page hero services intro, and update margin for CTAs container
Deploy to Dreamhost (dev) / build (push) Successful in 37s
Sync TODOs with Issues / sync_todos (push) Successful in 6s
2026-07-14 22:01:54 -05:00
Keith Solomon
fbd3b7feb0
🐞 fix: Update Calls to Action field label and name, adjust layout settings, and enhance page hero services structure
Deploy to Dreamhost (dev) / build (push) Successful in 37s
Sync TODOs with Issues / sync_todos (push) Successful in 7s
2026-07-14 21:50:27 -05:00
Keith Solomon
8c3284399e
🐞 fix: Remove Chrome tint implementation
Deploy to Dreamhost (dev) / build (push) Successful in 33s
Sync TODOs with Issues / sync_todos (push) Successful in 6s
2026-07-12 15:30:54 -05:00
Keith Solomon
5bffd36ff8
🐞 fix: Update chrome tint implementation to use opacity for visibility and adjust related tests
Deploy to Dreamhost (dev) / build (push) Successful in 35s
Sync TODOs with Issues / sync_todos (push) Successful in 5s
2026-07-12 15:21:58 -05:00
Keith Solomon
7267f67d99
🐞 fix: Update chrome tint visibility handling to prevent dark bars over page content and enhance related tests
Deploy to Dreamhost (dev) / build (push) Successful in 36s
Sync TODOs with Issues / sync_todos (push) Successful in 6s
2026-07-12 15:13:55 -05:00
Keith Solomon
2b0daaa699
🐞 fix: Update footer color for chrome tinting and adjust related tests for iOS compatibility
Deploy to Dreamhost (dev) / build (push) Successful in 34s
Sync TODOs with Issues / sync_todos (push) Successful in 5s
2026-07-12 14:50:34 -05:00
Keith Solomon
c82e6187af
✨ feature: Add independent chrome tint elements for iOS 26+ compatibility and enhance related tests
Deploy to Dreamhost (dev) / build (push) Successful in 33s
Sync TODOs with Issues / sync_todos (push) Successful in 6s
2026-07-12 14:30:41 -05:00
Keith Solomon
a41f6f3834
🐞 fix: Update Chrome tint implementation for iOS 26+ compatibility and enhance test coverage
Deploy to Dreamhost (dev) / build (push) Successful in 36s
Sync TODOs with Issues / sync_todos (push) Successful in 6s
2026-07-12 14:12:18 -05:00
Keith Solomon
ca367364f8
✨ feature: Implement dynamic browser chrome tinting for header and footer visibility
Deploy to Dreamhost (dev) / build (push) Successful in 36s
Sync TODOs with Issues / sync_todos (push) Successful in 6s
2026-07-12 13:57:20 -05:00
Keith Solomon
e38511126d
🐞 fix: Adjust mobile layout for blog page and add regression tests
Deploy to Dreamhost (dev) / build (push) Successful in 36s
Sync TODOs with Issues / sync_todos (push) Successful in 6s
2026-07-12 13:19:53 -05:00
Keith Solomon
ae8a80484f
🐞 fix: Update media query breakpoints for navigation styles and add responsive tests
Deploy to Dreamhost (dev) / build (push) Successful in 37s
Sync TODOs with Issues / sync_todos (push) Successful in 7s
2026-07-08 18:55:19 -05:00
Keith Solomon
53b87c20fd
✨ feature: Style single post template
Deploy to Dreamhost (dev) / build (push) Successful in 33s
Sync TODOs with Issues / sync_todos (push) Successful in 6s
2026-07-05 17:04:30 -05:00
Keith Solomon
b4fb3b051b
🐞 fix: Add switch to show back link on single post pages
Deploy to Dreamhost (dev) / build (push) Successful in 32s
Sync TODOs with Issues / sync_todos (push) Successful in 6s
2026-07-05 16:39:46 -05:00
Keith Solomon
6c78d23512
🐞 fix: Add parameters for icon sizing
2026-07-05 16:39:26 -05:00
Keith Solomon
5e08b78d62
🐞 fix: Adjust card background
2026-07-05 16:39:08 -05:00
Keith Solomon
43e3316a70
✨ feature: Style pagination
Deploy to Dreamhost (dev) / build (push) Successful in 34s
Sync TODOs with Issues / sync_todos (push) Successful in 5s
2026-07-05 16:13:21 -05:00
Keith Solomon
1544a7a04b
🐞 fix: Adjust line-height
Deploy to Dreamhost (dev) / build (push) Successful in 32s
Sync TODOs with Issues / sync_todos (push) Successful in 6s
2026-07-05 15:52:04 -05:00
Keith Solomon
c2a1eed2cf
✨ feature: Sidebar styling
Deploy to Dreamhost (dev) / build (push) Successful in 34s
Sync TODOs with Issues / sync_todos (push) Successful in 5s
2026-07-05 15:45:54 -05:00
Keith Solomon
e5cc42f048
🐞 fix: Get rid of extra margin in admin menu
2026-07-05 14:47:44 -05:00
Keith Solomon
78360dfc89
✨ feature: Add new Instagram icon
Deploy to Dreamhost (dev) / build (push) Successful in 35s
Sync TODOs with Issues / sync_todos (push) Successful in 6s
2026-07-05 14:35:56 -05:00
Keith Solomon
21657173e0
✨ feature: Post cards built
Deploy to Dreamhost (dev) / build (push) Successful in 33s
Sync TODOs with Issues / sync_todos (push) Successful in 5s
2026-07-05 14:25:33 -05:00
Keith Solomon
ef0b542e9d
🐞 fix: Use plain header everywhere except Contact page
Deploy to Dreamhost (dev) / build (push) Successful in 34s
Sync TODOs with Issues / sync_todos (push) Successful in 6s
2026-07-05 14:18:26 -05:00
Keith Solomon
8f9fd8bf4c
🐞 fix: Add margin everywhere except Contact page
2026-07-05 14:17:56 -05:00
Keith Solomon
d4a3e0a6c8
🐞 fix: Make Services pages show the correct hero
Deploy to Dreamhost (dev) / build (push) Successful in 33s
Sync TODOs with Issues / sync_todos (push) Successful in 6s
2026-07-05 13:28:25 -05:00
Keith Solomon
36cf891659
fix(header): adjust hero section display logic for non-front pages
...
Deploy to Dreamhost (dev) / build (push) Successful in 35s
Sync TODOs with Issues / sync_todos (push) Successful in 6s
fix(nav-aux): update padding for auxiliary navigation container
2026-07-05 12:15:26 -05:00
Keith Solomon
19d4dfd89c
Merge branch 'main' of ssh://git.keithsolomon.net:222/Solo-Web-Works/CWC
Deploy to Dreamhost (dev) / build (push) Successful in 35s
Sync TODOs with Issues / sync_todos (push) Successful in 5s
2026-07-05 12:07:59 -05:00
Keith Solomon
d56ec2ac96
build: regenerate dist with blog post card styles
2026-07-05 11:08:19 -05:00
Keith Solomon
a15209e176
test(blog): assert Read more link is present in the first card
2026-07-05 11:04:09 -05:00
Keith Solomon
aafea68342
feat(blog): style the post card body, title, byline, and Read more link
2026-07-05 11:01:06 -05:00
Keith Solomon
77f3a0dd3c
feat(blog): add Read more link to post card
2026-07-05 10:54:34 -05:00
Keith Solomon
02f9999621
🐞 fix: Update header/hero to swap based on service page children
Deploy to Dreamhost (dev) / build (push) Successful in 34s
Sync TODOs with Issues / sync_todos (push) Successful in 6s
2026-07-05 10:36:27 -05:00
Keith Solomon
8caa787ff6
feat(blog): add Read more link to post card
2026-07-05 10:35:13 -05:00
Keith Solomon
53270c694e
docs(blog-card): add post card styling implementation plan
2026-07-05 10:32:35 -05:00
Keith Solomon
9b76d7bacf
docs(blog-card): add post card styling design spec
2026-07-05 10:29:26 -05:00
Keith Solomon
2d3d93aa89
🐞 fix: Adjust editor font
Deploy to Dreamhost (dev) / build (push) Successful in 34s
Sync TODOs with Issues / sync_todos (push) Successful in 6s
2026-07-04 21:30:28 -05:00
Keith Solomon
702a2e3b74
test(blog): add blog-page Playwright spec
2026-07-04 20:35:46 -05:00
Keith Solomon
a7fc6c974c
build: regenerate dist with blog post-list styles
2026-07-04 20:32:22 -05:00
Keith Solomon
cb0c8864f7
feat(blog): style the post-list page title
2026-07-04 20:29:54 -05:00
Keith Solomon
66073c0846
feat(blog): add page title and trim post card to image + title + byline
2026-07-04 20:26:59 -05:00
Keith Solomon
a26b5c66c1
docs(blog): add blog layout spec and plan
2026-07-04 20:25:20 -05:00
Keith Solomon
54608c2be4
docs(spec): record the 2026-07-04 hero-scope revision (Services-only)
2026-07-04 19:54:06 -05:00
Keith Solomon
ee9c9ce992
test(hero): update blog-index test to assert no hero (Services-only gate)
2026-07-04 19:53:23 -05:00
Keith Solomon
2fb1d67bb0
fix(hero): remove non-Services bypasses so the hero only renders for Services descendants
2026-07-04 19:52:33 -05:00
Keith Solomon
0a19256310
🐞 fix: Adjust mobile styles for contact block
Deploy to Dreamhost (dev) / build (push) Successful in 33s
Sync TODOs with Issues / sync_todos (push) Successful in 6s
2026-07-04 19:40:01 -05:00
Keith Solomon
001b8c07c3
🐞 fix: Adjust dropdown z-index so the menu shows up above the map
Deploy to Dreamhost (dev) / build (push) Successful in 34s
Sync TODOs with Issues / sync_todos (push) Successful in 6s
2026-07-04 19:36:30 -05:00
Keith Solomon
01c6fb7831
✨ feature: Set up contact info block and map
Deploy to Dreamhost (dev) / build (push) Successful in 34s
Sync TODOs with Issues / sync_todos (push) Successful in 7s
2026-07-04 19:22:26 -05:00
Keith Solomon
23ef7388eb
tooling(test): add pre-flight script for hero gate rollout
...
Lists every published page on the site that has hero_style = 'default' and
is not a Services descendant. Those are the pages whose visible hero
behavior changes when isServicesDescendant() is enabled.
Runs from the WordPress root via:
php bin/check-affected-pages.php
The script bootstraps wp-load.php, queries WP_Query for all 'page'
posts, filters by the ACF 'hero_style' meta, then defers the ancestor
check to CWC\isServicesDescendant() (the same helper the gate uses) so
the output matches runtime behavior. Operator should run this before
enabling the gate on a real site.
2026-07-04 16:17:33 -05:00
Keith Solomon
f320b3711f
docs(test): document CWC_TEST_BYPASS_HERO_GATE constant for the dev site
...
isServicesDescendant() gates the inner-page hero on being a Services
descendant. The existing inner-page.spec.js fixtures (sample-page, etc.)
are not Services descendants, so without the bypass the hero would not
render in tests and the suite would fail.
The constant CWC_TEST_BYPASS_HERO_GATE was added in lib/extras.php for
exactly this case, but the dev site's wp-config.php is operator-managed
and cannot be modified by the theme. This note records the single line
the operator needs to add to wp-config.php, plus the rationale and a
production warning.
2026-07-04 15:52:51 -05:00
Keith Solomon
952b1731d9
fix(contact): hardcode CWC Blue 03 stroke on contact info SVGs
...
SVGs loaded via <img src> cannot inherit currentColor from the parent
document, so the .contact-info__icon { color: ... } rule had no effect and
the icons rendered in the SVG's own default color (black).
Bake the stroke color in directly: stroke="#8FC9E6" (CWC Blue 03). The
final user-provided SVGs will replace these placeholders later, so this is
the minimal change to make the icons visible in the brand color today.
2026-07-04 15:51:28 -05:00
Keith Solomon
9d1a5f8b81
fix(contact): restore aligned = spacing in contact-info block
2026-07-04 15:41:17 -05:00
Keith Solomon
634635f726
fix(contact): fix PHPCS OperatorSpacing warnings in contact-info block
2026-07-04 15:37:45 -05:00
Keith Solomon
0aeacc3c17
test(hero): mark grandchild test as test.fail with TODO for missing fixture
2026-07-04 15:00:00 -05:00
Keith Solomon
ee27133250
test(hero): add ancestor-scope Playwright spec
2026-07-04 14:47:37 -05:00
Keith Solomon
f77a78b856
fix(contact): use wp_kses_post for block wrapper and AA color for required marker
...
- contact-info.php was calling esc_attr() on the output of
blockWrapperAttributes(), which returns a full attribute string.
esc_attr() turned the wrapping quotes into " so the class
attribute rendered literally as class="contact-info ...".
Switched to wp_kses_post() to match the pattern used by every
other block template in the project.
- contact-info.css: .gfield_required used --color-cwc-orange-01
(#e15747, 3.71:1 on white) which fails WCAG 2 AA. Swapped to the
project's --color-secondary-accessible token (#c43c2b) so the
required marker is brand-aligned and meets the 4.5:1 minimum.
- Regenerated static/dist/theme.css to match.
2026-07-04 14:14:50 -05:00
Keith Solomon
0f4cd48c60
test(contact): add contact-page Playwright spec
2026-07-04 14:12:34 -05:00
Keith Solomon
59a1356d96
feat(hero): gate inner-page hero on Services descendants
2026-07-04 13:57:22 -05:00
Keith Solomon
a163b349e1
feat(hero): add isServicesDescendant() helper and bypass constant
2026-07-04 13:54:27 -05:00
Keith Solomon
6d62bd73ae
build: regenerate dist with contact-info styles
2026-07-04 13:50:28 -05:00
Keith Solomon
d207b2e0e8
fix(contact): use correct views-path for contact-info import
2026-07-04 13:50:28 -05:00
Keith Solomon
af067fc5d0
feat(contact): style Gravity Forms fields and submit button
2026-07-04 13:45:05 -05:00
Keith Solomon
bcb2486576
feat(contact): add two-column layout and icon styles
2026-07-04 13:40:57 -05:00
Keith Solomon
966fb2624c
style(contact-info): use tab indentation to match project standard
2026-07-04 13:37:12 -05:00
Keith Solomon
e3024a6cdc
feat(contact): rewrite contact-info block to two-column layout
2026-07-04 13:31:06 -05:00
Keith Solomon
1593be1c70
feat(contact): add address, email, phone icon SVGs
2026-07-04 13:25:53 -05:00
Keith Solomon
dddb4b8c54
✨ feature: Build interior layout
Deploy to Dreamhost (dev) / build (push) Successful in 38s
Sync TODOs with Issues / sync_todos (push) Successful in 7s
2026-07-01 18:33:01 -05:00
Keith Solomon and Claude
6452f28932
Refine hero: vector full-width, image top padding, content flush left
...
- styles/blocks/page-hero.css:
- .page-hero__vector: width is now 100% (was clamp(28rem, 60vw, 56rem))
so the orange linework spans the full width of the hero. The SVG
scales proportionally (1920x489 viewBox).
- .page-hero__media: added top: clamp(2rem, 4vw, 4rem) so the image
has visible top padding inside the hero (in addition to overflowing
the bottom). Reduced right offset to clamp(0.5rem, 2vw, 2rem) so
the image sits closer to the right edge. Width is 'auto' with
max-width: clamp(20rem, 30vw, 28rem) so the image's natural aspect
ratio (490x613 portrait) is preserved.
- views/partials/page-hero.php: .page-hero__content is now 'container
mx-auto px-0!' so the breadcrumbs, H1, and intro sit flush left at
x=0, matching the logo's left edge (which is also at x=0 thanks to
the header's px-0! override on its container).
Co-Authored-By: Claude <noreply@anthropic.com >
2026-07-01 16:39:29 -05:00