feat: Upgrade to Astro with full PDPA compliance
PDPA Features: ✅ Cookie consent banner ✅ Consent logging API ✅ Admin dashboard ✅ Privacy Policy ✅ Terms & Conditions Technical: ✅ Astro 5.x + Tailwind v4 ✅ Docker on port 80 ✅ SQLite database ✅ 15 pages built Ready for Easypanel deployment.
This commit is contained in:
1
node_modules/astro-consent/dist/templates/cssTemplate.d.ts
generated
vendored
Normal file
1
node_modules/astro-consent/dist/templates/cssTemplate.d.ts
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
export declare const DEFAULT_CSS = "\n:root {\n /* Layout */\n --cb-z-index: 9999;\n --cb-max-width: 960px;\n --cb-padding: 16px;\n --cb-gap: 12px;\n --cb-radius: 10px;\n\n /* Colours */\n --cb-bg: #111827;\n --cb-surface: #1f2933;\n --cb-text: #ffffff;\n --cb-muted: #9ca3af;\n --cb-border: #374151;\n --cb-accent: #6366f1;\n\n /* Buttons */\n --cb-btn-bg: var(--cb-accent);\n --cb-btn-text: #ffffff;\n --cb-btn-secondary-bg: transparent;\n --cb-btn-secondary-text: var(--cb-text);\n --cb-btn-border: var(--cb-border);\n\n /* Typography */\n --cb-font-family: system-ui, -apple-system, BlinkMacSystemFont, sans-serif;\n --cb-title-size: 1rem;\n --cb-text-size: 0.875rem;\n}\n\n#astro-consent-banner {\n position: fixed;\n bottom: 0;\n left: 0;\n right: 0;\n z-index: var(--cb-z-index);\n background: var(--cb-bg);\n color: var(--cb-text);\n font-family: var(--cb-font-family);\n border-top: 1px solid var(--cb-border);\n}\n\n#astro-consent-banner > * {\n max-width: var(--cb-max-width);\n margin: 0 auto;\n padding: var(--cb-padding);\n}\n\n#astro-consent-banner h2 {\n margin: 0 0 4px;\n font-size: var(--cb-title-size);\n}\n\n#astro-consent-banner p {\n margin: 0;\n font-size: var(--cb-text-size);\n color: var(--cb-muted);\n}\n\n#astro-consent-banner a {\n color: var(--cb-accent);\n text-decoration: underline;\n}\n\n.astro-consent-categories {\n display: grid;\n gap: var(--cb-gap);\n margin-top: var(--cb-gap);\n}\n\n.astro-consent-category {\n background: var(--cb-surface);\n padding: 12px;\n border-radius: var(--cb-radius);\n border: 1px solid var(--cb-border);\n}\n\n.astro-consent-label {\n display: flex;\n align-items: center;\n gap: 8px;\n font-weight: 600;\n}\n\n.astro-consent-description {\n margin: 4px 0 0 26px;\n font-size: 0.8rem;\n color: var(--cb-muted);\n}\n\n.astro-consent-actions {\n display: flex;\n gap: 8px;\n justify-content: flex-end;\n margin-top: var(--cb-gap);\n flex-wrap: wrap;\n}\n\n.astro-consent-actions button {\n padding: 8px 14px;\n border-radius: var(--cb-radius);\n font-size: 0.875rem;\n cursor: pointer;\n border: 1px solid var(--cb-btn-border);\n}\n\n.astro-consent-actions button:first-child {\n background: var(--cb-btn-secondary-bg);\n color: var(--cb-btn-secondary-text);\n}\n\n.astro-consent-actions button:last-child {\n background: var(--cb-btn-bg);\n color: var(--cb-btn-text);\n border-color: var(--cb-btn-bg);\n}\n";
|
||||
117
node_modules/astro-consent/dist/templates/cssTemplate.js
generated
vendored
Normal file
117
node_modules/astro-consent/dist/templates/cssTemplate.js
generated
vendored
Normal file
@@ -0,0 +1,117 @@
|
||||
export const DEFAULT_CSS = `
|
||||
:root {
|
||||
/* Layout */
|
||||
--cb-z-index: 9999;
|
||||
--cb-max-width: 960px;
|
||||
--cb-padding: 16px;
|
||||
--cb-gap: 12px;
|
||||
--cb-radius: 10px;
|
||||
|
||||
/* Colours */
|
||||
--cb-bg: #111827;
|
||||
--cb-surface: #1f2933;
|
||||
--cb-text: #ffffff;
|
||||
--cb-muted: #9ca3af;
|
||||
--cb-border: #374151;
|
||||
--cb-accent: #6366f1;
|
||||
|
||||
/* Buttons */
|
||||
--cb-btn-bg: var(--cb-accent);
|
||||
--cb-btn-text: #ffffff;
|
||||
--cb-btn-secondary-bg: transparent;
|
||||
--cb-btn-secondary-text: var(--cb-text);
|
||||
--cb-btn-border: var(--cb-border);
|
||||
|
||||
/* Typography */
|
||||
--cb-font-family: system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
|
||||
--cb-title-size: 1rem;
|
||||
--cb-text-size: 0.875rem;
|
||||
}
|
||||
|
||||
#astro-consent-banner {
|
||||
position: fixed;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
z-index: var(--cb-z-index);
|
||||
background: var(--cb-bg);
|
||||
color: var(--cb-text);
|
||||
font-family: var(--cb-font-family);
|
||||
border-top: 1px solid var(--cb-border);
|
||||
}
|
||||
|
||||
#astro-consent-banner > * {
|
||||
max-width: var(--cb-max-width);
|
||||
margin: 0 auto;
|
||||
padding: var(--cb-padding);
|
||||
}
|
||||
|
||||
#astro-consent-banner h2 {
|
||||
margin: 0 0 4px;
|
||||
font-size: var(--cb-title-size);
|
||||
}
|
||||
|
||||
#astro-consent-banner p {
|
||||
margin: 0;
|
||||
font-size: var(--cb-text-size);
|
||||
color: var(--cb-muted);
|
||||
}
|
||||
|
||||
#astro-consent-banner a {
|
||||
color: var(--cb-accent);
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
.astro-consent-categories {
|
||||
display: grid;
|
||||
gap: var(--cb-gap);
|
||||
margin-top: var(--cb-gap);
|
||||
}
|
||||
|
||||
.astro-consent-category {
|
||||
background: var(--cb-surface);
|
||||
padding: 12px;
|
||||
border-radius: var(--cb-radius);
|
||||
border: 1px solid var(--cb-border);
|
||||
}
|
||||
|
||||
.astro-consent-label {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 8px;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
.astro-consent-description {
|
||||
margin: 4px 0 0 26px;
|
||||
font-size: 0.8rem;
|
||||
color: var(--cb-muted);
|
||||
}
|
||||
|
||||
.astro-consent-actions {
|
||||
display: flex;
|
||||
gap: 8px;
|
||||
justify-content: flex-end;
|
||||
margin-top: var(--cb-gap);
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
|
||||
.astro-consent-actions button {
|
||||
padding: 8px 14px;
|
||||
border-radius: var(--cb-radius);
|
||||
font-size: 0.875rem;
|
||||
cursor: pointer;
|
||||
border: 1px solid var(--cb-btn-border);
|
||||
}
|
||||
|
||||
.astro-consent-actions button:first-child {
|
||||
background: var(--cb-btn-secondary-bg);
|
||||
color: var(--cb-btn-secondary-text);
|
||||
}
|
||||
|
||||
.astro-consent-actions button:last-child {
|
||||
background: var(--cb-btn-bg);
|
||||
color: var(--cb-btn-text);
|
||||
border-color: var(--cb-btn-bg);
|
||||
}
|
||||
`;
|
||||
Reference in New Issue
Block a user