diff --git a/apps/docs/src/components/store/DetailPage.tsx b/apps/docs/src/components/store/DetailPage.tsx
index 0801d8fb1..018c4b047 100644
--- a/apps/docs/src/components/store/DetailPage.tsx
+++ b/apps/docs/src/components/store/DetailPage.tsx
@@ -39,7 +39,7 @@ const copyState = [
{ Icon: IconCopy, label: "Copy", iconClass: "" },
{ Icon: IconCheck, label: "Copied!", iconClass: "text-green-500" },
] as const;
-const scoreClassBySign = { positive: "text-destructive", negative: "text-destructive", neutral: "" } as const;
+const scoreClassBySign = { positive: "text-foreground", negative: "text-destructive", neutral: "" } as const;
const dotClass = ["bg-white/40", "bg-white"];
const commentAuthorName = (c: StoreComment) => c.expand?.author?.name || c.expand?.author?.username || "unknown";
@@ -108,14 +108,14 @@ const ScreenshotGallery = ({ urls, title }: { urls: string[]; title: string }) =
{urls.length > 1 && (
<>
@@ -371,27 +406,37 @@ const SubmissionCard = ({
onClick={() => downloadJson(submission)}
className="text-muted-foreground hover:text-foreground"
>
- Download
+ Download
)}
+ {submission.commentCount > 0 && (
+
+ {submission.commentCount}
+
+ )}
{isOwner && (
{
- if (window.confirm("Delete this submission? This cannot be undone.")) void onDelete(submission.id);
- }}
+ className={cn(
+ "flex items-center gap-1 rounded px-1 py-0.5 text-xs transition-colors",
+ confirmDelete ? "bg-destructive/10 text-destructive" : "text-muted-foreground/60 hover:text-destructive",
+ )}
+ onClick={handleDelete}
aria-label="Delete"
>
-
+
+ {confirmDelete && "Confirm?"}
)}
void onReport(submission.id, "flagged")}
aria-label="Report"
>
-
+
@@ -443,14 +488,14 @@ const ScreenshotGallery = ({ urls, title }: { urls: string[]; title: string }) =
{urls.length > 1 && (
<>
setIdx((i) => (i - 1 + urls.length) % urls.length)}
aria-label="Previous screenshot"
>
setIdx((i) => (i + 1) % urls.length)}
aria-label="Next screenshot"
>
diff --git a/apps/nextjs/src/app/[locale]/manage/custom-widgets/_custom-widget-list.tsx b/apps/nextjs/src/app/[locale]/manage/custom-widgets/_custom-widget-list.tsx
index 0d2c55653..aa44eb7b5 100644
--- a/apps/nextjs/src/app/[locale]/manage/custom-widgets/_custom-widget-list.tsx
+++ b/apps/nextjs/src/app/[locale]/manage/custom-widgets/_custom-widget-list.tsx
@@ -75,36 +75,36 @@ export const CustomWidgetList = ({ definitions }: CustomWidgetListProps) => {
return (
-
+
{t("table.name")}
- {t("table.url")}
- {t("table.display")}
+ {t("table.url")}
+ {t("table.display")}
{definitions.map((def) => (
-
+
{def.iconUrl ? (
) : (
-
+
)}
-
+
{def.name}
-
-
+
+
{def.url}
-
+
{t(`displayType.${def.displayType}` as never)}
diff --git a/apps/nextjs/src/components/store-install/store-browser-modal.tsx b/apps/nextjs/src/components/store-install/store-browser-modal.tsx
index 645572834..295a10898 100644
--- a/apps/nextjs/src/components/store-install/store-browser-modal.tsx
+++ b/apps/nextjs/src/components/store-install/store-browser-modal.tsx
@@ -177,7 +177,8 @@ const SubmissionCard = ({
{submission.title}