From beae150f029597af7cd2b58255ff978880d5c93a Mon Sep 17 00:00:00 2001
From: adilallo <39313955+adilallo@users.noreply.github.com>
Date: Wed, 15 Apr 2026 22:14:46 -0600
Subject: [PATCH] Implement core-values screen
---
app/create/CreateFlowLayoutClient.tsx | 67 +++---
.../CreateFlowTwoColumnSelectShell.tsx | 75 ++++++
app/create/screens/CreateFlowScreenView.tsx | 3 +
.../select/CommunitySizeSelectScreen.tsx | 33 +--
.../select/CommunityStructureSelectScreen.tsx | 33 +--
.../screens/select/CoreValuesSelectScreen.tsx | 219 ++++++++++++++++++
app/create/types.ts | 5 +
.../utils/createFlowProportionProgress.ts | 1 +
app/create/utils/createFlowScreenRegistry.ts | 6 +
app/create/utils/flowSteps.ts | 1 +
lib/server/validation/createFlowSchemas.ts | 4 +
messages/en/create/coreValues.json | 75 ++++++
messages/en/create/footer.json | 3 +-
messages/en/index.ts | 2 +
.../unit/createFlowProportionProgress.test.ts | 5 +-
tests/unit/flowSteps.test.ts | 5 +-
16 files changed, 460 insertions(+), 77 deletions(-)
create mode 100644 app/create/components/CreateFlowTwoColumnSelectShell.tsx
create mode 100644 app/create/screens/select/CoreValuesSelectScreen.tsx
create mode 100644 messages/en/create/coreValues.json
diff --git a/app/create/CreateFlowLayoutClient.tsx b/app/create/CreateFlowLayoutClient.tsx
index fb83700..230ac59 100644
--- a/app/create/CreateFlowLayoutClient.tsx
+++ b/app/create/CreateFlowLayoutClient.tsx
@@ -302,6 +302,11 @@ function CreateFlowLayoutContent({
const isRightRailStep = currentStep === "right-rail";
const isFinalReviewStep = currentStep === "final-review";
const isCardsStep = currentStep === "cards";
+ /** Two-column select steps: at `lg+` only the right column scrolls; main must not scroll the full page. */
+ const isSelectSplitScrollStep =
+ currentStep === "community-size" ||
+ currentStep === "community-structure" ||
+ currentStep === "core-values";
const stepIdx = currentStep != null ? getStepIndex(currentStep) : -1;
/** At `md+`, main cross-axis: center by default; exceptions stay top-aligned (see product spec). */
@@ -309,9 +314,11 @@ function CreateFlowLayoutContent({
? "items-stretch overflow-y-auto md:overflow-hidden"
: isRightRailStep
? "items-stretch overflow-hidden"
- : isFinalReviewStep || isCardsStep || isTemplateReviewRoute
- ? "items-start justify-center overflow-y-auto"
- : "items-start justify-center overflow-y-auto md:items-center";
+ : isSelectSplitScrollStep
+ ? "items-start justify-start overflow-y-auto max-lg:overflow-y-auto lg:min-h-0 lg:items-stretch lg:overflow-hidden"
+ : isFinalReviewStep || isCardsStep || isTemplateReviewRoute
+ ? "items-start justify-center overflow-y-auto"
+ : "items-start justify-center overflow-y-auto md:items-center";
const isTextStep = createFlowStepUsesCenteredTextLayout(currentStep);
const mainMaxMdJustify =
@@ -479,32 +486,18 @@ function CreateFlowLayoutContent({
) : currentStep === "community-name" && nextStep ? (
-
-
-
-
+
) : currentStep === "community-save" && nextStep ? (
+ ) : currentStep === "core-values" && nextStep ? (
+
) : nextStep ? (