refactor(pages): migrate app data reads to api adapters

This commit is contained in:
zetaloop
2026-02-22 08:30:21 +08:00
parent 43a0cf7a73
commit 4beb610f23
13 changed files with 97 additions and 66 deletions
+10 -5
View File
@@ -7,14 +7,19 @@ import { Avatar, AvatarFallback, AvatarImage } from "@/components/ui/avatar"
import { Badge } from "@/components/ui/badge"
import { Button } from "@/components/ui/button"
import { Card, CardContent, CardFooter, CardHeader } from "@/components/ui/card"
import { listGames, listOrders, listPlayers, listPosts } from "@/lib/api"
import { roleLabels } from "@/lib/constants"
import { mockGames, mockOrders, mockPlayers, mockPosts } from "@/lib/mock"
export default function CommunityPage() {
const games = listGames()
const posts = listPosts()
const orders = listOrders()
const players = listPlayers()
const [sortMode, setSortMode] = useState<"latest" | "hot">("latest")
const [selectedGame, setSelectedGame] = useState<string | null>(null)
const filteredPosts = mockPosts
const filteredPosts = posts
.filter((post) => {
if (!selectedGame) return true
return post.tags.includes(selectedGame)
@@ -60,7 +65,7 @@ export default function CommunityPage() {
</Button>
</div>
<div className="flex flex-wrap gap-2">
{mockGames.map((game) => (
{games.map((game) => (
<Badge
key={game.id}
variant={selectedGame === game.name ? "default" : "outline"}
@@ -77,10 +82,10 @@ export default function CommunityPage() {
{filteredPosts.map((post) =>
(() => {
const linkedOrder = post.linkedOrderId
? mockOrders.find((order) => order.id === post.linkedOrderId)
? orders.find((order) => order.id === post.linkedOrderId)
: null
const linkedPlayer = linkedOrder
? mockPlayers.find((player) => player.id === linkedOrder.playerId)
? players.find((player) => player.id === linkedOrder.playerId)
: null
return (