feat: pwa support (#366)

* add PWA support

* fix broken URLs for query

* remove unused variable

* restore authURL
This commit is contained in:
Hayden 2023-03-23 10:27:12 -08:00 committed by GitHub
parent be6b5c9c56
commit 0f8db862b4
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
8 changed files with 1656 additions and 7 deletions

View file

@ -2,6 +2,10 @@
<NuxtLayout>
<Html lang="en" :data-theme="theme || 'homebox'" />
<Link rel="icon" type="image/svg" href="/favicon.svg"></Link>
<Link rel="apple-touch-icon" href="/apple-touch-icon.png" size="180x180" />
<Link rel="mask-icon" href="/mask-icon.svg" color="#5b7f67" />
<Meta name="theme-color" content="#5b7f67" />
<Link rel="manifest" href="/manifest.webmanifest" />
<NuxtPage />
</NuxtLayout>
</template>

View file

@ -3,7 +3,7 @@ import { defineNuxtConfig } from "nuxt/config";
// https://v3.nuxtjs.org/api/configuration/nuxt.config
export default defineNuxtConfig({
ssr: false,
modules: ["@nuxtjs/tailwindcss", "@pinia/nuxt", "@vueuse/nuxt"],
modules: ["@nuxtjs/tailwindcss", "@pinia/nuxt", "@vueuse/nuxt", "@vite-pwa/nuxt"],
nitro: {
devProxy: {
"/api": {
@ -13,4 +13,39 @@ export default defineNuxtConfig({
},
},
css: ["@/assets/css/main.css"],
pwa: {
injectRegister: "script",
injectManifest: {
swSrc: "sw.js",
},
devOptions: {
// Enable to troubleshoot during development
enabled: true,
},
manifest: {
name: "Homebox",
short_name: "Homebox",
description: "Home Inventory App",
theme_color: "#5b7f67",
start_url: "/home",
icons: [
{
src: "pwa-192x192.png",
sizes: "192x192",
type: "image/png",
},
{
src: "pwa-512x512.png",
sizes: "512x512",
type: "image/png",
},
{
src: "pwa-512x512.png",
sizes: "512x512",
type: "image/png",
purpose: "any maskable",
},
],
},
},
});

View file

@ -20,6 +20,7 @@
"@types/markdown-it": "^12.2.3",
"@typescript-eslint/eslint-plugin": "^5.36.2",
"@typescript-eslint/parser": "^5.36.2",
"@vite-pwa/nuxt": "^0.0.7",
"eslint": "^8.23.0",
"eslint-config-prettier": "^8.5.0",
"eslint-plugin-prettier": "^4.2.1",

View file

@ -158,8 +158,6 @@
location: string;
};
const api = useUserApi();
function fmtAssetID(aid: number | string) {
aid = aid.toString();
@ -178,7 +176,7 @@
const data = `${origin}/a/${assetID}`;
return `/api/v1/qrcode?data=${encodeURIComponent(data)}&access_token=${api.items.attachmentToken}`;
return `/api/v1/qrcode?data=${encodeURIComponent(data)}`;
}
function getItem(n: number): LabelData {

1615
frontend/pnpm-lock.yaml generated

File diff suppressed because it is too large Load diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB