fix: clean up wallet favorites state

This commit is contained in:
TerryM
2026-06-02 00:57:37 +08:00
parent 05c2252b49
commit fc2ca62957
3 changed files with 43 additions and 39 deletions

View File

@@ -52,7 +52,7 @@ function FavoriteResourceCard({ resource }: { resource: Resource }) {
const lp = useLocalizedPath();
const unavailable = resource.availability === "unavailable";
const cover = resource.coverImage || resource.previewUrl;
const content = (
return (
<article
className={`group relative flex min-h-[132px] gap-4 rounded-2xl border bg-[#272632] p-3 transition md:p-4 ${
unavailable
@@ -60,7 +60,14 @@ function FavoriteResourceCard({ resource }: { resource: Resource }) {
: "border-[#27292E] hover:border-ark-gold/50"
}`}
>
<div className="relative h-[96px] w-[112px] shrink-0 overflow-hidden rounded-xl bg-[#111116] md:h-[116px] md:w-[150px]">
{!unavailable ? (
<Link
to={lp(`/resource/${resource.id}`)}
aria-label={resource.title}
className="absolute inset-0 z-0 rounded-2xl outline-none focus-visible:ring-2 focus-visible:ring-ark-gold/80"
/>
) : null}
<div className="relative z-10 h-[96px] w-[112px] shrink-0 overflow-hidden rounded-xl bg-[#111116] md:h-[116px] md:w-[150px]">
{cover && !unavailable ? (
<img
src={assetUrl(cover)}
@@ -81,7 +88,7 @@ function FavoriteResourceCard({ resource }: { resource: Resource }) {
) : null}
</div>
<div className="flex min-w-0 flex-1 flex-col gap-2 pr-11">
<div className="pointer-events-none relative z-10 flex min-w-0 flex-1 flex-col gap-2 pr-11">
<h2 className="line-clamp-2 text-base font-bold leading-snug text-white md:text-lg">
{resource.title}
</h2>
@@ -107,17 +114,10 @@ function FavoriteResourceCard({ resource }: { resource: Resource }) {
<FavoriteButton
resourceId={resource.id}
className="absolute right-3 top-3 z-10"
className="absolute right-3 top-3 z-20"
/>
</article>
);
if (unavailable) return content;
return (
<Link to={lp(`/resource/${resource.id}`)} className="block">
{content}
</Link>
);
}
export default function Favorites() {