WIP: form copy and field visibility adjustments
This commit is contained in:
+1
-1
@@ -61,7 +61,7 @@ function MissingLinkParams() {
|
|||||||
</h2>
|
</h2>
|
||||||
<p className="mt-3 leading-relaxed text-ink-soft">
|
<p className="mt-3 leading-relaxed text-ink-soft">
|
||||||
Open the form using the personalized link from your email. If you no longer have it,
|
Open the form using the personalized link from your email. If you no longer have it,
|
||||||
please contact your engagement coordinator and ask for a fresh link.
|
please contact <a href="mailto:survey@fci.coop">Chris @ FCI</a> and ask for a fresh link.
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
|
|||||||
+1
-1
@@ -69,7 +69,7 @@ function MissingLinkParams() {
|
|||||||
</h2>
|
</h2>
|
||||||
<p className="mt-3 leading-relaxed text-ink-soft">
|
<p className="mt-3 leading-relaxed text-ink-soft">
|
||||||
Open the report using the personalized link from your email. If you no
|
Open the report using the personalized link from your email. If you no
|
||||||
longer have it, please contact your engagement coordinator and ask for
|
longer have it, please contact <a href="mailto:survey@fci.coop">Chris @ FCI</a> and ask for
|
||||||
a fresh link.
|
a fresh link.
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -476,7 +476,7 @@ function SubmitBar({
|
|||||||
? draftSavedAt
|
? draftSavedAt
|
||||||
? `Draft saved ${formatRelative(draftSavedAt)} (locally on this device)`
|
? `Draft saved ${formatRelative(draftSavedAt)} (locally on this device)`
|
||||||
: "Editing — your draft will save automatically"
|
: "Editing — your draft will save automatically"
|
||||||
: "Submitting saves a new check-in record on your co-op."}
|
: ""}
|
||||||
</p>
|
</p>
|
||||||
)}
|
)}
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -41,15 +41,14 @@ export function SiteFooter() {
|
|||||||
<div className="mx-auto max-w-3xl px-4 py-7 sm:px-6">
|
<div className="mx-auto max-w-3xl px-4 py-7 sm:px-6">
|
||||||
<div className="flex flex-col gap-3 sm:flex-row sm:items-baseline sm:justify-between">
|
<div className="flex flex-col gap-3 sm:flex-row sm:items-baseline sm:justify-between">
|
||||||
<p className="font-display text-sm italic text-ink-soft">
|
<p className="font-display text-sm italic text-ink-soft">
|
||||||
“A grocery co-op begins with people who decide to feed each other well.”
|
“Thank you for completing this survey.”
|
||||||
</p>
|
</p>
|
||||||
<p className="text-xs text-ink-mute">
|
<p className="text-xs text-ink-mute">
|
||||||
Need a fresh link? Contact your engagement coordinator.
|
Need a fresh link? Contact <a href="mailto:survey@fci.coop">Chris @ FCI</a>.
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<p className="mt-4 text-xs text-ink-mute leading-relaxed">
|
<p className="mt-4 text-xs text-ink-mute leading-relaxed">
|
||||||
Your responses go directly to your co-op's record. Nothing is shared with third
|
Your responses go directly to your co-op's record. This page is only reachable through a personalized link issued to you.
|
||||||
parties. This page is only reachable through a personalized link issued to you.
|
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</footer>
|
</footer>
|
||||||
|
|||||||
+73
-72
@@ -186,15 +186,6 @@ const stage0: StageSectionConfig = {
|
|||||||
// type: "currency",
|
// type: "currency",
|
||||||
// civiField: `${G0}.Projected_sales_at_maturity`,
|
// civiField: `${G0}.Projected_sales_at_maturity`,
|
||||||
// },
|
// },
|
||||||
{
|
|
||||||
name: "FTEs",
|
|
||||||
label: "Projected FTEs",
|
|
||||||
type: "number",
|
|
||||||
visibleWhen: visibleAtOrAfter(S.BusinessFeasibility, S.StoreImplementation, S.Stabilize),
|
|
||||||
civiField: `${G0}.FTEs`,
|
|
||||||
step: 0.1,
|
|
||||||
help: "Number of full-time equivalent (FTE) employees planned to work at the store.",
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
name: "Actual_FTE",
|
name: "Actual_FTE",
|
||||||
label: "Actual FTE",
|
label: "Actual FTE",
|
||||||
@@ -210,12 +201,12 @@ const stage0: StageSectionConfig = {
|
|||||||
visibleWhen: visibleAtOrAfter(S.Stabilize),
|
visibleWhen: visibleAtOrAfter(S.Stabilize),
|
||||||
civiField: `${G0}.Total_cost_of_project`,
|
civiField: `${G0}.Total_cost_of_project`,
|
||||||
},
|
},
|
||||||
{
|
// {
|
||||||
name: "Member_equity_total",
|
// name: "Member_equity_total",
|
||||||
label: "Member equity total needed",
|
// label: "Member equity total needed",
|
||||||
type: "currency",
|
// type: "currency",
|
||||||
civiField: `${G0}.Member_equity_total`
|
// civiField: `${G0}.Member_equity_total`
|
||||||
},
|
// },
|
||||||
{
|
{
|
||||||
name: "Member_equity_raised",
|
name: "Member_equity_raised",
|
||||||
label: "Member equity raised",
|
label: "Member equity raised",
|
||||||
@@ -223,12 +214,12 @@ const stage0: StageSectionConfig = {
|
|||||||
visibleWhen: visibleAtOrAfter(S.Stabilize),
|
visibleWhen: visibleAtOrAfter(S.Stabilize),
|
||||||
civiField: `${G0}.Member_equity_raised`
|
civiField: `${G0}.Member_equity_raised`
|
||||||
},
|
},
|
||||||
{
|
// {
|
||||||
name: "Member_loans_total",
|
// name: "Member_loans_total",
|
||||||
label: "Member loans total needed",
|
// label: "Member loans total needed",
|
||||||
type: "currency",
|
// type: "currency",
|
||||||
civiField: `${G0}.Member_loans_total`
|
// civiField: `${G0}.Member_loans_total`
|
||||||
},
|
// },
|
||||||
{
|
{
|
||||||
name: "Member_loans_raised",
|
name: "Member_loans_raised",
|
||||||
label: "Member loans raised",
|
label: "Member loans raised",
|
||||||
@@ -249,13 +240,22 @@ const stage0: StageSectionConfig = {
|
|||||||
visibleWhen: visibleAtOrAfter(S.Stabilize),
|
visibleWhen: visibleAtOrAfter(S.Stabilize),
|
||||||
civiField: `${G0}.Member_preferred_shares_raised`,
|
civiField: `${G0}.Member_preferred_shares_raised`,
|
||||||
},
|
},
|
||||||
{ name: "Bank_debt_total", label: "Bank debt total needed", type: "currency", civiField: `${G0}.Bank_debt_total` },
|
// { name: "Bank_debt_total", label: "Bank debt total needed", type: "currency", civiField: `${G0}.Bank_debt_total` },
|
||||||
{ name: "Bank_debt_raised", label: "Bank debt raised", type: "currency", visibleWhen: visibleAtOrAfter(S.Stabilize), civiField: `${G0}.Bank_debt_raised` },
|
{ name: "Bank_debt_raised", label: "Bank debt raised", type: "currency", visibleWhen: visibleAtOrAfter(S.Stabilize), civiField: `${G0}.Bank_debt_raised` },
|
||||||
{ name: "Grant_Donations_Needed", label: "Grants / Donations Needed", type: "currency", civiField: `${G0}.Grant_Donations_Needed` },
|
// { name: "Grant_Donations_Needed", label: "Grants / Donations Needed", type: "currency", civiField: `${G0}.Grant_Donations_Needed` },
|
||||||
{ name: "Grants_Donations_Raised", label: "Grants / Donations Raised", type: "currency", visibleWhen: visibleAtOrAfter(S.Stabilize), civiField: `${G0}.Grants_Donations_Raised` },
|
{ name: "Grants_Donations_Raised", label: "Grants / Donations Raised", type: "currency", visibleWhen: visibleAtOrAfter(S.Stabilize), civiField: `${G0}.Grants_Donations_Raised` },
|
||||||
{ name: "Other_sources_total", label: "Other sources total needed", type: "currency", civiField: `${G0}.Other_sources_total` },
|
// { name: "Other_sources_total", label: "Other sources total needed", type: "currency", civiField: `${G0}.Other_sources_total` },
|
||||||
{ name: "Other_sources_raised", label: "Other sources raised", type: "currency", visibleWhen: visibleAtOrAfter(S.Stabilize), civiField: `${G0}.Other_sources_raised` },
|
{ name: "Other_sources_raised", label: "Other sources raised", type: "currency", visibleWhen: visibleAtOrAfter(S.Stabilize), civiField: `${G0}.Other_sources_raised` },
|
||||||
{ name: "Date_Closed_Folded", label: "Date Closed / Folded", type: "date", civiField: `${G0}.Date_Closed_Folded` },
|
// { name: "Date_Closed_Folded", label: "Date Closed / Folded", type: "date", civiField: `${G0}.Date_Closed_Folded` },
|
||||||
|
{
|
||||||
|
name: "FTEs",
|
||||||
|
label: "Projected FTEs",
|
||||||
|
type: "number",
|
||||||
|
visibleWhen: visibleAtOrAfter(S.BusinessFeasibility, S.StoreImplementation, S.Stabilize),
|
||||||
|
civiField: `${G0}.FTEs`,
|
||||||
|
step: 0.1,
|
||||||
|
help: "Number of full-time equivalent (FTE) employees planned to work at the store.",
|
||||||
|
},
|
||||||
] as FieldConfig[],
|
] as FieldConfig[],
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -328,14 +328,14 @@ const stage2: StageSectionConfig = {
|
|||||||
{ name: "Market_Study_Upload", label: "Market Study — Upload", type: "file", civiField: `${G2}.Market_Study_Upload` },
|
{ name: "Market_Study_Upload", label: "Market Study — Upload", type: "file", civiField: `${G2}.Market_Study_Upload` },
|
||||||
{ name: "Pro_Forma_date_completed", label: "Pro Forma — date completed", type: "date", civiField: `${G2}.Pro_Forma_date_completed` },
|
{ name: "Pro_Forma_date_completed", label: "Pro Forma — date completed", type: "date", civiField: `${G2}.Pro_Forma_date_completed` },
|
||||||
{ name: "Pro_Forma_Upload", label: "Pro Forma — Upload", type: "file", civiField: `${G2}.Pro_Forma_Upload` },
|
{ name: "Pro_Forma_Upload", label: "Pro Forma — Upload", type: "file", civiField: `${G2}.Pro_Forma_Upload` },
|
||||||
{
|
// {
|
||||||
name: "Pro_Forma_Viability",
|
// name: "Pro_Forma_Viability",
|
||||||
label: "Pro Forma Viability",
|
// label: "Pro Forma Viability",
|
||||||
type: "select",
|
// type: "select",
|
||||||
civiField: `${G2}.Pro_Forma_Viability`,
|
// civiField: `${G2}.Pro_Forma_Viability`,
|
||||||
optionGroupId: 133,
|
// optionGroupId: 133,
|
||||||
help: "Rate the viability of the project.",
|
// help: "Rate the viability of the project.",
|
||||||
},
|
// },
|
||||||
{
|
{
|
||||||
name: "Business_Plan",
|
name: "Business_Plan",
|
||||||
label: "Business Plan",
|
label: "Business Plan",
|
||||||
@@ -394,6 +394,14 @@ const stage3: StageSectionConfig = {
|
|||||||
optionGroupId: 139,
|
optionGroupId: 139,
|
||||||
help: "Will the co-op own the building or property?",
|
help: "Will the co-op own the building or property?",
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
name: "Capital_Stack",
|
||||||
|
label: "Capital Stack",
|
||||||
|
type: "multiselect",
|
||||||
|
civiField: `${G3}.Capital_Stack`,
|
||||||
|
optionGroupId: 134,
|
||||||
|
help: "Select all the types of funding that are part of your Sources.",
|
||||||
|
},
|
||||||
{
|
{
|
||||||
name: "Capital_Campaign_Owner_Participation_",
|
name: "Capital_Campaign_Owner_Participation_",
|
||||||
label: "Capital Campaign: Owner Participation %",
|
label: "Capital Campaign: Owner Participation %",
|
||||||
@@ -406,14 +414,6 @@ const stage3: StageSectionConfig = {
|
|||||||
type: "currency",
|
type: "currency",
|
||||||
civiField: `${G3}.Capital_Campaign_Average_Owner_Investment`,
|
civiField: `${G3}.Capital_Campaign_Average_Owner_Investment`,
|
||||||
},
|
},
|
||||||
{
|
|
||||||
name: "Capital_Stack",
|
|
||||||
label: "Capital Stack",
|
|
||||||
type: "multiselect",
|
|
||||||
civiField: `${G3}.Capital_Stack`,
|
|
||||||
optionGroupId: 134,
|
|
||||||
help: "Select all the types of funding that are part of your Sources.",
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
name: "Project_Manager_Date_of_Hire",
|
name: "Project_Manager_Date_of_Hire",
|
||||||
label: "Project Manager — Date of Hire",
|
label: "Project Manager — Date of Hire",
|
||||||
@@ -448,6 +448,37 @@ const stage4: StageSectionConfig = {
|
|||||||
label: "Stage 4 — Excite & Build",
|
label: "Stage 4 — Excite & Build",
|
||||||
visibleWhen: visibleAtOrAfter(S.StoreImplementation, S.Stabilize),
|
visibleWhen: visibleAtOrAfter(S.StoreImplementation, S.Stabilize),
|
||||||
fields: [
|
fields: [
|
||||||
|
{
|
||||||
|
name: "General_Manager_Date_of_Hire",
|
||||||
|
label: "General Manager — Date of Hire",
|
||||||
|
type: "date",
|
||||||
|
civiField: `${G4}.General_Manager_Date_of_Hire`,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "General_Manager_Background",
|
||||||
|
label: "General Manager Background",
|
||||||
|
type: "select",
|
||||||
|
civiField: `${G4}.General_Manager_Background`,
|
||||||
|
optionGroupId: 135,
|
||||||
|
help: "What professional background does your General Manager have?",
|
||||||
|
},
|
||||||
|
{ name: "General_Manager_Name", label: "General Manager — Name", type: "text", civiField: `${G4}.General_Manager_Name` },
|
||||||
|
{ name: "General_Manager_Phone", label: "General Manager Phone", type: "phone", civiField: `${G4}.General_Manager_Phone` },
|
||||||
|
{ name: "GM_Email", label: "General Manager Email", type: "email", civiField: `${G4}.GM_Email` },
|
||||||
|
{
|
||||||
|
name: "GM_Support_Training",
|
||||||
|
label: "GM Support and Training",
|
||||||
|
type: "text",
|
||||||
|
civiField: `${G4}.GM_Support_Training`,
|
||||||
|
help: "What training and/or onboarding support is being provided to your GM?",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "GM_Support_Team",
|
||||||
|
label: "GM Support Team",
|
||||||
|
type: "text",
|
||||||
|
civiField: `${G4}.GM_Support_Team`,
|
||||||
|
help: "Who is providing support and training to your GM?",
|
||||||
|
},
|
||||||
{ name: "Projected_Opening_Date", label: "Projected Opening Date", type: "date", civiField: `${G4}.Projected_Opening_Date` },
|
{ name: "Projected_Opening_Date", label: "Projected Opening Date", type: "date", civiField: `${G4}.Projected_Opening_Date` },
|
||||||
{
|
{
|
||||||
name: "Construction_Completion_Date",
|
name: "Construction_Completion_Date",
|
||||||
@@ -467,37 +498,7 @@ const stage4: StageSectionConfig = {
|
|||||||
type: "file",
|
type: "file",
|
||||||
civiField: `${G4}.Mission_Transition_Plan_Upload`,
|
civiField: `${G4}.Mission_Transition_Plan_Upload`,
|
||||||
},
|
},
|
||||||
{ name: "General_Manager_Name", label: "General Manager — Name", type: "text", civiField: `${G4}.General_Manager_Name` },
|
|
||||||
{ name: "General_Manager_Phone", label: "General Manager Phone", type: "phone", civiField: `${G4}.General_Manager_Phone` },
|
|
||||||
{ name: "GM_Email", label: "General Manager Email", type: "email", civiField: `${G4}.GM_Email` },
|
|
||||||
{
|
|
||||||
name: "General_Manager_Date_of_Hire",
|
|
||||||
label: "General Manager — Date of Hire",
|
|
||||||
type: "date",
|
|
||||||
civiField: `${G4}.General_Manager_Date_of_Hire`,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: "General_Manager_Background",
|
|
||||||
label: "General Manager Background",
|
|
||||||
type: "select",
|
|
||||||
civiField: `${G4}.General_Manager_Background`,
|
|
||||||
optionGroupId: 135,
|
|
||||||
help: "What professional background does your General Manager have?",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: "GM_Support_Training",
|
|
||||||
label: "GM Support and Training",
|
|
||||||
type: "text",
|
|
||||||
civiField: `${G4}.GM_Support_Training`,
|
|
||||||
help: "What training and/or onboarding support is being provided to your GM?",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: "GM_Support_Team",
|
|
||||||
label: "GM Support Team",
|
|
||||||
type: "text",
|
|
||||||
civiField: `${G4}.GM_Support_Team`,
|
|
||||||
help: "Who is providing support and training to your GM?",
|
|
||||||
},
|
|
||||||
] as FieldConfig[],
|
] as FieldConfig[],
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user