diff --git a/src/app/[name]/(Main)/ai/AiPage.tsx b/src/app/[name]/(Main)/ai/AiPage.tsx index 1c5a182..92dcad8 100644 --- a/src/app/[name]/(Main)/ai/AiPage.tsx +++ b/src/app/[name]/(Main)/ai/AiPage.tsx @@ -1,7 +1,10 @@ "use client"; import { useGetAbout } from "@/app/[name]/(Main)/about/hooks/useAboutData"; +import type { Food } from "@/app/[name]/(Main)/types/Types"; import { useGetProfile } from "@/app/[name]/(Profile)/profile/hooks/userProfileData"; +import MenuItem from "@/components/listview/MenuItem"; +import MenuItemRenderer from "@/components/listview/MenuItemRenderer"; import { toast } from "@/components/Toast"; import { extractErrorMessage } from "@/lib/func"; import { glassSurfaceFlat } from "@/lib/styles/glassSurface"; @@ -11,11 +14,13 @@ import { FormEvent, useEffect, useRef, useState } from "react"; import { useTranslation } from "react-i18next"; import { useChat } from "./hooks/useAiData"; import { AI_SUGGESTIONS } from "./suggestions"; +import type { ChatFood } from "./types/Types"; type Message = { id: string; role: "user" | "assistant"; content: string; + foods?: ChatFood[]; }; function getGreetingKey() { @@ -26,6 +31,26 @@ function getGreetingKey() { return "evening"; } +function toFood(food: ChatFood): Food { + return { + id: food.id, + category: "", + title: food.title, + desc: food.desc, + content: food.content ?? [], + price: food.price, + prepareTime: 0, + isActive: true, + images: food.images ?? [], + inPlaceServe: true, + pickupServe: true, + discount: food.discount ?? 0, + isSpecialOffer: food.isSpecialOffer ?? false, + isAvailable: true, + unavailabilityMessage: null, + }; +} + function AiPage() { const { t } = useTranslation("common", { keyPrefix: "AI" }); const { data: about } = useGetAbout(); @@ -62,6 +87,7 @@ function AiPage() { id: `a-${Date.now()}`, role: "assistant", content: res.data.answer, + foods: res.data.foods?.length ? res.data.foods : undefined, }, ]); }, @@ -86,8 +112,10 @@ function AiPage() {