forked from mirrors/homebox
feat: pwa support (#366)
* add PWA support * fix broken URLs for query * remove unused variable * restore authURL
This commit is contained in:
parent
be6b5c9c56
commit
0f8db862b4
8 changed files with 1656 additions and 7 deletions
|
@ -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>
|
||||
|
|
|
@ -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",
|
||||
},
|
||||
],
|
||||
},
|
||||
},
|
||||
});
|
||||
|
|
|
@ -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",
|
||||
|
|
|
@ -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
1615
frontend/pnpm-lock.yaml
generated
File diff suppressed because it is too large
Load diff
BIN
frontend/public/pwa-192x192.png
Normal file
BIN
frontend/public/pwa-192x192.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 7.9 KiB |
BIN
frontend/public/pwa-512x512.png
Normal file
BIN
frontend/public/pwa-512x512.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 26 KiB |
Loading…
Add table
Add a link
Reference in a new issue