* chore: migration to SvelteKit 2 * stage 1: migrate to svelte 5 and fix rerendering issues * stage 2: fix more $: reactivity across dashboard * fix merge conflicts * chore: migrate code in main to svelte 5 * chore: update preventDefault * chore: simplify tsconfig and remove unused mobileMenuRef in MobileMenu.svelte * chore: enforce .ts across dashboard * rename from classroomio-com to website * stage-3: Replace carbon icon svelte with lucide icon * update lock file * chore: finish icon replacement * fix: settings and setup page multiple rerender * stage 3: More icon and rerendering fixes * feat: setup drizzle and better auth * fix: onboarding validation error showing translation key #586 (#593) * fix: onboarding validation error showing translation key #586 * fix: remove debug log for profile update errors * chore: add a clean command * fix: remove message from email verification response
24 lines
690 B
Svelte
24 lines
690 B
Svelte
<script lang="ts">
|
|
import XIcon from '@lucide/svelte/icons/x';
|
|
import IconButton, { type Props as IconButtonProps } from '$lib/components/IconButton/index.svelte';
|
|
|
|
interface Props {
|
|
onClick?: IconButtonProps['onClick'];
|
|
contained?: boolean;
|
|
color?: string;
|
|
size?: IconButtonProps['size'];
|
|
toolTipProps?: IconButtonProps['toolTipProps'];
|
|
}
|
|
|
|
let {
|
|
onClick = () => {},
|
|
contained = false,
|
|
color = 'text-primary-700 bg-primary-200 dark:bg-neutral-500',
|
|
size = 'small'
|
|
}: Props = $props();
|
|
</script>
|
|
|
|
<IconButton {onClick} {color} {contained} {size}>
|
|
<XIcon size={size === 'large' ? 24 : 16} class="carbon-icon dark:text-black" />
|
|
</IconButton>
|