'use client' import React from 'react' import { Suspense } from 'react' import { auth } from '@/auth' import { clearChats } from '@/app/actions' import { Sidebar } from '@/components/sidebar' import { SidebarList } from '@/components/sidebar-list' import { IconSeparator } from '@/components/ui/icons' import { SidebarFooter } from '@/components/sidebar-footer' import { ClearHistory } from '@/components/clear-history' import { UserMenu, UserData } from '@/components/user-menu' import { LoginButton } from '@/components/login-button' import { Tooltip, TooltipContent, TooltipTrigger } from '@/components/ui/tooltip' import { Badge } from '@/components/ui/badge' import { ConnectButton } from '@/components/connect-button' import { SettingsDropDown } from './settings-drop-down' import { useLocalStorage } from '@/lib/hooks/use-local-storage' import { Button } from './ui/button' import Image from 'next/image'; import logoImage from '@/components/images/logo.png'; import { useRouter } from 'next/navigation' // import { Button } from './ui/button' import { Flex, Text } from '@radix-ui/themes'; import Link from 'next/link' import { useTranslation } from 'react-i18next' import { message } from 'antd' import { LogoAI } from '@/components/chat' import { useState } from "react"; import { BadgeInfo, Tags, CalendarClock, Building2 } from "lucide-react"; export function Header() { const router = useRouter(); const { t } = useTranslation(); const [userData, setUserData] = useLocalStorage( 'UserData', { auth_token: "", id: 1, login_ip: "", login_time: 0, role: "", user_name: "", version: "" } as UserData ) const soonFunc = () => { message.info(t("soon")) } //w-11/12 sm:w-5/6 md:w-3/4 lg:w-2/3 xl:w-3/5 2xl:w-1/2 return (
{(!!userData && !!userData.user_name) ? (
) : (
)}
) } // ✅ 图标显示逻辑现在是这样的: // data.icon = "🚀" 👉 显示 emoji; // data.icon = "/images/icon.png" 👉 显示图片; // data.icon = undefined/null 👉 显示默认 "Deploy" 字样。 export function DetailPageHeader({ data }: { data: any }) { const [loading, setLoading] = useState(false); const [statusText, setStatusText] = useState(data?.statusText || "加载中..."); const handleClick = async (source: "icon" | "info") => { setLoading(true); setStatusText(source === "icon" ? "正在处理图标操作..." : "正在处理信息操作..."); try { // 从 localStorage 获取用户信息 const userData = JSON.parse(localStorage.getItem("UserData") || "null"); if (!userData || !userData.user_name) { setStatusText("未登录,正在跳转登录页面..."); window.location.href = "/auth/sign-in/"; return; } const userName = userData.user_name; // 从组件 props 里的 data 中取 id const id = data?.id; if (!id) { setStatusText("数据缺失:找不到组件 ID"); return; } await fetch("/api/v1/deploy/deploy", { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify({ id, user_name: userName, }), }); await new Promise((resolve) => setTimeout(resolve, 1000)); setStatusText(`操作成功:来自${source === "icon" ? "图标" : "信息区域"}`); } catch (err) { console.error("请求出错:", err); setStatusText("操作失败"); } finally { setLoading(false); } }; // 处理图标路径 const isImagePath = typeof data?.icon === "string" && (data.icon.startsWith("http") || data.icon.startsWith("/")); const resolvedIconSrc = isImagePath && !data.icon.startsWith("http") ? process.env.NEXT_PUBLIC_CLIENT_IMAGE_URL + data.icon : data.icon; return (
{/* 左图标(可点) */} {/* 右信息区域(带图标) */}
{data?.name || "未命名组件"}
{data?.category || "未知"}
{data?.updated_at || "未提供"}
{data?.company || "未知公司"}
{/* 占位 + 删除按钮 */}
{/* 状态条 */}
{loading ? "操作中..." : statusText}
); } // export function Header() { // const router = useRouter(); // const { t } = useTranslation(); // const [userData, setUserData] = useLocalStorage( // 'UserData', // { // auth_token: "", // id: 1, // login_ip: "", // login_time: 0, // role: "", // user_name: "", // version: "" // } as UserData // ) // const soonFunc = () => { // message.info(t("soon")) // } // return ( //
// {/* // */} //
//
// {/* // // */} //
// {/* show { // router.push("/") // // toast.success('coming soon') // }} /> */} // //
//
// {/* */} // {(!!userData && !!userData.user_name) ? ( //
// {/* */} // //
// ) : ( //
// // //
// )} //
//
//
// ) // } export function NavBack() { const router = useRouter(); const { t } = useTranslation(); // const query = router.query; // 假设页面 URL 是 /mypage?id=123 console.log("query", router) return ( ) } export function TimeP({ date, }: { date: string }) { const router = useRouter(); const { t } = useTranslation(); return (

{date} {t("JellyAI")}

) }