Skip to content

GK Theme Updates (custom sections + homepage)#3892

Open
ByllanBonk wants to merge 153 commits intoShopify:mainfrom
ByllanBonk:main
Open

GK Theme Updates (custom sections + homepage)#3892
ByllanBonk wants to merge 153 commits intoShopify:mainfrom
ByllanBonk:main

Conversation

@ByllanBonk
Copy link
Copy Markdown

PR Summary:

Why are these changes introduced?

Fixes #0.

What approach did you take?

Other considerations

Decision log

# Decision Alternatives Rationale Downsides
1

Visual impact on existing themes

Testing steps/scenarios

  • Step 1

Demo links

Checklist

shopify bot and others added 16 commits February 23, 2026 20:36
Committed from shop: My Store
Committed from shop: My Store
Committed from shop: My Store
… layout

- Global CSS with Bebas Neue/DM Sans/DM Mono fonts, dark color scheme (#0D0D0D bg, #E8690A accent)
- Sharp-cornered modern button overrides (no border radius, uppercase, letter-spacing)
- Custom sections: GK Hero, Tour Dates (Bandsintown), Stream+Follow, Featured Gristle, Sponsor Logos, Spotify Embed
- All sections have full {% schema %} blocks for Shopify visual editor
- Updated settings_data.json with 5 dark color schemes
- Updated header/footer groups with dark styling
- Wired up homepage template with correct section order

https://claude.ai/code/session_01CxaEVe2f1Q4SZDKpWhcJ1W
…op grid

- GK Dates Page: full Bandsintown embed with dark styling, customizable artist name
- GK Lessons Page: 3-column card grid with feature lists (Virtual, On-Demand, TrueFire)
- GK About Page: editorial layout with image+text blocks, stats bar, rich text
- GK Press Page: featured quote hero + press quotes grid with source attribution
- GK Contact Page: dark styled form with contact info blocks, Shopify form integration
- Updated collection.json for 3-column portrait grid (Shop page)
- All sections have full {% schema %} blocks for Shopify visual editor

https://claude.ai/code/session_01CxaEVe2f1Q4SZDKpWhcJ1W
Committed from shop: My Store
Committed from shop: My Store
Committed from shop: My Store
Committed from shop: Greg Koch
Committed from shop: Greg Koch
Committed from shop: Greg Koch
Committed from shop: Greg Koch
Committed from shop: Greg Koch
…ction

Tour Dates (gk-tour-dates.liquid + gk-dates-page.liquid):
- Fully custom, no third-party widgets or apps
- Manual show date blocks: date, venue, city, ticket URL, sold-out toggle
- Auto-hides past dates using Liquid epoch comparison (disappear next day)
- Homepage section shows next 4 upcoming, full page shows all
- Date in orange Bebas Neue left, venue/city middle, GET TICKETS button right
- SOLD OUT shows grey label instead of button
- VIEW ALL DATES outlined orange button at bottom of homepage section
- Full schema: blocks are addable/editable/deletable in theme editor

Spotify Embed (gk-spotify-embed.liquid):
- Accepts full <iframe> embed OR bare Spotify embed URL in textarea
- Smart parsing: detects iframe vs URL, renders accordingly
- Rounded card container with border, shadow, configurable radius + padding
- Separate desktop/mobile embed heights
- Optional "Open on Spotify" link toggle
- Placeholder with instructions when no embed configured
- Full editable schema: colors, sizing, spacing, max-width

https://claude.ai/code/session_01CxaEVe2f1Q4SZDKpWhcJ1W
gk-tour-dates.liquid:
- Custom manual show date blocks (date/venue/city/ticket_url/sold_out fields)
- Auto-hides past shows via Liquid epoch comparison (disappear day after)
- max_shows range setting (default 4) limits display on homepage
- Full-width orange outlined VIEW ALL DATES button links to /pages/dates
- Dark design: orange Bebas Neue date, DM Sans venue, DM Mono city
- SOLD OUT grey label replaces button when toggled

templates/index.json:
- Restored full custom homepage: gk-hero, featured-collection, gk-tour-dates,
  gk-stream-follow, gk-featured-gristle, gk-sponsor-logos, gk-spotify-embed
- Replaces the Dawn default sections (image-banner, collage, video, multicolumn)

https://claude.ai/code/session_01CxaEVe2f1Q4SZDKpWhcJ1W
ByllanBonk and others added 13 commits February 24, 2026 10:19
Replace Bandsintown with custom tour dates + rewrite Spotify embed se…
Committed from shop: Greg Koch
Committed from shop: Greg Koch
Committed from shop: Greg Koch
Committed from shop: Greg Koch
Committed from shop: Greg Koch
Committed from shop: Greg Koch
Committed from shop: Greg Koch
Committed from shop: Greg Koch
Committed from shop: Greg Koch
Committed from shop: Greg Koch
Committed from shop: Greg Koch
Committed from shop: Greg Koch
claude and others added 30 commits February 27, 2026 10:08
- Strip snippet to widget markup only (CSS/JS now live in section files)
- Scoped CSS with !important overrides: glass card rows, orange hover glow
  (translateY + border-color), pill-shaped ticket buttons with glow shadow
- JS rewrite: MutationObserver with 200ms debounce, setInterval retry
  (250ms × 20 = 5s max), double-init guard via data-bit-initialized,
  6-selector fallback chain for reliable event-row detection

https://claude.ai/code/session_01GbgrA5NZvF9QCZUZdGUh1u
…s-LpfJ9

fix: stronger CSS overrides + robust show-N JS for BIT sections
Committed from shop: Greg Koch
Remove all !important CSS overrides for event rows (glass card, hover
glow, pill ticket buttons, flex layout, date/venue/location colours).
BIT widget now renders with its own native styling.

Kept: section layout CSS, hide-header/RSVP rules, show-more button style,
and the full MutationObserver + setInterval + debounce show-N JS.

https://claude.ai/code/session_01GbgrA5NZvF9QCZUZdGUh1u
…ns-LpfJ9

fix: revert BIT styling to native widget; keep show-more JS only
Restores the full custom CSS styling that makes the tour dates look like the old website:
- Glass card design with backdrop blur and subtle borders
- Orange date styling with hover effects
- Full button styling with shadows and brightness transitions
- Mobile responsive layout adjustments
- Improved JS selectors for more reliable event detection

The show-more dropdown button functionality now has the proper custom styling it deserves.

https://claude.ai/code/session_01GbgrA5NZvF9QCZUZdGUh1u
…vents

Previous code used style.display='none' which CSS !important rules could
override, meaning all events stayed visible. Now uses:
- el.style.setProperty('display','none','important') to hide (beats any CSS)
- el.style.removeProperty('display') to show (restores native widget display)
- data-gk-hidden attribute to track state instead of checking style.display
- Retry timeout extended to 10s for slow connections
- Stripped all custom event row CSS that was fighting the hiding logic

Home page: 3 dates on load, 3 revealed per click
Dates page: 10 dates on load, 10 revealed per click

https://claude.ai/code/session_01GbgrA5NZvF9QCZUZdGUh1u
…ns-LpfJ9

Claude/unify tour dates sections lpf j9
…bust show-more

- Replace broken snippet reference with official Bandsintown anchor-initializer
  embed (bit-widget-initializer) + dynamic script loader (window.__gkBitLoaded guard)
- Match site aesthetic: Bebas Neue/DM Mono/DM Sans fonts, #E8690A orange accent,
  radial-gradient glass cards with border rgba(255,255,255,0.10)
- Heavy scoped CSS overrides (!important) suppress BIT chrome (header, footer,
  powered-by, RSVP buttons, social share) and restyle event rows + ticket buttons
- Hover: translateY(-1px) lift, rgba(232,105,10,0.45) border, orange inset glow
- Ticket buttons: orange pill (#E8690A bg, DM Mono 12px, 0.12em tracking)
- Show-more: MutationObserver + 300ms retry loop (12s max), data-gk-hidden attr,
  SHOW MORE DATES button hidden when no events remain
- Theme editor: show small informational notice but still attempt widget render
- Home defaults: 3 initial / 3 per click / 900px max-width
- Page defaults: 10 initial / 5 per click / 1100px max-width
- max_width range setting added to both sections

https://claude.ai/code/session_01Nr2QngJBUeVEivxvKEa7dU
…s-S1RfF

Rewrite BIT sections with real widget embed, glass-card aesthetic, ro…
Root cause: `window.__gkBitLoaded` guard prevented BIT main.min.js from
re-loading after a theme editor save. When Shopify re-renders the section
HTML, the old widget DOM is destroyed and a fresh .bit-widget-initializer
anchor appears — but BIT had already executed and didn't process it.

Fix (both sections):
- Remove the single-load guard; instead remove-then-re-add the BIT
  <script> tag (tagged data-gk-bit) every time the section renders,
  forcing main.min.js to re-execute and find the new anchor
- Wrap show-more logic in a callable `bootShowMore()` function
- Register a `shopify:section:load` listener (once per section, guarded
  by window['__gkBitEvt_' + sectionId]) that re-triggers BIT script
  reload + bootShowMore() with 600ms delay as a safety net for edge
  cases where inline scripts don't re-execute
- Increase retry timeout from 12s to 15s for slower connections

https://claude.ai/code/session_01Nr2QngJBUeVEivxvKEa7dU
…s-S1RfF

Fix BIT widget not surviving Shopify theme editor save/re-render
Committed from shop: Greg Koch
Creates gk-press-hero, gk-press-media, and gk-press-quotes as
standalone Shopify sections matching the existing premium dark theme
visual language (black/charcoal bg, orange glow accents, Bebas Neue
headings, DM Sans body, 150ms transitions, subtle hover lift).

- gk-press-hero: Cinematic hero with radial orange glow, diamond
  divider, subheading, optional intro paragraph, and a "Featured In"
  publication badge row (6 editable slots, toggle on/off)
- gk-press-media: Rick Beato YouTube embed (responsive 16:9) above a
  3/2/1 col responsive article card grid with glass hover glow; video
  URL parsed from full YouTube URL via Liquid; 3 default article blocks
  preloaded (Relix, Vintage Guitar, Palm Beach Arts Paper)
- gk-press-quotes: Stacked quote blocks with large Bebas open-quote
  mark, italic DM Sans body, orange accent rule, attribution + optional
  source label, emphasis toggle, and Joe Bonamassa slot clearly labelled
  as an editable placeholder

All CSS scoped with section-specific prefixes, no global CSS edits.

https://claude.ai/code/session_01YYptL6XzKziDt7xGKhz4Tn
…ions-aJesQ

Add 3 modular Press page sections for GregKoch.com
Committed from shop: Greg Koch
Committed from shop: Greg Koch
…ions-aJesQ

Merge pull request #15 from ByllanBonk/main
The press page template was only rendering gk-press-media. Wire in
gk-press-hero (first) and gk-press-quotes (last) so all three sections
appear on the live press page.

https://claude.ai/code/session_01YYptL6XzKziDt7xGKhz4Tn
…ions-aJesQ

fix: add gk-press-hero and gk-press-quotes to page.press.json
Committed from shop: Greg Koch
Shopify rejects sections with empty string defaults on textarea/text
settings. Remove default="" from intro_text (hero) and source (quotes)
so the sections save without schema errors.

https://claude.ai/code/session_01YYptL6XzKziDt7xGKhz4Tn
…ions-aJesQ

fix: remove blank default values from press section schemas
- Hero: eyebrow 0.72→0.82rem, subheading 1.1→1.25rem, intro 0.95→1.05rem, pub badges 0.62→0.72rem
- Media cards: pub label 0.64→0.75rem, title 1.3→1.5rem, desc 0.9→1rem, CTA 0.68→0.78rem
- Quotes: eyebrow 0.72→0.82rem, author 0.68→0.8rem, source 0.58→0.7rem

https://claude.ai/code/session_01YYptL6XzKziDt7xGKhz4Tn
Adds an optional download button below the intro text. Configure via:
- Press Kit File URL (upload PDF to Shopify Files, paste URL)
- Button Label (defaults to "Download Press Kit")
Button is hidden when URL is blank.

https://claude.ai/code/session_01YYptL6XzKziDt7xGKhz4Tn
…ions-aJesQ

Claude/shopify press page sections a jes q
Committed from shop: Greg Koch
Committed from shop: Greg Koch
Committed from shop: Greg Koch
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants