mirror of
https://github.com/pacnpal/thrilltrack-explorer.git
synced 2025-12-22 15:11:13 -05:00
Implement Critical Fixes
This commit is contained in:
@@ -8,6 +8,7 @@ import { Textarea } from "@/components/ui/textarea";
|
|||||||
import { GripVertical, Trash2, Plus } from "lucide-react";
|
import { GripVertical, Trash2, Plus } from "lucide-react";
|
||||||
import { toast } from "sonner";
|
import { toast } from "sonner";
|
||||||
import { ListSearch } from "./ListSearch";
|
import { ListSearch } from "./ListSearch";
|
||||||
|
import { getErrorMessage } from "@/lib/errorHandler";
|
||||||
|
|
||||||
interface ListItemEditorProps {
|
interface ListItemEditorProps {
|
||||||
list: UserTopList;
|
list: UserTopList;
|
||||||
@@ -33,8 +34,10 @@ export function ListItemEditor({ list, onUpdate, onClose }: ListItemEditorProps)
|
|||||||
.order("position", { ascending: true });
|
.order("position", { ascending: true });
|
||||||
|
|
||||||
if (error) {
|
if (error) {
|
||||||
toast.error("Failed to load list items");
|
const errorMessage = getErrorMessage(error);
|
||||||
console.error(error);
|
toast.error("Failed to load list items", {
|
||||||
|
description: errorMessage
|
||||||
|
});
|
||||||
} else {
|
} else {
|
||||||
setItems(data as UserTopListItem[]);
|
setItems(data as UserTopListItem[]);
|
||||||
}
|
}
|
||||||
@@ -57,8 +60,10 @@ export function ListItemEditor({ list, onUpdate, onClose }: ListItemEditorProps)
|
|||||||
if (error.code === "23505") {
|
if (error.code === "23505") {
|
||||||
toast.error("This item is already in your list");
|
toast.error("This item is already in your list");
|
||||||
} else {
|
} else {
|
||||||
toast.error("Failed to add item");
|
const errorMessage = getErrorMessage(error);
|
||||||
console.error(error);
|
toast.error("Failed to add item", {
|
||||||
|
description: errorMessage
|
||||||
|
});
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
toast.success(`Added ${entityName} to list`);
|
toast.success(`Added ${entityName} to list`);
|
||||||
@@ -75,8 +80,10 @@ export function ListItemEditor({ list, onUpdate, onClose }: ListItemEditorProps)
|
|||||||
.eq("id", itemId);
|
.eq("id", itemId);
|
||||||
|
|
||||||
if (error) {
|
if (error) {
|
||||||
toast.error("Failed to remove item");
|
const errorMessage = getErrorMessage(error);
|
||||||
console.error(error);
|
toast.error("Failed to remove item", {
|
||||||
|
description: errorMessage
|
||||||
|
});
|
||||||
} else {
|
} else {
|
||||||
toast.success("Item removed");
|
toast.success("Item removed");
|
||||||
// Reorder remaining items
|
// Reorder remaining items
|
||||||
@@ -94,8 +101,10 @@ export function ListItemEditor({ list, onUpdate, onClose }: ListItemEditorProps)
|
|||||||
.eq("id", itemId);
|
.eq("id", itemId);
|
||||||
|
|
||||||
if (error) {
|
if (error) {
|
||||||
toast.error("Failed to update notes");
|
const errorMessage = getErrorMessage(error);
|
||||||
console.error(error);
|
toast.error("Failed to update notes", {
|
||||||
|
description: errorMessage
|
||||||
|
});
|
||||||
} else {
|
} else {
|
||||||
setItems(items.map(i => i.id === itemId ? { ...i, notes } : i));
|
setItems(items.map(i => i.id === itemId ? { ...i, notes } : i));
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user