Repository navigation
Conversation
GuestListSkeleton was adding `px-4 py-5 lg:px-6 lg:py-6` to its outer container, but the skeleton is always rendered as a Suspense fallback inside `<main className='...px-4 py-5 lg:px-6 lg:py-6'>` in the guest list page. This doubled the horizontal and vertical padding, making the loading skeleton appear significantly more indented than the actual guest list content that replaces it, causing a visible layout shift on load. Removing the redundant padding from the skeleton aligns it with the padding applied by the parent <main> element, matching the position of the real content. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UaXfTGQoWpy1UaLLVVG1iZ
Contributor
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Contributor
This branch had an error being deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Daily Product Improvement
📝 TLDR
Remove duplicate padding from
GuestListSkeleton— the skeleton was adding the same padding as its parent<main>element, causing a visible layout shift when the guest list loaded.📝 Description
GuestListSkeletonis used as a Suspense fallback inside<main className='...px-4 py-5 lg:px-6 lg:py-6'>inguest-list/page.tsx. The skeleton was independently adding the samepx-4 py-5 lg:px-6 lg:py-6on its own container div, doubling the padding during the loading state.This Change
px-4 py-5 lg:px-6 lg:py-6from theGuestListSkeletonwrapper<div>, since that padding is already provided by the parent<main>elementRecommendations Reviewed
Area:
src/components/guest-list/guest-list-skeleton.tsxIssue:
GuestListSkeletonaddspx-4 py-5 lg:px-6 lg:py-6but is rendered inside a<main>with the same classes — skeleton content is double-padded vs actual contentRecommendation: Remove duplicate padding from skeleton container
Type: UX/UI
Priority: Medium
Effort: Small
Area: All authenticated page routes (
budget/page.tsx,checklist/page.tsx,events/page.tsx,guest-list/page.tsx,vendors/page.tsx,website/page.tsx)Issue: All pages override metadata title as
'Budget | Your Wedding Website'instead of composing with the root template ('%s | OSWP'); also redundantly declareiconsalready set at rootRecommendation: Use short-form titles so Next.js composes them with the root
'%s | OSWP'template; remove redundanticonsType: Frontend cleanup / SEO
Priority: Medium
Effort: Small
Area:
src/app/(authenicated)/settings/page.tsxIssue: No
metadataexport — browser tab shows the root default title instead of "Settings"Recommendation: Add
export const metadata: Metadatawithtitle: 'Settings'Type: Frontend cleanup
Priority: Medium
Effort: Small
Area:
src/components/vendor/(vendor-form.tsx, vendor-category-section.tsx, index.tsx)Issue:
VENDOR_CATEGORIESandCATEGORY_LABELSconstants are defined independently in multiple filesRecommendation: Extract to a shared
vendor-constants.tsfile imported by all threeType: Frontend cleanup
Priority: Medium
Effort: Small
Area:
src/components/dashboard/planning-overview.tsx—VendorsCardIssue:
VendorsCardfetches vendor data with no loading state; while loading,vendorCountis 0 so the card flashes the empty state ("No vendors added yet") for users who have vendorsRecommendation: Destructure
isLoadingand render a skeleton while the query resolves (same pattern asBudgetCard)Type: UX/UI
Priority: Medium
Effort: Small
Selected Improvement
Removed duplicate padding from
GuestListSkeleton. One-line change insrc/components/guest-list/guest-list-skeleton.tsx.Why This Was Selected
Changes Made
px-4 py-5 lg:px-6 lg:py-6from the root<div>ofGuestListSkeletonFiles Changed
src/components/guest-list/guest-list-skeleton.tsxVerification
npx tsc --noEmit) passes with no new errors<main className='min-h-0 flex-1 overflow-y-auto px-4 py-5 lg:px-6 lg:py-6'>— no other usage sites existFuture Recommendations
Recommendation: Use short-form metadata titles across all authenticated pages so they compose with the root
'%s | OSWP'template; also add missing metadata tosettings/page.tsxPriority: Medium
Effort: Small
Reason not included: PR #251 is already open addressing this
Should become GitHub issue: No
Recommendation: Extract shared vendor category constants to a single file
Priority: Medium
Effort: Small
Reason not included: PR #280 is already open addressing this
Should become GitHub issue: No
Recommendation: Add loading skeleton to
VendorsCardin the dashboard planning overview to prevent empty-state flashPriority: Medium
Effort: Small
Reason not included: PR #256 is already open addressing this
Should become GitHub issue: No
GitHub Issues Created or Proposed
None. All larger follow-up items are already tracked by open PRs (#251, #256, #280).
🤖 Generated with Claude Code
https://claude.ai/code/session_01UaXfTGQoWpy1UaLLVVG1iZ
Generated by Claude Code