mirror of
https://github.com/mealie-recipes/mealie.git
synced 2026-05-13 05:17:28 -04:00
feat: Remember screen lock preference (#7609)
This commit is contained in:
@@ -14,17 +14,25 @@
|
||||
|
||||
<script setup lang="ts">
|
||||
import { useWakeLock } from "@vueuse/core";
|
||||
import { useUserExperiencePreferences } from "~/composables/use-users/preferences";
|
||||
|
||||
const { isSupported: wakeIsSupported, isActive, request, release } = useWakeLock();
|
||||
const userExperiencePreferences = useUserExperiencePreferences();
|
||||
|
||||
function handleLock() {
|
||||
if (userExperiencePreferences.value.lockScreen) {
|
||||
lockScreen();
|
||||
}
|
||||
else {
|
||||
unlockScreen();
|
||||
}
|
||||
}
|
||||
|
||||
const wakeLock = computed({
|
||||
get: () => isActive.value,
|
||||
get: () => userExperiencePreferences.value.lockScreen,
|
||||
set: () => {
|
||||
if (isActive.value) {
|
||||
unlockScreen();
|
||||
}
|
||||
else {
|
||||
lockScreen();
|
||||
}
|
||||
userExperiencePreferences.value.lockScreen = !userExperiencePreferences.value.lockScreen;
|
||||
handleLock();
|
||||
},
|
||||
});
|
||||
async function lockScreen() {
|
||||
@@ -34,11 +42,11 @@ async function lockScreen() {
|
||||
}
|
||||
}
|
||||
async function unlockScreen() {
|
||||
if (wakeIsSupported || isActive) {
|
||||
if (wakeIsSupported || isActive.value) {
|
||||
console.debug("Wake Lock Released");
|
||||
await release();
|
||||
}
|
||||
}
|
||||
onMounted(() => lockScreen());
|
||||
onMounted(() => handleLock());
|
||||
onUnmounted(() => unlockScreen());
|
||||
</script>
|
||||
|
||||
Reference in New Issue
Block a user