revert(remix): drop the verify hint from the remix menu (#4951)

Justin reviewed it on a dev server and does not want it there. The menu is
back to exactly its pre-#4939 state — same three options, same labels, no
per-option annotation.

What stays from that PR is remixClaimState in utils/remix-claim.ts, which
has no user-visible surface and is what keeps the 0.75 rule to one
derivation for the free-path work.

Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
Justin Maier
2026-09-18 13:58:52 -06:00
committed by GitHub
parent c4c402ef40
commit 8aa9e5cef2
+1 -23
View File
@@ -1,6 +1,6 @@
import { Menu, Text, ThemeIcon } from '@mantine/core';
import { useEffect, useRef } from 'react';
import { IconBrush, IconMovie, IconRosetteDiscountCheck, IconWand } from '@tabler/icons-react';
import { IconBrush, IconMovie, IconWand } from '@tabler/icons-react';
import type { RemixKind } from '~/shared/constants/remix.constants';
import { useTrackEvent } from '~/components/TrackView/track.utils';
import {
@@ -22,11 +22,6 @@ type RemixOption = {
icon: typeof IconWand;
/** A colour per option so the three read as distinct things, not a list. */
color: string;
/**
* Set on the options that verify, not on the one that lacks it — so reusing a
* prompt doesn't read as a discouraged choice.
*/
verifiable: boolean;
};
const kindLabels: Record<RemixKind, RemixOption> = {
@@ -35,14 +30,12 @@ const kindLabels: Record<RemixKind, RemixOption> = {
description: 'Change this image with a prompt',
icon: IconWand,
color: 'violet',
verifiable: true,
},
video: {
label: 'Animate',
description: 'Turn this image into a video',
icon: IconMovie,
color: 'blue',
verifiable: true,
},
};
@@ -51,22 +44,8 @@ const reuseOption: RemixOption = {
description: "Start from this image's settings",
icon: IconBrush,
color: 'teal',
verifiable: false,
};
/**
* States what this earns, not a promise the submission will be free —
* `freeSubmissionOffer` decides that later and can override it.
*/
function VerifiedHint() {
return (
<Text size="xs" c="green.6" lh={1.2} className="mt-1 flex items-center gap-1">
<IconRosetteDiscountCheck size={13} stroke={1.9} />
Uses this image, so we can verify the remix
</Text>
);
}
function OptionIcon({ option }: { option: RemixOption }) {
return (
<ThemeIcon size={36} radius="md" variant="light" color={option.color}>
@@ -84,7 +63,6 @@ function OptionLabel({ option }: { option: RemixOption }) {
<Text size="xs" c="dimmed" lh={1.2}>
{option.description}
</Text>
{option.verifiable && <VerifiedHint />}
</div>
);
}