Emdash source with visual editor image upload fix

Fixes:
1. media.ts: wrap placeholder generation in try-catch
2. toolbar.ts: check r.ok, display error message in popover
This commit is contained in:
2026-05-03 10:44:54 +07:00
parent 78f81bebb6
commit 2d1be52177
2352 changed files with 662964 additions and 0 deletions

View File

@@ -0,0 +1,253 @@
{
"$schema": "https://emdashcms.com/seed.schema.json",
"version": "1",
"meta": {
"name": "Marketing Starter",
"description": "A conversion-focused marketing site with landing pages",
"author": "EmDash"
},
"settings": {
"title": "Acme",
"tagline": "Build products people actually want"
},
"collections": [
{
"slug": "pages",
"label": "Pages",
"labelSingular": "Page",
"supports": ["drafts", "revisions", "seo"],
"fields": [
{
"slug": "title",
"label": "Title",
"type": "string",
"required": true
},
{
"slug": "content",
"label": "Content",
"type": "portableText"
}
]
}
],
"menus": [
{
"name": "primary",
"label": "Primary Navigation",
"items": [
{
"type": "custom",
"label": "Features",
"url": "/#features"
},
{
"type": "custom",
"label": "Pricing",
"url": "/pricing"
},
{
"type": "custom",
"label": "Contact",
"url": "/contact"
}
]
}
],
"content": {
"pages": [
{
"id": "home",
"slug": "home",
"status": "published",
"data": {
"title": "Home",
"content": [
{
"_type": "marketing.hero",
"_key": "hero",
"headline": "Build products people actually want",
"subheadline": "The all-in-one platform for modern teams. Ship faster, collaborate better, and focus on what matters.",
"primaryCtaLabel": "Start Free Trial",
"primaryCtaUrl": "/signup",
"secondaryCtaLabel": "Watch Demo",
"secondaryCtaUrl": "/demo"
},
{
"_type": "marketing.features",
"_key": "features",
"headline": "Everything you need to ship",
"subheadline": "Powerful features that help your team move faster without sacrificing quality.",
"features": [
{
"icon": "zap",
"title": "Lightning Fast",
"description": "Built for speed from the ground up. Your team will notice the difference from day one."
},
{
"icon": "shield",
"title": "Enterprise Security",
"description": "SOC 2 compliant with end-to-end encryption. Your data stays yours."
},
{
"icon": "users",
"title": "Team Collaboration",
"description": "Real-time collaboration features that make working together feel effortless."
},
{
"icon": "chart",
"title": "Powerful Analytics",
"description": "Understand how your team works with detailed insights and reporting."
},
{
"icon": "code",
"title": "Developer Friendly",
"description": "A robust API and CLI tools that integrate with your existing workflow."
},
{
"icon": "globe",
"title": "Global Scale",
"description": "Deployed to edge locations worldwide. Fast for everyone, everywhere."
}
]
},
{
"_type": "marketing.testimonials",
"_key": "testimonials",
"headline": "Trusted by teams everywhere",
"testimonials": [
{
"quote": "We cut our deployment time by 80%. The team actually enjoys shipping now.",
"author": "Sarah Chen",
"role": "CTO",
"company": "Streamline"
},
{
"quote": "The best developer experience I've used. Everything just works the way you'd expect.",
"author": "Marcus Johnson",
"role": "Lead Engineer",
"company": "Volt Labs"
},
{
"quote": "Finally, a tool that doesn't get in the way. Our team is more productive than ever.",
"author": "Elena Rodriguez",
"role": "VP Engineering",
"company": "Nexus"
}
]
},
{
"_type": "marketing.faq",
"_key": "faq",
"headline": "Frequently asked questions",
"items": [
{
"question": "How long does setup take?",
"answer": "Most teams are up and running in under 15 minutes. Our onboarding wizard guides you through connecting your existing tools and inviting your team."
},
{
"question": "Can I migrate from my current tool?",
"answer": "Yes. We have built-in importers for all major platforms, and our support team can help with custom migrations for larger teams."
},
{
"question": "What kind of support do you offer?",
"answer": "All plans include email support with a 24-hour response time. Pro and Enterprise plans include priority support with dedicated account managers."
},
{
"question": "Is there a free trial?",
"answer": "Yes, all plans come with a 14-day free trial. No credit card required. You can upgrade, downgrade, or cancel at any time."
}
]
}
]
}
},
{
"id": "pricing",
"slug": "pricing",
"status": "published",
"data": {
"title": "Pricing",
"content": [
{
"_type": "marketing.hero",
"_key": "pricing-hero",
"headline": "Simple, transparent pricing",
"subheadline": "No hidden fees. No surprises. Start free and scale as you grow.",
"centered": true
},
{
"_type": "marketing.pricing",
"_key": "pricing-plans",
"plans": [
{
"name": "Starter",
"price": "$0",
"period": "/month",
"description": "Perfect for trying things out",
"features": "Up to 3 team members\n5 projects\nBasic analytics\nCommunity support\n1GB storage",
"ctaLabel": "Get Started",
"ctaUrl": "/signup"
},
{
"name": "Pro",
"price": "$29",
"period": "/user/month",
"description": "For growing teams",
"features": "Unlimited team members\nUnlimited projects\nAdvanced analytics\nPriority support\n100GB storage\nCustom integrations\nAPI access",
"ctaLabel": "Start Free Trial",
"ctaUrl": "/signup?plan=pro",
"highlighted": true
},
{
"name": "Enterprise",
"price": "Custom",
"description": "For large organizations",
"features": "Everything in Pro\nDedicated support\nCustom contracts\nSLA guarantee\nUnlimited storage",
"ctaLabel": "Contact Sales",
"ctaUrl": "/contact"
}
]
},
{
"_type": "marketing.faq",
"_key": "pricing-faq",
"headline": "Pricing FAQ",
"items": [
{
"question": "Can I change plans later?",
"answer": "Yes, you can upgrade or downgrade at any time. Changes take effect immediately and we'll prorate your billing."
},
{
"question": "What payment methods do you accept?",
"answer": "We accept all major credit cards, and Enterprise customers can pay via invoice with NET 30 terms."
},
{
"question": "Is there a discount for annual billing?",
"answer": "Yes, annual plans receive a 20% discount compared to monthly billing."
}
]
}
]
}
},
{
"id": "contact",
"slug": "contact",
"status": "published",
"data": {
"title": "Contact",
"content": [
{
"_type": "marketing.hero",
"_key": "contact-hero",
"headline": "Get in touch",
"subheadline": "Have questions? Want a demo? We'd love to hear from you.",
"centered": true
}
]
}
}
]
}
}