Initial react editor website template

This commit is contained in:
Rami Bitar
2026-08-29 14:03:50 -04:00
commit 3e072967e6
61 changed files with 7041 additions and 0 deletions
+24
View File
@@ -0,0 +1,24 @@
import type { RootConfig } from '@reacteditor/core';
export type RootProps = {
title?: string;
description?: string;
ogImage?: string;
};
export const Root: RootConfig<{ props: RootProps }> = {
global: false,
defaultProps: {
title: 'Your Company',
description: 'A clean, flexible foundation for your next website.',
ogImage: '',
},
fields: {
title: { label: 'Page title', type: 'text' },
description: { label: 'Meta description', type: 'textarea' },
ogImage: { label: 'Social share image', type: 'image' },
},
render: ({ children }) => <>{children}</>,
};
export default Root;
+9
View File
@@ -0,0 +1,9 @@
export const site = {
name: 'Your Company',
description: 'A clean, flexible foundation for your next website.',
url:
process.env.NEXT_PUBLIC_SITE_URL ??
(process.env.VERCEL_PROJECT_PRODUCTION_URL
? `https://${process.env.VERCEL_PROJECT_PRODUCTION_URL}`
: 'http://localhost:3000'),
};
+37
View File
@@ -0,0 +1,37 @@
import type { Config, Data } from '@reacteditor/core';
import type { HeaderProps } from '@/components/website/header';
import type { FooterProps } from '@/components/website/footer';
import type { HeroProps } from '@/components/website/hero';
import type { LogoMarqueeProps } from '@/components/website/logo-marquee';
import type { FeaturesProps } from '@/components/website/features';
import type { TestimonialsProps } from '@/components/website/testimonials';
import type { PricingProps } from '@/components/website/pricing';
import type { CtaProps } from '@/components/website/cta';
import type { ContactFormProps } from '@/components/website/contact-form';
import type { StatsProps } from '@/components/website/stats';
import type { FaqProps } from '@/components/website/faq';
import type { PostsCarouselProps } from '@/components/website/posts-carousel';
import type { RootProps } from './root';
export type Components = {
header: HeaderProps;
footer: FooterProps;
hero: HeroProps;
'logo-marquee': LogoMarqueeProps;
features: FeaturesProps;
testimonials: TestimonialsProps;
pricing: PricingProps;
cta: CtaProps;
'contact-form': ContactFormProps;
stats: StatsProps;
faq: FaqProps;
'posts-carousel': PostsCarouselProps;
};
export type UserConfig = Config<{
components: Components;
root: RootProps;
categories: ['navigation', 'marketing', 'social-proof', 'content', 'conversion'];
}>;
export type UserData = Data<Components, RootProps>;