import Link from "next/link";
import type { PlatformApp } from "@/lib/apps-catalog";
import { Badge } from "./Badge";
export interface AppTileProps {
app: PlatformApp;
onClick?: () => void;
variant?: "default" | "compact";
}
function AppTileContent({ app, variant = "default" }: { app: PlatformApp; variant?: "default" | "compact" }) {
const isAvailable = app.status === "available";
const isCompact = variant === "compact";
return (
<>
{app.icon}
{!isAvailable ? (
بهزودی
) : null}
{isAvailable ? (
فعال
) : null}
{app.name}
{!isCompact ? (
{app.description}
) : null}
{isAvailable && app.href ? (
ورود ←
) : null}
>
);
}
const tileClassName =
"group flex w-full flex-col items-center gap-3 rounded-2xl border border-transparent bg-white p-3 text-center shadow-sm transition-all duration-300 hover:border-[var(--color-primary-muted)] hover:bg-[var(--color-primary-soft)] hover:shadow-md sm:p-4";
const disabledClassName =
"group flex w-full flex-col items-center gap-3 rounded-2xl border border-gray-100 bg-gray-50/60 p-3 text-center opacity-70 sm:p-4";
export function AppTile({ app, onClick, variant = "default" }: AppTileProps) {
const isAvailable = app.status === "available";
if (isAvailable && app.href && !onClick) {
return (
);
}
return (
);
}