Template
Initial react editor website template
This commit is contained in:
@@ -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;
|
||||
@@ -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'),
|
||||
};
|
||||
@@ -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>;
|
||||
Reference in New Issue
Block a user