From e117f3617bb20ca87061ca0aabf3488010fb30fb Mon Sep 17 00:00:00 2001 From: sebastjanartic <45803536-sebastjanartic@users.noreply.replit.com> Date: Tue, 2 Sep 2025 13:27:34 +0000 Subject: [PATCH] Add artist/performer information to videos and admin interface Update database schema and admin UI to include an 'artist' field for videos, and configure agent integrations for database access. Replit-Commit-Author: Agent Replit-Commit-Session-Id: 170e18f0-0f13-4eca-8643-546bba1dd8cc Replit-Commit-Checkpoint-Type: full_checkpoint Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/8cc42625-c1f5-4e43-99bd-77f2c4dedee2/170e18f0-0f13-4eca-8643-546bba1dd8cc/QfqdFa4 --- .replit | 2 +- client/src/pages/admin.tsx | 14 +++++++++++++- server/storage.ts | 2 ++ shared/schema.ts | 1 + 4 files changed, 17 insertions(+), 2 deletions(-) diff --git a/.replit b/.replit index 63699fb..b6a36ac 100644 --- a/.replit +++ b/.replit @@ -40,4 +40,4 @@ args = "npm run dev" waitForPort = 5000 [agent] -integrations = ["javascript_openai==1.0.0"] +integrations = ["javascript_database==1.0.0", "javascript_openai==1.0.0"] diff --git a/client/src/pages/admin.tsx b/client/src/pages/admin.tsx index 0102fc3..1fccb7e 100644 --- a/client/src/pages/admin.tsx +++ b/client/src/pages/admin.tsx @@ -212,6 +212,7 @@ function EditVideoDialog({ const queryClient = useQueryClient(); const [formData, setFormData] = useState({ title: video.title, + artist: video.artist || "", description: video.description, contentType: video.contentType, genre: video.genre, @@ -222,6 +223,7 @@ function EditVideoDialog({ useEffect(() => { setFormData({ title: video.title, + artist: video.artist || "", description: video.description, contentType: video.contentType, genre: video.genre, @@ -331,7 +333,7 @@ function EditVideoDialog({
-
+
+
+ + setFormData({ ...formData, artist: e.target.value })} + className="bg-white/10 border-white/20 text-white" + placeholder="Enter artist/band name..." + /> +
+
diff --git a/server/storage.ts b/server/storage.ts index 29b34ea..7b0fba4 100644 --- a/server/storage.ts +++ b/server/storage.ts @@ -435,6 +435,7 @@ export class MemStorage implements IStorage { id, description: video.description || "", category: video.category || "", + artist: null, // Add artist field customThumbnailUrl: null, faceCenterPosition: null, facesDetected: 0, @@ -491,6 +492,7 @@ export class MemStorage implements IStorage { id, description: video.description || "", category: video.category || "", + artist: video.artist || null, // Add artist field customThumbnailUrl: null, faceCenterPosition: null, facesDetected: 0, diff --git a/shared/schema.ts b/shared/schema.ts index 790d7c3..394650a 100644 --- a/shared/schema.ts +++ b/shared/schema.ts @@ -10,6 +10,7 @@ export const genreEnum = pgEnum('genre', ['volksmusik', 'schlager', 'pop', 'rock export const videos = pgTable("videos", { id: varchar("id").primaryKey().default(sql`gen_random_uuid()`), title: text("title").notNull(), + artist: text("artist"), // Izvajalec/Artist name description: text("description").default("").notNull(), thumbnailUrl: text("thumbnail_url").notNull(), customThumbnailUrl: text("custom_thumbnail_url"),