diff --git a/packages/backend/src/modules/entities/Token.ts b/packages/backend/src/modules/entities/Token.ts index d50c3b8..acb9395 100644 --- a/packages/backend/src/modules/entities/Token.ts +++ b/packages/backend/src/modules/entities/Token.ts @@ -27,13 +27,13 @@ export class TokenEntity { isNative!: boolean; @Property({ - type: "date", + type: "datetime", onCreate: () => new Date(), }) createdAt!: Date; @Property({ - type: "date", + type: "datetime", nullable: true, }) lastUsedAt?: Date; diff --git a/packages/backend/src/modules/entities/User.ts b/packages/backend/src/modules/entities/User.ts index c2b367c..140d285 100644 --- a/packages/backend/src/modules/entities/User.ts +++ b/packages/backend/src/modules/entities/User.ts @@ -51,7 +51,7 @@ export class UserEntity { type: "boolean", default: false, }) - isAdmin: boolean = false; + isOwner: boolean = false; @Property({ type: "boolean", @@ -64,4 +64,10 @@ export class UserEntity { onCreate: () => new Date(), }) createdAt!: Date; + + @Property({ + type: "datetime", + nullable: true, + }) + lastUsedAt?: Date; } \ No newline at end of file diff --git a/packages/backend/src/routes/setup/initialization.ts b/packages/backend/src/routes/setup/initialization.ts index 278c6e6..3caeca1 100644 --- a/packages/backend/src/routes/setup/initialization.ts +++ b/packages/backend/src/routes/setup/initialization.ts @@ -2,7 +2,7 @@ import { DatabaseError, ErrorBase, InputError } from "@/errors"; import Logger from "@/lib/logger"; import { ConfigEntity } from "@/modules/entities/Config"; import type { FastifyInstance } from "fastify"; -import { generateVAPIDKeys } from "web-push"; +import webpush from "web-push"; import z from "zod/v3"; export default function SetupInitialization(fastify: FastifyInstance) { @@ -48,7 +48,7 @@ export default function SetupInitialization(fastify: FastifyInstance) { try { const entries = Object.entries(result.data).filter(([key]) => key !== "force"); - const vapid = generateVAPIDKeys(); + const vapid = webpush.generateVAPIDKeys(); entries.push(["VAPID_PUBLIC", vapid.publicKey]); entries.push(["VAPID_PRIVATE", vapid.privateKey]); diff --git a/packages/backend/tsconfig.json b/packages/backend/tsconfig.json index 4afd144..a106303 100755 --- a/packages/backend/tsconfig.json +++ b/packages/backend/tsconfig.json @@ -13,6 +13,7 @@ "exactOptionalPropertyTypes": true, "experimentalDecorators": true, "emitDecoratorMetadata": true, + "esModuleInterop": true, "strict": true, "verbatimModuleSyntax": true, "isolatedModules": true, diff --git a/packages/frontend/src/Layout.vue b/packages/frontend/src/Layout.vue index 4e6e138..409a8f8 100755 --- a/packages/frontend/src/Layout.vue +++ b/packages/frontend/src/Layout.vue @@ -5,14 +5,60 @@ :size="6" /> -
- +
+
+
+ ホーム +
+
+ +
+ +
\ No newline at end of file diff --git a/packages/frontend/src/global.css b/packages/frontend/src/global.css index b8e33b8..2344566 100755 --- a/packages/frontend/src/global.css +++ b/packages/frontend/src/global.css @@ -1,12 +1,14 @@ :root { --bg-color: #ffffff; --text-color: #000000; + --border-color: #e0e0e0; } @media (prefers-color-scheme: dark) { :root { --bg-color: #1b1b1b; --text-color: #ffffff; + --border-color: #2c2c2c; } } @@ -16,9 +18,9 @@ } html, body { - width: 100vw; - height: 100vh; - font-size: 16px; + width: 100dvw; + height: 100dvh; + font-size: 14px; background-color: var(--bg-color); color: var(--text-color); } diff --git a/packages/frontend/src/main.ts b/packages/frontend/src/main.ts index fb0b6e9..d393799 100755 --- a/packages/frontend/src/main.ts +++ b/packages/frontend/src/main.ts @@ -14,6 +14,10 @@ const router = createRouter({ path: "/", component: () => import("@/routes/index.vue"), }, + { + path: "/setup", + component: () => import("@/routes/setup.vue"), + } ], }); router.beforeEach(() => { diff --git a/packages/frontend/src/routes/setup.vue b/packages/frontend/src/routes/setup.vue new file mode 100644 index 0000000..fd432bb --- /dev/null +++ b/packages/frontend/src/routes/setup.vue @@ -0,0 +1,18 @@ + + + \ No newline at end of file