@djangocfg/layouts 2.1.103 → 2.1.105
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/package.json +33 -37
- package/src/components/RedirectPage/RedirectPage.tsx +2 -2
- package/src/components/core/ClientOnly.tsx +1 -1
- package/src/components/errors/ErrorLayout.tsx +1 -1
- package/src/components/errors/ErrorsTracker/components/ErrorButtons.tsx +1 -1
- package/src/components/index.ts +2 -0
- package/src/index.ts +2 -0
- package/src/layouts/AuthLayout/components/AuthHelp.tsx +1 -1
- package/src/layouts/AuthLayout/components/AuthSuccess.tsx +1 -1
- package/src/layouts/AuthLayout/components/IdentifierForm.tsx +1 -1
- package/src/layouts/AuthLayout/components/OTPForm.tsx +1 -1
- package/src/layouts/AuthLayout/components/TwoFactorForm.tsx +1 -1
- package/src/layouts/AuthLayout/components/TwoFactorSetup.tsx +1 -1
- package/src/layouts/AuthLayout/components/oauth/OAuthCallback.tsx +1 -1
- package/src/layouts/AuthLayout/components/oauth/OAuthProviders.tsx +1 -1
- package/src/layouts/PrivateLayout/PrivateLayout.tsx +3 -2
- package/src/layouts/PrivateLayout/components/PrivateHeader.tsx +2 -2
- package/src/layouts/ProfileLayout/ProfileLayout.tsx +1 -1
- package/src/layouts/ProfileLayout/__tests__/TwoFactorSection.test.tsx +1 -1
- package/src/layouts/ProfileLayout/components/AvatarSection.tsx +1 -1
- package/src/layouts/ProfileLayout/components/DeleteAccountSection.tsx +1 -1
- package/src/layouts/ProfileLayout/components/ProfileForm.tsx +1 -1
- package/src/layouts/ProfileLayout/components/TwoFactorSection.tsx +1 -1
- package/src/layouts/PublicLayout/components/PublicFooter/PublicFooter.tsx +1 -1
- package/src/layouts/PublicLayout/components/PublicMobileDrawer.tsx +1 -1
- package/src/layouts/PublicLayout/components/PublicNavigation.tsx +2 -2
- package/src/layouts/_components/UserMenu.tsx +1 -1
- package/src/layouts/index.ts +2 -0
- package/src/pages/index.ts +2 -0
- package/src/pages/legal/LegalPage.tsx +1 -1
- package/src/snippets/AuthDialog/AuthDialog.tsx +3 -2
- package/src/snippets/McpChat/components/AIChatWidget.tsx +1 -1
- package/src/snippets/McpChat/components/AskAIButton.tsx +1 -1
- package/src/snippets/McpChat/components/ChatMessages.tsx +1 -1
- package/src/snippets/McpChat/components/ChatPanel.tsx +1 -1
- package/src/snippets/McpChat/components/ChatSidebar.tsx +1 -1
- package/src/snippets/McpChat/components/ChatWidget.tsx +1 -1
- package/src/snippets/McpChat/components/MessageBubble.tsx +1 -1
- package/src/snippets/McpChat/components/MessageInput.tsx +1 -1
- package/src/snippets/McpChat/context/AIChatContext.tsx +1 -1
- package/src/snippets/McpChat/context/ChatContext.tsx +1 -1
- package/src/snippets/McpChat/hooks/useChatLayout.ts +1 -1
- package/src/snippets/PWAInstall/components/A2HSHint.tsx +0 -1
- package/src/snippets/PWAInstall/components/DesktopGuide.tsx +1 -1
- package/src/snippets/PWAInstall/components/IOSGuide.tsx +1 -1
- package/src/snippets/PWAInstall/components/IOSGuideDrawer.tsx +1 -1
- package/src/snippets/PWAInstall/components/IOSGuideModal.tsx +1 -1
- package/src/snippets/PWAInstall/hooks/useInstallPrompt.ts +2 -2
- package/src/snippets/PushNotifications/components/PushPrompt.tsx +1 -1
- package/src/snippets/index.ts +1 -0
- package/dist/AIChatWidget-LUPM7S2O.mjs +0 -1644
- package/dist/AIChatWidget-LUPM7S2O.mjs.map +0 -1
- package/dist/AIChatWidget-O23TJJ7C.mjs +0 -3
- package/dist/AIChatWidget-O23TJJ7C.mjs.map +0 -1
- package/dist/chunk-53YKWR6F.mjs +0 -6
- package/dist/chunk-53YKWR6F.mjs.map +0 -1
- package/dist/chunk-EI7TDN2G.mjs +0 -1652
- package/dist/chunk-EI7TDN2G.mjs.map +0 -1
- package/dist/components.cjs +0 -925
- package/dist/components.cjs.map +0 -1
- package/dist/components.d.mts +0 -583
- package/dist/components.d.ts +0 -583
- package/dist/components.mjs +0 -879
- package/dist/components.mjs.map +0 -1
- package/dist/index.cjs +0 -7573
- package/dist/index.cjs.map +0 -1
- package/dist/index.d.mts +0 -2376
- package/dist/index.d.ts +0 -2376
- package/dist/index.mjs +0 -5673
- package/dist/index.mjs.map +0 -1
- package/dist/layouts.cjs +0 -6530
- package/dist/layouts.cjs.map +0 -1
- package/dist/layouts.d.mts +0 -748
- package/dist/layouts.d.ts +0 -748
- package/dist/layouts.mjs +0 -4741
- package/dist/layouts.mjs.map +0 -1
- package/dist/pages.cjs +0 -178
- package/dist/pages.cjs.map +0 -1
- package/dist/pages.d.mts +0 -57
- package/dist/pages.d.ts +0 -57
- package/dist/pages.mjs +0 -168
- package/dist/pages.mjs.map +0 -1
- package/dist/snippets.cjs +0 -3793
- package/dist/snippets.cjs.map +0 -1
- package/dist/snippets.d.mts +0 -1192
- package/dist/snippets.d.ts +0 -1192
- package/dist/snippets.mjs +0 -3738
- package/dist/snippets.mjs.map +0 -1
- package/dist/utils.cjs +0 -34
- package/dist/utils.cjs.map +0 -1
- package/dist/utils.d.mts +0 -40
- package/dist/utils.d.ts +0 -40
- package/dist/utils.mjs +0 -25
- package/dist/utils.mjs.map +0 -1
package/dist/pages.cjs
DELETED
|
@@ -1,178 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var components = require('@djangocfg/ui-nextjs/components');
|
|
4
|
-
var jsxRuntime = require('react/jsx-runtime');
|
|
5
|
-
|
|
6
|
-
var __defProp = Object.defineProperty;
|
|
7
|
-
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
8
|
-
function formatDate(date) {
|
|
9
|
-
if (!date) return "";
|
|
10
|
-
if (typeof date === "string") return date;
|
|
11
|
-
return date.toISOString().split("T")[0];
|
|
12
|
-
}
|
|
13
|
-
__name(formatDate, "formatDate");
|
|
14
|
-
function LegalPage({ config, className }) {
|
|
15
|
-
const { title, lastUpdated, sections } = config;
|
|
16
|
-
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: `container mx-auto max-w-4xl py-16 px-4 ${className || ""}`, children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-8", children: [
|
|
17
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-4", children: [
|
|
18
|
-
/* @__PURE__ */ jsxRuntime.jsx("h1", { className: "text-4xl font-bold", children: title }),
|
|
19
|
-
lastUpdated && /* @__PURE__ */ jsxRuntime.jsxs("p", { className: "text-lg text-muted-foreground", children: [
|
|
20
|
-
"Last updated: ",
|
|
21
|
-
formatDate(lastUpdated)
|
|
22
|
-
] })
|
|
23
|
-
] }),
|
|
24
|
-
sections.map((section, index) => /* @__PURE__ */ jsxRuntime.jsxs(components.Card, { children: [
|
|
25
|
-
/* @__PURE__ */ jsxRuntime.jsx(components.CardHeader, { children: /* @__PURE__ */ jsxRuntime.jsx(components.CardTitle, { children: section.title }) }),
|
|
26
|
-
/* @__PURE__ */ jsxRuntime.jsx(components.CardContent, { className: "text-muted-foreground", children: Array.isArray(section.content) ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-col gap-2", children: section.content.map((paragraph, pIndex) => /* @__PURE__ */ jsxRuntime.jsx("p", { children: paragraph }, pIndex)) }) : /* @__PURE__ */ jsxRuntime.jsx("p", { children: section.content }) })
|
|
27
|
-
] }, index))
|
|
28
|
-
] }) });
|
|
29
|
-
}
|
|
30
|
-
__name(LegalPage, "LegalPage");
|
|
31
|
-
|
|
32
|
-
// src/pages/legal/configs.ts
|
|
33
|
-
var privacyConfig = {
|
|
34
|
-
title: "Privacy Policy",
|
|
35
|
-
sections: [
|
|
36
|
-
{
|
|
37
|
-
title: "Information We Collect",
|
|
38
|
-
content: "We collect information that you provide directly to us, including when you create an account, use our services, or communicate with us."
|
|
39
|
-
},
|
|
40
|
-
{
|
|
41
|
-
title: "How We Use Your Information",
|
|
42
|
-
content: [
|
|
43
|
-
"We use the information we collect to:",
|
|
44
|
-
"Provide, maintain, and improve our services",
|
|
45
|
-
"Process transactions and send related information",
|
|
46
|
-
"Send technical notices and support messages",
|
|
47
|
-
"Respond to your comments and questions"
|
|
48
|
-
]
|
|
49
|
-
},
|
|
50
|
-
{
|
|
51
|
-
title: "Information Sharing",
|
|
52
|
-
content: "We do not share your personal information with third parties except as described in this privacy policy or with your consent."
|
|
53
|
-
},
|
|
54
|
-
{
|
|
55
|
-
title: "Data Security",
|
|
56
|
-
content: "We take reasonable measures to help protect your personal information from loss, theft, misuse, unauthorized access, disclosure, alteration, and destruction."
|
|
57
|
-
},
|
|
58
|
-
{
|
|
59
|
-
title: "Your Rights",
|
|
60
|
-
content: "You have the right to access, update, or delete your personal information at any time. Contact us if you wish to exercise these rights."
|
|
61
|
-
},
|
|
62
|
-
{
|
|
63
|
-
title: "Changes to This Policy",
|
|
64
|
-
content: "We may update this privacy policy from time to time. We will notify you of any changes by posting the new policy on this page."
|
|
65
|
-
}
|
|
66
|
-
]
|
|
67
|
-
};
|
|
68
|
-
var termsConfig = {
|
|
69
|
-
title: "Terms of Service",
|
|
70
|
-
sections: [
|
|
71
|
-
{
|
|
72
|
-
title: "1. Acceptance of Terms",
|
|
73
|
-
content: "By accessing and using this service, you accept and agree to be bound by the terms and provision of this agreement."
|
|
74
|
-
},
|
|
75
|
-
{
|
|
76
|
-
title: "2. Use License",
|
|
77
|
-
content: "Permission is granted to temporarily download one copy of the materials on our service for personal, non-commercial transitory viewing only."
|
|
78
|
-
},
|
|
79
|
-
{
|
|
80
|
-
title: "3. Disclaimer",
|
|
81
|
-
content: "The materials on our service are provided on an 'as is' basis. We make no warranties, expressed or implied, and hereby disclaim and negate all other warranties including, without limitation, implied warranties or conditions of merchantability, fitness for a particular purpose, or non-infringement of intellectual property or other violation of rights."
|
|
82
|
-
},
|
|
83
|
-
{
|
|
84
|
-
title: "4. Limitations",
|
|
85
|
-
content: "In no event shall we or our suppliers be liable for any damages (including, without limitation, damages for loss of data or profit, or due to business interruption) arising out of the use or inability to use the materials on our service."
|
|
86
|
-
},
|
|
87
|
-
{
|
|
88
|
-
title: "5. Revisions",
|
|
89
|
-
content: "We may revise these terms of service at any time without notice. By using this service you are agreeing to be bound by the then current version of these terms of service."
|
|
90
|
-
}
|
|
91
|
-
]
|
|
92
|
-
};
|
|
93
|
-
var cookiesConfig = {
|
|
94
|
-
title: "Cookie Policy",
|
|
95
|
-
sections: [
|
|
96
|
-
{
|
|
97
|
-
title: "What Are Cookies?",
|
|
98
|
-
content: "Cookies are small text files that are placed on your device when you visit our website. They help us provide you with a better experience by remembering your preferences and understanding how you use our site."
|
|
99
|
-
},
|
|
100
|
-
{
|
|
101
|
-
title: "Types of Cookies We Use",
|
|
102
|
-
content: [
|
|
103
|
-
"Essential Cookies: These cookies are necessary for the website to function properly.",
|
|
104
|
-
"Performance Cookies: These cookies help us understand how visitors interact with our website.",
|
|
105
|
-
"Functionality Cookies: These cookies allow us to remember choices you make and provide enhanced features."
|
|
106
|
-
]
|
|
107
|
-
},
|
|
108
|
-
{
|
|
109
|
-
title: "Managing Cookies",
|
|
110
|
-
content: "Most web browsers allow you to control cookies through their settings. You can set your browser to refuse cookies or delete certain cookies. However, please note that if you disable cookies, some features of our website may not function properly."
|
|
111
|
-
},
|
|
112
|
-
{
|
|
113
|
-
title: "Third-Party Cookies",
|
|
114
|
-
content: "We may use third-party services that also use cookies. These third parties have their own privacy policies, and we do not accept any responsibility or liability for their policies."
|
|
115
|
-
},
|
|
116
|
-
{
|
|
117
|
-
title: "Updates to This Policy",
|
|
118
|
-
content: "We may update our Cookie Policy from time to time. Any changes will be posted on this page with an updated revision date."
|
|
119
|
-
}
|
|
120
|
-
]
|
|
121
|
-
};
|
|
122
|
-
var securityConfig = {
|
|
123
|
-
title: "Security Policy",
|
|
124
|
-
sections: [
|
|
125
|
-
{
|
|
126
|
-
title: "Our Commitment to Security",
|
|
127
|
-
content: "We take the security of your data seriously. We implement industry-standard security measures to protect your personal information from unauthorized access, disclosure, alteration, and destruction."
|
|
128
|
-
},
|
|
129
|
-
{
|
|
130
|
-
title: "Data Encryption",
|
|
131
|
-
content: "All data transmitted between your device and our servers is encrypted using industry-standard SSL/TLS protocols. Sensitive data stored in our databases is encrypted at rest using advanced encryption standards."
|
|
132
|
-
},
|
|
133
|
-
{
|
|
134
|
-
title: "Access Controls",
|
|
135
|
-
content: "Access to user data is strictly limited to authorized personnel who require it to perform their job functions. We employ multi-factor authentication and regular access reviews to ensure that only authorized individuals can access sensitive information."
|
|
136
|
-
},
|
|
137
|
-
{
|
|
138
|
-
title: "Security Monitoring",
|
|
139
|
-
content: "We continuously monitor our systems for potential security threats and vulnerabilities. Our security team actively tracks and responds to any suspicious activity or potential security incidents."
|
|
140
|
-
},
|
|
141
|
-
{
|
|
142
|
-
title: "Reporting Security Issues",
|
|
143
|
-
content: "If you discover a security vulnerability or have concerns about our security practices, please report it to us immediately. We appreciate responsible disclosure and will work with you to address any legitimate security concerns."
|
|
144
|
-
},
|
|
145
|
-
{
|
|
146
|
-
title: "Regular Security Updates",
|
|
147
|
-
content: "We regularly update our systems and software to ensure that known security vulnerabilities are patched promptly. Our infrastructure undergoes periodic security audits and penetration testing to identify and address potential weaknesses."
|
|
148
|
-
}
|
|
149
|
-
]
|
|
150
|
-
};
|
|
151
|
-
function PrivacyPage({ config } = {}) {
|
|
152
|
-
return /* @__PURE__ */ jsxRuntime.jsx(LegalPage, { config: config || privacyConfig });
|
|
153
|
-
}
|
|
154
|
-
__name(PrivacyPage, "PrivacyPage");
|
|
155
|
-
function TermsPage({ config } = {}) {
|
|
156
|
-
return /* @__PURE__ */ jsxRuntime.jsx(LegalPage, { config: config || termsConfig });
|
|
157
|
-
}
|
|
158
|
-
__name(TermsPage, "TermsPage");
|
|
159
|
-
function CookiesPage({ config } = {}) {
|
|
160
|
-
return /* @__PURE__ */ jsxRuntime.jsx(LegalPage, { config: config || cookiesConfig });
|
|
161
|
-
}
|
|
162
|
-
__name(CookiesPage, "CookiesPage");
|
|
163
|
-
function SecurityPage({ config } = {}) {
|
|
164
|
-
return /* @__PURE__ */ jsxRuntime.jsx(LegalPage, { config: config || securityConfig });
|
|
165
|
-
}
|
|
166
|
-
__name(SecurityPage, "SecurityPage");
|
|
167
|
-
|
|
168
|
-
exports.CookiesPage = CookiesPage;
|
|
169
|
-
exports.LegalPage = LegalPage;
|
|
170
|
-
exports.PrivacyPage = PrivacyPage;
|
|
171
|
-
exports.SecurityPage = SecurityPage;
|
|
172
|
-
exports.TermsPage = TermsPage;
|
|
173
|
-
exports.cookiesConfig = cookiesConfig;
|
|
174
|
-
exports.privacyConfig = privacyConfig;
|
|
175
|
-
exports.securityConfig = securityConfig;
|
|
176
|
-
exports.termsConfig = termsConfig;
|
|
177
|
-
//# sourceMappingURL=pages.cjs.map
|
|
178
|
-
//# sourceMappingURL=pages.cjs.map
|
package/dist/pages.cjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/pages/legal/LegalPage.tsx","../src/pages/legal/configs.ts","../src/pages/legal/pages.tsx"],"names":["jsx","jsxs","Card","CardHeader","CardTitle","CardContent"],"mappings":"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","file":"pages.cjs","sourcesContent":["/**\n * LegalPage Component\n *\n * Reusable component for legal pages (Privacy, Terms, Cookies, Security)\n * Accepts configuration for flexible content rendering\n *\n * Usage:\n * ```tsx\n * import { LegalPage } from '@djangocfg/layouts/components/legal';\n * import { privacyConfig } from './config';\n *\n * export default function PrivacyPage() {\n * return <LegalPage config={privacyConfig} />;\n * }\n * ```\n */\n\n'use client';\n\nimport React from 'react';\n\nimport { Card, CardContent, CardHeader, CardTitle } from '@djangocfg/ui-nextjs/components';\n\nimport type { LegalPageConfig } from './types';\n\nexport interface LegalPageProps {\n config: LegalPageConfig;\n className?: string;\n}\n\n/**\n * Format date for display\n */\nfunction formatDate(date: string | Date | undefined): string {\n if (!date) return '';\n if (typeof date === 'string') return date;\n return date.toISOString().split('T')[0];\n}\n\n/**\n * LegalPage Component\n */\nexport function LegalPage({ config, className }: LegalPageProps) {\n const { title, lastUpdated, sections } = config;\n\n return (\n <div className={`container mx-auto max-w-4xl py-16 px-4 ${className || ''}`}>\n <div className=\"flex flex-col gap-8\">\n {/* Header */}\n <div className=\"flex flex-col gap-4\">\n <h1 className=\"text-4xl font-bold\">{title}</h1>\n {lastUpdated && (\n <p className=\"text-lg text-muted-foreground\">\n Last updated: {formatDate(lastUpdated)}\n </p>\n )}\n </div>\n\n {/* Sections */}\n {sections.map((section, index) => (\n <Card key={index}>\n <CardHeader>\n <CardTitle>{section.title}</CardTitle>\n </CardHeader>\n <CardContent className=\"text-muted-foreground\">\n {Array.isArray(section.content) ? (\n <div className=\"flex flex-col gap-2\">\n {section.content.map((paragraph, pIndex) => (\n <p key={pIndex}>{paragraph}</p>\n ))}\n </div>\n ) : (\n <p>{section.content}</p>\n )}\n </CardContent>\n </Card>\n ))}\n </div>\n </div>\n );\n}\n\n","/**\n * Default legal page configurations\n *\n * Pre-configured content for common legal pages\n * Can be customized or extended as needed\n */\n\nimport type { LegalPageConfig } from './types';\n\nexport const privacyConfig: LegalPageConfig = {\n title: 'Privacy Policy',\n sections: [\n {\n title: 'Information We Collect',\n content: 'We collect information that you provide directly to us, including when you create an account, use our services, or communicate with us.',\n },\n {\n title: 'How We Use Your Information',\n content: [\n 'We use the information we collect to:',\n 'Provide, maintain, and improve our services',\n 'Process transactions and send related information',\n 'Send technical notices and support messages',\n 'Respond to your comments and questions',\n ],\n },\n {\n title: 'Information Sharing',\n content: 'We do not share your personal information with third parties except as described in this privacy policy or with your consent.',\n },\n {\n title: 'Data Security',\n content: 'We take reasonable measures to help protect your personal information from loss, theft, misuse, unauthorized access, disclosure, alteration, and destruction.',\n },\n {\n title: 'Your Rights',\n content: 'You have the right to access, update, or delete your personal information at any time. Contact us if you wish to exercise these rights.',\n },\n {\n title: 'Changes to This Policy',\n content: 'We may update this privacy policy from time to time. We will notify you of any changes by posting the new policy on this page.',\n },\n ],\n};\n\nexport const termsConfig: LegalPageConfig = {\n title: 'Terms of Service',\n sections: [\n {\n title: '1. Acceptance of Terms',\n content: 'By accessing and using this service, you accept and agree to be bound by the terms and provision of this agreement.',\n },\n {\n title: '2. Use License',\n content: 'Permission is granted to temporarily download one copy of the materials on our service for personal, non-commercial transitory viewing only.',\n },\n {\n title: '3. Disclaimer',\n content: 'The materials on our service are provided on an \\'as is\\' basis. We make no warranties, expressed or implied, and hereby disclaim and negate all other warranties including, without limitation, implied warranties or conditions of merchantability, fitness for a particular purpose, or non-infringement of intellectual property or other violation of rights.',\n },\n {\n title: '4. Limitations',\n content: 'In no event shall we or our suppliers be liable for any damages (including, without limitation, damages for loss of data or profit, or due to business interruption) arising out of the use or inability to use the materials on our service.',\n },\n {\n title: '5. Revisions',\n content: 'We may revise these terms of service at any time without notice. By using this service you are agreeing to be bound by the then current version of these terms of service.',\n },\n ],\n};\n\nexport const cookiesConfig: LegalPageConfig = {\n title: 'Cookie Policy',\n sections: [\n {\n title: 'What Are Cookies?',\n content: 'Cookies are small text files that are placed on your device when you visit our website. They help us provide you with a better experience by remembering your preferences and understanding how you use our site.',\n },\n {\n title: 'Types of Cookies We Use',\n content: [\n 'Essential Cookies: These cookies are necessary for the website to function properly.',\n 'Performance Cookies: These cookies help us understand how visitors interact with our website.',\n 'Functionality Cookies: These cookies allow us to remember choices you make and provide enhanced features.',\n ],\n },\n {\n title: 'Managing Cookies',\n content: 'Most web browsers allow you to control cookies through their settings. You can set your browser to refuse cookies or delete certain cookies. However, please note that if you disable cookies, some features of our website may not function properly.',\n },\n {\n title: 'Third-Party Cookies',\n content: 'We may use third-party services that also use cookies. These third parties have their own privacy policies, and we do not accept any responsibility or liability for their policies.',\n },\n {\n title: 'Updates to This Policy',\n content: 'We may update our Cookie Policy from time to time. Any changes will be posted on this page with an updated revision date.',\n },\n ],\n};\n\nexport const securityConfig: LegalPageConfig = {\n title: 'Security Policy',\n sections: [\n {\n title: 'Our Commitment to Security',\n content: 'We take the security of your data seriously. We implement industry-standard security measures to protect your personal information from unauthorized access, disclosure, alteration, and destruction.',\n },\n {\n title: 'Data Encryption',\n content: 'All data transmitted between your device and our servers is encrypted using industry-standard SSL/TLS protocols. Sensitive data stored in our databases is encrypted at rest using advanced encryption standards.',\n },\n {\n title: 'Access Controls',\n content: 'Access to user data is strictly limited to authorized personnel who require it to perform their job functions. We employ multi-factor authentication and regular access reviews to ensure that only authorized individuals can access sensitive information.',\n },\n {\n title: 'Security Monitoring',\n content: 'We continuously monitor our systems for potential security threats and vulnerabilities. Our security team actively tracks and responds to any suspicious activity or potential security incidents.',\n },\n {\n title: 'Reporting Security Issues',\n content: 'If you discover a security vulnerability or have concerns about our security practices, please report it to us immediately. We appreciate responsible disclosure and will work with you to address any legitimate security concerns.',\n },\n {\n title: 'Regular Security Updates',\n content: 'We regularly update our systems and software to ensure that known security vulnerabilities are patched promptly. Our infrastructure undergoes periodic security audits and penetration testing to identify and address potential weaknesses.',\n },\n ],\n};\n\n","/**\n * Pre-built legal page components\n *\n * Ready-to-use page components with default configurations\n * Can be customized by passing custom config\n *\n * Usage:\n * ```tsx\n * // app/legal/privacy/page.tsx\n * import { PrivacyPage } from '@djangocfg/layouts/components/legal';\n *\n * export default PrivacyPage;\n * ```\n */\n\n'use client';\n\nimport { cookiesConfig, privacyConfig, securityConfig, termsConfig } from './configs';\nimport { LegalPage } from './LegalPage';\n\nimport type { LegalPageConfig } from './types';\n\nexport interface LegalPageComponentProps {\n config?: LegalPageConfig;\n}\n\n/**\n * Privacy Policy Page\n */\nexport function PrivacyPage({ config }: LegalPageComponentProps = {}) {\n return <LegalPage config={config || privacyConfig} />;\n}\n\n/**\n * Terms of Service Page\n */\nexport function TermsPage({ config }: LegalPageComponentProps = {}) {\n return <LegalPage config={config || termsConfig} />;\n}\n\n/**\n * Cookie Policy Page\n */\nexport function CookiesPage({ config }: LegalPageComponentProps = {}) {\n return <LegalPage config={config || cookiesConfig} />;\n}\n\n/**\n * Security Policy Page\n */\nexport function SecurityPage({ config }: LegalPageComponentProps = {}) {\n return <LegalPage config={config || securityConfig} />;\n}\n\n"]}
|
package/dist/pages.d.mts
DELETED
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Legal page types
|
|
5
|
-
*/
|
|
6
|
-
interface LegalPageSection {
|
|
7
|
-
title: string;
|
|
8
|
-
content: string | string[];
|
|
9
|
-
}
|
|
10
|
-
interface LegalPageConfig {
|
|
11
|
-
title: string;
|
|
12
|
-
lastUpdated?: string | Date;
|
|
13
|
-
sections: LegalPageSection[];
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
interface LegalPageProps {
|
|
17
|
-
config: LegalPageConfig;
|
|
18
|
-
className?: string;
|
|
19
|
-
}
|
|
20
|
-
/**
|
|
21
|
-
* LegalPage Component
|
|
22
|
-
*/
|
|
23
|
-
declare function LegalPage({ config, className }: LegalPageProps): react_jsx_runtime.JSX.Element;
|
|
24
|
-
|
|
25
|
-
interface LegalPageComponentProps {
|
|
26
|
-
config?: LegalPageConfig;
|
|
27
|
-
}
|
|
28
|
-
/**
|
|
29
|
-
* Privacy Policy Page
|
|
30
|
-
*/
|
|
31
|
-
declare function PrivacyPage({ config }?: LegalPageComponentProps): react_jsx_runtime.JSX.Element;
|
|
32
|
-
/**
|
|
33
|
-
* Terms of Service Page
|
|
34
|
-
*/
|
|
35
|
-
declare function TermsPage({ config }?: LegalPageComponentProps): react_jsx_runtime.JSX.Element;
|
|
36
|
-
/**
|
|
37
|
-
* Cookie Policy Page
|
|
38
|
-
*/
|
|
39
|
-
declare function CookiesPage({ config }?: LegalPageComponentProps): react_jsx_runtime.JSX.Element;
|
|
40
|
-
/**
|
|
41
|
-
* Security Policy Page
|
|
42
|
-
*/
|
|
43
|
-
declare function SecurityPage({ config }?: LegalPageComponentProps): react_jsx_runtime.JSX.Element;
|
|
44
|
-
|
|
45
|
-
/**
|
|
46
|
-
* Default legal page configurations
|
|
47
|
-
*
|
|
48
|
-
* Pre-configured content for common legal pages
|
|
49
|
-
* Can be customized or extended as needed
|
|
50
|
-
*/
|
|
51
|
-
|
|
52
|
-
declare const privacyConfig: LegalPageConfig;
|
|
53
|
-
declare const termsConfig: LegalPageConfig;
|
|
54
|
-
declare const cookiesConfig: LegalPageConfig;
|
|
55
|
-
declare const securityConfig: LegalPageConfig;
|
|
56
|
-
|
|
57
|
-
export { CookiesPage, LegalPage, type LegalPageComponentProps, type LegalPageConfig, type LegalPageProps, type LegalPageSection, PrivacyPage, SecurityPage, TermsPage, cookiesConfig, privacyConfig, securityConfig, termsConfig };
|
package/dist/pages.d.ts
DELETED
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Legal page types
|
|
5
|
-
*/
|
|
6
|
-
interface LegalPageSection {
|
|
7
|
-
title: string;
|
|
8
|
-
content: string | string[];
|
|
9
|
-
}
|
|
10
|
-
interface LegalPageConfig {
|
|
11
|
-
title: string;
|
|
12
|
-
lastUpdated?: string | Date;
|
|
13
|
-
sections: LegalPageSection[];
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
interface LegalPageProps {
|
|
17
|
-
config: LegalPageConfig;
|
|
18
|
-
className?: string;
|
|
19
|
-
}
|
|
20
|
-
/**
|
|
21
|
-
* LegalPage Component
|
|
22
|
-
*/
|
|
23
|
-
declare function LegalPage({ config, className }: LegalPageProps): react_jsx_runtime.JSX.Element;
|
|
24
|
-
|
|
25
|
-
interface LegalPageComponentProps {
|
|
26
|
-
config?: LegalPageConfig;
|
|
27
|
-
}
|
|
28
|
-
/**
|
|
29
|
-
* Privacy Policy Page
|
|
30
|
-
*/
|
|
31
|
-
declare function PrivacyPage({ config }?: LegalPageComponentProps): react_jsx_runtime.JSX.Element;
|
|
32
|
-
/**
|
|
33
|
-
* Terms of Service Page
|
|
34
|
-
*/
|
|
35
|
-
declare function TermsPage({ config }?: LegalPageComponentProps): react_jsx_runtime.JSX.Element;
|
|
36
|
-
/**
|
|
37
|
-
* Cookie Policy Page
|
|
38
|
-
*/
|
|
39
|
-
declare function CookiesPage({ config }?: LegalPageComponentProps): react_jsx_runtime.JSX.Element;
|
|
40
|
-
/**
|
|
41
|
-
* Security Policy Page
|
|
42
|
-
*/
|
|
43
|
-
declare function SecurityPage({ config }?: LegalPageComponentProps): react_jsx_runtime.JSX.Element;
|
|
44
|
-
|
|
45
|
-
/**
|
|
46
|
-
* Default legal page configurations
|
|
47
|
-
*
|
|
48
|
-
* Pre-configured content for common legal pages
|
|
49
|
-
* Can be customized or extended as needed
|
|
50
|
-
*/
|
|
51
|
-
|
|
52
|
-
declare const privacyConfig: LegalPageConfig;
|
|
53
|
-
declare const termsConfig: LegalPageConfig;
|
|
54
|
-
declare const cookiesConfig: LegalPageConfig;
|
|
55
|
-
declare const securityConfig: LegalPageConfig;
|
|
56
|
-
|
|
57
|
-
export { CookiesPage, LegalPage, type LegalPageComponentProps, type LegalPageConfig, type LegalPageProps, type LegalPageSection, PrivacyPage, SecurityPage, TermsPage, cookiesConfig, privacyConfig, securityConfig, termsConfig };
|
package/dist/pages.mjs
DELETED
|
@@ -1,168 +0,0 @@
|
|
|
1
|
-
import { Card, CardHeader, CardTitle, CardContent } from '@djangocfg/ui-nextjs/components';
|
|
2
|
-
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
3
|
-
|
|
4
|
-
var __defProp = Object.defineProperty;
|
|
5
|
-
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
6
|
-
function formatDate(date) {
|
|
7
|
-
if (!date) return "";
|
|
8
|
-
if (typeof date === "string") return date;
|
|
9
|
-
return date.toISOString().split("T")[0];
|
|
10
|
-
}
|
|
11
|
-
__name(formatDate, "formatDate");
|
|
12
|
-
function LegalPage({ config, className }) {
|
|
13
|
-
const { title, lastUpdated, sections } = config;
|
|
14
|
-
return /* @__PURE__ */ jsx("div", { className: `container mx-auto max-w-4xl py-16 px-4 ${className || ""}`, children: /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-8", children: [
|
|
15
|
-
/* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-4", children: [
|
|
16
|
-
/* @__PURE__ */ jsx("h1", { className: "text-4xl font-bold", children: title }),
|
|
17
|
-
lastUpdated && /* @__PURE__ */ jsxs("p", { className: "text-lg text-muted-foreground", children: [
|
|
18
|
-
"Last updated: ",
|
|
19
|
-
formatDate(lastUpdated)
|
|
20
|
-
] })
|
|
21
|
-
] }),
|
|
22
|
-
sections.map((section, index) => /* @__PURE__ */ jsxs(Card, { children: [
|
|
23
|
-
/* @__PURE__ */ jsx(CardHeader, { children: /* @__PURE__ */ jsx(CardTitle, { children: section.title }) }),
|
|
24
|
-
/* @__PURE__ */ jsx(CardContent, { className: "text-muted-foreground", children: Array.isArray(section.content) ? /* @__PURE__ */ jsx("div", { className: "flex flex-col gap-2", children: section.content.map((paragraph, pIndex) => /* @__PURE__ */ jsx("p", { children: paragraph }, pIndex)) }) : /* @__PURE__ */ jsx("p", { children: section.content }) })
|
|
25
|
-
] }, index))
|
|
26
|
-
] }) });
|
|
27
|
-
}
|
|
28
|
-
__name(LegalPage, "LegalPage");
|
|
29
|
-
|
|
30
|
-
// src/pages/legal/configs.ts
|
|
31
|
-
var privacyConfig = {
|
|
32
|
-
title: "Privacy Policy",
|
|
33
|
-
sections: [
|
|
34
|
-
{
|
|
35
|
-
title: "Information We Collect",
|
|
36
|
-
content: "We collect information that you provide directly to us, including when you create an account, use our services, or communicate with us."
|
|
37
|
-
},
|
|
38
|
-
{
|
|
39
|
-
title: "How We Use Your Information",
|
|
40
|
-
content: [
|
|
41
|
-
"We use the information we collect to:",
|
|
42
|
-
"Provide, maintain, and improve our services",
|
|
43
|
-
"Process transactions and send related information",
|
|
44
|
-
"Send technical notices and support messages",
|
|
45
|
-
"Respond to your comments and questions"
|
|
46
|
-
]
|
|
47
|
-
},
|
|
48
|
-
{
|
|
49
|
-
title: "Information Sharing",
|
|
50
|
-
content: "We do not share your personal information with third parties except as described in this privacy policy or with your consent."
|
|
51
|
-
},
|
|
52
|
-
{
|
|
53
|
-
title: "Data Security",
|
|
54
|
-
content: "We take reasonable measures to help protect your personal information from loss, theft, misuse, unauthorized access, disclosure, alteration, and destruction."
|
|
55
|
-
},
|
|
56
|
-
{
|
|
57
|
-
title: "Your Rights",
|
|
58
|
-
content: "You have the right to access, update, or delete your personal information at any time. Contact us if you wish to exercise these rights."
|
|
59
|
-
},
|
|
60
|
-
{
|
|
61
|
-
title: "Changes to This Policy",
|
|
62
|
-
content: "We may update this privacy policy from time to time. We will notify you of any changes by posting the new policy on this page."
|
|
63
|
-
}
|
|
64
|
-
]
|
|
65
|
-
};
|
|
66
|
-
var termsConfig = {
|
|
67
|
-
title: "Terms of Service",
|
|
68
|
-
sections: [
|
|
69
|
-
{
|
|
70
|
-
title: "1. Acceptance of Terms",
|
|
71
|
-
content: "By accessing and using this service, you accept and agree to be bound by the terms and provision of this agreement."
|
|
72
|
-
},
|
|
73
|
-
{
|
|
74
|
-
title: "2. Use License",
|
|
75
|
-
content: "Permission is granted to temporarily download one copy of the materials on our service for personal, non-commercial transitory viewing only."
|
|
76
|
-
},
|
|
77
|
-
{
|
|
78
|
-
title: "3. Disclaimer",
|
|
79
|
-
content: "The materials on our service are provided on an 'as is' basis. We make no warranties, expressed or implied, and hereby disclaim and negate all other warranties including, without limitation, implied warranties or conditions of merchantability, fitness for a particular purpose, or non-infringement of intellectual property or other violation of rights."
|
|
80
|
-
},
|
|
81
|
-
{
|
|
82
|
-
title: "4. Limitations",
|
|
83
|
-
content: "In no event shall we or our suppliers be liable for any damages (including, without limitation, damages for loss of data or profit, or due to business interruption) arising out of the use or inability to use the materials on our service."
|
|
84
|
-
},
|
|
85
|
-
{
|
|
86
|
-
title: "5. Revisions",
|
|
87
|
-
content: "We may revise these terms of service at any time without notice. By using this service you are agreeing to be bound by the then current version of these terms of service."
|
|
88
|
-
}
|
|
89
|
-
]
|
|
90
|
-
};
|
|
91
|
-
var cookiesConfig = {
|
|
92
|
-
title: "Cookie Policy",
|
|
93
|
-
sections: [
|
|
94
|
-
{
|
|
95
|
-
title: "What Are Cookies?",
|
|
96
|
-
content: "Cookies are small text files that are placed on your device when you visit our website. They help us provide you with a better experience by remembering your preferences and understanding how you use our site."
|
|
97
|
-
},
|
|
98
|
-
{
|
|
99
|
-
title: "Types of Cookies We Use",
|
|
100
|
-
content: [
|
|
101
|
-
"Essential Cookies: These cookies are necessary for the website to function properly.",
|
|
102
|
-
"Performance Cookies: These cookies help us understand how visitors interact with our website.",
|
|
103
|
-
"Functionality Cookies: These cookies allow us to remember choices you make and provide enhanced features."
|
|
104
|
-
]
|
|
105
|
-
},
|
|
106
|
-
{
|
|
107
|
-
title: "Managing Cookies",
|
|
108
|
-
content: "Most web browsers allow you to control cookies through their settings. You can set your browser to refuse cookies or delete certain cookies. However, please note that if you disable cookies, some features of our website may not function properly."
|
|
109
|
-
},
|
|
110
|
-
{
|
|
111
|
-
title: "Third-Party Cookies",
|
|
112
|
-
content: "We may use third-party services that also use cookies. These third parties have their own privacy policies, and we do not accept any responsibility or liability for their policies."
|
|
113
|
-
},
|
|
114
|
-
{
|
|
115
|
-
title: "Updates to This Policy",
|
|
116
|
-
content: "We may update our Cookie Policy from time to time. Any changes will be posted on this page with an updated revision date."
|
|
117
|
-
}
|
|
118
|
-
]
|
|
119
|
-
};
|
|
120
|
-
var securityConfig = {
|
|
121
|
-
title: "Security Policy",
|
|
122
|
-
sections: [
|
|
123
|
-
{
|
|
124
|
-
title: "Our Commitment to Security",
|
|
125
|
-
content: "We take the security of your data seriously. We implement industry-standard security measures to protect your personal information from unauthorized access, disclosure, alteration, and destruction."
|
|
126
|
-
},
|
|
127
|
-
{
|
|
128
|
-
title: "Data Encryption",
|
|
129
|
-
content: "All data transmitted between your device and our servers is encrypted using industry-standard SSL/TLS protocols. Sensitive data stored in our databases is encrypted at rest using advanced encryption standards."
|
|
130
|
-
},
|
|
131
|
-
{
|
|
132
|
-
title: "Access Controls",
|
|
133
|
-
content: "Access to user data is strictly limited to authorized personnel who require it to perform their job functions. We employ multi-factor authentication and regular access reviews to ensure that only authorized individuals can access sensitive information."
|
|
134
|
-
},
|
|
135
|
-
{
|
|
136
|
-
title: "Security Monitoring",
|
|
137
|
-
content: "We continuously monitor our systems for potential security threats and vulnerabilities. Our security team actively tracks and responds to any suspicious activity or potential security incidents."
|
|
138
|
-
},
|
|
139
|
-
{
|
|
140
|
-
title: "Reporting Security Issues",
|
|
141
|
-
content: "If you discover a security vulnerability or have concerns about our security practices, please report it to us immediately. We appreciate responsible disclosure and will work with you to address any legitimate security concerns."
|
|
142
|
-
},
|
|
143
|
-
{
|
|
144
|
-
title: "Regular Security Updates",
|
|
145
|
-
content: "We regularly update our systems and software to ensure that known security vulnerabilities are patched promptly. Our infrastructure undergoes periodic security audits and penetration testing to identify and address potential weaknesses."
|
|
146
|
-
}
|
|
147
|
-
]
|
|
148
|
-
};
|
|
149
|
-
function PrivacyPage({ config } = {}) {
|
|
150
|
-
return /* @__PURE__ */ jsx(LegalPage, { config: config || privacyConfig });
|
|
151
|
-
}
|
|
152
|
-
__name(PrivacyPage, "PrivacyPage");
|
|
153
|
-
function TermsPage({ config } = {}) {
|
|
154
|
-
return /* @__PURE__ */ jsx(LegalPage, { config: config || termsConfig });
|
|
155
|
-
}
|
|
156
|
-
__name(TermsPage, "TermsPage");
|
|
157
|
-
function CookiesPage({ config } = {}) {
|
|
158
|
-
return /* @__PURE__ */ jsx(LegalPage, { config: config || cookiesConfig });
|
|
159
|
-
}
|
|
160
|
-
__name(CookiesPage, "CookiesPage");
|
|
161
|
-
function SecurityPage({ config } = {}) {
|
|
162
|
-
return /* @__PURE__ */ jsx(LegalPage, { config: config || securityConfig });
|
|
163
|
-
}
|
|
164
|
-
__name(SecurityPage, "SecurityPage");
|
|
165
|
-
|
|
166
|
-
export { CookiesPage, LegalPage, PrivacyPage, SecurityPage, TermsPage, cookiesConfig, privacyConfig, securityConfig, termsConfig };
|
|
167
|
-
//# sourceMappingURL=pages.mjs.map
|
|
168
|
-
//# sourceMappingURL=pages.mjs.map
|
package/dist/pages.mjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/pages/legal/LegalPage.tsx","../src/pages/legal/configs.ts","../src/pages/legal/pages.tsx"],"names":["jsx"],"mappings":"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","file":"pages.mjs","sourcesContent":["/**\n * LegalPage Component\n *\n * Reusable component for legal pages (Privacy, Terms, Cookies, Security)\n * Accepts configuration for flexible content rendering\n *\n * Usage:\n * ```tsx\n * import { LegalPage } from '@djangocfg/layouts/components/legal';\n * import { privacyConfig } from './config';\n *\n * export default function PrivacyPage() {\n * return <LegalPage config={privacyConfig} />;\n * }\n * ```\n */\n\n'use client';\n\nimport React from 'react';\n\nimport { Card, CardContent, CardHeader, CardTitle } from '@djangocfg/ui-nextjs/components';\n\nimport type { LegalPageConfig } from './types';\n\nexport interface LegalPageProps {\n config: LegalPageConfig;\n className?: string;\n}\n\n/**\n * Format date for display\n */\nfunction formatDate(date: string | Date | undefined): string {\n if (!date) return '';\n if (typeof date === 'string') return date;\n return date.toISOString().split('T')[0];\n}\n\n/**\n * LegalPage Component\n */\nexport function LegalPage({ config, className }: LegalPageProps) {\n const { title, lastUpdated, sections } = config;\n\n return (\n <div className={`container mx-auto max-w-4xl py-16 px-4 ${className || ''}`}>\n <div className=\"flex flex-col gap-8\">\n {/* Header */}\n <div className=\"flex flex-col gap-4\">\n <h1 className=\"text-4xl font-bold\">{title}</h1>\n {lastUpdated && (\n <p className=\"text-lg text-muted-foreground\">\n Last updated: {formatDate(lastUpdated)}\n </p>\n )}\n </div>\n\n {/* Sections */}\n {sections.map((section, index) => (\n <Card key={index}>\n <CardHeader>\n <CardTitle>{section.title}</CardTitle>\n </CardHeader>\n <CardContent className=\"text-muted-foreground\">\n {Array.isArray(section.content) ? (\n <div className=\"flex flex-col gap-2\">\n {section.content.map((paragraph, pIndex) => (\n <p key={pIndex}>{paragraph}</p>\n ))}\n </div>\n ) : (\n <p>{section.content}</p>\n )}\n </CardContent>\n </Card>\n ))}\n </div>\n </div>\n );\n}\n\n","/**\n * Default legal page configurations\n *\n * Pre-configured content for common legal pages\n * Can be customized or extended as needed\n */\n\nimport type { LegalPageConfig } from './types';\n\nexport const privacyConfig: LegalPageConfig = {\n title: 'Privacy Policy',\n sections: [\n {\n title: 'Information We Collect',\n content: 'We collect information that you provide directly to us, including when you create an account, use our services, or communicate with us.',\n },\n {\n title: 'How We Use Your Information',\n content: [\n 'We use the information we collect to:',\n 'Provide, maintain, and improve our services',\n 'Process transactions and send related information',\n 'Send technical notices and support messages',\n 'Respond to your comments and questions',\n ],\n },\n {\n title: 'Information Sharing',\n content: 'We do not share your personal information with third parties except as described in this privacy policy or with your consent.',\n },\n {\n title: 'Data Security',\n content: 'We take reasonable measures to help protect your personal information from loss, theft, misuse, unauthorized access, disclosure, alteration, and destruction.',\n },\n {\n title: 'Your Rights',\n content: 'You have the right to access, update, or delete your personal information at any time. Contact us if you wish to exercise these rights.',\n },\n {\n title: 'Changes to This Policy',\n content: 'We may update this privacy policy from time to time. We will notify you of any changes by posting the new policy on this page.',\n },\n ],\n};\n\nexport const termsConfig: LegalPageConfig = {\n title: 'Terms of Service',\n sections: [\n {\n title: '1. Acceptance of Terms',\n content: 'By accessing and using this service, you accept and agree to be bound by the terms and provision of this agreement.',\n },\n {\n title: '2. Use License',\n content: 'Permission is granted to temporarily download one copy of the materials on our service for personal, non-commercial transitory viewing only.',\n },\n {\n title: '3. Disclaimer',\n content: 'The materials on our service are provided on an \\'as is\\' basis. We make no warranties, expressed or implied, and hereby disclaim and negate all other warranties including, without limitation, implied warranties or conditions of merchantability, fitness for a particular purpose, or non-infringement of intellectual property or other violation of rights.',\n },\n {\n title: '4. Limitations',\n content: 'In no event shall we or our suppliers be liable for any damages (including, without limitation, damages for loss of data or profit, or due to business interruption) arising out of the use or inability to use the materials on our service.',\n },\n {\n title: '5. Revisions',\n content: 'We may revise these terms of service at any time without notice. By using this service you are agreeing to be bound by the then current version of these terms of service.',\n },\n ],\n};\n\nexport const cookiesConfig: LegalPageConfig = {\n title: 'Cookie Policy',\n sections: [\n {\n title: 'What Are Cookies?',\n content: 'Cookies are small text files that are placed on your device when you visit our website. They help us provide you with a better experience by remembering your preferences and understanding how you use our site.',\n },\n {\n title: 'Types of Cookies We Use',\n content: [\n 'Essential Cookies: These cookies are necessary for the website to function properly.',\n 'Performance Cookies: These cookies help us understand how visitors interact with our website.',\n 'Functionality Cookies: These cookies allow us to remember choices you make and provide enhanced features.',\n ],\n },\n {\n title: 'Managing Cookies',\n content: 'Most web browsers allow you to control cookies through their settings. You can set your browser to refuse cookies or delete certain cookies. However, please note that if you disable cookies, some features of our website may not function properly.',\n },\n {\n title: 'Third-Party Cookies',\n content: 'We may use third-party services that also use cookies. These third parties have their own privacy policies, and we do not accept any responsibility or liability for their policies.',\n },\n {\n title: 'Updates to This Policy',\n content: 'We may update our Cookie Policy from time to time. Any changes will be posted on this page with an updated revision date.',\n },\n ],\n};\n\nexport const securityConfig: LegalPageConfig = {\n title: 'Security Policy',\n sections: [\n {\n title: 'Our Commitment to Security',\n content: 'We take the security of your data seriously. We implement industry-standard security measures to protect your personal information from unauthorized access, disclosure, alteration, and destruction.',\n },\n {\n title: 'Data Encryption',\n content: 'All data transmitted between your device and our servers is encrypted using industry-standard SSL/TLS protocols. Sensitive data stored in our databases is encrypted at rest using advanced encryption standards.',\n },\n {\n title: 'Access Controls',\n content: 'Access to user data is strictly limited to authorized personnel who require it to perform their job functions. We employ multi-factor authentication and regular access reviews to ensure that only authorized individuals can access sensitive information.',\n },\n {\n title: 'Security Monitoring',\n content: 'We continuously monitor our systems for potential security threats and vulnerabilities. Our security team actively tracks and responds to any suspicious activity or potential security incidents.',\n },\n {\n title: 'Reporting Security Issues',\n content: 'If you discover a security vulnerability or have concerns about our security practices, please report it to us immediately. We appreciate responsible disclosure and will work with you to address any legitimate security concerns.',\n },\n {\n title: 'Regular Security Updates',\n content: 'We regularly update our systems and software to ensure that known security vulnerabilities are patched promptly. Our infrastructure undergoes periodic security audits and penetration testing to identify and address potential weaknesses.',\n },\n ],\n};\n\n","/**\n * Pre-built legal page components\n *\n * Ready-to-use page components with default configurations\n * Can be customized by passing custom config\n *\n * Usage:\n * ```tsx\n * // app/legal/privacy/page.tsx\n * import { PrivacyPage } from '@djangocfg/layouts/components/legal';\n *\n * export default PrivacyPage;\n * ```\n */\n\n'use client';\n\nimport { cookiesConfig, privacyConfig, securityConfig, termsConfig } from './configs';\nimport { LegalPage } from './LegalPage';\n\nimport type { LegalPageConfig } from './types';\n\nexport interface LegalPageComponentProps {\n config?: LegalPageConfig;\n}\n\n/**\n * Privacy Policy Page\n */\nexport function PrivacyPage({ config }: LegalPageComponentProps = {}) {\n return <LegalPage config={config || privacyConfig} />;\n}\n\n/**\n * Terms of Service Page\n */\nexport function TermsPage({ config }: LegalPageComponentProps = {}) {\n return <LegalPage config={config || termsConfig} />;\n}\n\n/**\n * Cookie Policy Page\n */\nexport function CookiesPage({ config }: LegalPageComponentProps = {}) {\n return <LegalPage config={config || cookiesConfig} />;\n}\n\n/**\n * Security Policy Page\n */\nexport function SecurityPage({ config }: LegalPageComponentProps = {}) {\n return <LegalPage config={config || securityConfig} />;\n}\n\n"]}
|