- Landing page with hero, feature grid, trust signals - Split-layout login redesign (admin + portal) - Pricing page with storage tiers (5GB/50GB/unlimited) - StorageQuotaService backend (V36 migration, 402 on exceeded) - Frontend storage integration + 402 error handling - StorageController uses TenantContext for tenant isolation - onTierChange() hook for subscription tier updates
This commit is contained in:
@@ -44,7 +44,8 @@
|
||||
"emailInvalid": "Please enter a valid email address.",
|
||||
"passwordRequired": "Please enter your password.",
|
||||
"passwordTooShort": "Password must be at least 8 characters.",
|
||||
"footerText": "Secure management for your cannabis cultivation club"
|
||||
"footerText": "Secure management for your cannabis cultivation club",
|
||||
"loginTitle": "Sign In"
|
||||
},
|
||||
"dashboard": {
|
||||
"title": "Dashboard",
|
||||
@@ -668,6 +669,18 @@
|
||||
"starter": "Email",
|
||||
"pro": "Priority",
|
||||
"enterprise": "Dedicated"
|
||||
},
|
||||
"compStorage": {
|
||||
"label": "Storage",
|
||||
"starter": "5 GB",
|
||||
"pro": "50 GB",
|
||||
"enterprise": "Custom"
|
||||
},
|
||||
"compOverage": {
|
||||
"label": "Overage",
|
||||
"starter": "Upgrade required",
|
||||
"pro": "€0.15/GB/mo",
|
||||
"enterprise": "—"
|
||||
}
|
||||
},
|
||||
"faq": {
|
||||
@@ -690,7 +703,29 @@
|
||||
"migration": {
|
||||
"question": "Can I switch plans later?",
|
||||
"answer": "Yes, you can switch between Starter and Pro at any time. Upgrades take effect immediately, downgrades at the next billing period."
|
||||
},
|
||||
"storage": {
|
||||
"question": "What happens when my storage is full?",
|
||||
"answer": "On the Starter plan, you can upgrade to Pro. On the Pro plan, additional storage is billed at €0.15/GB/month. Enterprise customers have custom storage agreements."
|
||||
}
|
||||
},
|
||||
"storage": {
|
||||
"starter": "5 GB Storage",
|
||||
"pro": "50 GB Storage",
|
||||
"proOverage": "(then €0.15/GB/month)",
|
||||
"enterprise": "Custom Storage",
|
||||
"comparisonTitle": "Feature Comparison",
|
||||
"featureMembers": "Members",
|
||||
"featureStorage": "Storage",
|
||||
"featureOverage": "Overage",
|
||||
"featureGrow": "Grow Calendar",
|
||||
"featureApi": "API Access",
|
||||
"featureMultiClub": "Multi-Club",
|
||||
"overageUpgrade": "Upgrade required",
|
||||
"overagePro": "€0.15/GB/mo",
|
||||
"overageEnterprise": "—",
|
||||
"unlimited": "Unlimited",
|
||||
"custom": "Custom"
|
||||
}
|
||||
},
|
||||
"impressum": {
|
||||
@@ -753,6 +788,46 @@
|
||||
"s9Content": "The provider processes personal data in accordance with the privacy policy and GDPR provisions. Where the provider processes data on behalf of the user, a separate data processing agreement is concluded.",
|
||||
"s10Title": "§ 10 Final Provisions",
|
||||
"s10Content": "The law of the Federal Republic of Germany applies. The place of jurisdiction is, to the extent legally permissible, the registered office of the provider. Should individual provisions of these terms be invalid, the validity of the remaining provisions remains unaffected. Changes to these terms will be communicated to the user in good time."
|
||||
},
|
||||
"home": {
|
||||
"heroTitle": "The Smart Management for Your Cannabis Club",
|
||||
"heroSubtitle": "Compliance, growing, members and distributions — all in one platform. Legally compliant under KCanG.",
|
||||
"ctaPrimary": "View Pricing",
|
||||
"ctaSecondary": "Sign In",
|
||||
"featuresTitle": "Everything Your Club Needs",
|
||||
"featuresSubtitle": "From member management to regulatory reporting — CannaManage covers all aspects of your club operations.",
|
||||
"feature1Title": "Compliance Tracking",
|
||||
"feature1Desc": "Automatic monitoring of KCanG requirements with deadlines and checklists.",
|
||||
"feature2Title": "Grow Management",
|
||||
"feature2Desc": "Growing calendar, growth phases and sensor integration.",
|
||||
"feature3Title": "Member Portal",
|
||||
"feature3Desc": "Self-service for members: profile, distribution history, documents.",
|
||||
"feature4Title": "Distribution Quotas",
|
||||
"feature4Desc": "Automatic enforcement of 25g/day and 50g/month limits.",
|
||||
"feature5Title": "Document Archive",
|
||||
"feature5Desc": "GoBD-compliant storage with retention periods and versioning.",
|
||||
"feature6Title": "Financial Management",
|
||||
"feature6Desc": "Membership fees, SEPA export and bank import.",
|
||||
"trustTitle": "Trust Through Compliance",
|
||||
"trustCanverg": "CanVerG compliant",
|
||||
"trustDsgvo": "GDPR & GoBD",
|
||||
"trustEncryption": "TLS encrypted",
|
||||
"trustGerman": "Hosted in Germany",
|
||||
"ctaFinalTitle": "Ready for the Next Step?",
|
||||
"ctaFinalSubtitle": "Start with CannaManage now and take your club to the next level.",
|
||||
"ctaFinalButton": "Try for Free"
|
||||
},
|
||||
"nav": {
|
||||
"features": "Features",
|
||||
"pricing": "Pricing",
|
||||
"login": "Sign In",
|
||||
"footerTagline": "The secure management software for cannabis cultivation clubs in Germany.",
|
||||
"footerProduct": "Product",
|
||||
"footerLegal": "Legal",
|
||||
"impressum": "Imprint",
|
||||
"datenschutz": "Privacy Policy",
|
||||
"agb": "Terms",
|
||||
"allRightsReserved": "All rights reserved."
|
||||
}
|
||||
},
|
||||
"infoBoard": {
|
||||
@@ -1219,4 +1294,4 @@
|
||||
"size": "Size"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user