diff --git a/frontend/app/companions/CompanionCard3D.tsx b/frontend/app/companions/CompanionCard3D.tsx index d7eee08d..7d267a9d 100644 --- a/frontend/app/companions/CompanionCard3D.tsx +++ b/frontend/app/companions/CompanionCard3D.tsx @@ -19,12 +19,14 @@ interface CompanionCard3DProps { companion: AICompanion; onMint: (companionId: string) => void; onRent: (companionId: string) => void; + disabled?: boolean; } export const CompanionCard3D: React.FC = ({ companion, onMint, onRent, + disabled = false, }) => { const cardRef = useRef(null); const [rotateX, setRotateX] = useState(0); @@ -132,14 +134,26 @@ export const CompanionCard3D: React.FC = ({
diff --git a/frontend/app/companions/page.tsx b/frontend/app/companions/page.tsx index fc09f038..1881c546 100644 --- a/frontend/app/companions/page.tsx +++ b/frontend/app/companions/page.tsx @@ -15,6 +15,7 @@ const STYLES = ['All', 'Aggressive', 'Defensive', 'Tactical', 'Endgame Master'] export default function AICompanionsPage() { const [selectedStyle, setSelectedStyle] = useState('All'); const [searchQuery, setSearchQuery] = useState(''); + const [notification, setNotification] = useState(null); const filteredCompanions = useMemo(() => { return MOCK_COMPANIONS.filter((c) => { @@ -25,16 +26,42 @@ export default function AICompanionsPage() { }, [selectedStyle, searchQuery]); const handleMint = (id: string) => { - alert(`Initiating Soroban contract call to mint AI Companion #${id}...`); + setNotification(`Companion #${id}: On-chain minting will be enabled with the Soroban ai_nft contract rollout.`); }; const handleRent = (id: string) => { - alert(`Connecting to Soroban rental market for Companion #${id}...`); + setNotification(`Companion #${id}: Rental market will be activated with the Soroban ai_nft contract rollout.`); }; return (
+ {/* Preview Mode Banner */} +
+
+ + Preview Mode + + + On-chain minting and rentals are in preview while the Soroban ai_nft contract rollout is staged. Card actions are view-only. + +
+ {notification && ( + + )} +
+ + {notification && ( +
+ {notification} +
+ )} +

@@ -77,6 +104,7 @@ export default function AICompanionsPage() { companion={companion} onMint={handleMint} onRent={handleRent} + disabled={true} /> ))}