1
0
Fork 0
esix-client/src/lib/useSettings.svelte.js
2024-10-24 01:06:58 +02:00

52 lines
No EOL
1.8 KiB
JavaScript

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);
},
}
}