mirror of
https://github.com/kmc7468/arkvault.git
synced 2025-12-16 15:08:46 +00:00
FloatingButton 컴포넌트 리팩토링
This commit is contained in:
@@ -5,26 +5,23 @@
|
||||
|
||||
interface Props {
|
||||
icon: Component<SvelteHTMLElements["svg"]>;
|
||||
offset?: ClassValue;
|
||||
offset: ClassValue;
|
||||
onclick?: () => void;
|
||||
}
|
||||
|
||||
let { icon: Icon, offset = "bottom-20", onclick }: Props = $props();
|
||||
let { icon: Icon, offset, onclick }: Props = $props();
|
||||
</script>
|
||||
|
||||
<div class="pointer-events-none fixed inset-0">
|
||||
<div class={["absolute w-full", offset]}>
|
||||
<AdaptiveDiv>
|
||||
<div class="relative">
|
||||
<div class="absolute bottom-4 right-4">
|
||||
<button
|
||||
onclick={onclick && (() => setTimeout(onclick, 100))}
|
||||
class="pointer-events-auto flex h-14 w-14 items-center justify-center rounded-full bg-gray-300 shadow-lg transition active:scale-95 active:bg-gray-400"
|
||||
>
|
||||
<Icon class="text-xl" />
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</AdaptiveDiv>
|
||||
</div>
|
||||
<AdaptiveDiv class="relative h-full">
|
||||
<button
|
||||
onclick={onclick && (() => setTimeout(onclick, 100))}
|
||||
class={[
|
||||
"pointer-events-auto absolute bottom-4 right-4 flex h-14 w-14 items-center justify-center rounded-full bg-gray-300 shadow-lg transition active:scale-95 active:bg-gray-400",
|
||||
offset,
|
||||
]}
|
||||
>
|
||||
<Icon class="text-xl" />
|
||||
</button>
|
||||
</AdaptiveDiv>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user