import type { Config } from "./types"; export const config = { appName: "Your 2025 Hugging Face Wrapped", // Internationalization i18n: { // Whether internationalization should be enabled (if disabled, you still need to define the locale you want to use below and set it as the default locale) enabled: true, // Define all locales here that should be available in the app // You need to define a label that is shown in the language selector and a currency that should be used for pricing with this locale locales: { en: { currency: "USD", label: "English", }, de: { currency: "USD", label: "Deutsch", }, }, // The default locale is used if no locale is provided defaultLocale: "en", // The default currency is used for pricing if no currency is provided defaultCurrency: "USD", // The name of the cookie that is used to determine the locale localeCookieName: "NEXT_LOCALE", }, // Organizations organizations: { // Whether organizations are enabled in general enable: false, // Whether billing for organizations should be enabled (below you can enable it for users instead) enableBilling: false, // Whether the organization should be hidden from the user (use this for multi-tenant applications) hideOrganization: false, // Should users be able to create new organizations? Otherwise only admin users can create them enableUsersToCreateOrganizations: true, // Whether users should be required to be in an organization. This will redirect users to the organization page after sign in requireOrganization: false, // Define forbidden organization slugs. Make sure to add all paths that you define as a route after /app/... to avoid routing issues forbiddenOrganizationSlugs: [ "new-organization", "admin", "settings", "ai-demo", "organization-invitation", ], }, // Users users: { // Whether billing should be enabled for users (above you can enable it for organizations instead) enableBilling: false, // Whether you want the user to go through an onboarding form after signup (can be defined in the OnboardingForm.tsx) enableOnboarding: false, }, // Authentication auth: { // Whether users should be able to create accounts (otherwise users can only be by admins) enableSignup: false, // Whether users should be able to sign in with a magic link enableMagicLink: false, // Whether users should be able to sign in with a social provider enableSocialLogin: false, // Whether users should be able to sign in with a passkey enablePasskeys: false, // Whether users should be able to sign in with a password enablePasswordLogin: false, // Whether users should be activate two factor authentication enableTwoFactor: false, // where users should be redirected after the sign in redirectAfterSignIn: "/app", // where users should be redirected after logout redirectAfterLogout: "/", // how long a session should be valid sessionCookieMaxAge: 60 * 60 * 24 * 30, }, // Mails mails: { // the from address for mails from: "noreply@example.com", }, // Frontend ui: { // the themes that should be available in the app enabledThemes: ["light", "dark"], // the default theme defaultTheme: "dark", // the saas part of the application saas: { // whether the saas part should be enabled (otherwise all routes will be redirect to the marketing page) enabled: false, // whether the sidebar layout should be used useSidebarLayout: true, }, // the marketing part of the application marketing: { // whether the marketing features should be enabled (otherwise all routes will be redirect to the saas part) enabled: true, }, }, // Storage storage: { // define the name of the buckets for the different types of files bucketNames: { avatars: "avatars", }, }, contactForm: { // whether the contact form should be enabled enabled: false, // the email to which the contact form messages should be sent to: "hello@example.com", // the subject of the email subject: "Contact form message", }, // Payments payments: { // define the products that should be available in the checkout plans: { // The free plan is treated differently. It will automatically be assigned if the user has no other plan. free: { isFree: true, }, pro: { recommended: true, prices: [ { type: "recurring", productId: process.env .NEXT_PUBLIC_PRICE_ID_PRO_MONTHLY as string, interval: "month", amount: 29, currency: "USD", seatBased: true, trialPeriodDays: 7, }, { type: "recurring", productId: process.env .NEXT_PUBLIC_PRICE_ID_PRO_YEARLY as string, interval: "year", amount: 290, currency: "USD", seatBased: true, trialPeriodDays: 7, }, ], }, lifetime: { prices: [ { type: "one-time", productId: process.env .NEXT_PUBLIC_PRICE_ID_LIFETIME as string, amount: 799, currency: "USD", }, ], }, enterprise: { isEnterprise: true, }, }, }, } as const satisfies Config; export type { Config };