Adding features

This commit is contained in:
Jennie Robinson Faber 2025-10-05 16:15:09 +01:00
parent 600fef2b7c
commit 2b55ca4104
75 changed files with 9796 additions and 2759 deletions

View file

@ -4,68 +4,65 @@
// Central configuration for Ghost Guild Contribution Levels and Helcim Plans
export const CONTRIBUTION_TIERS = {
FREE: {
value: '0',
value: "0",
amount: 0,
label: '$0 - I need support right now',
tier: 'free',
label: "$0 - I need support right now",
tier: "free",
helcimPlanId: null, // No Helcim plan needed for free tier
features: [
'Access to basic resources',
'Community forum access'
]
features: ["Access to basic resources", "Community forum access"],
},
SUPPORTER: {
value: '5',
value: "5",
amount: 5,
label: '$5 - I can contribute a little',
tier: 'supporter',
label: "$5 - I can contribute a little",
tier: "supporter",
helcimPlanId: 20162,
features: [
'All Free Membership benefits',
'Priority community support',
'Early access to events'
]
"All Free Membership benefits",
"Priority community support",
"Early access to events",
],
},
MEMBER: {
value: '15',
value: "15",
amount: 15,
label: '$15 - I can sustain the community',
tier: 'member',
helcimPlanId: null, // TODO: Create $15/month plan in Helcim dashboard
label: "$15 - I can sustain the community",
tier: "member",
helcimPlanId: 21596,
features: [
'All Supporter benefits',
'Access to premium workshops',
'Monthly 1-on-1 sessions',
'Advanced resource library'
]
"All Supporter benefits",
"Access to premium workshops",
"Monthly 1-on-1 sessions",
"Advanced resource library",
],
},
ADVOCATE: {
value: '30',
value: "30",
amount: 30,
label: '$30 - I can support others too',
tier: 'advocate',
helcimPlanId: null, // TODO: Create $30/month plan in Helcim dashboard
label: "$30 - I can support others too",
tier: "advocate",
helcimPlanId: 21597,
features: [
'All Member benefits',
'Weekly group mentoring',
'Access to exclusive events',
'Direct messaging with experts'
]
"All Member benefits",
"Weekly group mentoring",
"Access to exclusive events",
"Direct messaging with experts",
],
},
CHAMPION: {
value: '50',
value: "50",
amount: 50,
label: '$50 - I want to sponsor multiple members',
tier: 'champion',
helcimPlanId: null, // TODO: Create $50/month plan in Helcim dashboard
label: "$50 - I want to sponsor multiple members",
tier: "champion",
helcimPlanId: 21598,
features: [
'All Advocate benefits',
'Personal mentoring sessions',
'VIP event access',
'Custom project support',
'Annual strategy session'
]
}
"All Advocate benefits",
"Personal mentoring sessions",
"VIP event access",
"Custom project support",
"Annual strategy session",
],
},
};
// Get all contribution options as an array (useful for forms)
@ -75,12 +72,12 @@ export const getContributionOptions = () => {
// Get valid contribution values for validation
export const getValidContributionValues = () => {
return Object.values(CONTRIBUTION_TIERS).map(tier => tier.value);
return Object.values(CONTRIBUTION_TIERS).map((tier) => tier.value);
};
// Get contribution tier by value
export const getContributionTierByValue = (value) => {
return Object.values(CONTRIBUTION_TIERS).find(tier => tier.value === value);
return Object.values(CONTRIBUTION_TIERS).find((tier) => tier.value === value);
};
// Get Helcim plan ID for a contribution tier
@ -102,10 +99,12 @@ export const isValidContributionValue = (value) => {
// Get contribution tier by Helcim plan ID
export const getContributionTierByHelcimPlan = (helcimPlanId) => {
return Object.values(CONTRIBUTION_TIERS).find(tier => tier.helcimPlanId === helcimPlanId);
return Object.values(CONTRIBUTION_TIERS).find(
(tier) => tier.helcimPlanId === helcimPlanId,
);
};
// Get paid tiers only (excluding free tier)
export const getPaidContributionTiers = () => {
return Object.values(CONTRIBUTION_TIERS).filter(tier => tier.amount > 0);
return Object.values(CONTRIBUTION_TIERS).filter((tier) => tier.amount > 0);
};