Files
windmill/frontend/src/lib/components/FormatOnSave.svelte
HugoCasa 34151d65cc feat: new ai design (#3152)
* feat: new ai design

* fix: show caret + esc to cancel
2024-02-06 15:13:20 +01:00

38 lines
925 B
Svelte

<script lang="ts">
import { Paintbrush } from 'lucide-svelte'
import Button from './common/button/Button.svelte'
import { formatOnSave } from '$lib/stores'
import Popover from './Popover.svelte'
import { getLocalSetting, storeLocalSetting } from '$lib/utils'
import PaintbrushOff from './icons/PaintbrushOff.svelte'
const SETTING_NAME = 'formatOnSave'
function loadSetting() {
$formatOnSave = (getLocalSetting(SETTING_NAME) ?? 'true') == 'true'
}
function storeSetting() {
$formatOnSave = !$formatOnSave
storeLocalSetting(SETTING_NAME, $formatOnSave.toString())
}
loadSetting()
</script>
<Popover>
<svelte:fragment slot="text"
>{$formatOnSave ? 'Disable' : 'Enable'} auto-formatting</svelte:fragment
>
<Button
size="xs"
color="light"
startIcon={{
icon: !$formatOnSave ? PaintbrushOff : Paintbrush
}}
btnClasses="text-tertiary"
on:click={() => {
storeSetting()
}}
/>
</Popover>