mirror of
https://github.com/hay-kot/homebox.git
synced 2024-12-19 21:36:30 +00:00
24 lines
698 B
TypeScript
24 lines
698 B
TypeScript
|
import { Ref } from 'vue';
|
||
|
|
||
|
export type LocationViewPreferences = {
|
||
|
showDetails: boolean;
|
||
|
};
|
||
|
|
||
|
/**
|
||
|
* useLocationViewPreferences loads the view preferences from local storage and hydrates
|
||
|
* them. These are reactive and will update the local storage when changed.
|
||
|
*/
|
||
|
export function useLocationViewPreferences(): Ref<LocationViewPreferences> {
|
||
|
const results = useLocalStorage(
|
||
|
'homebox/preferences/location',
|
||
|
{
|
||
|
showDetails: true,
|
||
|
},
|
||
|
{ mergeDefaults: true }
|
||
|
);
|
||
|
|
||
|
// casting is required because the type returned is removable, however since we
|
||
|
// use `mergeDefaults` the result _should_ always be present.
|
||
|
return results as unknown as Ref<LocationViewPreferences>;
|
||
|
}
|