feat: release v0.2.0 profiles, chat, freeze, and bots

Ship the product pass on the v0.1.3 schema with additive migrations, a replica migration lock, and bot accounts kept out of people lists.
This commit is contained in:
ahp
2026-10-10 16:42:35 +03:30
parent 8586bbafcc
commit 22d92c133d
85 changed files with 10510 additions and 1341 deletions
+11 -7
View File
@@ -1,10 +1,10 @@
"use client";
import { useQuery, useQueryClient } from "@tanstack/react-query";
import Link from "next/link";
import { useParams } from "next/navigation";
import { Loader2, Package } from "lucide-react";
import { CertificateCard } from "@/components/certificate-card";
import { NotFoundState, notFoundSentence } from "@/components/not-found-state";
import { Button } from "@/components/ui/button";
import { Input } from "@/components/ui/input";
import { http, toUserError } from "@/lib/api";
@@ -96,12 +96,16 @@ export default function CertificatePage() {
if (error || !data?.certificate) {
return (
<div className="mx-auto max-w-lg px-4 py-16 text-center">
<p className="text-lg font-bold">گواهینامه پیدا نشد</p>
<Button asChild className="mt-4" variant="outline">
<Link href="/">بازگشت</Link>
</Button>
</div>
<NotFoundState
title="گواهینامه پیدا نشد"
description={notFoundSentence(
error ? toUserError(error, "") : "",
"این گواهینامه در سامانه نیست.",
"گواهینامه پیدا نشد",
)}
href="/"
actionLabel="بازگشت به خانه"
/>
);
}