52 lines
No EOL
1.8 KiB
JavaScript
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);
|
|
},
|
|
}
|
|
} |