- Storage Integration: * Remove Firebase Storage dependency and useFirebaseStorage composable * Implement direct MinIO uploads via POST /storage/upload with multipart/form-data * Upload canvas JSON, preview PNG, and production PNG as separate objects * Store public URLs and metadata in design records - Authentication & Registration: * Add email/password registration page with validation * Integrate backend user session via /auth/login endpoint * Store backendUser.id as ownerId in design records * Auto-sync backend session on Firebase auth state changes - User Account Pages: * Create profile page showing user details and backend session info * Create orders page with transaction history filtered by customerEmail * Add server proxy /api/orders to forward GET /transactions queries - Navigation Improvements: * Replace inline auth buttons with avatar dropdown menu * Add Profile, Orders, and Logout options to dropdown * Implement outside-click and route-change handlers for dropdown * Display user initials in avatar badge - API Updates: * Update transactions endpoint to accept amount as string * Format amount with .toFixed(2) in checkout success flow * Query orders by customerEmail instead of ownerId for consistency
34 lines
1.3 KiB
TypeScript
34 lines
1.3 KiB
TypeScript
import tailwindcss from "@tailwindcss/vite";
|
|
|
|
// https://nuxt.com/docs/api/configuration/nuxt-config
|
|
export default defineNuxtConfig({
|
|
compatibilityDate: "2025-07-15",
|
|
devtools: { enabled: true },
|
|
css: ["./app/assets/css/main.css"],
|
|
modules: ["@nuxtjs/color-mode"],
|
|
vite: {
|
|
plugins: [tailwindcss()],
|
|
},
|
|
runtimeConfig: {
|
|
stripeSecretKey: process.env.STRIPE_SECRET_KEY,
|
|
stripeWebhookSecret: process.env.STRIPE_WEBHOOK_SECRET,
|
|
public: {
|
|
firebaseApiKey: process.env.NUXT_PUBLIC_FIREBASE_API_KEY,
|
|
firebaseAuthDomain: process.env.NUXT_PUBLIC_FIREBASE_AUTH_DOMAIN,
|
|
firebaseProjectId: process.env.NUXT_PUBLIC_FIREBASE_PROJECT_ID,
|
|
firebaseStorageBucket: process.env.NUXT_PUBLIC_FIREBASE_STORAGE_BUCKET,
|
|
firebaseMessagingSenderId: process.env.NUXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID,
|
|
firebaseAppId: process.env.NUXT_PUBLIC_FIREBASE_APP_ID,
|
|
firebaseMeasurementId: process.env.NUXT_PUBLIC_FIREBASE_MEASUREMENT_ID,
|
|
stripePublishableKey: process.env.NUXT_PUBLIC_STRIPE_PUBLISHABLE_KEY,
|
|
backendUrl: process.env.NUXT_PUBLIC_BACKEND_URL || 'http://localhost:3000',
|
|
storageUrl: process.env.NUXT_PUBLIC_STORAGE_URL || 'http://localhost:9000',
|
|
}
|
|
},
|
|
colorMode: {
|
|
preference: 'light',
|
|
fallback: 'light',
|
|
classSuffix: ''
|
|
}
|
|
});
|