diff --git a/.github/workflows/vercel-pull-request.yml b/.github/workflows/vercel-pull-request.yml index 02eafaa..54fb246 100644 --- a/.github/workflows/vercel-pull-request.yml +++ b/.github/workflows/vercel-pull-request.yml @@ -12,7 +12,7 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - - uses: amondnet/vercel-action@v20 + - uses: amondnet/vercel-action@v25 id: vercel-deploy with: vercel-token: ${{ secrets.VERCEL_TOKEN }} diff --git a/src/app/personalize/page.tsx b/src/app/personalize/page.tsx index d6fa9a1..e976274 100644 --- a/src/app/personalize/page.tsx +++ b/src/app/personalize/page.tsx @@ -5,15 +5,41 @@ import { Button } from "@heroui/button"; import { Card, CardBody, CardHeader } from "@heroui/card"; import { Input } from "@heroui/input"; import { Textarea } from "@heroui/input"; -import { Modal, ModalContent, ModalHeader, ModalBody, ModalFooter } from "@heroui/modal"; -import { Dropdown, DropdownTrigger, DropdownMenu, DropdownItem } from "@heroui/dropdown"; +import { + Modal, + ModalContent, + ModalHeader, + ModalBody, + ModalFooter, +} from "@heroui/modal"; +import { + Dropdown, + DropdownTrigger, + DropdownMenu, + DropdownItem, +} from "@heroui/dropdown"; import { Avatar } from "@heroui/avatar"; import { Badge } from "@heroui/badge"; import { Chip } from "@heroui/chip"; import { Divider } from "@heroui/divider"; -import { Plus, Search, Edit, Trash2, Copy, MoreVertical, User, Sparkles, Calendar, Settings } from "lucide-react"; +import { + Plus, + Search, + Edit, + Trash2, + Copy, + MoreVertical, + User, + Sparkles, + Calendar, +} from "lucide-react"; import { useUser } from "@/hooks/data/use-user"; -import { useGetPresets, useCreatePreset, useUpdatePreset, useDeletePreset, useUpdateUserProfile } from "@/hooks/data/use-presets"; +import { + useCreatePreset, + useUpdatePreset, + useDeletePreset, + useUpdateUserProfile, +} from "@/hooks/data/use-presets"; import LoaderSection from "@/components/shared/loader-section"; import { addToast } from "@heroui/toast"; @@ -24,14 +50,17 @@ export default function PresetsPage() { const [selectedPreset, setSelectedPreset] = useState(null); const [isEditingProfile, setIsEditingProfile] = useState(false); - const { data: userProfile, isLoading: userLoading, isError, error } = useUser(); + const { + data: userProfile, + isLoading: userLoading, + isError, + error, + } = useUser(); const createPresetMutation = useCreatePreset(); const updatePresetMutation = useUpdatePreset(); const deletePresetMutation = useDeletePreset(); const updateProfileMutation = useUpdateUserProfile(); - console.log("user", userProfile); - const [presetForm, setPresetForm] = useState({ title: "", description: "", @@ -59,11 +88,6 @@ export default function PresetsPage() { description: presetForm.description, }); - addToast({ - title: "Preset created successfully!", - color: "success", - }); - setPresetForm({ title: "", description: "" }); setIsCreateModalOpen(false); } catch (error) { @@ -85,7 +109,11 @@ export default function PresetsPage() { }; const handleUpdatePreset = async () => { - if (selectedPreset && presetForm.title.trim() && presetForm.description.trim()) { + if ( + selectedPreset && + presetForm.title.trim() && + presetForm.description.trim() + ) { try { await updatePresetMutation.mutateAsync({ title: presetForm.title, @@ -155,22 +183,6 @@ export default function PresetsPage() { } }; - interface FormatDateOptions { - month: "short" | "numeric" | "2-digit" | "long" | "narrow"; - day: "numeric" | "2-digit"; - year: "numeric" | "2-digit"; - } - - const formatDate = (date: Date): string | undefined => { - const options: FormatDateOptions = { - month: "short", - day: "numeric", - year: "numeric", - }; - if (!date) return; - return new Intl.DateTimeFormat("en-US", options).format(date); - }; - const isLoading = userLoading; if (isLoading) return ; @@ -178,18 +190,27 @@ export default function PresetsPage() { if (!userProfile) { return (
-

Failed to load user profile. Please try again.

+

+ Failed to load user profile. Please try again. +

); } return ( -
+

Presets

-

Manage your AI personalities for customized content generation

+

+ Manage your AI personalities for customized content generation +

-
@@ -206,7 +227,10 @@ export default function PresetsPage() { variant="light" size="sm" onPress={() => { - setProfileForm({ name: userProfile.name, bio: userProfile.bio || "" }); + setProfileForm({ + name: userProfile.name, + bio: userProfile.bio || "", + }); setIsEditingProfile(!isEditingProfile); }} > @@ -216,26 +240,65 @@ export default function PresetsPage() {
- +
{isEditingProfile ? (
- setProfileForm({ ...profileForm, name: e.target.value })} variant="bordered" isDisabled={updateProfileMutation.isPending} /> -