style(pages): extend proto2 styling to core flows

This commit is contained in:
zetaloop
2026-02-25 04:45:57 +08:00
parent e7eb86bf7e
commit 7bf1338b39
5 changed files with 10 additions and 9 deletions
+2 -2
View File
@@ -90,7 +90,7 @@ export default function CommunityPage() {
return ( return (
<Link key={post.id} href={`/post/${post.id}`}> <Link key={post.id} href={`/post/${post.id}`}>
<Card className="hover:shadow-md transition-shadow"> <Card>
<CardHeader className="pb-3"> <CardHeader className="pb-3">
<div className="flex items-center gap-3"> <div className="flex items-center gap-3">
<Avatar className="h-9 w-9"> <Avatar className="h-9 w-9">
@@ -124,7 +124,7 @@ export default function CommunityPage() {
</div> </div>
)} )}
{post.linkedOrderId && ( {post.linkedOrderId && (
<div className="mt-2 rounded border bg-muted/30 px-3 py-2 text-xs text-muted-foreground space-y-1.5"> <div className="mt-2 rounded-lg border bg-muted/30 px-3 py-2 text-xs text-muted-foreground space-y-1.5">
<div className="flex items-center gap-1.5"> <div className="flex items-center gap-1.5">
<ClipboardList className="h-3.5 w-3.5" /> <ClipboardList className="h-3.5 w-3.5" />
+4 -4
View File
@@ -34,7 +34,7 @@ export default async function PlayerDetailPage({ params }: { params: Promise<{ i
<div className="container mx-auto py-8 px-4 max-w-5xl"> <div className="container mx-auto py-8 px-4 max-w-5xl">
<div className="flex flex-col md:flex-row gap-8 mb-8"> <div className="flex flex-col md:flex-row gap-8 mb-8">
<div className="flex-shrink-0"> <div className="flex-shrink-0">
<Avatar className="w-32 h-32 border-4 border-background shadow-lg"> <Avatar className="w-32 h-32 border-4 border-background shadow-[var(--shadow-card)]">
<AvatarImage src={player.user.avatar} alt={player.user.nickname} /> <AvatarImage src={player.user.avatar} alt={player.user.nickname} />
<AvatarFallback>{player.user.nickname[0]}</AvatarFallback> <AvatarFallback>{player.user.nickname[0]}</AvatarFallback>
</Avatar> </Avatar>
@@ -75,7 +75,7 @@ export default async function PlayerDetailPage({ params }: { params: Promise<{ i
<FavoriteButton initialFavorited={false} targetType="player" targetId={player.id} /> <FavoriteButton initialFavorited={false} targetType="player" targetId={player.id} />
</div> </div>
<div className="bg-muted/50 p-4 rounded-lg"> <div className="bg-muted/50 p-4 rounded-xl">
<p className="text-sm leading-relaxed"> <p className="text-sm leading-relaxed">
{player.user.bio || "这个打手很懒,什么都没写~"} {player.user.bio || "这个打手很懒,什么都没写~"}
</p> </p>
@@ -112,7 +112,7 @@ export default async function PlayerDetailPage({ params }: { params: Promise<{ i
{playerServices.map((service) => ( {playerServices.map((service) => (
<Card <Card
key={service.id} key={service.id}
className="flex flex-col h-full hover:shadow-md transition-shadow" className="flex flex-col h-full"
> >
<CardHeader> <CardHeader>
<div className="flex justify-between items-start"> <div className="flex justify-between items-start">
@@ -190,7 +190,7 @@ export default async function PlayerDetailPage({ params }: { params: Promise<{ i
</div> </div>
<p className="text-sm text-foreground/90">{review.content}</p> <p className="text-sm text-foreground/90">{review.content}</p>
{review.sealed && ( {review.sealed && (
<div className="flex items-center gap-1 text-xs text-green-600 bg-green-50 w-fit px-2 py-1 rounded"> <div className="flex items-center gap-1 text-xs text-green-600 bg-green-50 w-fit px-2 py-1 rounded-full">
<CheckCircle className="w-3 h-3" /> <CheckCircle className="w-3 h-3" />
<span></span> <span></span>
</div> </div>
+2 -2
View File
@@ -152,7 +152,7 @@ export default async function ShopPage({ params }: PageProps) {
{service.description} {service.description}
</p> </p>
{service.rankRange && ( {service.rankRange && (
<div className="text-xs bg-muted px-2 py-1 rounded inline-block w-fit"> <div className="text-xs bg-muted px-2 py-1 rounded-md inline-block w-fit">
{service.rankRange} {service.rankRange}
</div> </div>
)} )}
@@ -179,7 +179,7 @@ export default async function ShopPage({ params }: PageProps) {
<div className="grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 gap-4"> <div className="grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 gap-4">
{shopPlayers.map((player) => ( {shopPlayers.map((player) => (
<Link key={player.id} href={`/player/${player.id}`}> <Link key={player.id} href={`/player/${player.id}`}>
<Card className="h-full hover:shadow-md transition-shadow"> <Card className="h-full">
<CardContent className="pt-6 text-center space-y-3"> <CardContent className="pt-6 text-center space-y-3">
<div className="relative inline-block"> <div className="relative inline-block">
<Avatar className="w-20 h-20 mx-auto"> <Avatar className="w-20 h-20 mx-auto">
+1 -1
View File
@@ -114,7 +114,7 @@ export default function OrderDetailPage({ params }: { params: Promise<{ id: stri
<div <div
className={`h-8 w-8 rounded-full flex items-center justify-center text-xs font-medium ${ className={`h-8 w-8 rounded-full flex items-center justify-center text-xs font-medium ${
isCurrent isCurrent
? "bg-primary text-primary-foreground" ? "bg-primary text-primary-foreground shadow-sm"
: isActive : isActive
? "bg-primary/20 text-primary" ? "bg-primary/20 text-primary"
: "bg-muted text-muted-foreground" : "bg-muted text-muted-foreground"
+1
View File
@@ -137,6 +137,7 @@ export default function NewOrderPage() {
<Label htmlFor="note"></Label> <Label htmlFor="note"></Label>
<Textarea <Textarea
id="note" id="note"
className="rounded-lg"
placeholder="例如:希望晚上8点后开始" placeholder="例如:希望晚上8点后开始"
value={note} value={note}
onChange={(e) => setNote(e.target.value)} onChange={(e) => setNote(e.target.value)}