@donotdev/cli 0.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE.md +48 -0
- package/README.md +291 -0
- package/dependencies-matrix.json +694 -0
- package/dist/bin/commands/build.d.ts +11 -0
- package/dist/bin/commands/build.d.ts.map +1 -0
- package/dist/bin/commands/build.js +8162 -0
- package/dist/bin/commands/build.js.map +1 -0
- package/dist/bin/commands/bump.d.ts +11 -0
- package/dist/bin/commands/bump.d.ts.map +1 -0
- package/dist/bin/commands/bump.js +8004 -0
- package/dist/bin/commands/bump.js.map +1 -0
- package/dist/bin/commands/cacheout.d.ts +11 -0
- package/dist/bin/commands/cacheout.d.ts.map +1 -0
- package/dist/bin/commands/cacheout.js +7630 -0
- package/dist/bin/commands/cacheout.js.map +1 -0
- package/dist/bin/commands/create-app.d.ts +11 -0
- package/dist/bin/commands/create-app.d.ts.map +1 -0
- package/dist/bin/commands/create-app.js +9032 -0
- package/dist/bin/commands/create-app.js.map +1 -0
- package/dist/bin/commands/create-project.d.ts +11 -0
- package/dist/bin/commands/create-project.d.ts.map +1 -0
- package/dist/bin/commands/create-project.js +9643 -0
- package/dist/bin/commands/create-project.js.map +1 -0
- package/dist/bin/commands/deploy.d.ts +11 -0
- package/dist/bin/commands/deploy.d.ts.map +1 -0
- package/dist/bin/commands/deploy.js +9007 -0
- package/dist/bin/commands/deploy.js.map +1 -0
- package/dist/bin/commands/dev.d.ts +11 -0
- package/dist/bin/commands/dev.d.ts.map +1 -0
- package/dist/bin/commands/dev.js +7892 -0
- package/dist/bin/commands/dev.js.map +1 -0
- package/dist/bin/commands/emu.d.ts +11 -0
- package/dist/bin/commands/emu.d.ts.map +1 -0
- package/dist/bin/commands/emu.js +8302 -0
- package/dist/bin/commands/emu.js.map +1 -0
- package/dist/bin/commands/format.d.ts +11 -0
- package/dist/bin/commands/format.d.ts.map +1 -0
- package/dist/bin/commands/format.js +8009 -0
- package/dist/bin/commands/format.js.map +1 -0
- package/dist/bin/commands/lint.d.ts +11 -0
- package/dist/bin/commands/lint.d.ts.map +1 -0
- package/dist/bin/commands/lint.js +7481 -0
- package/dist/bin/commands/lint.js.map +1 -0
- package/dist/bin/commands/preview.d.ts +11 -0
- package/dist/bin/commands/preview.d.ts.map +1 -0
- package/dist/bin/commands/preview.js +7909 -0
- package/dist/bin/commands/preview.js.map +1 -0
- package/dist/bin/commands/sync-secrets.d.ts +11 -0
- package/dist/bin/commands/sync-secrets.d.ts.map +1 -0
- package/dist/bin/commands/sync-secrets.js +8227 -0
- package/dist/bin/commands/sync-secrets.js.map +1 -0
- package/dist/bin/dndev.js +222 -0
- package/dist/bin/donotdev.js +222 -0
- package/dist/index.d.ts +8 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +12820 -0
- package/dist/index.js.map +1 -0
- package/package.json +71 -0
- package/templates/app-demo/index.html.example +20 -0
- package/templates/app-demo/public/favicon.ico.example +0 -0
- package/templates/app-demo/public/fonts/Roboto-400-cyrillic-ext.woff2.example +0 -0
- package/templates/app-demo/public/fonts/Roboto-400-cyrillic.woff2.example +0 -0
- package/templates/app-demo/public/fonts/Roboto-400-greek-ext.woff2.example +0 -0
- package/templates/app-demo/public/fonts/Roboto-400-greek.woff2.example +0 -0
- package/templates/app-demo/public/fonts/Roboto-400-latin-ext.woff2.example +0 -0
- package/templates/app-demo/public/fonts/Roboto-400-latin.woff2.example +0 -0
- package/templates/app-demo/public/fonts/Roboto-400-vietnamese.woff2.example +0 -0
- package/templates/app-demo/public/fonts/Roboto-700-cyrillic-ext.woff2.example +0 -0
- package/templates/app-demo/public/fonts/Roboto-700-cyrillic.woff2.example +0 -0
- package/templates/app-demo/public/fonts/Roboto-700-greek-ext.woff2.example +0 -0
- package/templates/app-demo/public/fonts/Roboto-700-greek.woff2.example +0 -0
- package/templates/app-demo/public/fonts/Roboto-700-latin-ext.woff2.example +0 -0
- package/templates/app-demo/public/fonts/Roboto-700-latin.woff2.example +0 -0
- package/templates/app-demo/public/fonts/Roboto-700-vietnamese.woff2.example +0 -0
- package/templates/app-demo/public/fonts/fonts.css.example +144 -0
- package/templates/app-demo/public/logo.png.example +0 -0
- package/templates/app-demo/public/logo.svg.example +1 -0
- package/templates/app-demo/public/manifest.json.example +10 -0
- package/templates/app-demo/src/App.tsx.example +17 -0
- package/templates/app-demo/src/Routes.tsx.example +20 -0
- package/templates/app-demo/src/components/ThemeToggle.tsx.example +48 -0
- package/templates/app-demo/src/globals.css.example +4 -0
- package/templates/app-demo/src/main.tsx.example +27 -0
- package/templates/app-demo/src/pages/DetailPage.tsx.example +103 -0
- package/templates/app-demo/src/pages/FullPage.tsx.example +142 -0
- package/templates/app-demo/src/pages/HomePage.tsx.example +79 -0
- package/templates/app-demo/src/pages/components/ComponentRenderer.tsx.example +511 -0
- package/templates/app-demo/src/pages/components/ComponentsData.tsx.example +152 -0
- package/templates/app-demo/src/pages/components/DemoLayout.tsx.example +266 -0
- package/templates/app-demo/src/pages/components/LayoutRoute.tsx.example +20 -0
- package/templates/app-demo/src/pages/components/componentConfig.ts.example +921 -0
- package/templates/app-demo/src/themes.css.example +179 -0
- package/templates/app-demo/tsconfig.json.example +9 -0
- package/templates/app-demo/vite.config.ts.example +53 -0
- package/templates/app-next/.env.example +92 -0
- package/templates/app-next/next.config.ts.example +8 -0
- package/templates/app-next/postcss.config.js.example +58 -0
- package/templates/app-next/service-account-key.json.example +2 -0
- package/templates/app-next/src/app/ClientLayout.tsx.example +39 -0
- package/templates/app-next/src/app/layout.tsx.example +52 -0
- package/templates/app-next/src/app/not-found.tsx.example +21 -0
- package/templates/app-next/src/config/app.ts.example +75 -0
- package/templates/app-next/src/config/legal.ts.example +170 -0
- package/templates/app-next/src/globals.css.example +15 -0
- package/templates/app-next/src/locales/dndev_en.json.example +516 -0
- package/templates/app-next/src/pages/HomePage.tsx.example +20 -0
- package/templates/app-next/src/pages/legal/LegalNoticePage.tsx.example +75 -0
- package/templates/app-next/src/pages/legal/PrivacyPage.tsx.example +69 -0
- package/templates/app-next/src/pages/legal/TermsPage.tsx.example +71 -0
- package/templates/app-next/src/themes.css.example +179 -0
- package/templates/app-next/tsconfig.json.example +11 -0
- package/templates/app-payload/.env.example +28 -0
- package/templates/app-payload/README.md.example +233 -0
- package/templates/app-payload/collections/Company.ts.example +125 -0
- package/templates/app-payload/collections/Hero.ts.example +62 -0
- package/templates/app-payload/collections/Media.ts.example +41 -0
- package/templates/app-payload/collections/Products.ts.example +115 -0
- package/templates/app-payload/collections/Services.ts.example +104 -0
- package/templates/app-payload/collections/Testimonials.ts.example +92 -0
- package/templates/app-payload/collections/Users.ts.example +35 -0
- package/templates/app-payload/src/server.ts.example +79 -0
- package/templates/app-payload/tsconfig.json.example +24 -0
- package/templates/app-vite/.env.example +77 -0
- package/templates/app-vite/index.html.example +127 -0
- package/templates/app-vite/service-account-key.json.example +2 -0
- package/templates/app-vite/src/App.tsx.example +39 -0
- package/templates/app-vite/src/Routes.tsx.example +16 -0
- package/templates/app-vite/src/config/app.ts.example +75 -0
- package/templates/app-vite/src/config/legal.ts.example +170 -0
- package/templates/app-vite/src/globals.css.example +11 -0
- package/templates/app-vite/src/locales/dndev_en.json.example +516 -0
- package/templates/app-vite/src/main.tsx.example +21 -0
- package/templates/app-vite/src/pages/HomePage.tsx.example +22 -0
- package/templates/app-vite/src/pages/NotFoundPage.tsx.example +33 -0
- package/templates/app-vite/src/pages/legal/LegalNoticePage.tsx.example +75 -0
- package/templates/app-vite/src/pages/legal/PrivacyPage.tsx.example +69 -0
- package/templates/app-vite/src/pages/legal/TermsPage.tsx.example +71 -0
- package/templates/app-vite/src/pages/locales/README.md.example +1 -0
- package/templates/app-vite/src/pages/locales/example_en.json.example +5 -0
- package/templates/app-vite/src/themes.css.example +179 -0
- package/templates/app-vite/tsconfig.json.example +9 -0
- package/templates/app-vite/vite.config.ts.example +9 -0
- package/templates/functions-firebase/README.md.example +129 -0
- package/templates/functions-firebase/build.mjs.example +52 -0
- package/templates/functions-firebase/functions-firebase/.env.example.example +45 -0
- package/templates/functions-firebase/functions-firebase/README.md.example +123 -0
- package/templates/functions-firebase/functions-firebase/build.mjs.example +52 -0
- package/templates/functions-firebase/functions-firebase/src/auth/getCustomClaims.ts.example +19 -0
- package/templates/functions-firebase/functions-firebase/src/auth/getUserAuthStatus.ts.example +21 -0
- package/templates/functions-firebase/functions-firebase/src/auth/index.ts.example +11 -0
- package/templates/functions-firebase/functions-firebase/src/auth/removeCustomClaims.ts.example +21 -0
- package/templates/functions-firebase/functions-firebase/src/auth/setCustomClaims.ts.example +21 -0
- package/templates/functions-firebase/functions-firebase/src/billing/handleStripeWebhook.ts.example +24 -0
- package/templates/functions-firebase/functions-firebase/src/billing/index.ts.example +10 -0
- package/templates/functions-firebase/functions-firebase/src/billing/processPaymentSuccess.ts.example +14 -0
- package/templates/functions-firebase/functions-firebase/src/billing/refreshSubscriptionStatus.ts.example +14 -0
- package/templates/functions-firebase/functions-firebase/src/crud/createEntity.ts.example +19 -0
- package/templates/functions-firebase/functions-firebase/src/crud/deleteEntity.ts.example +14 -0
- package/templates/functions-firebase/functions-firebase/src/crud/getEntity.ts.example +14 -0
- package/templates/functions-firebase/functions-firebase/src/crud/index.ts.example +12 -0
- package/templates/functions-firebase/functions-firebase/src/crud/listEntities.ts.example +14 -0
- package/templates/functions-firebase/functions-firebase/src/crud/updateEntity.ts.example +14 -0
- package/templates/functions-firebase/functions-firebase/src/index.ts.example +45 -0
- package/templates/functions-firebase/functions-firebase/src/oauth/checkGitHubAccess.ts.example +14 -0
- package/templates/functions-firebase/functions-firebase/src/oauth/disconnect.ts.example +14 -0
- package/templates/functions-firebase/functions-firebase/src/oauth/exchangeToken.ts.example +14 -0
- package/templates/functions-firebase/functions-firebase/src/oauth/getConnections.ts.example +14 -0
- package/templates/functions-firebase/functions-firebase/src/oauth/grantGitHubAccess.ts.example +14 -0
- package/templates/functions-firebase/functions-firebase/src/oauth/index.ts.example +17 -0
- package/templates/functions-firebase/functions-firebase/src/oauth/refreshToken.ts.example +14 -0
- package/templates/functions-firebase/functions-firebase/src/oauth/revokeGitHubAccess.ts.example +14 -0
- package/templates/functions-firebase/functions-firebase/tsconfig.json.example +21 -0
- package/templates/functions-firebase/functions.yaml.example +14 -0
- package/templates/functions-firebase/src/auth/getCustomClaims.ts.example +19 -0
- package/templates/functions-firebase/src/auth/getUserAuthStatus.ts.example +21 -0
- package/templates/functions-firebase/src/auth/index.ts.example +11 -0
- package/templates/functions-firebase/src/auth/removeCustomClaims.ts.example +21 -0
- package/templates/functions-firebase/src/auth/setCustomClaims.ts.example +21 -0
- package/templates/functions-firebase/src/billing/handleStripeWebhook.ts.example +24 -0
- package/templates/functions-firebase/src/billing/index.ts.example +10 -0
- package/templates/functions-firebase/src/billing/processPaymentSuccess.ts.example +14 -0
- package/templates/functions-firebase/src/billing/refreshSubscriptionStatus.ts.example +14 -0
- package/templates/functions-firebase/src/crud/createEntity.ts.example +19 -0
- package/templates/functions-firebase/src/crud/deleteEntity.ts.example +14 -0
- package/templates/functions-firebase/src/crud/getEntity.ts.example +14 -0
- package/templates/functions-firebase/src/crud/index.ts.example +12 -0
- package/templates/functions-firebase/src/crud/listEntities.ts.example +14 -0
- package/templates/functions-firebase/src/crud/updateEntity.ts.example +14 -0
- package/templates/functions-firebase/src/index.ts.example +45 -0
- package/templates/functions-firebase/src/oauth/checkGitHubAccess.ts.example +14 -0
- package/templates/functions-firebase/src/oauth/disconnect.ts.example +14 -0
- package/templates/functions-firebase/src/oauth/exchangeToken.ts.example +14 -0
- package/templates/functions-firebase/src/oauth/getConnections.ts.example +14 -0
- package/templates/functions-firebase/src/oauth/grantGitHubAccess.ts.example +14 -0
- package/templates/functions-firebase/src/oauth/index.ts.example +17 -0
- package/templates/functions-firebase/src/oauth/refreshToken.ts.example +14 -0
- package/templates/functions-firebase/src/oauth/revokeGitHubAccess.ts.example +14 -0
- package/templates/functions-firebase/tsconfig.json.example +24 -0
- package/templates/functions-vercel/README.md.example +116 -0
- package/templates/functions-vercel/build.mjs.example +52 -0
- package/templates/functions-vercel/functions-vercel/.env.example.example +37 -0
- package/templates/functions-vercel/functions-vercel/README.md.example +116 -0
- package/templates/functions-vercel/functions-vercel/build.mjs.example +52 -0
- package/templates/functions-vercel/functions-vercel/src/api/auth/getCustomClaims.ts.example +20 -0
- package/templates/functions-vercel/functions-vercel/src/api/auth/getUserAuthStatus.ts.example +20 -0
- package/templates/functions-vercel/functions-vercel/src/api/auth/removeCustomClaims.ts.example +20 -0
- package/templates/functions-vercel/functions-vercel/src/api/auth/setCustomClaims.ts.example +20 -0
- package/templates/functions-vercel/functions-vercel/src/api/billing/handleStripeWebhook.ts.example +20 -0
- package/templates/functions-vercel/functions-vercel/src/api/billing/processPaymentSuccess.ts.example +20 -0
- package/templates/functions-vercel/functions-vercel/src/api/billing/refreshSubscriptionStatus.ts.example +20 -0
- package/templates/functions-vercel/functions-vercel/src/api/crud/createEntity.ts.example +20 -0
- package/templates/functions-vercel/functions-vercel/src/api/crud/deleteEntity.ts.example +20 -0
- package/templates/functions-vercel/functions-vercel/src/api/crud/getEntity.ts.example +20 -0
- package/templates/functions-vercel/functions-vercel/src/api/crud/listEntities.ts.example +20 -0
- package/templates/functions-vercel/functions-vercel/src/api/crud/updateEntity.ts.example +20 -0
- package/templates/functions-vercel/functions-vercel/src/api/oauth/checkGitHubAccess.ts.example +20 -0
- package/templates/functions-vercel/functions-vercel/src/api/oauth/disconnect.ts.example +20 -0
- package/templates/functions-vercel/functions-vercel/src/api/oauth/exchangeToken.ts.example +20 -0
- package/templates/functions-vercel/functions-vercel/src/api/oauth/getConnections.ts.example +20 -0
- package/templates/functions-vercel/functions-vercel/src/api/oauth/grantGitHubAccess.ts.example +20 -0
- package/templates/functions-vercel/functions-vercel/src/api/oauth/refreshToken.ts.example +20 -0
- package/templates/functions-vercel/functions-vercel/src/api/oauth/revokeGitHubAccess.ts.example +20 -0
- package/templates/functions-vercel/functions-vercel/tsconfig.json.example +21 -0
- package/templates/functions-vercel/functions-vercel/vercel.json.example +14 -0
- package/templates/functions-vercel/src/api/auth/getCustomClaims.ts.example +20 -0
- package/templates/functions-vercel/src/api/auth/getUserAuthStatus.ts.example +20 -0
- package/templates/functions-vercel/src/api/auth/removeCustomClaims.ts.example +20 -0
- package/templates/functions-vercel/src/api/auth/setCustomClaims.ts.example +20 -0
- package/templates/functions-vercel/src/api/billing/handleStripeWebhook.ts.example +20 -0
- package/templates/functions-vercel/src/api/billing/processPaymentSuccess.ts.example +20 -0
- package/templates/functions-vercel/src/api/billing/refreshSubscriptionStatus.ts.example +20 -0
- package/templates/functions-vercel/src/api/crud/createEntity.ts.example +20 -0
- package/templates/functions-vercel/src/api/crud/deleteEntity.ts.example +20 -0
- package/templates/functions-vercel/src/api/crud/getEntity.ts.example +20 -0
- package/templates/functions-vercel/src/api/crud/listEntities.ts.example +20 -0
- package/templates/functions-vercel/src/api/crud/updateEntity.ts.example +20 -0
- package/templates/functions-vercel/src/api/oauth/checkGitHubAccess.ts.example +20 -0
- package/templates/functions-vercel/src/api/oauth/disconnect.ts.example +20 -0
- package/templates/functions-vercel/src/api/oauth/exchangeToken.ts.example +20 -0
- package/templates/functions-vercel/src/api/oauth/getConnections.ts.example +20 -0
- package/templates/functions-vercel/src/api/oauth/grantGitHubAccess.ts.example +20 -0
- package/templates/functions-vercel/src/api/oauth/refreshToken.ts.example +20 -0
- package/templates/functions-vercel/src/api/oauth/revokeGitHubAccess.ts.example +20 -0
- package/templates/functions-vercel/tsconfig.json.example +24 -0
- package/templates/functions-vercel/vercel.json.example +14 -0
- package/templates/github/github/workflows/firebase-deploy.yml.example +79 -0
- package/templates/github/workflows/firebase-deploy.yml.example +79 -0
- package/templates/root-consumer/.env.example +19 -0
- package/templates/root-consumer/.gitignore.example +82 -0
- package/templates/root-consumer/.prettierrc.cjs.example +12 -0
- package/templates/root-consumer/CLAUDE.md.example +73 -0
- package/templates/root-consumer/README.md.example +295 -0
- package/templates/root-consumer/bunfig.toml.example +68 -0
- package/templates/root-consumer/eslint.config.js.example +336 -0
- package/templates/root-consumer/firebase.json.example +348 -0
- package/templates/root-consumer/guides/AGENT_START_HERE.md.example +98 -0
- package/templates/root-consumer/guides/APP_CHECK_SETUP.md.example +111 -0
- package/templates/root-consumer/guides/AUTH_SETUP.md.example +92 -0
- package/templates/root-consumer/guides/BILLING_SETUP.md.example +120 -0
- package/templates/root-consumer/guides/CLI.md.example +293 -0
- package/templates/root-consumer/guides/COMPONENTS.md.example +875 -0
- package/templates/root-consumer/guides/CONFIG_SETUP.md.example +132 -0
- package/templates/root-consumer/guides/EMULATOR_SETUP.md.example +48 -0
- package/templates/root-consumer/guides/FEATURES.md.example +286 -0
- package/templates/root-consumer/guides/FRAMEWORK_OVERVIEW.md.example +97 -0
- package/templates/root-consumer/guides/FUNCTIONS.md.example +177 -0
- package/templates/root-consumer/guides/GETTING_STARTED.md.example +451 -0
- package/templates/root-consumer/guides/HOW_TO_USE.md.example +296 -0
- package/templates/root-consumer/guides/I18N_SETUP.md.example +204 -0
- package/templates/root-consumer/guides/IMPORT_PATTERNS.md.example +79 -0
- package/templates/root-consumer/guides/INDEX.md.example +50 -0
- package/templates/root-consumer/guides/INSTALLATION.md.example +296 -0
- package/templates/root-consumer/guides/LAYOUTS.md.example +310 -0
- package/templates/root-consumer/guides/PAGES_SETUP.md.example +123 -0
- package/templates/root-consumer/guides/STYLING.md.example +273 -0
- package/templates/root-consumer/guides/THEMING_SETUP.md.example +119 -0
- package/templates/root-consumer/guides/VERSION_CONTROL.md.example +181 -0
- package/templates/root-consumer/tsconfig.functions.json.example +15 -0
- package/templates/root-consumer/tsconfig.json.example +18 -0
- package/templates/root-consumer/turbo.json.example +46 -0
- package/templates/root-consumer/vercel.json.example +124 -0
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Terms of Service Page
|
|
3
|
+
* @description Terms of service page using the reusable template
|
|
4
|
+
*
|
|
5
|
+
* @version 0.0.1
|
|
6
|
+
* @since 0.0.1
|
|
7
|
+
* @author AMBROISE PARK Consulting
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
import { FileText } from 'lucide-react';
|
|
11
|
+
|
|
12
|
+
import { type PageMeta } from '@donotdev/core';
|
|
13
|
+
import { TermsOfServiceTemplate } from '@donotdev/templates';
|
|
14
|
+
import { PageContainer } from '@donotdev/ui';
|
|
15
|
+
|
|
16
|
+
import { legalConfig } from '../../config/legal';
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* Terms page translation namespace
|
|
20
|
+
*
|
|
21
|
+
* @version 0.0.1
|
|
22
|
+
* @since 0.0.1
|
|
23
|
+
* @author AMBROISE PARK Consulting
|
|
24
|
+
*/
|
|
25
|
+
export const NAMESPACE = 'terms';
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* Terms page metadata configuration
|
|
29
|
+
*
|
|
30
|
+
* @version 0.0.1
|
|
31
|
+
* @since 0.0.1
|
|
32
|
+
* @author AMBROISE PARK Consulting
|
|
33
|
+
*/
|
|
34
|
+
export const meta: PageMeta = {
|
|
35
|
+
namespace: NAMESPACE,
|
|
36
|
+
icon: <FileText />,
|
|
37
|
+
hideFromMenu: true,
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* Terms of Service Page Component
|
|
42
|
+
*
|
|
43
|
+
* @version 0.0.1
|
|
44
|
+
* @since 0.0.1
|
|
45
|
+
* @author AMBROISE PARK Consulting
|
|
46
|
+
*
|
|
47
|
+
* Uses the reusable TermsOfServiceTemplate with centralized legal config
|
|
48
|
+
*/
|
|
49
|
+
function TermsPage() {
|
|
50
|
+
return (
|
|
51
|
+
<PageContainer>
|
|
52
|
+
<TermsOfServiceTemplate
|
|
53
|
+
companyName={legalConfig.company.name}
|
|
54
|
+
websiteUrl={legalConfig.website.url}
|
|
55
|
+
legalEmail={legalConfig.contact.email}
|
|
56
|
+
companyAddress={legalConfig.contact.address}
|
|
57
|
+
jurisdiction={legalConfig.jurisdiction.country}
|
|
58
|
+
arbitrationOrg={legalConfig.jurisdiction.arbitrationOrg}
|
|
59
|
+
arbitrationLocation={legalConfig.jurisdiction.arbitrationLocation}
|
|
60
|
+
sections={legalConfig.sections.terms}
|
|
61
|
+
contactInfo={{
|
|
62
|
+
supportEmail: legalConfig.contact.supportEmail,
|
|
63
|
+
}}
|
|
64
|
+
lastUpdated={legalConfig.lastUpdated?.terms}
|
|
65
|
+
/>
|
|
66
|
+
</PageContainer>
|
|
67
|
+
);
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
export default TermsPage;
|
|
71
|
+
|
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
/* src/themes.css */
|
|
2
|
+
|
|
3
|
+
/* ===========================
|
|
4
|
+
APP-WIDE SETTINGS
|
|
5
|
+
These apply to all themes - spacing, radius, shadows, routing animations
|
|
6
|
+
=========================== */
|
|
7
|
+
:root {
|
|
8
|
+
/* ===========================
|
|
9
|
+
ROUTING ANIMATIONS
|
|
10
|
+
Customize page transition animations
|
|
11
|
+
Pure CSS - zero JS overhead. Respects prefers-reduced-motion.
|
|
12
|
+
Override in themes.css: --routing-animation: slide; to change animation type
|
|
13
|
+
=========================== */
|
|
14
|
+
/* Single animation type (fade, slide, or none to disable) - app-wide */
|
|
15
|
+
/* --routing-animation: fade; */ /* fade | slide | none */
|
|
16
|
+
/* --routing-default-duration: var(--dur-normal); */ /* Animation duration */
|
|
17
|
+
|
|
18
|
+
/* Breakpoint-specific durations (all inherit from --routing-default-duration) */
|
|
19
|
+
/* --routing-mobile-duration: var(--routing-default-duration); */
|
|
20
|
+
/* --routing-tablet-duration: var(--routing-default-duration); */
|
|
21
|
+
/* --routing-desktop-duration: var(--routing-default-duration); */
|
|
22
|
+
/* --routing-wide-duration: var(--routing-default-duration); */
|
|
23
|
+
|
|
24
|
+
/* Examples: */
|
|
25
|
+
/* --routing-animation: slide; */ /* Use slide animation */
|
|
26
|
+
/* --routing-animation: none; */ /* Disable animations */
|
|
27
|
+
/* --routing-default-duration: 200ms; */ /* Faster animations */
|
|
28
|
+
|
|
29
|
+
/* ===========================
|
|
30
|
+
SPACING OVERRIDES
|
|
31
|
+
Customize spacing scale
|
|
32
|
+
=========================== */
|
|
33
|
+
/* --gap-sm: 0.5rem; */ /* 8px - tight spacing */
|
|
34
|
+
/* --gap-md: 1rem; */ /* 16px - medium spacing (default) */
|
|
35
|
+
/* --gap-lg: 2rem; */ /* 32px - large spacing */
|
|
36
|
+
|
|
37
|
+
/* ===========================
|
|
38
|
+
BORDER RADIUS OVERRIDES
|
|
39
|
+
Customize component corners
|
|
40
|
+
=========================== */
|
|
41
|
+
/* --radius-interactive: var(--radius-none); */ /* Buttons, links (default: square) */
|
|
42
|
+
/* --radius-surface: var(--radius-md); */ /* Cards, dialogs (default: 8px round) */
|
|
43
|
+
/* --radius-floating: var(--radius-none); */ /* Dropdowns, popovers (default: square) */
|
|
44
|
+
|
|
45
|
+
/* ===========================
|
|
46
|
+
SHADOW OVERRIDES
|
|
47
|
+
Customize elevation
|
|
48
|
+
=========================== */
|
|
49
|
+
/* --shadow-sm: ...; */ /* Small shadows */
|
|
50
|
+
/* --shadow-md: ...; */ /* Medium shadows (default) */
|
|
51
|
+
/* --shadow-xl: ...; */ /* Large shadows */
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
/* ===========================
|
|
55
|
+
LIGHT THEME (High Contrast Light)
|
|
56
|
+
Background: White
|
|
57
|
+
Foreground: Black
|
|
58
|
+
=========================== */
|
|
59
|
+
:root.light {
|
|
60
|
+
--theme-icon: 'Sun';
|
|
61
|
+
--theme-label: 'Light';
|
|
62
|
+
--theme-is-dark: 0;
|
|
63
|
+
|
|
64
|
+
/* ===========================
|
|
65
|
+
1. USER SETS - 5 BRAND COLORS
|
|
66
|
+
=========================== */
|
|
67
|
+
--foreground: #000000;
|
|
68
|
+
--background: #ffffff;
|
|
69
|
+
--primary: #00bcd4; /* Cyan */
|
|
70
|
+
--secondary: #047857; /* Emerald-700 - WCAG AA compliant (5.48:1 with white) */
|
|
71
|
+
--accent: #ff9800; /* Orange */
|
|
72
|
+
|
|
73
|
+
/* ===========================
|
|
74
|
+
2. FRAMEWORK DEFAULTS - STATUS COLORS
|
|
75
|
+
(Override if needed)
|
|
76
|
+
=========================== */
|
|
77
|
+
--success: #047857; /* Emerald-700 - WCAG AA compliant (5.48:1 with white) */
|
|
78
|
+
--warning: #f59e0b;
|
|
79
|
+
--destructive: #dc2626;
|
|
80
|
+
|
|
81
|
+
/* ===========================
|
|
82
|
+
3. AUTO-COMPUTED - SURFACES
|
|
83
|
+
(Plain sight computation for easy overriding)
|
|
84
|
+
=========================== */
|
|
85
|
+
--muted: color-mix(in oklab, var(--foreground) 5%, var(--background));
|
|
86
|
+
--muted-foreground: color-mix(in oklab, var(--foreground) 75%, transparent);
|
|
87
|
+
--border: color-mix(in oklab, var(--foreground) 15%, var(--background));
|
|
88
|
+
--input: var(--muted);
|
|
89
|
+
--ring: var(--primary);
|
|
90
|
+
|
|
91
|
+
--card: var(--background);
|
|
92
|
+
--card-foreground: var(--foreground);
|
|
93
|
+
--popover: var(--card);
|
|
94
|
+
--popover-foreground: var(--card-foreground);
|
|
95
|
+
--surface-1: var(--card);
|
|
96
|
+
|
|
97
|
+
/* ===========================
|
|
98
|
+
4. AUTO-COMPUTED - TEXT ON BRAND COLORS
|
|
99
|
+
(Mapped to foreground/background for consistency)
|
|
100
|
+
=========================== */
|
|
101
|
+
--primary-foreground: var(--foreground);
|
|
102
|
+
--secondary-foreground: var(--background);
|
|
103
|
+
--accent-foreground: var(--foreground);
|
|
104
|
+
|
|
105
|
+
--success-foreground: var(--background);
|
|
106
|
+
--warning-foreground: var(--foreground);
|
|
107
|
+
--destructive-foreground: var(--background);
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
/* ===========================
|
|
111
|
+
DARK THEME (High Contrast Dark)
|
|
112
|
+
Background: Black
|
|
113
|
+
Foreground: White
|
|
114
|
+
=========================== */
|
|
115
|
+
:root.dark {
|
|
116
|
+
--theme-icon: 'Moon';
|
|
117
|
+
--theme-label: 'Dark';
|
|
118
|
+
--theme-is-dark: 1;
|
|
119
|
+
|
|
120
|
+
/* ===========================
|
|
121
|
+
1. USER SETS - 5 BRAND COLORS
|
|
122
|
+
=========================== */
|
|
123
|
+
--foreground: #ffffff;
|
|
124
|
+
--background: #000000;
|
|
125
|
+
--primary: #00bcd4; /* Cyan */
|
|
126
|
+
--secondary: #047857; /* Emerald-700 - WCAG AA compliant (5.48:1 with white) */
|
|
127
|
+
--accent: #ff9800; /* Orange */
|
|
128
|
+
|
|
129
|
+
/* ===========================
|
|
130
|
+
2. FRAMEWORK DEFAULTS - STATUS COLORS
|
|
131
|
+
=========================== */
|
|
132
|
+
--success: #047857; /* Emerald-700 - WCAG AA compliant (5.48:1 with white) */
|
|
133
|
+
--warning: #f59e0b;
|
|
134
|
+
--destructive: #dc2626; /* Red-600 - WCAG AA compliant (4.83:1 with white) */
|
|
135
|
+
|
|
136
|
+
/* ===========================
|
|
137
|
+
3. AUTO-COMPUTED - SURFACES
|
|
138
|
+
=========================== */
|
|
139
|
+
--muted: color-mix(in oklab, var(--foreground) 10%, var(--background));
|
|
140
|
+
--muted-foreground: color-mix(in oklab, var(--foreground) 75%, transparent);
|
|
141
|
+
--border: color-mix(in oklab, var(--foreground) 15%, var(--background));
|
|
142
|
+
--input: var(--muted);
|
|
143
|
+
--ring: var(--primary);
|
|
144
|
+
|
|
145
|
+
--card: var(--background);
|
|
146
|
+
--card-foreground: var(--foreground);
|
|
147
|
+
--popover: var(--card);
|
|
148
|
+
--popover-foreground: var(--card-foreground);
|
|
149
|
+
--surface-1: var(--card);
|
|
150
|
+
|
|
151
|
+
/* ===========================
|
|
152
|
+
4. AUTO-COMPUTED - TEXT ON BRAND COLORS
|
|
153
|
+
=========================== */
|
|
154
|
+
--primary-foreground: var(--background);
|
|
155
|
+
--secondary-foreground: var(--foreground);
|
|
156
|
+
--accent-foreground: var(--background);
|
|
157
|
+
|
|
158
|
+
--success-foreground: var(--foreground);
|
|
159
|
+
--warning-foreground: var(--background);
|
|
160
|
+
--destructive-foreground: var(--foreground);
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
/* ===========================
|
|
164
|
+
CUSTOM THEMES
|
|
165
|
+
=========================== */
|
|
166
|
+
|
|
167
|
+
/* Add your custom themes here */
|
|
168
|
+
/* Example:
|
|
169
|
+
.brand {
|
|
170
|
+
--theme-icon: 'Zap';
|
|
171
|
+
--theme-label: 'Brand';
|
|
172
|
+
--background: #your-brand-background;
|
|
173
|
+
--foreground: #your-brand-foreground;
|
|
174
|
+
--primary: #your-brand-primary;
|
|
175
|
+
--secondary: #your-brand-secondary;
|
|
176
|
+
--accent: #your-brand-accent;
|
|
177
|
+
... other variables ...
|
|
178
|
+
}
|
|
179
|
+
*/
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# Payload CMS Configuration
|
|
2
|
+
PAYLOAD_SECRET=your-super-secret-key-here
|
|
3
|
+
PAYLOAD_PUBLIC_SERVER_URL=http://localhost:3001
|
|
4
|
+
|
|
5
|
+
# Database Configuration (MongoDB)
|
|
6
|
+
MONGODB_URI=mongodb://localhost:27017/{{projectName}}
|
|
7
|
+
|
|
8
|
+
# For production, use MongoDB Atlas or similar
|
|
9
|
+
# MONGODB_URI=mongodb+srv://username:password@cluster.mongodb.net/{{projectName}}?retryWrites=true&w=majority
|
|
10
|
+
|
|
11
|
+
# Optional: Redis for caching (recommended for production)
|
|
12
|
+
# REDIS_URL=redis://localhost:6379
|
|
13
|
+
|
|
14
|
+
# CORS Origins (comma-separated)
|
|
15
|
+
CORS_ORIGINS=http://localhost:3000,https://{{projectName}}.com,https://admin.{{projectName}}.com
|
|
16
|
+
|
|
17
|
+
# File Upload Configuration
|
|
18
|
+
PAYLOAD_PUBLIC_MAX_FILE_SIZE=5000000
|
|
19
|
+
|
|
20
|
+
# Admin Configuration
|
|
21
|
+
PAYLOAD_PUBLIC_ADMIN_EMAIL=admin@{{projectName}}.com
|
|
22
|
+
PAYLOAD_PUBLIC_ADMIN_PASSWORD=your-admin-password
|
|
23
|
+
|
|
24
|
+
# Optional: Email Configuration (for notifications)
|
|
25
|
+
# SMTP_HOST=smtp.gmail.com
|
|
26
|
+
# SMTP_PORT=587
|
|
27
|
+
# SMTP_USER=your-email@gmail.com
|
|
28
|
+
# SMTP_PASS=your-app-password
|
|
@@ -0,0 +1,233 @@
|
|
|
1
|
+
# {{projectName}} CMS (Payload)
|
|
2
|
+
|
|
3
|
+
This is a **Payload CMS** application that provides a professional content management system for your business website.
|
|
4
|
+
|
|
5
|
+
## 🚀 What is Payload CMS?
|
|
6
|
+
|
|
7
|
+
Payload is a **headless CMS** that gives you:
|
|
8
|
+
- **Database** - Stores all your content (text, images, etc.)
|
|
9
|
+
- **Admin Interface** - Professional web interface for editing content
|
|
10
|
+
- **API** - Your website fetches content via REST API calls
|
|
11
|
+
- **Media Library** - Upload and manage images/files
|
|
12
|
+
|
|
13
|
+
## 📁 Project Structure
|
|
14
|
+
|
|
15
|
+
```
|
|
16
|
+
{{appName}}/
|
|
17
|
+
├── collections/ # Content types (Hero, Services, Products, etc.)
|
|
18
|
+
│ ├── Users.ts # Admin users authentication
|
|
19
|
+
│ ├── Media.ts # File uploads and media management
|
|
20
|
+
│ ├── Hero.ts # Landing page hero section
|
|
21
|
+
│ ├── Services.ts # Business services
|
|
22
|
+
│ ├── Products.ts # Product offerings
|
|
23
|
+
│ ├── Testimonials.ts # Client feedback
|
|
24
|
+
│ └── Company.ts # Company information
|
|
25
|
+
├── src/
|
|
26
|
+
│ └── server.ts # Express server with Payload
|
|
27
|
+
├── payload.config.ts # Payload configuration
|
|
28
|
+
├── package.json # Dependencies and scripts
|
|
29
|
+
└── .env # Environment variables
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
## 🛠️ Content Types
|
|
33
|
+
|
|
34
|
+
### 1. **Hero Section** (`/admin/collections/hero`)
|
|
35
|
+
- **Title** - Main headline
|
|
36
|
+
- **Subtitle** - Supporting text
|
|
37
|
+
- **CTA Button** - Call-to-action text and link
|
|
38
|
+
- **Background Image** - Hero background
|
|
39
|
+
|
|
40
|
+
### 2. **Services** (`/admin/collections/services`)
|
|
41
|
+
- **Name** - Service name
|
|
42
|
+
- **Description** - Detailed description
|
|
43
|
+
- **Category** - Consulting, Training, Development, Support
|
|
44
|
+
- **Features** - List of service features
|
|
45
|
+
- **Pricing** - Pricing information
|
|
46
|
+
- **Icon** - Service icon
|
|
47
|
+
|
|
48
|
+
### 3. **Products** (`/admin/collections/products`)
|
|
49
|
+
- **Name** - Product name
|
|
50
|
+
- **Description** - Product description
|
|
51
|
+
- **Category** - Framework, Tool, Platform, Service
|
|
52
|
+
- **Features** - Key product features
|
|
53
|
+
- **Demo Link** - Live demo URL
|
|
54
|
+
- **Documentation** - Documentation link
|
|
55
|
+
- **GitHub** - Repository link
|
|
56
|
+
|
|
57
|
+
### 4. **Testimonials** (`/admin/collections/testimonials`)
|
|
58
|
+
- **Client Name** - Client's name
|
|
59
|
+
- **Company** - Company name
|
|
60
|
+
- **Quote** - Testimonial text
|
|
61
|
+
- **Rating** - 1-5 star rating
|
|
62
|
+
- **Avatar** - Client photo
|
|
63
|
+
- **Project** - Related project
|
|
64
|
+
|
|
65
|
+
### 5. **Company Info** (`/admin/collections/company`)
|
|
66
|
+
- **Name** - Company name
|
|
67
|
+
- **Contact** - Email, phone, address
|
|
68
|
+
- **Social Media** - LinkedIn, Twitter, GitHub, etc.
|
|
69
|
+
- **Logo** - Company logo
|
|
70
|
+
- **Favicon** - Website favicon
|
|
71
|
+
|
|
72
|
+
## 🚀 Quick Start
|
|
73
|
+
|
|
74
|
+
### 1. Install Dependencies
|
|
75
|
+
```bash
|
|
76
|
+
bun install
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
### 2. Set Up Environment
|
|
80
|
+
```bash
|
|
81
|
+
cp .env.example .env
|
|
82
|
+
# Edit .env with your configuration
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
### 3. Set Up Database
|
|
86
|
+
**Option A: Local MongoDB**
|
|
87
|
+
```bash
|
|
88
|
+
# Install MongoDB locally or use Docker
|
|
89
|
+
docker run -d -p 27017:27017 --name mongodb mongo:latest
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
**Option B: MongoDB Atlas (Recommended)**
|
|
93
|
+
- Create account at [MongoDB Atlas](https://www.mongodb.com/atlas)
|
|
94
|
+
- Create cluster and get connection string
|
|
95
|
+
- Update `MONGODB_URI` in `.env`
|
|
96
|
+
|
|
97
|
+
### 4. Start Development Server
|
|
98
|
+
```bash
|
|
99
|
+
bun run dev
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
### 5. Access Admin Panel
|
|
103
|
+
- **URL**: http://localhost:3001/admin
|
|
104
|
+
- **Email**: admin@{{projectName}}.com
|
|
105
|
+
- **Password**: your-admin-password (from .env)
|
|
106
|
+
|
|
107
|
+
## 🔗 API Endpoints
|
|
108
|
+
|
|
109
|
+
### Content API
|
|
110
|
+
- **Hero**: `GET /api/hero`
|
|
111
|
+
- **Services**: `GET /api/services`
|
|
112
|
+
- **Products**: `GET /api/products`
|
|
113
|
+
- **Testimonials**: `GET /api/testimonials`
|
|
114
|
+
- **Company**: `GET /api/company`
|
|
115
|
+
|
|
116
|
+
### Example API Call
|
|
117
|
+
```javascript
|
|
118
|
+
// Fetch hero content
|
|
119
|
+
const response = await fetch('http://localhost:3001/api/hero');
|
|
120
|
+
const heroData = await response.json();
|
|
121
|
+
console.log(heroData.docs[0]); // Latest hero content
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
## 🎯 How It Works
|
|
125
|
+
|
|
126
|
+
### 1. **Content Management**
|
|
127
|
+
- Login to admin panel at `/admin`
|
|
128
|
+
- Edit content using the professional interface
|
|
129
|
+
- Save changes instantly
|
|
130
|
+
|
|
131
|
+
### 2. **Content Delivery**
|
|
132
|
+
- Your website makes API calls to fetch content
|
|
133
|
+
- Content is returned as JSON
|
|
134
|
+
- Website displays the content dynamically
|
|
135
|
+
|
|
136
|
+
### 3. **Real-time Updates**
|
|
137
|
+
- Changes in admin appear immediately on website
|
|
138
|
+
- No code deployment needed
|
|
139
|
+
- Non-developers can update content
|
|
140
|
+
|
|
141
|
+
## 🔧 Configuration
|
|
142
|
+
|
|
143
|
+
### Environment Variables
|
|
144
|
+
```bash
|
|
145
|
+
# Required
|
|
146
|
+
PAYLOAD_SECRET=your-secret-key
|
|
147
|
+
MONGODB_URI=mongodb://localhost:27017/{{projectName}}
|
|
148
|
+
|
|
149
|
+
# Optional
|
|
150
|
+
PAYLOAD_PUBLIC_SERVER_URL=http://localhost:3001
|
|
151
|
+
CORS_ORIGINS=http://localhost:3000,https://{{projectName}}.com
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
### Customization
|
|
155
|
+
- **Add new content types**: Create new files in `collections/`
|
|
156
|
+
- **Modify fields**: Edit field definitions in collection files
|
|
157
|
+
- **Change admin UI**: Customize admin interface in `payload.config.ts`
|
|
158
|
+
|
|
159
|
+
## 🚀 Deployment
|
|
160
|
+
|
|
161
|
+
### Vercel Deployment
|
|
162
|
+
1. **Connect to Vercel**
|
|
163
|
+
2. **Set environment variables** in Vercel dashboard
|
|
164
|
+
3. **Deploy** - Vercel will build and deploy automatically
|
|
165
|
+
|
|
166
|
+
### Environment Variables for Production
|
|
167
|
+
```bash
|
|
168
|
+
PAYLOAD_SECRET=your-production-secret
|
|
169
|
+
MONGODB_URI=mongodb+srv://username:password@cluster.mongodb.net/{{projectName}}
|
|
170
|
+
PAYLOAD_PUBLIC_SERVER_URL=https://admin.{{projectName}}.com
|
|
171
|
+
CORS_ORIGINS=https://{{projectName}}.com,https://admin.{{projectName}}.com
|
|
172
|
+
```
|
|
173
|
+
|
|
174
|
+
## 📊 Admin Features
|
|
175
|
+
|
|
176
|
+
- **User Management** - Create admin users
|
|
177
|
+
- **Media Library** - Upload and organize images
|
|
178
|
+
- **Content Versioning** - Track content changes
|
|
179
|
+
- **Draft/Published** - Preview before publishing
|
|
180
|
+
- **Rich Text Editor** - Format content easily
|
|
181
|
+
- **Image Optimization** - Automatic image resizing
|
|
182
|
+
- **File Upload** - Drag & drop file uploads
|
|
183
|
+
|
|
184
|
+
## 🔒 Security
|
|
185
|
+
|
|
186
|
+
- **Authentication** - Secure admin login
|
|
187
|
+
- **CORS Protection** - Configured for your domains
|
|
188
|
+
- **File Upload Limits** - 5MB file size limit
|
|
189
|
+
- **Input Validation** - All inputs validated
|
|
190
|
+
- **HTTPS Required** - Secure in production
|
|
191
|
+
|
|
192
|
+
## 🎨 Integration with Website
|
|
193
|
+
|
|
194
|
+
Your website (Next.js/Vite) connects to this CMS:
|
|
195
|
+
|
|
196
|
+
```typescript
|
|
197
|
+
// Example: Fetch hero content
|
|
198
|
+
const { data: hero } = await fetch('/api/hero').then(r => r.json());
|
|
199
|
+
|
|
200
|
+
// Example: Fetch services
|
|
201
|
+
const { data: services } = await fetch('/api/services?where[isActive][equals]=true').then(r => r.json());
|
|
202
|
+
|
|
203
|
+
// Example: Fetch testimonials
|
|
204
|
+
const { data: testimonials } = await fetch('/api/testimonials?sort=order').then(r => r.json());
|
|
205
|
+
```
|
|
206
|
+
|
|
207
|
+
## 🆘 Troubleshooting
|
|
208
|
+
|
|
209
|
+
### Common Issues
|
|
210
|
+
|
|
211
|
+
**"MongoDB connection failed"**
|
|
212
|
+
- Check `MONGODB_URI` in `.env`
|
|
213
|
+
- Ensure MongoDB is running
|
|
214
|
+
- Verify network connectivity
|
|
215
|
+
|
|
216
|
+
**"Admin panel not loading"**
|
|
217
|
+
- Check `PAYLOAD_SECRET` is set
|
|
218
|
+
- Verify `PAYLOAD_PUBLIC_SERVER_URL` is correct
|
|
219
|
+
- Check browser console for errors
|
|
220
|
+
|
|
221
|
+
**"API calls failing"**
|
|
222
|
+
- Verify CORS configuration
|
|
223
|
+
- Check server is running on correct port
|
|
224
|
+
- Ensure API endpoints are accessible
|
|
225
|
+
|
|
226
|
+
### Getting Help
|
|
227
|
+
- Check [Payload Documentation](https://payloadcms.com/docs)
|
|
228
|
+
- Review server logs for error messages
|
|
229
|
+
- Verify environment variables are set correctly
|
|
230
|
+
|
|
231
|
+
---
|
|
232
|
+
|
|
233
|
+
**That's it!** You now have a professional CMS that your website can use to fetch dynamic content. No more hardcoded text - everything is manageable through the admin interface.
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
import { CollectionConfig } from 'payload/types';
|
|
2
|
+
|
|
3
|
+
export const Company: CollectionConfig = {
|
|
4
|
+
slug: 'company',
|
|
5
|
+
admin: {
|
|
6
|
+
useAsTitle: 'name',
|
|
7
|
+
defaultColumns: ['name', 'email', 'phone', 'updatedAt'],
|
|
8
|
+
},
|
|
9
|
+
access: {
|
|
10
|
+
read: () => true,
|
|
11
|
+
},
|
|
12
|
+
fields: [
|
|
13
|
+
{
|
|
14
|
+
name: 'name',
|
|
15
|
+
type: 'text',
|
|
16
|
+
required: true,
|
|
17
|
+
admin: {
|
|
18
|
+
description: 'Company name',
|
|
19
|
+
},
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
name: 'tagline',
|
|
23
|
+
type: 'text',
|
|
24
|
+
admin: {
|
|
25
|
+
description: 'Company tagline or slogan',
|
|
26
|
+
},
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
name: 'description',
|
|
30
|
+
type: 'textarea',
|
|
31
|
+
admin: {
|
|
32
|
+
description: 'Company description for about page',
|
|
33
|
+
},
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
name: 'email',
|
|
37
|
+
type: 'email',
|
|
38
|
+
required: true,
|
|
39
|
+
admin: {
|
|
40
|
+
description: 'Primary contact email',
|
|
41
|
+
},
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
name: 'phone',
|
|
45
|
+
type: 'text',
|
|
46
|
+
admin: {
|
|
47
|
+
description: 'Contact phone number',
|
|
48
|
+
},
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
name: 'address',
|
|
52
|
+
type: 'group',
|
|
53
|
+
fields: [
|
|
54
|
+
{
|
|
55
|
+
name: 'street',
|
|
56
|
+
type: 'text',
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
name: 'city',
|
|
60
|
+
type: 'text',
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
name: 'state',
|
|
64
|
+
type: 'text',
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
name: 'zip',
|
|
68
|
+
type: 'text',
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
name: 'country',
|
|
72
|
+
type: 'text',
|
|
73
|
+
},
|
|
74
|
+
],
|
|
75
|
+
admin: {
|
|
76
|
+
description: 'Company address',
|
|
77
|
+
},
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
name: 'social',
|
|
81
|
+
type: 'group',
|
|
82
|
+
fields: [
|
|
83
|
+
{
|
|
84
|
+
name: 'website',
|
|
85
|
+
type: 'text',
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
name: 'linkedin',
|
|
89
|
+
type: 'text',
|
|
90
|
+
},
|
|
91
|
+
{
|
|
92
|
+
name: 'twitter',
|
|
93
|
+
type: 'text',
|
|
94
|
+
},
|
|
95
|
+
{
|
|
96
|
+
name: 'github',
|
|
97
|
+
type: 'text',
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
name: 'youtube',
|
|
101
|
+
type: 'text',
|
|
102
|
+
},
|
|
103
|
+
],
|
|
104
|
+
admin: {
|
|
105
|
+
description: 'Social media links',
|
|
106
|
+
},
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
name: 'logo',
|
|
110
|
+
type: 'upload',
|
|
111
|
+
relationTo: 'media',
|
|
112
|
+
admin: {
|
|
113
|
+
description: 'Company logo',
|
|
114
|
+
},
|
|
115
|
+
},
|
|
116
|
+
{
|
|
117
|
+
name: 'favicon',
|
|
118
|
+
type: 'upload',
|
|
119
|
+
relationTo: 'media',
|
|
120
|
+
admin: {
|
|
121
|
+
description: 'Website favicon',
|
|
122
|
+
},
|
|
123
|
+
},
|
|
124
|
+
],
|
|
125
|
+
};
|