feat: use faster senja

This commit is contained in:
Rotimi Best
2024-04-21 00:28:53 +01:00
parent a43ea5e55a
commit 00e7352b49
25 changed files with 96 additions and 88 deletions
+43
View File
@@ -0,0 +1,43 @@
export const PLAN = {
BASIC: 'BASIC',
EARLY_ADOPTER: 'EARLY_ADOPTER',
ENTERPRISE: 'ENTERPRISE'
};
export const PLAN_NAMES = {
[PLAN.BASIC]: 'Free',
[PLAN.EARLY_ADOPTER]: 'Early Adopter',
[PLAN.ENTERPRISE]: 'Enterprise',
}
export const FEATURES = {
BACIC_STUDENTS_50: 'BACIC_STUDENTS_50',
EA_STUDENTS_10000: 'EA_STUDENTS_10000',
EA_VIDEO_UPLOAD: 'EA_VIDEO_UPLOAD',
EA_CERTIFICATE: 'EA_CERTIFICATE',
EA_UPCOMING_FEATURES: 'EA_UPCOMING_FEATURES',
ENTERPRISE_STUDENTS_UNLIMITED: 'ENTERPRISE_STUDENTS_UNLIMITED',
ENTERPRISE_CUSTOM_DOMAIN: 'ENTERPRISE_CUSTOM_DOMAIN'
};
export const BASIC_FEATURES = [FEATURES.BACIC_STUDENTS_50];
export const EARYL_ADOPTER_FEATURES = [
...BASIC_FEATURES,
FEATURES.EA_STUDENTS_10000,
FEATURES.EA_VIDEO_UPLOAD,
FEATURES.EA_CERTIFICATE,
FEATURES.EA_UPCOMING_FEATURES
];
export const ENTERPRISE_FEATURES = [
...EARYL_ADOPTER_FEATURES,
FEATURES.ENTERPRISE_STUDENTS_UNLIMITED,
FEATURES.ENTERPRISE_CUSTOM_DOMAIN
];
export const PLANS_BY_FEATURE = {
[PLAN.BASIC]: BASIC_FEATURES,
[PLAN.EARLY_ADOPTER]: EARYL_ADOPTER_FEATURES,
[PLAN.ENTERPRISE]: ENTERPRISE_FEATURES
};
+75
View File
@@ -0,0 +1,75 @@
{
"BASIC": {
"NAME": "Basic",
"DESCRIPTION": "Free tier plan for personal use, no credit card required.",
"PRICE": {
"CURRENCY": "$",
"MONTHLY": "0",
"YEARLY": "0",
"IS_PREMIUM": false
},
"FEATURES": [
"Unlimited Courses",
"Unlimited Q/A",
"50 Students",
"AI Course Builder (no video upload)",
"Live chat & polls"
],
"CTA": {
"LABEL": "Signup Now",
"LINK": "/signup?plan=free",
"DASHBOARD_LABEL": "Downgrade",
"DASHBOARD_LINK": "#disabled",
"IS_DISABLED": true
}
},
"EARLY_ADOPTER": {
"NAME": "Early Adopters",
"DESCRIPTION": "For fast growing teaching businesses that aim to scale.",
"PRICE": {
"CURRENCY": "$",
"MONTHLY": "35",
"YEARLY": "350",
"IS_PREMIUM": false
},
"FEATURES": [
"Everything in Basic",
"Unlimted Teachers",
"10K Students",
"Advanced AI Course Builder (Video upload & Certificate)",
"Custom Branding",
"Includes all Upcoming Features"
],
"CTA": {
"LABEL": "I want in 😍",
"LINK": "/signup?plan=early-adopter",
"DASHBOARD_LABEL": "Support us 😍",
"DASHBOARD_LINK": "",
"IS_DISABLED": false,
"PRODUCT_ID": "331121"
}
},
"ENTERPRISE": {
"NAME": "Enterprise",
"DESCRIPTION": "Best suited for larger businesses that need more control",
"PRICE": {
"CURRENCY": "",
"MONTHLY": "Request Pricing",
"YEARLY": "Request Pricing",
"IS_PREMIUM": true
},
"FEATURES": [
"Everything in Early Adopters plus:",
"Unlimited students",
"Custom Domain",
"24/7 Support"
],
"CTA": {
"LABEL": "Contact Us",
"LINK": "https://cal.com/classroomio/enterprise",
"DASHBOARD_LABEL": "Contact Us",
"DASHBOARD_LINK": "https://cal.com/classroomio/enterprise",
"IS_DISABLED": false
}
}
}
View File
+7
View File
@@ -0,0 +1,7 @@
import { PLANS_BY_FEATURE } from './constants';
export function hasFeature(featureName: string, userPlan: string) {
const features = PLANS_BY_FEATURE[userPlan];
return features.includes(featureName);
}
+8
View File
@@ -0,0 +1,8 @@
export function embedSenjaWidget(widgetId: string) {
const s = document.createElement('script');
s.setAttribute('src', `https://widget.senja.io/widget/${widgetId}/platform.js`);
s.setAttribute('type', 'text/javascript');
document.head.appendChild(s);
}