From 5f00ce4a5f01fc315ebed155cafde3bb8a33703c Mon Sep 17 00:00:00 2001 From: Adam Soltys Date: Thu, 11 Apr 2024 13:50:12 -0700 Subject: move sw to layout --- src/lib/store.js | 1 + src/locales/en.json | 1 + src/routes/(app)/[username]/(profile)/+page.svelte | 21 ++++++--------------- src/routes/+layout.svelte | 12 ++++++++++++ 4 files changed, 20 insertions(+), 15 deletions(-) (limited to 'src') diff --git a/src/lib/store.js b/src/lib/store.js index 6245fb76..747afc4e 100644 --- a/src/lib/store.js +++ b/src/lib/store.js @@ -42,6 +42,7 @@ export let avatar = writable(); export let banner = writable(); export let event = writable(); export let events = writable({}); +export let installPrompt = writable(); export let invoice = writable(); export let last = writable(); export let loginRedirect = writable(); diff --git a/src/locales/en.json b/src/locales/en.json index 93affb7f..fc6209fe 100644 --- a/src/locales/en.json +++ b/src/locales/en.json @@ -155,6 +155,7 @@ "subheader": "Latest Updates" }, "user": { + "isntall": "Install app", "info": "Info", "noMessages": "You have not sent or received any messages yet", "profilePage": "Profile page", diff --git a/src/routes/(app)/[username]/(profile)/+page.svelte b/src/routes/(app)/[username]/(profile)/+page.svelte index 9443c063..81cee136 100644 --- a/src/routes/(app)/[username]/(profile)/+page.svelte +++ b/src/routes/(app)/[username]/(profile)/+page.svelte @@ -2,7 +2,6 @@ import { browser } from "$app/environment"; import { goto, invalidate } from "$app/navigation"; import { btc, f, sat, post } from "$lib/utils"; - import { onMount } from "svelte"; import Icon from "$comp/Icon.svelte"; import Balance from "$comp/Balance.svelte"; import DeleteItem from "$comp/DeleteItem.svelte"; @@ -10,6 +9,7 @@ import { fade } from "svelte/transition"; import { cubicIn } from "svelte/easing"; import { flip } from "svelte/animate"; + import { installPrompt } from "$lib/store"; import { dndzone, @@ -103,19 +103,10 @@ (dragDisabled = user?.username !== subject?.username || window.innerWidth < 768); - let installPrompt; - onMount(() => { - if (!browser) return; - window.addEventListener("beforeinstallprompt", (event) => { - event.preventDefault(); - installPrompt = event; - }); - }); - let install = async () => { - if (!installPrompt) return; - await installPrompt.prompt(); - installPrompt = null; + if (!$installPrompt) return; + await $installPrompt.prompt(); + $installPrompt = null; }; @@ -163,14 +154,14 @@ - {#if installPrompt} + {#if $installPrompt} {/if} diff --git a/src/routes/+layout.svelte b/src/routes/+layout.svelte index 545018ed..bfab47ab 100644 --- a/src/routes/+layout.svelte +++ b/src/routes/+layout.svelte @@ -2,6 +2,8 @@ import { PUBLIC_DOMAIN } from "$env/static/public"; import "../app.css"; import { loading, t } from "$lib/translations"; + import { onMount } from "svelte"; + import { installPrompt } from "$lib/store"; export let data; let { pathname } = data; @@ -9,6 +11,16 @@ let host = PUBLIC_DOMAIN.includes("localhost") ? `http://${PUBLIC_DOMAIN}` : `https://${PUBLIC_DOMAIN}`; + + + onMount(() => { + if (!browser) return; + window.addEventListener("beforeinstallprompt", (event) => { + event.preventDefault(); + $installPrompt = event; + }); + }; + -- cgit v1.2.3