feat(admin): two-column block layout for Tier Settings (BUNYIP-415 follow-up) #413

Merged
longjacksonle merged 1 commit from feat/BUNYIP-415-tier-settings-two-column into main 2026-07-30 03:50:44 +02:00

What

Follow-up to BUNYIP-415 (merged, PR #412). Tier Settings was the reference screen for that ticket (ref-tier.jpg) but was not in its conversion list, so it stayed a single narrow column with large dead space. This applies the same shared two-column block layout.

How

Reuses the admin_block / admin_block_grid helpers from BUNYIP-415. The screen is now four blocks in a responsive grid (two columns at lg, one below), all inside one form so a single Save persists everything:

  • Tiers & Slots (lifetime/early-adopter slots, both trial-day fields)
  • Stripe catalog (free / lifetime)
  • Stripe catalog (early adopter)
  • Stripe catalog (standard)

The prior inline sub-section headers become block titles; every field is preserved and the blank-keeps-existing save semantics are unchanged.

Tests

tier_settings_uses_two_column_blocks asserts the responsive lg:grid-cols-2 class, the block titles, and that all fields survive the regroup. just check-container green.

Verification (screenshots shared in-thread)

  • Wide (1440px): 2x2 block grid using the width.
  • Narrow (560px): collapses to a single column, no horizontal overflow.

🤖 Generated with Claude Code

https://claude.ai/code/session_01LerAorB26HGHLfjC9iDUbd

## What Follow-up to BUNYIP-415 (merged, PR #412). Tier Settings was the reference screen for that ticket (`ref-tier.jpg`) but was not in its conversion list, so it stayed a single narrow column with large dead space. This applies the same shared two-column block layout. ## How Reuses the `admin_block` / `admin_block_grid` helpers from BUNYIP-415. The screen is now four blocks in a responsive grid (two columns at `lg`, one below), all inside one form so a single Save persists everything: - Tiers & Slots (lifetime/early-adopter slots, both trial-day fields) - Stripe catalog (free / lifetime) - Stripe catalog (early adopter) - Stripe catalog (standard) The prior inline sub-section headers become block titles; every field is preserved and the blank-keeps-existing save semantics are unchanged. ## Tests `tier_settings_uses_two_column_blocks` asserts the responsive `lg:grid-cols-2` class, the block titles, and that all fields survive the regroup. `just check-container` green. ## Verification (screenshots shared in-thread) - Wide (1440px): 2x2 block grid using the width. - Narrow (560px): collapses to a single column, no horizontal overflow. 🤖 Generated with [Claude Code](https://claude.com/claude-code) https://claude.ai/code/session_01LerAorB26HGHLfjC9iDUbd
feat(admin): two-column block layout for Tier Settings (BUNYIP-415 follow-up)
All checks were successful
E2E / Playwright against deployment (pull_request) Successful in 1m30s
Check / fmt + clippy + build + tests (pull_request) Successful in 8m14s
Create release / Create release from merged PR (pull_request) Has been skipped
2ffc6ff82a
Tier Settings was the reference screen for BUNYIP-415 (ref-tier.jpg) but was not in that ticket's conversion list, so it stayed a single narrow column. This applies the same shared admin_block_grid layout: the slots/trials and the three Stripe-catalog groups become blocks in a responsive grid (two columns at lg, one below), all inside one form so a single Save persists everything. Every field is preserved; the prior inline sub-section headers ("Stripe catalog (free / lifetime tier)" etc.) become block titles.

Test: tier_settings_uses_two_column_blocks asserts the responsive grid class, the block titles, and that fields survive the regroup. just check-container green. Verified rendered at 1440px (2x2 block grid) and 560px (single column, no horizontal overflow).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LerAorB26HGHLfjC9iDUbd
longjacksonle scheduled this pull request to auto merge when all checks succeed 2026-07-30 03:43:38 +02:00
longjacksonle deleted branch feat/BUNYIP-415-tier-settings-two-column 2026-07-30 03:50:44 +02:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
psa-systems/bunyip!413
No description provided.