import {onMount} from "svelte"; export default function useSettings() { let lastSearch = $state(null), imageGridColumns = $state(6), limitImageHeight = $state(true), postGridPreviewQuality = $state('preview'), blacklist = $state([ 'gore', 'scat', 'watersports', 'young', 'loli', 'shota', ]); onMount(() => { lastSearch = localStorage.getItem('lastSearch') ?? lastSearch; imageGridColumns = localStorage.getItem('gridColumns') ?? imageGridColumns; limitImageHeight = localStorage.getItem('limitImageHeight') ?? limitImageHeight; postGridPreviewQuality = localStorage.getItem('gridPreviewQuality') ?? postGridPreviewQuality; blacklist = localStorage.getItem('blacklist') ?? blacklist; }) return { get lastSearch() {return lastSearch}, get imageGridColumns() {return imageGridColumns}, get postGridPreviewQuality() {return postGridPreviewQuality}, get blacklist() {return blacklist}, get limitImageHeight() {return limitImageHeight}, set lastSearch(val) { lastSearch = val; localStorage.setItem('lastSearch', val); }, set imageGridColumns(val) { imageGridColumns = val; localStorage.setItem('gridColumns', val); }, set postGridPreviewQuality(val) { postGridPreviewQuality = val localStorage.setItem('gridPreviewQuality', val); }, set blacklist(val) { blacklist = val localStorage.setItem('blacklist', val); }, set limitImageHeight(val) { limitImageHeight = val localStorage.setItem('limitImageHeight', val); }, } }