{#snippet settingItem(item: SettingItem)}

{item.title}

{item.description}

{#if item.type === 'switch'} {:else if item.type === 'button'}
{/snippet}

Theme Creator

{'\ueb44'} Need help? Check out the docs!
Theme Name
Description (optional)
{#each [ { type: 'switch', title: 'Hide Theme Name', description: 'Useful when your cover image contains text', props: { state: theme.hideThemeName, onChange: (value: boolean) => theme = { ...theme, hideThemeName: value } } }, { type: 'switch', title: 'Force Theme', description: 'Force users to use either dark or light mode', props: { state: theme.forceDark !== undefined, onChange: (value: boolean) => theme = { ...theme, forceDark: value ? false : undefined } } }, { type: 'colourPicker', title: 'Default Theme Colour', description: 'Set the default color for your theme', direction: 'vertical', props: { customState: theme.defaultColour, customOnChange: (color: string) => theme = { ...theme, defaultColour: color } } }, { type: 'codeEditor', title: 'Custom CSS', description: 'Add custom CSS to your theme', direction: 'vertical', props: { value: theme.CustomCSS, onChange: (value: string) => { theme = { ...theme, CustomCSS: value } } } } ] as SettingItem[] as setting} {@render settingItem(setting)} {/each}
\ueb44
{theme.coverImage ? 'Change' : 'Add'} cover image {#if !theme.hideThemeName && theme.coverImage}
{theme.name}
{/if} {#if theme.coverImage}
Cover {/if}
{#each theme.CustomImages as image (image.id)}
{image.variableName}
onImageVariableChange(image.id, e.currentTarget.value)} placeholder="CSS Variable Name" class="flex-grow flex-[3] w-full p-2 transition-all duration-300 rounded-lg focus:outline-none ring-0 focus:ring-1 ring-zinc-100 dark:ring-zinc-700 dark:bg-zinc-800/50 dark:text-white" />
{/each}
Add image