import type { BigNumber, Contract } from 'ethers' import { MoralisMintProps } from '../components/web3/moralisTypings' type AppConfigProps = { publicToken: string previewToken: string rootDirectory?: string overwriteLocale?: string enableLocaleSuffix?: boolean fieldLevelTranslation?: boolean suppressSlugLocale?: boolean suppressSlugIncludeDefault?: boolean overwriteDisableIndex?: boolean GA?: string TAWKTO?: string prefetch: boolean hostname?: string excluding_slugs?: string // exclude slugs for sitemap, getStaticPaths. wildcards allowed: "auth/*,demo-content/*" overwriteSettingsPaths: string[] // overwrite paths which are in route, add trailing slash: some/special/,other/special/ languages: string[] authPathRequiredRoles?: { path: string roles: string[] }[] shopifyGql: string shopifyAccessToken: string web3MintFunction: ( contract: Contract, options: { mintAmount: number sale: MoralisMintProps['content']['sale'] account: string maxMintAmount?: number signed?: string value?: BigNumber | 0 code?: string } ) => Promise redirects?: Map [k: string]: any } export const CONFIG: AppConfigProps = { previewToken: process.env.NEXT_PUBLIC_PREVIEW_TOKEN || '', publicToken: (process.env.NEXT_PUBLIC_PREVIEW_MODE ? process.env.NEXT_PUBLIC_PREVIEW_TOKEN : process.env.NEXT_PUBLIC_PUBLIC_TOKEN) || '', rootDirectory: process.env.NEXT_PUBLIC_ROOT_DIRECTORY, enableLocaleSuffix: !!process.env.NEXT_PUBLIC_ENABLE_LOCALE_SUFFIX, fieldLevelTranslation: !!process.env.NEXT_PUBLIC_FIELD_LEVEL_TRANSLATION, overwriteLocale: process.env.NEXT_PUBLIC_OVERWRITE_LOCALE, suppressSlugLocale: !!process.env.NEXT_PUBLIC_SUPPRESS_SLUG_LOCALE, // only in combination with NEXT_PUBLIC_LANGUAGES overwriteDisableIndex: !!process.env.NEXT_PUBLIC_OVERWRITE_DISABLE_INDEX, GA: process.env.NEXT_PUBLIC_GA, languages: process.env.NEXT_PUBLIC_LANGUAGES?.split(',') || [], TAWKTO: process.env.NEXT_PUBLIC_TAWKTO, prefetch: !process.env.NEXT_PUBLIC_DISABLE_PREFETCH, overwriteSettingsPaths: process.env.NEXT_PUBLIC_OVERWRITE_SETTINGS_PATHS?.split(',') || [], excluding_slugs: process.env.NEXT_PUBLIC_EXCLUDING_SLUGS || '', shopifyGql: process.env.NEXT_PUBLIC_SHOPIFY_DOMAIN ? `https://${process.env.NEXT_PUBLIC_SHOPIFY_DOMAIN}/api/2020-10/graphql.json` : '', shopifyAccessToken: process.env.NEXT_PUBLIC_SHOPIFY_ACCESS_TOKEN || '', web3MintFunction: async () => { throw new Error('You must overwrite CONFIG.web3MintFunction inside _app') } } type LmCoreComponentsProps = { // page?: ReactElement // accordion?: (props: LmAccordionProps) => ReactNode // accordion_item?: (props: LmAccordionItemProps) => ReactNode // table?: FunctionComponentFactory // static_section?: ReactElement // static_container?: ReactElement // divider?: ReactElement // html?: ReactElement // hubspot_meeting?: ReactElement // hubspot_form?: ReactElement // button_list?: ReactElement // section?: ReactElement // headline?: ReactElement // paragraph?: ReactElement // row?: ReactElement // column?: ReactElement // image?: ReactElement // image_list?: ReactElement // image_list_item?: ReactElement // button?: ReactElement // nav_list?: ReactElement // nav_item?: ReactElement // nav_menu?: ReactElement // icon?: ReactElement // iframe?: ReactElement // slider?: ReactElement // section_video_bg?: ReactElement // card_list?: ReactElement // card_list_item?: ReactElement // section_parallax?: ReactElement // tabs?: ReactElement // list_widget?: ReactElement // flex_row?: ReactElement // iframe_advanced?: ReactElement // category_box?: ReactElement // list_search_field?: ReactElement // link?: ReactElement // // eslint-disable-next-line // list_search_autocomplete?: ReactElement // rich_text_editor?: ReactElement // timeline?: FunctionComponentElement // timeline_item?: ReactElement // avatar?: ReactElement // date_headline?: ReactElement // motion?: ReactElement // toolbar_logo?: ReactElement // toolbar_navi_button?: ReactElement // player?: ReactElement // toolbar_row_section?: ReactElement // toolbar_row?: ReactElement // dialog?: ReactElement // lm_link_render?: ReactElement // lm_app_providers: ReactNode[] // parallax_provider?: ReactElement [k: string]: any } export const LmCoreComponents: LmCoreComponentsProps = { lm_app_providers: [] }