Add portfolio thingies

This commit is contained in:
2025-12-25 09:29:21 +01:00
parent ededf3df06
commit 25ba47f7be

View File

@ -1,12 +1,10 @@
"use client" "use client"
import { generateArtworkColors } from "@/actions/artworks/generateArtworkColors"; // import { generateArtworkColors } from "@/actions/artworks/generateArtworkColors";
// import { generateImageColors } from "@/actions/portfolio/images/generateImageColors"; // import { generateImageColors } from "@/actions/portfolio/images/generateImageColors";
import { Button } from "@/components/ui/button";
import { ArtworkColor, Color } from "@/generated/prisma/client"; import { ArtworkColor, Color } from "@/generated/prisma/client";
// import { Color, ImageColor } from "@/generated/prisma"; // import { Color, ImageColor } from "@/generated/prisma";
import { useState, useTransition } from "react"; import { useState, useTransition } from "react";
import { toast } from "sonner";
type ColorWithItems = ArtworkColor & { type ColorWithItems = ArtworkColor & {
color: Color color: Color
@ -16,26 +14,26 @@ export default function ArtworkColors({ colors: initialColors, artworkId, fileKe
const [colors, setColors] = useState(initialColors); const [colors, setColors] = useState(initialColors);
const [isPending, startTransition] = useTransition(); const [isPending, startTransition] = useTransition();
const handleGenerate = () => { // const handleGenerate = () => {
startTransition(async () => { // startTransition(async () => {
try { // try {
const newColors = await generateArtworkColors(artworkId, fileKey, fileType); // const newColors = await generateArtworkColorsForArtwork(artworkId, fileKey, fileType);
setColors(newColors); // setColors(newColors);
toast.success("Colors extracted successfully"); // toast.success("Colors extracted successfully");
} catch (err) { // } catch (err) {
toast.error("Failed to extract colors"); // toast.error("Failed to extract colors");
console.error(err); // console.error(err);
} // }
}); // });
}; // };
return ( return (
<> <>
<div className="flex items-center justify-between mb-2"> <div className="flex items-center justify-between mb-2">
<h2 className="font-semibold text-lg">Artwork Colors</h2> <h2 className="font-semibold text-lg">Artwork Colors</h2>
<Button size="sm" onClick={handleGenerate} disabled={isPending}> {/* <Button size="sm" onClick={handleGenerate} disabled={isPending}>
{isPending ? "Extracting..." : "Generate Palette"} {isPending ? "Extracting..." : "Generate Palette"}
</Button> </Button> */}
</div > </div >
<div className="flex flex-wrap gap-2"> <div className="flex flex-wrap gap-2">
{colors.map((item) => ( {colors.map((item) => (