feat: polish admin UI, phone login, and product details
Switch admin auth to mobile, restyle shell/login with Vuesax icons, and add product detail fields plus public product pages. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -0,0 +1,13 @@
|
||||
-- AlterTable
|
||||
ALTER TABLE "Product" ADD COLUMN "applications" TEXT[] DEFAULT ARRAY[]::TEXT[],
|
||||
ADD COLUMN "attributes" JSONB NOT NULL DEFAULT '[]',
|
||||
ADD COLUMN "brand" TEXT NOT NULL DEFAULT '',
|
||||
ADD COLUMN "details" TEXT NOT NULL DEFAULT '',
|
||||
ADD COLUMN "features" TEXT[] DEFAULT ARRAY[]::TEXT[],
|
||||
ADD COLUMN "minOrder" TEXT NOT NULL DEFAULT '',
|
||||
ADD COLUMN "origin" TEXT NOT NULL DEFAULT '',
|
||||
ADD COLUMN "packaging" TEXT NOT NULL DEFAULT '',
|
||||
ADD COLUMN "seoDescription" TEXT NOT NULL DEFAULT '',
|
||||
ADD COLUMN "seoTitle" TEXT NOT NULL DEFAULT '',
|
||||
ADD COLUMN "sizes" TEXT[] DEFAULT ARRAY[]::TEXT[],
|
||||
ADD COLUMN "standards" TEXT[] DEFAULT ARRAY[]::TEXT[];
|
||||
@@ -0,0 +1,3 @@
|
||||
-- Rename login identifier from email to phone
|
||||
ALTER TABLE "AdminUser" RENAME COLUMN "email" TO "phone";
|
||||
ALTER INDEX "AdminUser_email_key" RENAME TO "AdminUser_phone_key";
|
||||
@@ -22,7 +22,7 @@ enum MessageStatus {
|
||||
|
||||
model AdminUser {
|
||||
id Int @id @default(autoincrement())
|
||||
email String @unique
|
||||
phone String @unique
|
||||
name String
|
||||
passwordHash String
|
||||
role Role @default(EDITOR)
|
||||
@@ -114,6 +114,21 @@ model Product {
|
||||
desc String @default("")
|
||||
specs String[]
|
||||
variants String[]
|
||||
/// long description for the product page; a blank line starts a new paragraph
|
||||
details String @default("")
|
||||
brand String @default("")
|
||||
/// country of manufacture
|
||||
origin String @default("")
|
||||
sizes String[] @default([])
|
||||
standards String[] @default([])
|
||||
features String[] @default([])
|
||||
applications String[] @default([])
|
||||
/// technical specification table: [{ "name": "...", "value": "..." }]
|
||||
attributes Json @default("[]")
|
||||
packaging String @default("")
|
||||
minOrder String @default("")
|
||||
seoTitle String @default("")
|
||||
seoDescription String @default("")
|
||||
imageId Int?
|
||||
image Media? @relation("ProductImage", fields: [imageId], references: [id], onDelete: SetNull)
|
||||
gallery ProductImage[]
|
||||
|
||||
Reference in New Issue
Block a user