Policies section New settings: two new dropdowns are under Policies in Manage Business: Name shown on Terms & Privacy: NextChair, My business name, or NextChair and my business name. Contact email on Terms & Privacy: NextChair (info@next-chair.co.uk) or My business email. Fallbacks: both default to NextChair. If you pick the business email but haven’t set one, the form warns you and the pages fall back to the NextChair address. Where the name appears: the choice changes the name in the header link, footer, “we/us” definition, privacy controller line and intro on both pages. Business email: it replaces the address in the complaints section and the privacy contact lines. Database change: this needed a new migration, 20261017120000_add_legal_display_settings. Existing businesses default to NextChair, so nothing changes for them. Run prisma migrate deploy on your server. Terms and placeholders Sections 15 (Governing law) and 16 (Contact us) are removed from terms/page.tsx, so the Terms now have 14 sections. The [LEGAL ENTITY NAME] and [REGISTERED ADDRESS] placeholders are gone, along with the unused governing-law setting. The contact email is now info@next-chair.co.uk in legal-config.ts. Login page sign-in-form.tsx now shows “By continuing, you agree to our Terms of Service and Privacy Policy”, with both as links.
This commit is contained in:
14 files changed
+707
-482
No files matched your search
@@ -0,0 +1,3 @@
|
||||
-- AlterTable
|
||||
ALTER TABLE `BusinessSettings` ADD COLUMN `legalContactEmail` ENUM('NEXTCHAIR', 'BUSINESS') NOT NULL DEFAULT 'NEXTCHAIR',
|
||||
ADD COLUMN `legalNameDisplay` ENUM('NEXTCHAIR', 'BUSINESS', 'BOTH') NOT NULL DEFAULT 'NEXTCHAIR';
|
||||
@@ -223,6 +223,17 @@ enum CalendarProvider {
|
||||
GOOGLE
|
||||
}
|
||||
|
||||
enum LegalNameDisplay {
|
||||
NEXTCHAIR
|
||||
BUSINESS
|
||||
BOTH
|
||||
}
|
||||
|
||||
enum LegalContactEmail {
|
||||
NEXTCHAIR
|
||||
BUSINESS
|
||||
}
|
||||
|
||||
/// Per-appointment sync outcome, not the connection's overall health (see
|
||||
/// StaffCalendarConnection.lastSyncError for that).
|
||||
enum CalendarSyncStatus {
|
||||
@@ -403,6 +414,14 @@ model BusinessSettings {
|
||||
bookingTerms String? @db.Text
|
||||
privacyPolicyUrl String?
|
||||
|
||||
/// Who the public Terms of Service / Privacy Policy pages name as "we" —
|
||||
/// see src/features/legal/legal-identity.ts. NEXTCHAIR is the default so
|
||||
/// existing businesses keep today's wording.
|
||||
legalNameDisplay LegalNameDisplay @default(NEXTCHAIR)
|
||||
/// Which inbox those pages give for legal/privacy requests. BUSINESS uses
|
||||
/// Business.email and falls back to NextChair's when that is empty.
|
||||
legalContactEmail LegalContactEmail @default(NEXTCHAIR)
|
||||
|
||||
/// Phase 9 — Google reviews visibility policy, applied on top of the
|
||||
/// per-review Review.isHidden flag. Null minRating = no floor.
|
||||
reviewsMinRating Int?
|
||||
|
||||
Reference in new issue
Block a user