add cloudflare R2 config
This commit is contained in:
3
.gitignore
vendored
3
.gitignore
vendored
@@ -42,3 +42,6 @@ Thumbs.db
|
|||||||
|
|
||||||
# OS-generated files in subdirs
|
# OS-generated files in subdirs
|
||||||
**/.DS_Store
|
**/.DS_Store
|
||||||
|
# BMAD (local only)
|
||||||
|
.bmad-core/
|
||||||
|
.bmad-*/
|
||||||
|
|||||||
9297
apps/backend/cloudflare-env.d.ts
vendored
Normal file
9297
apps/backend/cloudflare-env.d.ts
vendored
Normal file
File diff suppressed because it is too large
Load Diff
@@ -34,6 +34,7 @@
|
|||||||
"@payloadcms/plugin-search": "3.56.0",
|
"@payloadcms/plugin-search": "3.56.0",
|
||||||
"@payloadcms/plugin-seo": "3.56.0",
|
"@payloadcms/plugin-seo": "3.56.0",
|
||||||
"@payloadcms/richtext-lexical": "3.56.0",
|
"@payloadcms/richtext-lexical": "3.56.0",
|
||||||
|
"@payloadcms/storage-r2": "^3.59.1",
|
||||||
"@payloadcms/ui": "3.56.0",
|
"@payloadcms/ui": "3.56.0",
|
||||||
"@radix-ui/react-checkbox": "^1.0.4",
|
"@radix-ui/react-checkbox": "^1.0.4",
|
||||||
"@radix-ui/react-label": "^2.0.2",
|
"@radix-ui/react-label": "^2.0.2",
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ import sharp from 'sharp' // sharp-import
|
|||||||
import path from 'path'
|
import path from 'path'
|
||||||
import { buildConfig, PayloadRequest } from 'payload'
|
import { buildConfig, PayloadRequest } from 'payload'
|
||||||
import { fileURLToPath } from 'url'
|
import { fileURLToPath } from 'url'
|
||||||
|
import { r2Storage } from '@payloadcms/storage-r2'
|
||||||
import { Categories } from './collections/Categories'
|
import { Categories } from './collections/Categories'
|
||||||
import { Media } from './collections/Media'
|
import { Media } from './collections/Media'
|
||||||
import { Pages } from './collections/Pages'
|
import { Pages } from './collections/Pages'
|
||||||
@@ -70,8 +70,11 @@ export default buildConfig({
|
|||||||
].filter(Boolean),
|
].filter(Boolean),
|
||||||
globals: [Header, Footer],
|
globals: [Header, Footer],
|
||||||
plugins: [
|
plugins: [
|
||||||
...plugins,
|
|
||||||
// storage-adapter-placeholder
|
// storage-adapter-placeholder
|
||||||
|
r2Storage({
|
||||||
|
bucket: cloudflare.env.R2,
|
||||||
|
collections: { media: true },
|
||||||
|
}),
|
||||||
],
|
],
|
||||||
secret: process.env.PAYLOAD_SECRET,
|
secret: process.env.PAYLOAD_SECRET,
|
||||||
sharp,
|
sharp,
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
[["Map",1,2],"meta::meta",["Map",3,4,5,6],"astro-version","5.14.1","astro-config-digest","{\"root\":{},\"srcDir\":{},\"publicDir\":{},\"outDir\":{},\"cacheDir\":{},\"compressHTML\":true,\"base\":\"/\",\"trailingSlash\":\"ignore\",\"output\":\"server\",\"scopedStyleStrategy\":\"attribute\",\"build\":{\"format\":\"directory\",\"client\":{},\"server\":{},\"assets\":\"_astro\",\"serverEntry\":\"index.js\",\"redirects\":false,\"inlineStylesheets\":\"auto\",\"concurrency\":1},\"server\":{\"open\":false,\"host\":false,\"port\":4321,\"streaming\":true,\"allowedHosts\":[]},\"redirects\":{},\"image\":{\"endpoint\":{\"route\":\"/_image\"},\"service\":{\"entrypoint\":\"astro/assets/services/sharp\",\"config\":{}},\"domains\":[],\"remotePatterns\":[],\"responsiveStyles\":false},\"devToolbar\":{\"enabled\":true},\"markdown\":{\"syntaxHighlight\":{\"type\":\"shiki\",\"excludeLangs\":[\"math\"]},\"shikiConfig\":{\"langs\":[],\"langAlias\":{},\"theme\":\"github-dark\",\"themes\":{},\"wrap\":false,\"transformers\":[]},\"remarkPlugins\":[],\"rehypePlugins\":[],\"remarkRehype\":{},\"gfm\":true,\"smartypants\":true},\"security\":{\"checkOrigin\":true},\"env\":{\"schema\":{},\"validateSecrets\":false},\"experimental\":{\"clientPrerender\":false,\"contentIntellisense\":false,\"headingIdCompat\":false,\"preserveScriptOrder\":false,\"liveContentCollections\":false,\"csp\":false,\"staticImportMetaEnv\":false,\"chromeDevtoolsWorkspace\":false,\"failOnPrerenderConflict\":false},\"legacy\":{\"collections\":false},\"session\":{\"driver\":\"cloudflare-kv-binding\",\"options\":{\"binding\":\"SESSION\"}}}"]
|
[["Map",1,2],"meta::meta",["Map",3,4,5,6],"astro-version","5.14.1","astro-config-digest","{\"root\":{},\"srcDir\":{},\"publicDir\":{},\"outDir\":{},\"cacheDir\":{},\"compressHTML\":true,\"base\":\"/\",\"trailingSlash\":\"ignore\",\"output\":\"server\",\"scopedStyleStrategy\":\"attribute\",\"build\":{\"format\":\"directory\",\"client\":{},\"server\":{},\"assets\":\"_astro\",\"serverEntry\":\"index.js\",\"redirects\":false,\"inlineStylesheets\":\"auto\",\"concurrency\":1},\"server\":{\"open\":false,\"host\":true,\"port\":4321,\"streaming\":true,\"allowedHosts\":[]},\"redirects\":{},\"image\":{\"endpoint\":{\"route\":\"/_image\"},\"service\":{\"entrypoint\":\"astro/assets/services/sharp\",\"config\":{}},\"domains\":[],\"remotePatterns\":[],\"responsiveStyles\":false},\"devToolbar\":{\"enabled\":true},\"markdown\":{\"syntaxHighlight\":{\"type\":\"shiki\",\"excludeLangs\":[\"math\"]},\"shikiConfig\":{\"langs\":[],\"langAlias\":{},\"theme\":\"github-dark\",\"themes\":{},\"wrap\":false,\"transformers\":[]},\"remarkPlugins\":[],\"rehypePlugins\":[],\"remarkRehype\":{},\"gfm\":true,\"smartypants\":true},\"security\":{\"checkOrigin\":true},\"env\":{\"schema\":{},\"validateSecrets\":false},\"experimental\":{\"clientPrerender\":false,\"contentIntellisense\":false,\"headingIdCompat\":false,\"preserveScriptOrder\":false,\"liveContentCollections\":false,\"csp\":false,\"staticImportMetaEnv\":false,\"chromeDevtoolsWorkspace\":false,\"failOnPrerenderConflict\":false},\"legacy\":{\"collections\":false},\"session\":{\"driver\":\"cloudflare-kv-binding\",\"options\":{\"binding\":\"SESSION\"}}}"]
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"_variables": {
|
"_variables": {
|
||||||
"lastUpdateCheck": 1758741038303
|
"lastUpdateCheck": 1760082709773
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -4,7 +4,7 @@
|
|||||||
"private": true,
|
"private": true,
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"dev": "astro dev",
|
"dev": "astro dev --host --port 4321",
|
||||||
"dev:pages": "wrangler pages dev --compatibility-date=2024-01-01",
|
"dev:pages": "wrangler pages dev --compatibility-date=2024-01-01",
|
||||||
"build": "astro build",
|
"build": "astro build",
|
||||||
"preview": "astro preview",
|
"preview": "astro preview",
|
||||||
|
|||||||
@@ -1,149 +1,171 @@
|
|||||||
---
|
---
|
||||||
import { Image } from 'astro:assets';
|
import { Image } from "astro:assets";
|
||||||
// Header component
|
// Header component
|
||||||
---
|
---
|
||||||
|
|
||||||
<header class="sticky top-0 z-50 bg-transparent">
|
<header class="sticky top-0 z-50 bg-transparent">
|
||||||
<nav class="max-w-5xl mx-auto px-4 py-4">
|
<nav class="max-w-5xl mx-auto px-4 py-4">
|
||||||
<ul class="flex items-center justify-between list-none">
|
<ul class="flex items-center justify-between list-none">
|
||||||
<li class="flex-shrink-0">
|
<li class="flex-shrink-0">
|
||||||
<a href="/" class="block">
|
<a href="/" class="block">
|
||||||
<!-- Uses Astro's optimized Image component for the site logo -->
|
<!-- Uses Astro's optimized Image component for the site logo -->
|
||||||
<Image src="/enchun-logo.svg" alt="Enchun Digital Marketing"
|
<Image
|
||||||
class="w-32 h-auto"
|
src="/enchun-logo.svg"
|
||||||
width={919}
|
alt="Enchun Digital Marketing"
|
||||||
height={201}
|
class="w-32 h-auto"
|
||||||
loading="eager"
|
width={919}
|
||||||
decoding="async"
|
height={201}
|
||||||
/>
|
loading="eager"
|
||||||
</a>
|
decoding="async"
|
||||||
</li>
|
/>
|
||||||
<li class="hidden md:flex items-center space-x-6" id="desktop-nav">
|
</a>
|
||||||
<!-- Navigation items will be populated by JavaScript -->
|
</li>
|
||||||
</li>
|
<li class="hidden md:flex items-center space-x-6" id="desktop-nav">
|
||||||
<!-- Mobile menu button -->
|
<!-- Navigation items will be populated by JavaScript -->
|
||||||
<li class="md:hidden">
|
</li>
|
||||||
<button class="text-[var(--color-enchunblue)] hover:text-[var(--color-enchunblue)]/80" id="mobile-menu-button">
|
<!-- Mobile menu button -->
|
||||||
<svg width="24" height="24" viewBox="0 0 36 36" fill="none" xmlns="http://www.w3.org/2000/svg" class="w-6 h-6">
|
<li class="md:hidden">
|
||||||
<path d="M6 27H22.5C23.325 27 24 26.325 24 25.5C24 24.675 23.325 24 22.5 24H6C5.175 24 4.5 24.675 4.5 25.5C4.5 26.325 5.175 27 6 27ZM6 19.5H18C18.825 19.5 19.5 18.825 19.5 18C19.5 17.175 18.825 16.5 18 16.5H6C5.175 16.5 4.5 17.175 4.5 18C4.5 18.825 5.175 19.5 6 19.5ZM4.5 10.5C4.5 11.325 5.175 12 6 12H22.5C23.325 12 24 11.325 24 10.5C24 9.675 23.325 9 22.5 9H6C5.175 9 4.5 9.675 4.5 10.5ZM30.45 22.32L26.13 18L30.45 13.68C30.5889 13.5411 30.699 13.3763 30.7742 13.1948C30.8493 13.0134 30.888 12.8189 30.888 12.6225C30.888 12.4261 30.8493 12.2316 30.7742 12.0502C30.699 11.8687 30.5889 11.7039 30.45 11.565C30.3111 11.4261 30.1463 11.316 29.9648 11.2408C29.7834 11.1657 29.5889 11.127 29.3925 11.127C29.1961 11.127 29.0016 11.1657 28.8202 11.2408C28.6387 11.316 28.4739 11.4261 28.335 11.565L22.95 16.95C22.8109 17.0888 22.7006 17.2536 22.6254 17.4351C22.5501 17.6165 22.5113 17.811 22.5113 18.0075C22.5113 18.204 22.5501 18.3985 22.6254 18.5799C22.7006 18.7614 22.8109 18.9262 22.95 19.065L28.335 24.45C28.92 25.035 29.865 25.035 30.45 24.45C31.02 23.865 31.035 22.905 30.45 22.32V22.32Z" fill="currentColor"/>
|
<button
|
||||||
</svg>
|
class="text-[var(--color-enchunblue)] hover:text-[var(--color-enchunblue)]/80"
|
||||||
</button>
|
id="mobile-menu-button"
|
||||||
</li>
|
>
|
||||||
</ul>
|
<svg
|
||||||
<!-- Mobile menu -->
|
width="24"
|
||||||
<div class="md:hidden hidden" id="mobile-menu">
|
height="24"
|
||||||
<ul class="pt-4 pb-2 space-y-2" id="mobile-nav">
|
viewBox="0 0 36 36"
|
||||||
<!-- Mobile navigation items will be populated by JavaScript -->
|
fill="none"
|
||||||
</ul>
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
</div>
|
class="w-6 h-6"
|
||||||
</nav>
|
>
|
||||||
|
<path
|
||||||
|
d="M6 27H22.5C23.325 27 24 26.325 24 25.5C24 24.675 23.325 24 22.5 24H6C5.175 24 4.5 24.675 4.5 25.5C4.5 26.325 5.175 27 6 27ZM6 19.5H18C18.825 19.5 19.5 18.825 19.5 18C19.5 17.175 18.825 16.5 18 16.5H6C5.175 16.5 4.5 17.175 4.5 18C4.5 18.825 5.175 19.5 6 19.5ZM4.5 10.5C4.5 11.325 5.175 12 6 12H22.5C23.325 12 24 11.325 24 10.5C24 9.675 23.325 9 22.5 9H6C5.175 9 4.5 9.675 4.5 10.5ZM30.45 22.32L26.13 18L30.45 13.68C30.5889 13.5411 30.699 13.3763 30.7742 13.1948C30.8493 13.0134 30.888 12.8189 30.888 12.6225C30.888 12.4261 30.8493 12.2316 30.7742 12.0502C30.699 11.8687 30.5889 11.7039 30.45 11.565C30.3111 11.4261 30.1463 11.316 29.9648 11.2408C29.7834 11.1657 29.5889 11.127 29.3925 11.127C29.1961 11.127 29.0016 11.1657 28.8202 11.2408C28.6387 11.316 28.4739 11.4261 28.335 11.565L22.95 16.95C22.8109 17.0888 22.7006 17.2536 22.6254 17.4351C22.5501 17.6165 22.5113 17.811 22.5113 18.0075C22.5113 18.204 22.5501 18.3985 22.6254 18.5799C22.7006 18.7614 22.8109 18.9262 22.95 19.065L28.335 24.45C28.92 25.035 29.865 25.035 30.45 24.45C31.02 23.865 31.035 22.905 30.45 22.32V22.32Z"
|
||||||
|
fill="currentColor"></path>
|
||||||
|
</svg>
|
||||||
|
</button>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
<!-- Mobile menu -->
|
||||||
|
<div class="md:hidden hidden" id="mobile-menu">
|
||||||
|
<ul class="pt-4 pb-2 space-y-2" id="mobile-nav">
|
||||||
|
<!-- Mobile navigation items will be populated by JavaScript -->
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</nav>
|
||||||
</header>
|
</header>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
interface NavItem {
|
interface NavItem {
|
||||||
link: {
|
link: {
|
||||||
type: 'reference' | 'custom';
|
type: "reference" | "custom";
|
||||||
label: string;
|
label: string;
|
||||||
url?: string;
|
url?: string;
|
||||||
reference?: {
|
reference?: {
|
||||||
slug: string;
|
slug: string;
|
||||||
};
|
};
|
||||||
newTab?: boolean;
|
newTab?: boolean;
|
||||||
};
|
};
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// Fetch navigation data from Payload CMS
|
|
||||||
async function fetchNavigation() {
|
|
||||||
try {
|
|
||||||
// Use local proxy in development to avoid CORS issues
|
|
||||||
const apiUrl = `/api/globals/header?depth=2&draft=false&locale=undefined&trash=false`;
|
|
||||||
|
|
||||||
const response = await fetch(apiUrl);
|
|
||||||
if (!response.ok) {
|
|
||||||
throw new Error(`HTTP error! status: ${response.status}`);
|
|
||||||
}
|
|
||||||
|
|
||||||
const data = await response.json();
|
|
||||||
return data.navItems || [];
|
|
||||||
} catch (error) {
|
|
||||||
console.error('Error fetching navigation:', error);
|
|
||||||
throw error;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Generate navigation link HTML
|
|
||||||
function createNavLink(item: NavItem) {
|
|
||||||
const { link } = item;
|
|
||||||
let href = '';
|
|
||||||
|
|
||||||
if (link.type === 'custom' && link.url) {
|
|
||||||
href = link.url;
|
|
||||||
} else if (link.type === 'reference' && link.reference?.slug) {
|
|
||||||
href = `/${link.reference.slug}`;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
const target = link.newTab ? ' target="_blank" rel="noopener noreferrer"' : '';
|
// Fetch navigation data from Payload CMS
|
||||||
const label = link.label;
|
async function fetchNavigation() {
|
||||||
|
try {
|
||||||
|
// Use local proxy in development to avoid CORS issues
|
||||||
|
const apiUrl = `/api/globals/header?depth=2&draft=false&locale=undefined&trash=false`;
|
||||||
|
|
||||||
// Check if current page matches this link
|
const response = await fetch(apiUrl);
|
||||||
const currentPath = window.location.pathname;
|
if (!response.ok) {
|
||||||
const isActive = currentPath === href || (href === '/' && currentPath === '/');
|
throw new Error(`HTTP error! status: ${response.status}`);
|
||||||
|
}
|
||||||
|
|
||||||
// Add badges for specific items (positioned in top right corner)
|
const data = await response.json();
|
||||||
let badge = '';
|
return data.navItems || [];
|
||||||
if (label.includes('行銷方案')) {
|
} catch (error) {
|
||||||
badge = '<span class="absolute -top-1 -right-1 bg-red-500 text-white text-[0.5rem] px-1 py-0.5 rounded-full">hot</span>';
|
console.error("Error fetching navigation:", error);
|
||||||
} else if (label.includes('行銷放大鏡')) {
|
throw error;
|
||||||
badge = '<span class="absolute -top-1 -right-1 bg-red-500 text-white text-[0.5rem] px-1 py-0.5 rounded-full">new</span>';
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const containerClass = badge ? 'relative inline-block' : '';
|
// Generate navigation link HTML
|
||||||
const activeClass = isActive ? ' nav-active' : '';
|
function createNavLink(item: NavItem) {
|
||||||
|
const { link } = item;
|
||||||
|
let href = "";
|
||||||
|
|
||||||
return `<a href="${href}" class="${containerClass} text-lg font-normal text-shadow-md hover:text-primary transition-colors px-3 py-2${activeClass}"${target}>${label}${badge}</a>`;
|
if (link.type === "custom" && link.url) {
|
||||||
}
|
href = link.url;
|
||||||
|
} else if (link.type === "reference" && link.reference?.slug) {
|
||||||
|
href = `/${link.reference.slug}`;
|
||||||
|
}
|
||||||
|
|
||||||
// Populate navigation
|
const target = link.newTab
|
||||||
async function populateNavigation() {
|
? ' target="_blank" rel="noopener noreferrer"'
|
||||||
const navItems = await fetchNavigation();
|
: "";
|
||||||
|
const label = link.label;
|
||||||
|
|
||||||
const desktopNav = document.getElementById('desktop-nav');
|
// Check if current page matches this link
|
||||||
const mobileNav = document.getElementById('mobile-nav');
|
const currentPath = window.location.pathname;
|
||||||
|
const isActive =
|
||||||
|
currentPath === href || (href === "/" && currentPath === "/");
|
||||||
|
|
||||||
if (desktopNav && mobileNav) {
|
// Add badges for specific items (positioned in top right corner)
|
||||||
// Clear existing content
|
let badge = "";
|
||||||
desktopNav.innerHTML = '';
|
if (label.includes("行銷方案")) {
|
||||||
mobileNav.innerHTML = '';
|
badge =
|
||||||
|
'<span class="absolute -top-1 -right-1 bg-red-500 text-white text-[0.5rem] px-1 py-0.5 rounded-full">hot</span>';
|
||||||
|
} else if (label.includes("行銷放大鏡")) {
|
||||||
|
badge =
|
||||||
|
'<span class="absolute -top-1 -right-1 bg-red-500 text-white text-[0.5rem] px-1 py-0.5 rounded-full">new</span>';
|
||||||
|
}
|
||||||
|
|
||||||
// Populate desktop navigation
|
const containerClass = badge ? "relative inline-block" : "";
|
||||||
navItems.forEach((item) => {
|
const activeClass = isActive ? " nav-active" : "";
|
||||||
const linkHtml = createNavLink(item);
|
|
||||||
const li = document.createElement('li');
|
|
||||||
li.innerHTML = linkHtml;
|
|
||||||
desktopNav.appendChild(li);
|
|
||||||
});
|
|
||||||
|
|
||||||
// Populate mobile navigation
|
return `<a href="${href}" class="${containerClass} text-lg font-normal text-shadow-md hover:text-primary transition-colors px-3 py-2${activeClass}"${target}>${label}${badge}</a>`;
|
||||||
navItems.forEach((item) => {
|
|
||||||
const linkHtml = createNavLink(item).replace('px-3 py-2', 'block px-3 py-2').replace('relative inline-block', 'relative inline-block block');
|
|
||||||
const li = document.createElement('li');
|
|
||||||
li.innerHTML = linkHtml;
|
|
||||||
mobileNav.appendChild(li);
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
// Initialize navigation
|
// Populate navigation
|
||||||
populateNavigation();
|
async function populateNavigation() {
|
||||||
|
const navItems = await fetchNavigation();
|
||||||
|
|
||||||
// Simple mobile menu toggle
|
const desktopNav = document.getElementById("desktop-nav");
|
||||||
const button = document.getElementById('mobile-menu-button');
|
const mobileNav = document.getElementById("mobile-nav");
|
||||||
const menu = document.getElementById('mobile-menu');
|
|
||||||
if (button && menu) {
|
if (desktopNav && mobileNav) {
|
||||||
button.addEventListener('click', () => {
|
// Clear existing content
|
||||||
menu.classList.toggle('hidden');
|
desktopNav.innerHTML = "";
|
||||||
});
|
mobileNav.innerHTML = "";
|
||||||
}
|
|
||||||
</script>
|
// Populate desktop navigation
|
||||||
|
navItems.forEach((item) => {
|
||||||
|
const linkHtml = createNavLink(item);
|
||||||
|
const li = document.createElement("li");
|
||||||
|
li.innerHTML = linkHtml;
|
||||||
|
desktopNav.appendChild(li);
|
||||||
|
});
|
||||||
|
|
||||||
|
// Populate mobile navigation
|
||||||
|
navItems.forEach((item) => {
|
||||||
|
const linkHtml = createNavLink(item)
|
||||||
|
.replace("px-3 py-2", "block px-3 py-2")
|
||||||
|
.replace(
|
||||||
|
"relative inline-block",
|
||||||
|
"relative inline-block block",
|
||||||
|
);
|
||||||
|
const li = document.createElement("li");
|
||||||
|
li.innerHTML = linkHtml;
|
||||||
|
mobileNav.appendChild(li);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Initialize navigation
|
||||||
|
populateNavigation();
|
||||||
|
|
||||||
|
// Simple mobile menu toggle
|
||||||
|
const button = document.getElementById("mobile-menu-button");
|
||||||
|
const menu = document.getElementById("mobile-menu");
|
||||||
|
if (button && menu) {
|
||||||
|
button.addEventListener("click", () => {
|
||||||
|
menu.classList.toggle("hidden");
|
||||||
|
});
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|||||||
@@ -1,47 +1,66 @@
|
|||||||
---
|
---
|
||||||
import Layout from '../layouts/Layout.astro';
|
import Layout from "../layouts/Layout.astro";
|
||||||
|
import VideoHero from "../components/videoHero.astro";
|
||||||
---
|
---
|
||||||
|
|
||||||
<Layout>
|
<Layout>
|
||||||
<!-- Hero Section -->
|
<!-- Hero Section -->
|
||||||
<section class="bg-gradient-to-r from-primary to-secondary text-white py-20">
|
<VideoHero
|
||||||
<div class="max-w-6xl mx-auto px-4 text-center">
|
desktopVideo="/video/enchun-hero-background-video.mp4"
|
||||||
<h1 class="text-4xl md:text-6xl font-bold mb-6">恩群數位行銷</h1>
|
mobileVideo="/video/enchun-hero-background-video.webm"
|
||||||
<p class="text-xl md:text-2xl mb-8">累積多年廣告行銷操作經驗,全方位行銷人才,為您精準規劃每一分廣告預算</p>
|
logo="/enchun-logo-full.svg"
|
||||||
<a href="/contact-us" class="bg-white text-primary px-8 py-3 rounded-lg font-semibold hover:bg-gray-100 transition-colors">聯絡我們</a>
|
header="創造企業更多發展的可能性\n是我們的使命"
|
||||||
</div>
|
subheader="Its our destiny to create possibilities for your business."
|
||||||
</section>
|
/>
|
||||||
|
|
||||||
<!-- Services Section -->
|
<!-- Services Section -->
|
||||||
<section class="py-16 bg-surface">
|
<section class="py-16 bg-surface">
|
||||||
<div class="max-w-6xl mx-auto px-4">
|
<div class="max-w-6xl mx-auto px-4">
|
||||||
<h2 class="text-3xl font-bold text-center text-text mb-12">我們的服務</h2>
|
<h2 class="text-3xl font-bold text-center text-text mb-12">
|
||||||
<div class="grid grid-cols-1 md:grid-cols-3 gap-8">
|
我們的服務
|
||||||
<div class="bg-white p-6 rounded-lg shadow-md">
|
</h2>
|
||||||
<h3 class="text-xl font-semibold text-primary mb-4">Google Ads</h3>
|
<div class="grid grid-cols-1 md:grid-cols-3 gap-8">
|
||||||
<p class="text-text">專業的Google廣告投放服務,幫助您的品牌觸及目標客戶。</p>
|
<div class="bg-white p-6 rounded-lg shadow-md">
|
||||||
|
<h3 class="text-xl font-semibold text-primary mb-4">
|
||||||
|
Google Ads
|
||||||
|
</h3>
|
||||||
|
<p class="text-text">
|
||||||
|
專業的Google廣告投放服務,幫助您的品牌觸及目標客戶。
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
<div class="bg-white p-6 rounded-lg shadow-md">
|
||||||
|
<h3 class="text-xl font-semibold text-primary mb-4">
|
||||||
|
社群行銷
|
||||||
|
</h3>
|
||||||
|
<p class="text-text">
|
||||||
|
全方位社群媒體經營,從內容策劃到數據分析,一站式服務。
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
<div class="bg-white p-6 rounded-lg shadow-md">
|
||||||
|
<h3 class="text-xl font-semibold text-primary mb-4">
|
||||||
|
網站設計
|
||||||
|
</h3>
|
||||||
|
<p class="text-text">
|
||||||
|
現代化響應式網站設計,提升品牌形象和用戶體驗。
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="bg-white p-6 rounded-lg shadow-md">
|
</section>
|
||||||
<h3 class="text-xl font-semibold text-primary mb-4">社群行銷</h3>
|
|
||||||
<p class="text-text">全方位社群媒體經營,從內容策劃到數據分析,一站式服務。</p>
|
|
||||||
</div>
|
|
||||||
<div class="bg-white p-6 rounded-lg shadow-md">
|
|
||||||
<h3 class="text-xl font-semibold text-primary mb-4">網站設計</h3>
|
|
||||||
<p class="text-text">現代化響應式網站設計,提升品牌形象和用戶體驗。</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<!-- About Section -->
|
<!-- About Section -->
|
||||||
<section class="py-16">
|
<section class="py-16">
|
||||||
<div class="max-w-6xl mx-auto px-4 text-center">
|
<div class="max-w-6xl mx-auto px-4 text-center">
|
||||||
<h2 class="text-3xl font-bold text-text mb-8">關於恩群</h2>
|
<h2 class="text-3xl font-bold text-text mb-8">關於恩群</h2>
|
||||||
<p class="text-lg text-text max-w-3xl mx-auto">
|
<p class="text-lg text-text max-w-3xl mx-auto">
|
||||||
恩群數位行銷團隊擁有豐富的數位行銷經驗,我們相信在地化優先、高投資轉換率、數據優先、關係優於銷售。
|
恩群數位行銷團隊擁有豐富的數位行銷經驗,我們相信在地化優先、高投資轉換率、數據優先、關係優於銷售。
|
||||||
每一個客戶都是我們重視的夥伴,我們珍惜與客戶的合作關係。
|
每一個客戶都是我們重視的夥伴,我們珍惜與客戶的合作關係。
|
||||||
</p>
|
</p>
|
||||||
<a href="/about-enchun" class="inline-block mt-6 bg-primary text-white px-6 py-3 rounded-lg font-semibold hover:bg-primary/90 transition-colors">了解更多</a>
|
<a
|
||||||
</div>
|
href="/about-enchun"
|
||||||
</section>
|
class="inline-block mt-6 bg-primary text-white px-6 py-3 rounded-lg font-semibold hover:bg-primary/90 transition-colors"
|
||||||
|
>了解更多</a
|
||||||
|
>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
</Layout>
|
</Layout>
|
||||||
|
|||||||
@@ -12,11 +12,6 @@
|
|||||||
--color-text: #1A202C;
|
--color-text: #1A202C;
|
||||||
--color-text-muted: #718096;
|
--color-text-muted: #718096;
|
||||||
--color-border: #E2E8F0;
|
--color-border: #E2E8F0;
|
||||||
/*
|
|
||||||
Purpose:
|
|
||||||
Define Enchun brand color palette as CSS custom properties for easy, semantic access in components.
|
|
||||||
Each color is named by its original key (minus 'www.enchun.tw/') in kebab-case for clarity and maintainability.
|
|
||||||
*/
|
|
||||||
/*
|
/*
|
||||||
Purpose:
|
Purpose:
|
||||||
Define extended Enchun brand color palette as CSS custom properties, all prefixed with --color- for consistency and semantic clarity.
|
Define extended Enchun brand color palette as CSS custom properties, all prefixed with --color- for consistency and semantic clarity.
|
||||||
|
|||||||
@@ -7,7 +7,10 @@
|
|||||||
"dev:stop": "echo 'Stopping dev servers...' && pkill -f 'astro.js dev' && pkill -f 'next dev' && pkill -f 'pnpm dev' && echo 'Dev servers stopped' || echo 'No dev servers were running'",
|
"dev:stop": "echo 'Stopping dev servers...' && pkill -f 'astro.js dev' && pkill -f 'next dev' && pkill -f 'pnpm dev' && echo 'Dev servers stopped' || echo 'No dev servers were running'",
|
||||||
"build": "turbo run build",
|
"build": "turbo run build",
|
||||||
"lint": "turbo run lint",
|
"lint": "turbo run lint",
|
||||||
"test": "turbo run test"
|
"test": "turbo run test",
|
||||||
|
"bmad:refresh": "bmad-method install -f -i codex",
|
||||||
|
"bmad:list": "bmad-method list:agents",
|
||||||
|
"bmad:validate": "bmad-method validate"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"turbo": "^2.0.5"
|
"turbo": "^2.0.5"
|
||||||
|
|||||||
223
pnpm-lock.yaml
generated
223
pnpm-lock.yaml
generated
@@ -46,7 +46,10 @@ importers:
|
|||||||
version: 3.56.0(@types/react@19.1.8)(monaco-editor@0.53.0)(next@15.4.4(@babel/core@7.28.4)(@playwright/test@1.54.1)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(sass@1.77.4))(payload@3.56.0(graphql@16.11.0)(typescript@5.7.3))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.7.3)
|
version: 3.56.0(@types/react@19.1.8)(monaco-editor@0.53.0)(next@15.4.4(@babel/core@7.28.4)(@playwright/test@1.54.1)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(sass@1.77.4))(payload@3.56.0(graphql@16.11.0)(typescript@5.7.3))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.7.3)
|
||||||
'@payloadcms/richtext-lexical':
|
'@payloadcms/richtext-lexical':
|
||||||
specifier: 3.56.0
|
specifier: 3.56.0
|
||||||
version: 3.56.0(@faceless-ui/modal@3.0.0-beta.2(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@faceless-ui/scroll-info@2.0.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@payloadcms/next@3.56.0(@types/react@19.1.8)(graphql@16.11.0)(monaco-editor@0.53.0)(next@15.4.4(@babel/core@7.28.4)(@playwright/test@1.54.1)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(sass@1.77.4))(payload@3.56.0(graphql@16.11.0)(typescript@5.7.3))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.7.3))(@types/react@19.1.8)(monaco-editor@0.53.0)(next@15.4.4(@babel/core@7.28.4)(@playwright/test@1.54.1)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(sass@1.77.4))(payload@3.56.0(graphql@16.11.0)(typescript@5.7.3))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.7.3)(yjs@13.6.27)
|
version: 3.56.0(@faceless-ui/modal@3.0.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@faceless-ui/scroll-info@2.0.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@payloadcms/next@3.56.0(@types/react@19.1.8)(graphql@16.11.0)(monaco-editor@0.53.0)(next@15.4.4(@babel/core@7.28.4)(@playwright/test@1.54.1)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(sass@1.77.4))(payload@3.56.0(graphql@16.11.0)(typescript@5.7.3))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.7.3))(@types/react@19.1.8)(monaco-editor@0.53.0)(next@15.4.4(@babel/core@7.28.4)(@playwright/test@1.54.1)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(sass@1.77.4))(payload@3.56.0(graphql@16.11.0)(typescript@5.7.3))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.7.3)(yjs@13.6.27)
|
||||||
|
'@payloadcms/storage-r2':
|
||||||
|
specifier: ^3.59.1
|
||||||
|
version: 3.59.1(@types/react@19.1.8)(monaco-editor@0.53.0)(next@15.4.4(@babel/core@7.28.4)(@playwright/test@1.54.1)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(sass@1.77.4))(payload@3.56.0(graphql@16.11.0)(typescript@5.7.3))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.7.3)
|
||||||
'@payloadcms/ui':
|
'@payloadcms/ui':
|
||||||
specifier: 3.56.0
|
specifier: 3.56.0
|
||||||
version: 3.56.0(@types/react@19.1.8)(monaco-editor@0.53.0)(next@15.4.4(@babel/core@7.28.4)(@playwright/test@1.54.1)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(sass@1.77.4))(payload@3.56.0(graphql@16.11.0)(typescript@5.7.3))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.7.3)
|
version: 3.56.0(@types/react@19.1.8)(monaco-editor@0.53.0)(next@15.4.4(@babel/core@7.28.4)(@playwright/test@1.54.1)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(sass@1.77.4))(payload@3.56.0(graphql@16.11.0)(typescript@5.7.3))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.7.3)
|
||||||
@@ -1317,6 +1320,12 @@ packages:
|
|||||||
resolution: {integrity: sha512-Z5kJ+wU3oA7MMIqVR9tyZRtjYPr4OC004Q4Rw7pgOKUOKkJfZ3O24nz3WYfGRpMDNmcOi3TwQOmgm7B7Tpii0w==}
|
resolution: {integrity: sha512-Z5kJ+wU3oA7MMIqVR9tyZRtjYPr4OC004Q4Rw7pgOKUOKkJfZ3O24nz3WYfGRpMDNmcOi3TwQOmgm7B7Tpii0w==}
|
||||||
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
|
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
|
||||||
|
|
||||||
|
'@faceless-ui/modal@3.0.0':
|
||||||
|
resolution: {integrity: sha512-o3oEFsot99EQ8RJc1kL3s/nNMHX+y+WMXVzSSmca9L0l2MR6ez2QM1z1yIelJX93jqkLXQ9tW+R9tmsYa+O4Qg==}
|
||||||
|
peerDependencies:
|
||||||
|
react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
|
||||||
|
react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
|
||||||
|
|
||||||
'@faceless-ui/modal@3.0.0-beta.2':
|
'@faceless-ui/modal@3.0.0-beta.2':
|
||||||
resolution: {integrity: sha512-UmXvz7Iw3KMO4Pm3llZczU4uc5pPQDb6rdqwoBvYDFgWvkraOAHKx0HxSZgwqQvqOhn8joEFBfFp6/Do2562ow==}
|
resolution: {integrity: sha512-UmXvz7Iw3KMO4Pm3llZczU4uc5pPQDb6rdqwoBvYDFgWvkraOAHKx0HxSZgwqQvqOhn8joEFBfFp6/Do2562ow==}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
@@ -1978,6 +1987,13 @@ packages:
|
|||||||
peerDependencies:
|
peerDependencies:
|
||||||
payload: 3.56.0
|
payload: 3.56.0
|
||||||
|
|
||||||
|
'@payloadcms/plugin-cloud-storage@3.59.1':
|
||||||
|
resolution: {integrity: sha512-XsXtCxkI47djSHHgq9Cyp3bMUxJeUWjB2QjB18eWT9z4w7oQiL9B35F0dKkDj/WkJ5dh0cGyHR4nGF+QC9rbrQ==}
|
||||||
|
peerDependencies:
|
||||||
|
payload: 3.59.1
|
||||||
|
react: ^19.0.0 || ^19.0.0-rc-65a56d0e-20241020
|
||||||
|
react-dom: ^19.0.0 || ^19.0.0-rc-65a56d0e-20241020
|
||||||
|
|
||||||
'@payloadcms/plugin-form-builder@3.56.0':
|
'@payloadcms/plugin-form-builder@3.56.0':
|
||||||
resolution: {integrity: sha512-mFxWIUq4NPmwcUkp4qjU7H3Ngp5zAW23uER93tn8OJb4v0RKul+IfjRcwuZ+q0tQJu7T3PRmWRikREv1YrHEDQ==}
|
resolution: {integrity: sha512-mFxWIUq4NPmwcUkp4qjU7H3Ngp5zAW23uER93tn8OJb4v0RKul+IfjRcwuZ+q0tQJu7T3PRmWRikREv1YrHEDQ==}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
@@ -2020,9 +2036,18 @@ packages:
|
|||||||
react: ^19.0.0 || ^19.0.0-rc-65a56d0e-20241020
|
react: ^19.0.0 || ^19.0.0-rc-65a56d0e-20241020
|
||||||
react-dom: ^19.0.0 || ^19.0.0-rc-65a56d0e-20241020
|
react-dom: ^19.0.0 || ^19.0.0-rc-65a56d0e-20241020
|
||||||
|
|
||||||
|
'@payloadcms/storage-r2@3.59.1':
|
||||||
|
resolution: {integrity: sha512-JxpbZ7OTHi3avoJR4YX1J1PIlzg62qcDWx6C4dz2TmlBvLVsVOZ57YJXXi1esHjiC5oiZY1B3T17vW0iz6qMzQ==}
|
||||||
|
engines: {node: ^18.20.2 || >=20.9.0}
|
||||||
|
peerDependencies:
|
||||||
|
payload: 3.59.1
|
||||||
|
|
||||||
'@payloadcms/translations@3.56.0':
|
'@payloadcms/translations@3.56.0':
|
||||||
resolution: {integrity: sha512-4yguZ6boNebG93jtDSn5uz+4URi/EEWx9j+5FXKSg6n/TQPsIthfmhCIA9v6N/nDJFG2ZZKjDU9fgqB4wlnmzQ==}
|
resolution: {integrity: sha512-4yguZ6boNebG93jtDSn5uz+4URi/EEWx9j+5FXKSg6n/TQPsIthfmhCIA9v6N/nDJFG2ZZKjDU9fgqB4wlnmzQ==}
|
||||||
|
|
||||||
|
'@payloadcms/translations@3.59.1':
|
||||||
|
resolution: {integrity: sha512-kBuYV4tGOUpVkh6es6cBhbJn14dGtNnYkGtHhScbtGVX6ZJyVudY9ypKQhljAEzdQq0n+kkmi1sfwlaRps+t6w==}
|
||||||
|
|
||||||
'@payloadcms/ui@3.56.0':
|
'@payloadcms/ui@3.56.0':
|
||||||
resolution: {integrity: sha512-Btl2Lm9Py2UvELypTUJF0UFKgZdhVpgAFzKFupMSDN6U0PqsFePqvzJn2i67cu98/HgvxEduWMJAnYhkmFLbWg==}
|
resolution: {integrity: sha512-Btl2Lm9Py2UvELypTUJF0UFKgZdhVpgAFzKFupMSDN6U0PqsFePqvzJn2i67cu98/HgvxEduWMJAnYhkmFLbWg==}
|
||||||
engines: {node: ^18.20.2 || >=20.9.0}
|
engines: {node: ^18.20.2 || >=20.9.0}
|
||||||
@@ -2032,6 +2057,15 @@ packages:
|
|||||||
react: ^19.0.0 || ^19.0.0-rc-65a56d0e-20241020
|
react: ^19.0.0 || ^19.0.0-rc-65a56d0e-20241020
|
||||||
react-dom: ^19.0.0 || ^19.0.0-rc-65a56d0e-20241020
|
react-dom: ^19.0.0 || ^19.0.0-rc-65a56d0e-20241020
|
||||||
|
|
||||||
|
'@payloadcms/ui@3.59.1':
|
||||||
|
resolution: {integrity: sha512-T6GkdDqj3rd9qkkJ3HfgDTSA5BzU58xq1i5f/4QC8AE21BISRI3ZIiyz4K07BMipaqqN98zw+6j2kwRCPuJ/xw==}
|
||||||
|
engines: {node: ^18.20.2 || >=20.9.0}
|
||||||
|
peerDependencies:
|
||||||
|
next: ^15.2.3
|
||||||
|
payload: 3.59.1
|
||||||
|
react: ^19.0.0 || ^19.0.0-rc-65a56d0e-20241020
|
||||||
|
react-dom: ^19.0.0 || ^19.0.0-rc-65a56d0e-20241020
|
||||||
|
|
||||||
'@peculiar/asn1-android@2.5.0':
|
'@peculiar/asn1-android@2.5.0':
|
||||||
resolution: {integrity: sha512-t8A83hgghWQkcneRsgGs2ebAlRe54ns88p7ouv8PW2tzF1nAW4yHcL4uZKrFpIU+uszIRzTkcCuie37gpkId0A==}
|
resolution: {integrity: sha512-t8A83hgghWQkcneRsgGs2ebAlRe54ns88p7ouv8PW2tzF1nAW4yHcL4uZKrFpIU+uszIRzTkcCuie37gpkId0A==}
|
||||||
|
|
||||||
@@ -3732,6 +3766,10 @@ packages:
|
|||||||
destr@2.0.5:
|
destr@2.0.5:
|
||||||
resolution: {integrity: sha512-ugFTXCtDZunbzasqBxrK93Ik/DRYsO6S/fedkWEMKqt04xZ4csmnmwGDBAb07QWNaGMAmnTIemsYZCksjATwsA==}
|
resolution: {integrity: sha512-ugFTXCtDZunbzasqBxrK93Ik/DRYsO6S/fedkWEMKqt04xZ4csmnmwGDBAb07QWNaGMAmnTIemsYZCksjATwsA==}
|
||||||
|
|
||||||
|
detect-file@1.0.0:
|
||||||
|
resolution: {integrity: sha512-DtCOLG98P007x7wiiOmfI0fi3eIKyWiLTGJ2MDnVi/E04lWGbf+JzrRHMm0rgIIZJGtHpKpbVgLWHrv8xXpc3Q==}
|
||||||
|
engines: {node: '>=0.10.0'}
|
||||||
|
|
||||||
detect-libc@2.1.1:
|
detect-libc@2.1.1:
|
||||||
resolution: {integrity: sha512-ecqj/sy1jcK1uWrwpR67UhYrIFQ+5WlGxth34WquCbamhFA6hkkwiu37o6J5xCHdo1oixJRfVRw+ywV+Hq/0Aw==}
|
resolution: {integrity: sha512-ecqj/sy1jcK1uWrwpR67UhYrIFQ+5WlGxth34WquCbamhFA6hkkwiu37o6J5xCHdo1oixJRfVRw+ywV+Hq/0Aw==}
|
||||||
engines: {node: '>=8'}
|
engines: {node: '>=8'}
|
||||||
@@ -4025,6 +4063,10 @@ packages:
|
|||||||
resolution: {integrity: sha512-eNTPlAD67BmP31LDINZ3U7HSF8l57TxOY2PmBJ1shpCvpnxBF93mWCE8YHBnXs8qiUZJc9WDcWIeC3a2HIAMfw==}
|
resolution: {integrity: sha512-eNTPlAD67BmP31LDINZ3U7HSF8l57TxOY2PmBJ1shpCvpnxBF93mWCE8YHBnXs8qiUZJc9WDcWIeC3a2HIAMfw==}
|
||||||
engines: {node: '>=6'}
|
engines: {node: '>=6'}
|
||||||
|
|
||||||
|
expand-tilde@2.0.2:
|
||||||
|
resolution: {integrity: sha512-A5EmesHW6rfnZ9ysHQjPdJRni0SRar0tjtG5MNtm9n5TUvsYU8oozprtRD4AqHxcZWWlVuAmQo2nWKfN9oyjTw==}
|
||||||
|
engines: {node: '>=0.10.0'}
|
||||||
|
|
||||||
expect-type@1.2.2:
|
expect-type@1.2.2:
|
||||||
resolution: {integrity: sha512-JhFGDVJ7tmDJItKhYgJCGLOWjuK9vPxiXoUFLwLDc99NlmklilbiQJwoctZtt13+xMw91MCk/REan6MWHqDjyA==}
|
resolution: {integrity: sha512-JhFGDVJ7tmDJItKhYgJCGLOWjuK9vPxiXoUFLwLDc99NlmklilbiQJwoctZtt13+xMw91MCk/REan6MWHqDjyA==}
|
||||||
engines: {node: '>=12.0.0'}
|
engines: {node: '>=12.0.0'}
|
||||||
@@ -4096,6 +4138,9 @@ packages:
|
|||||||
resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==}
|
resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==}
|
||||||
engines: {node: '>=8'}
|
engines: {node: '>=8'}
|
||||||
|
|
||||||
|
find-node-modules@2.1.3:
|
||||||
|
resolution: {integrity: sha512-UC2I2+nx1ZuOBclWVNdcnbDR5dlrOdVb7xNjmT/lHE+LsgztWks3dG7boJ37yTS/venXw84B/mAW9uHVoC5QRg==}
|
||||||
|
|
||||||
find-root@1.1.0:
|
find-root@1.1.0:
|
||||||
resolution: {integrity: sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==}
|
resolution: {integrity: sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==}
|
||||||
|
|
||||||
@@ -4103,6 +4148,10 @@ packages:
|
|||||||
resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==}
|
resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==}
|
||||||
engines: {node: '>=10'}
|
engines: {node: '>=10'}
|
||||||
|
|
||||||
|
findup-sync@4.0.0:
|
||||||
|
resolution: {integrity: sha512-6jvvn/12IC4quLBL1KNokxC7wWTvYncaVUYSoxWw7YykPLuRrnv4qdHcSOywOI5RpkOVGeQRtWM8/q+G6W6qfQ==}
|
||||||
|
engines: {node: '>= 8'}
|
||||||
|
|
||||||
flat-cache@4.0.1:
|
flat-cache@4.0.1:
|
||||||
resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==}
|
resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==}
|
||||||
engines: {node: '>=16'}
|
engines: {node: '>=16'}
|
||||||
@@ -4218,6 +4267,14 @@ packages:
|
|||||||
resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==}
|
resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==}
|
||||||
deprecated: Glob versions prior to v9 are no longer supported
|
deprecated: Glob versions prior to v9 are no longer supported
|
||||||
|
|
||||||
|
global-modules@1.0.0:
|
||||||
|
resolution: {integrity: sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==}
|
||||||
|
engines: {node: '>=0.10.0'}
|
||||||
|
|
||||||
|
global-prefix@1.0.2:
|
||||||
|
resolution: {integrity: sha512-5lsx1NUDHtSjfg0eHlmYvZKv8/nVqX4ckFbM+FrGcQ+04KWcWFo9P5MxPZYSzUvyzmdTbI7Eix8Q4IbELDqzKg==}
|
||||||
|
engines: {node: '>=0.10.0'}
|
||||||
|
|
||||||
globals@14.0.0:
|
globals@14.0.0:
|
||||||
resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==}
|
resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==}
|
||||||
engines: {node: '>=18'}
|
engines: {node: '>=18'}
|
||||||
@@ -4324,6 +4381,10 @@ packages:
|
|||||||
hoist-non-react-statics@3.3.2:
|
hoist-non-react-statics@3.3.2:
|
||||||
resolution: {integrity: sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==}
|
resolution: {integrity: sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==}
|
||||||
|
|
||||||
|
homedir-polyfill@1.0.3:
|
||||||
|
resolution: {integrity: sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==}
|
||||||
|
engines: {node: '>=0.10.0'}
|
||||||
|
|
||||||
html-encoding-sniffer@4.0.0:
|
html-encoding-sniffer@4.0.0:
|
||||||
resolution: {integrity: sha512-Y22oTqIU4uuPgEemfz7NDJz6OeKf12Lsu+QC+s3BVpda64lTiMYCyGwg5ki4vFxkMwQdeZDl2adZoqUgdFuTgQ==}
|
resolution: {integrity: sha512-Y22oTqIU4uuPgEemfz7NDJz6OeKf12Lsu+QC+s3BVpda64lTiMYCyGwg5ki4vFxkMwQdeZDl2adZoqUgdFuTgQ==}
|
||||||
engines: {node: '>=18'}
|
engines: {node: '>=18'}
|
||||||
@@ -4390,6 +4451,9 @@ packages:
|
|||||||
inherits@2.0.4:
|
inherits@2.0.4:
|
||||||
resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
|
resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
|
||||||
|
|
||||||
|
ini@1.3.8:
|
||||||
|
resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==}
|
||||||
|
|
||||||
internal-slot@1.1.0:
|
internal-slot@1.1.0:
|
||||||
resolution: {integrity: sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==}
|
resolution: {integrity: sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==}
|
||||||
engines: {node: '>= 0.4'}
|
engines: {node: '>= 0.4'}
|
||||||
@@ -4550,6 +4614,10 @@ packages:
|
|||||||
resolution: {integrity: sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==}
|
resolution: {integrity: sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==}
|
||||||
engines: {node: '>= 0.4'}
|
engines: {node: '>= 0.4'}
|
||||||
|
|
||||||
|
is-windows@1.0.2:
|
||||||
|
resolution: {integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==}
|
||||||
|
engines: {node: '>=0.10.0'}
|
||||||
|
|
||||||
is-wsl@3.1.0:
|
is-wsl@3.1.0:
|
||||||
resolution: {integrity: sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==}
|
resolution: {integrity: sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==}
|
||||||
engines: {node: '>=16'}
|
engines: {node: '>=16'}
|
||||||
@@ -4876,6 +4944,9 @@ packages:
|
|||||||
resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==}
|
resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==}
|
||||||
engines: {node: '>= 8'}
|
engines: {node: '>= 8'}
|
||||||
|
|
||||||
|
merge@2.1.1:
|
||||||
|
resolution: {integrity: sha512-jz+Cfrg9GWOZbQAnDQ4hlVnQky+341Yk5ru8bZSe6sIDTCIg8n9i/u7hSQGSVOF3C7lH6mGtqjkiT9G4wFLL0w==}
|
||||||
|
|
||||||
micromark-core-commonmark@2.0.3:
|
micromark-core-commonmark@2.0.3:
|
||||||
resolution: {integrity: sha512-RDBrHEMSxVFLg6xvnXmb1Ayr2WzLAWjeSATAoxwKYJV94TeNavgoIdA0a9ytzDSVzBy2YKFK+emCPOEibLeCrg==}
|
resolution: {integrity: sha512-RDBrHEMSxVFLg6xvnXmb1Ayr2WzLAWjeSATAoxwKYJV94TeNavgoIdA0a9ytzDSVzBy2YKFK+emCPOEibLeCrg==}
|
||||||
|
|
||||||
@@ -5262,6 +5333,10 @@ packages:
|
|||||||
parse-latin@7.0.0:
|
parse-latin@7.0.0:
|
||||||
resolution: {integrity: sha512-mhHgobPPua5kZ98EF4HWiH167JWBfl4pvAIXXdbaVohtK7a6YBOy56kvhCqduqyo/f3yrHFWmqmiMg/BkBkYYQ==}
|
resolution: {integrity: sha512-mhHgobPPua5kZ98EF4HWiH167JWBfl4pvAIXXdbaVohtK7a6YBOy56kvhCqduqyo/f3yrHFWmqmiMg/BkBkYYQ==}
|
||||||
|
|
||||||
|
parse-passwd@1.0.0:
|
||||||
|
resolution: {integrity: sha512-1Y1A//QUXEZK7YKz+rD9WydcE1+EuPr6ZBgKecAB8tmoW6UFv0NREVJe1p+jRxtThkcbbKkfwIbWJe/IeE6m2Q==}
|
||||||
|
engines: {node: '>=0.10.0'}
|
||||||
|
|
||||||
parse5@7.3.0:
|
parse5@7.3.0:
|
||||||
resolution: {integrity: sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==}
|
resolution: {integrity: sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==}
|
||||||
|
|
||||||
@@ -5477,6 +5552,10 @@ packages:
|
|||||||
radix3@1.1.2:
|
radix3@1.1.2:
|
||||||
resolution: {integrity: sha512-b484I/7b8rDEdSDKckSSBA8knMpcdsXudlE/LNL639wFoHKwLbEkQFZHWEYwDC0wa0FKUcCY+GAF73Z7wxNVFA==}
|
resolution: {integrity: sha512-b484I/7b8rDEdSDKckSSBA8knMpcdsXudlE/LNL639wFoHKwLbEkQFZHWEYwDC0wa0FKUcCY+GAF73Z7wxNVFA==}
|
||||||
|
|
||||||
|
range-parser@1.2.1:
|
||||||
|
resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==}
|
||||||
|
engines: {node: '>= 0.6'}
|
||||||
|
|
||||||
react-datepicker@7.6.0:
|
react-datepicker@7.6.0:
|
||||||
resolution: {integrity: sha512-9cQH6Z/qa4LrGhzdc3XoHbhrxNcMi9MKjZmYgF/1MNNaJwvdSjv3Xd+jjvrEEbKEf71ZgCA3n7fQbdwd70qCRw==}
|
resolution: {integrity: sha512-9cQH6Z/qa4LrGhzdc3XoHbhrxNcMi9MKjZmYgF/1MNNaJwvdSjv3Xd+jjvrEEbKEf71ZgCA3n7fQbdwd70qCRw==}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
@@ -5647,6 +5726,10 @@ packages:
|
|||||||
resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==}
|
resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==}
|
||||||
engines: {node: '>=0.10.0'}
|
engines: {node: '>=0.10.0'}
|
||||||
|
|
||||||
|
resolve-dir@1.0.1:
|
||||||
|
resolution: {integrity: sha512-R7uiTjECzvOsWSfdM0QKFNBVFcK27aHOUwdvK53BcW8zqnGdYp0Fbj82cy54+2A4P2tFM22J5kRfe1R+lM/1yg==}
|
||||||
|
engines: {node: '>=0.10.0'}
|
||||||
|
|
||||||
resolve-from@4.0.0:
|
resolve-from@4.0.0:
|
||||||
resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==}
|
resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==}
|
||||||
engines: {node: '>=4'}
|
engines: {node: '>=4'}
|
||||||
@@ -6589,6 +6672,10 @@ packages:
|
|||||||
resolution: {integrity: sha512-rEvr90Bck4WZt9HHFC4DJMsjvu7x+r6bImz0/BrbWb7A2djJ8hnZMrWnHo9F8ssv0OMErasDhftrfROTyqSDrw==}
|
resolution: {integrity: sha512-rEvr90Bck4WZt9HHFC4DJMsjvu7x+r6bImz0/BrbWb7A2djJ8hnZMrWnHo9F8ssv0OMErasDhftrfROTyqSDrw==}
|
||||||
engines: {node: '>= 0.4'}
|
engines: {node: '>= 0.4'}
|
||||||
|
|
||||||
|
which@1.3.1:
|
||||||
|
resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==}
|
||||||
|
hasBin: true
|
||||||
|
|
||||||
which@2.0.2:
|
which@2.0.2:
|
||||||
resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==}
|
resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==}
|
||||||
engines: {node: '>= 8'}
|
engines: {node: '>= 8'}
|
||||||
@@ -8050,6 +8137,14 @@ snapshots:
|
|||||||
'@eslint/core': 0.15.2
|
'@eslint/core': 0.15.2
|
||||||
levn: 0.4.1
|
levn: 0.4.1
|
||||||
|
|
||||||
|
'@faceless-ui/modal@3.0.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0)':
|
||||||
|
dependencies:
|
||||||
|
body-scroll-lock: 4.0.0-beta.0
|
||||||
|
focus-trap: 7.5.4
|
||||||
|
react: 19.1.0
|
||||||
|
react-dom: 19.1.0(react@19.1.0)
|
||||||
|
react-transition-group: 4.4.5(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
|
||||||
|
|
||||||
'@faceless-ui/modal@3.0.0-beta.2(react-dom@19.1.0(react@19.1.0))(react@19.1.0)':
|
'@faceless-ui/modal@3.0.0-beta.2(react-dom@19.1.0(react@19.1.0))(react@19.1.0)':
|
||||||
dependencies:
|
dependencies:
|
||||||
body-scroll-lock: 4.0.0-beta.0
|
body-scroll-lock: 4.0.0-beta.0
|
||||||
@@ -8705,6 +8800,21 @@ snapshots:
|
|||||||
- aws-crt
|
- aws-crt
|
||||||
- encoding
|
- encoding
|
||||||
|
|
||||||
|
'@payloadcms/plugin-cloud-storage@3.59.1(@types/react@19.1.8)(monaco-editor@0.53.0)(next@15.4.4(@babel/core@7.28.4)(@playwright/test@1.54.1)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(sass@1.77.4))(payload@3.56.0(graphql@16.11.0)(typescript@5.7.3))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.7.3)':
|
||||||
|
dependencies:
|
||||||
|
'@payloadcms/ui': 3.59.1(@types/react@19.1.8)(monaco-editor@0.53.0)(next@15.4.4(@babel/core@7.28.4)(@playwright/test@1.54.1)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(sass@1.77.4))(payload@3.56.0(graphql@16.11.0)(typescript@5.7.3))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.7.3)
|
||||||
|
find-node-modules: 2.1.3
|
||||||
|
payload: 3.56.0(graphql@16.11.0)(typescript@5.7.3)
|
||||||
|
range-parser: 1.2.1
|
||||||
|
react: 19.1.0
|
||||||
|
react-dom: 19.1.0(react@19.1.0)
|
||||||
|
transitivePeerDependencies:
|
||||||
|
- '@types/react'
|
||||||
|
- monaco-editor
|
||||||
|
- next
|
||||||
|
- supports-color
|
||||||
|
- typescript
|
||||||
|
|
||||||
'@payloadcms/plugin-form-builder@3.56.0(@types/react@19.1.8)(monaco-editor@0.53.0)(next@15.4.4(@babel/core@7.28.4)(@playwright/test@1.54.1)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(sass@1.77.4))(payload@3.56.0(graphql@16.11.0)(typescript@5.7.3))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.7.3)':
|
'@payloadcms/plugin-form-builder@3.56.0(@types/react@19.1.8)(monaco-editor@0.53.0)(next@15.4.4(@babel/core@7.28.4)(@playwright/test@1.54.1)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(sass@1.77.4))(payload@3.56.0(graphql@16.11.0)(typescript@5.7.3))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.7.3)':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@payloadcms/ui': 3.56.0(@types/react@19.1.8)(monaco-editor@0.53.0)(next@15.4.4(@babel/core@7.28.4)(@playwright/test@1.54.1)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(sass@1.77.4))(payload@3.56.0(graphql@16.11.0)(typescript@5.7.3))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.7.3)
|
'@payloadcms/ui': 3.56.0(@types/react@19.1.8)(monaco-editor@0.53.0)(next@15.4.4(@babel/core@7.28.4)(@playwright/test@1.54.1)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(sass@1.77.4))(payload@3.56.0(graphql@16.11.0)(typescript@5.7.3))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.7.3)
|
||||||
@@ -8756,9 +8866,9 @@ snapshots:
|
|||||||
- supports-color
|
- supports-color
|
||||||
- typescript
|
- typescript
|
||||||
|
|
||||||
'@payloadcms/richtext-lexical@3.56.0(@faceless-ui/modal@3.0.0-beta.2(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@faceless-ui/scroll-info@2.0.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@payloadcms/next@3.56.0(@types/react@19.1.8)(graphql@16.11.0)(monaco-editor@0.53.0)(next@15.4.4(@babel/core@7.28.4)(@playwright/test@1.54.1)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(sass@1.77.4))(payload@3.56.0(graphql@16.11.0)(typescript@5.7.3))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.7.3))(@types/react@19.1.8)(monaco-editor@0.53.0)(next@15.4.4(@babel/core@7.28.4)(@playwright/test@1.54.1)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(sass@1.77.4))(payload@3.56.0(graphql@16.11.0)(typescript@5.7.3))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.7.3)(yjs@13.6.27)':
|
'@payloadcms/richtext-lexical@3.56.0(@faceless-ui/modal@3.0.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@faceless-ui/scroll-info@2.0.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@payloadcms/next@3.56.0(@types/react@19.1.8)(graphql@16.11.0)(monaco-editor@0.53.0)(next@15.4.4(@babel/core@7.28.4)(@playwright/test@1.54.1)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(sass@1.77.4))(payload@3.56.0(graphql@16.11.0)(typescript@5.7.3))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.7.3))(@types/react@19.1.8)(monaco-editor@0.53.0)(next@15.4.4(@babel/core@7.28.4)(@playwright/test@1.54.1)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(sass@1.77.4))(payload@3.56.0(graphql@16.11.0)(typescript@5.7.3))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.7.3)(yjs@13.6.27)':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@faceless-ui/modal': 3.0.0-beta.2(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
|
'@faceless-ui/modal': 3.0.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
|
||||||
'@faceless-ui/scroll-info': 2.0.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
|
'@faceless-ui/scroll-info': 2.0.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
|
||||||
'@lexical/headless': 0.35.0
|
'@lexical/headless': 0.35.0
|
||||||
'@lexical/html': 0.35.0
|
'@lexical/html': 0.35.0
|
||||||
@@ -8799,10 +8909,27 @@ snapshots:
|
|||||||
- typescript
|
- typescript
|
||||||
- yjs
|
- yjs
|
||||||
|
|
||||||
|
'@payloadcms/storage-r2@3.59.1(@types/react@19.1.8)(monaco-editor@0.53.0)(next@15.4.4(@babel/core@7.28.4)(@playwright/test@1.54.1)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(sass@1.77.4))(payload@3.56.0(graphql@16.11.0)(typescript@5.7.3))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.7.3)':
|
||||||
|
dependencies:
|
||||||
|
'@payloadcms/plugin-cloud-storage': 3.59.1(@types/react@19.1.8)(monaco-editor@0.53.0)(next@15.4.4(@babel/core@7.28.4)(@playwright/test@1.54.1)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(sass@1.77.4))(payload@3.56.0(graphql@16.11.0)(typescript@5.7.3))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.7.3)
|
||||||
|
payload: 3.56.0(graphql@16.11.0)(typescript@5.7.3)
|
||||||
|
transitivePeerDependencies:
|
||||||
|
- '@types/react'
|
||||||
|
- monaco-editor
|
||||||
|
- next
|
||||||
|
- react
|
||||||
|
- react-dom
|
||||||
|
- supports-color
|
||||||
|
- typescript
|
||||||
|
|
||||||
'@payloadcms/translations@3.56.0':
|
'@payloadcms/translations@3.56.0':
|
||||||
dependencies:
|
dependencies:
|
||||||
date-fns: 4.1.0
|
date-fns: 4.1.0
|
||||||
|
|
||||||
|
'@payloadcms/translations@3.59.1':
|
||||||
|
dependencies:
|
||||||
|
date-fns: 4.1.0
|
||||||
|
|
||||||
'@payloadcms/ui@3.56.0(@types/react@19.1.8)(monaco-editor@0.53.0)(next@15.4.4(@babel/core@7.28.4)(@playwright/test@1.54.1)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(sass@1.77.4))(payload@3.56.0(graphql@16.11.0)(typescript@5.7.3))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.7.3)':
|
'@payloadcms/ui@3.56.0(@types/react@19.1.8)(monaco-editor@0.53.0)(next@15.4.4(@babel/core@7.28.4)(@playwright/test@1.54.1)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(sass@1.77.4))(payload@3.56.0(graphql@16.11.0)(typescript@5.7.3))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.7.3)':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@date-fns/tz': 1.2.0
|
'@date-fns/tz': 1.2.0
|
||||||
@@ -8838,6 +8965,41 @@ snapshots:
|
|||||||
- supports-color
|
- supports-color
|
||||||
- typescript
|
- typescript
|
||||||
|
|
||||||
|
'@payloadcms/ui@3.59.1(@types/react@19.1.8)(monaco-editor@0.53.0)(next@15.4.4(@babel/core@7.28.4)(@playwright/test@1.54.1)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(sass@1.77.4))(payload@3.56.0(graphql@16.11.0)(typescript@5.7.3))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.7.3)':
|
||||||
|
dependencies:
|
||||||
|
'@date-fns/tz': 1.2.0
|
||||||
|
'@dnd-kit/core': 6.0.8(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
|
||||||
|
'@dnd-kit/sortable': 7.0.2(@dnd-kit/core@6.0.8(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react@19.1.0)
|
||||||
|
'@dnd-kit/utilities': 3.2.2(react@19.1.0)
|
||||||
|
'@faceless-ui/modal': 3.0.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
|
||||||
|
'@faceless-ui/scroll-info': 2.0.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
|
||||||
|
'@faceless-ui/window-info': 3.0.1(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
|
||||||
|
'@monaco-editor/react': 4.7.0(monaco-editor@0.53.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
|
||||||
|
'@payloadcms/translations': 3.59.1
|
||||||
|
bson-objectid: 2.0.4
|
||||||
|
date-fns: 4.1.0
|
||||||
|
dequal: 2.0.3
|
||||||
|
md5: 2.3.0
|
||||||
|
next: 15.4.4(@babel/core@7.28.4)(@playwright/test@1.54.1)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(sass@1.77.4)
|
||||||
|
object-to-formdata: 4.5.1
|
||||||
|
payload: 3.56.0(graphql@16.11.0)(typescript@5.7.3)
|
||||||
|
qs-esm: 7.0.2
|
||||||
|
react: 19.1.0
|
||||||
|
react-datepicker: 7.6.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
|
||||||
|
react-dom: 19.1.0(react@19.1.0)
|
||||||
|
react-image-crop: 10.1.8(react@19.1.0)
|
||||||
|
react-select: 5.9.0(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
|
||||||
|
scheduler: 0.25.0
|
||||||
|
sonner: 1.7.4(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
|
||||||
|
ts-essentials: 10.0.3(typescript@5.7.3)
|
||||||
|
use-context-selector: 2.0.0(react@19.1.0)(scheduler@0.25.0)
|
||||||
|
uuid: 10.0.0
|
||||||
|
transitivePeerDependencies:
|
||||||
|
- '@types/react'
|
||||||
|
- monaco-editor
|
||||||
|
- supports-color
|
||||||
|
- typescript
|
||||||
|
|
||||||
'@peculiar/asn1-android@2.5.0':
|
'@peculiar/asn1-android@2.5.0':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@peculiar/asn1-schema': 2.5.0
|
'@peculiar/asn1-schema': 2.5.0
|
||||||
@@ -10757,6 +10919,8 @@ snapshots:
|
|||||||
|
|
||||||
destr@2.0.5: {}
|
destr@2.0.5: {}
|
||||||
|
|
||||||
|
detect-file@1.0.0: {}
|
||||||
|
|
||||||
detect-libc@2.1.1: {}
|
detect-libc@2.1.1: {}
|
||||||
|
|
||||||
detect-node-es@1.1.0: {}
|
detect-node-es@1.1.0: {}
|
||||||
@@ -11264,6 +11428,10 @@ snapshots:
|
|||||||
|
|
||||||
exit-hook@2.2.1: {}
|
exit-hook@2.2.1: {}
|
||||||
|
|
||||||
|
expand-tilde@2.0.2:
|
||||||
|
dependencies:
|
||||||
|
homedir-polyfill: 1.0.3
|
||||||
|
|
||||||
expect-type@1.2.2: {}
|
expect-type@1.2.2: {}
|
||||||
|
|
||||||
exsolve@1.0.7: {}
|
exsolve@1.0.7: {}
|
||||||
@@ -11328,6 +11496,11 @@ snapshots:
|
|||||||
dependencies:
|
dependencies:
|
||||||
to-regex-range: 5.0.1
|
to-regex-range: 5.0.1
|
||||||
|
|
||||||
|
find-node-modules@2.1.3:
|
||||||
|
dependencies:
|
||||||
|
findup-sync: 4.0.0
|
||||||
|
merge: 2.1.1
|
||||||
|
|
||||||
find-root@1.1.0: {}
|
find-root@1.1.0: {}
|
||||||
|
|
||||||
find-up@5.0.0:
|
find-up@5.0.0:
|
||||||
@@ -11335,6 +11508,13 @@ snapshots:
|
|||||||
locate-path: 6.0.0
|
locate-path: 6.0.0
|
||||||
path-exists: 4.0.0
|
path-exists: 4.0.0
|
||||||
|
|
||||||
|
findup-sync@4.0.0:
|
||||||
|
dependencies:
|
||||||
|
detect-file: 1.0.0
|
||||||
|
is-glob: 4.0.3
|
||||||
|
micromatch: 4.0.8
|
||||||
|
resolve-dir: 1.0.1
|
||||||
|
|
||||||
flat-cache@4.0.1:
|
flat-cache@4.0.1:
|
||||||
dependencies:
|
dependencies:
|
||||||
flatted: 3.3.3
|
flatted: 3.3.3
|
||||||
@@ -11471,6 +11651,20 @@ snapshots:
|
|||||||
once: 1.4.0
|
once: 1.4.0
|
||||||
path-is-absolute: 1.0.1
|
path-is-absolute: 1.0.1
|
||||||
|
|
||||||
|
global-modules@1.0.0:
|
||||||
|
dependencies:
|
||||||
|
global-prefix: 1.0.2
|
||||||
|
is-windows: 1.0.2
|
||||||
|
resolve-dir: 1.0.1
|
||||||
|
|
||||||
|
global-prefix@1.0.2:
|
||||||
|
dependencies:
|
||||||
|
expand-tilde: 2.0.2
|
||||||
|
homedir-polyfill: 1.0.3
|
||||||
|
ini: 1.3.8
|
||||||
|
is-windows: 1.0.2
|
||||||
|
which: 1.3.1
|
||||||
|
|
||||||
globals@14.0.0: {}
|
globals@14.0.0: {}
|
||||||
|
|
||||||
globalthis@1.0.4:
|
globalthis@1.0.4:
|
||||||
@@ -11628,6 +11822,10 @@ snapshots:
|
|||||||
dependencies:
|
dependencies:
|
||||||
react-is: 16.13.1
|
react-is: 16.13.1
|
||||||
|
|
||||||
|
homedir-polyfill@1.0.3:
|
||||||
|
dependencies:
|
||||||
|
parse-passwd: 1.0.0
|
||||||
|
|
||||||
html-encoding-sniffer@4.0.0:
|
html-encoding-sniffer@4.0.0:
|
||||||
dependencies:
|
dependencies:
|
||||||
whatwg-encoding: 3.1.1
|
whatwg-encoding: 3.1.1
|
||||||
@@ -11684,6 +11882,8 @@ snapshots:
|
|||||||
|
|
||||||
inherits@2.0.4: {}
|
inherits@2.0.4: {}
|
||||||
|
|
||||||
|
ini@1.3.8: {}
|
||||||
|
|
||||||
internal-slot@1.1.0:
|
internal-slot@1.1.0:
|
||||||
dependencies:
|
dependencies:
|
||||||
es-errors: 1.3.0
|
es-errors: 1.3.0
|
||||||
@@ -11838,6 +12038,8 @@ snapshots:
|
|||||||
call-bound: 1.0.4
|
call-bound: 1.0.4
|
||||||
get-intrinsic: 1.3.0
|
get-intrinsic: 1.3.0
|
||||||
|
|
||||||
|
is-windows@1.0.2: {}
|
||||||
|
|
||||||
is-wsl@3.1.0:
|
is-wsl@3.1.0:
|
||||||
dependencies:
|
dependencies:
|
||||||
is-inside-container: 1.0.0
|
is-inside-container: 1.0.0
|
||||||
@@ -12231,6 +12433,8 @@ snapshots:
|
|||||||
|
|
||||||
merge2@1.4.1: {}
|
merge2@1.4.1: {}
|
||||||
|
|
||||||
|
merge@2.1.1: {}
|
||||||
|
|
||||||
micromark-core-commonmark@2.0.3:
|
micromark-core-commonmark@2.0.3:
|
||||||
dependencies:
|
dependencies:
|
||||||
decode-named-character-reference: 1.2.0
|
decode-named-character-reference: 1.2.0
|
||||||
@@ -12765,6 +12969,8 @@ snapshots:
|
|||||||
unist-util-visit-children: 3.0.0
|
unist-util-visit-children: 3.0.0
|
||||||
vfile: 6.0.3
|
vfile: 6.0.3
|
||||||
|
|
||||||
|
parse-passwd@1.0.0: {}
|
||||||
|
|
||||||
parse5@7.3.0:
|
parse5@7.3.0:
|
||||||
dependencies:
|
dependencies:
|
||||||
entities: 6.0.1
|
entities: 6.0.1
|
||||||
@@ -12995,6 +13201,8 @@ snapshots:
|
|||||||
|
|
||||||
radix3@1.1.2: {}
|
radix3@1.1.2: {}
|
||||||
|
|
||||||
|
range-parser@1.2.1: {}
|
||||||
|
|
||||||
react-datepicker@7.6.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0):
|
react-datepicker@7.6.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0):
|
||||||
dependencies:
|
dependencies:
|
||||||
'@floating-ui/react': 0.27.16(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
|
'@floating-ui/react': 0.27.16(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
|
||||||
@@ -13224,6 +13432,11 @@ snapshots:
|
|||||||
|
|
||||||
require-from-string@2.0.2: {}
|
require-from-string@2.0.2: {}
|
||||||
|
|
||||||
|
resolve-dir@1.0.1:
|
||||||
|
dependencies:
|
||||||
|
expand-tilde: 2.0.2
|
||||||
|
global-modules: 1.0.0
|
||||||
|
|
||||||
resolve-from@4.0.0: {}
|
resolve-from@4.0.0: {}
|
||||||
|
|
||||||
resolve-pkg-maps@1.0.0: {}
|
resolve-pkg-maps@1.0.0: {}
|
||||||
@@ -14304,6 +14517,10 @@ snapshots:
|
|||||||
gopd: 1.2.0
|
gopd: 1.2.0
|
||||||
has-tostringtag: 1.0.2
|
has-tostringtag: 1.0.2
|
||||||
|
|
||||||
|
which@1.3.1:
|
||||||
|
dependencies:
|
||||||
|
isexe: 2.0.0
|
||||||
|
|
||||||
which@2.0.2:
|
which@2.0.2:
|
||||||
dependencies:
|
dependencies:
|
||||||
isexe: 2.0.0
|
isexe: 2.0.0
|
||||||
|
|||||||
Reference in New Issue
Block a user