Refactor: Implement logging and JSONB cleanup

This commit is contained in:
gpt-engineer-app[bot]
2025-11-03 18:05:58 +00:00
parent b6179372e6
commit e9b9faa3e1
18 changed files with 430 additions and 142 deletions

View File

@@ -8,6 +8,7 @@ import { Plus, Trash2, Edit, Eye, EyeOff } from "lucide-react";
import { toast } from "sonner";
import { ListItemEditor } from "./ListItemEditor";
import { ListDisplay } from "./ListDisplay";
import { handleError } from "@/lib/errorHandler";
import {
Dialog,
DialogContent,
@@ -62,8 +63,10 @@ export function UserListManager() {
.order("created_at", { ascending: false });
if (error) {
toast.error("Failed to load lists");
console.error(error);
handleError(error, {
action: 'Load User Lists',
userId: user.id
});
} else {
// Map Supabase data to UserTopList interface
const mappedLists: UserTopList[] = (data || []).map((list: any) => ({
@@ -101,8 +104,11 @@ export function UserListManager() {
.single();
if (error) {
toast.error("Failed to create list");
console.error(error);
handleError(error, {
action: 'Create List',
userId: user.id,
metadata: { title: newListTitle }
});
} else {
toast.success("List created successfully");
const newList: UserTopList = {
@@ -132,8 +138,11 @@ export function UserListManager() {
.eq("id", listId);
if (error) {
toast.error("Failed to delete list");
console.error(error);
handleError(error, {
action: 'Delete List',
userId: user?.id,
metadata: { listId }
});
} else {
toast.success("List deleted");
setLists(lists.filter(l => l.id !== listId));
@@ -147,8 +156,11 @@ export function UserListManager() {
.eq("id", list.id);
if (error) {
toast.error("Failed to update list");
console.error(error);
handleError(error, {
action: 'Toggle List Visibility',
userId: user?.id,
metadata: { listId: list.id }
});
} else {
toast.success(`List is now ${!list.is_public ? "public" : "private"}`);
setLists(lists.map(l =>