'use client' import type { App } from '@/types/app' import { useMemo } from 'react' import { useTranslation } from 'react-i18next' import { AppTypeIcon } from '@/app/components/app/type-selector' import AppIcon from '@/app/components/base/app-icon' import Link from '@/next/link' import { getRedirectionPath } from '@/utils/app-redirection' import { formatTime } from '@/utils/time' import { AppCardActionBar } from './app-card' type StarredAppCardProps = { app: App isCurrentWorkspaceEditor: boolean onRefresh?: () => void } export function StarredAppCard({ app, isCurrentWorkspaceEditor, onRefresh }: StarredAppCardProps) { const { t } = useTranslation() const editTimeText = useMemo(() => { const timestamp = app.updated_at || app.created_at if (!timestamp) return '' const timeText = formatTime({ date: timestamp * 1000, dateFormat: `${t('segment.dateTimeFormat', { ns: 'datasetDocuments' })}`, }) return `${t('segment.editedAt', { ns: 'datasetDocuments' })} ${timeText}` }, [app.created_at, app.updated_at, t]) return (
{app.name}
{app.author_name && {app.author_name}} {app.author_name && editTimeText && ยท} {editTimeText && {editTimeText}}
) }