'use client' import React, { useState } from 'react' import WalletHeader from '../components/WalletHeader' import AIServiceCard from '../components/AIServiceCard' import { generateWithFlux, FluxGenerationResult, FLUX_MODELS } from '../services/fluxService' import { processMTMPayment } from '../services/paymentService' import { connectWallet, WalletState } from '../services/walletService' import { WalletType } from '../services/types' const Page: React.FC = (): React.ReactElement => { const [walletState, setWalletState] = useState({ connected: false, publicKey: null, type: null }) const handleConnect = async (walletType: WalletType): Promise => { try { const newWalletState = await connectWallet(walletType) setWalletState(newWalletState) } catch (error) { console.error('Wallet connection error:', error) setWalletState({ connected: false, publicKey: null, type: null }) } } const handleFluxGeneration = (modelId: string, cost: number) => { return async (prompt: string): Promise => { const type = walletState.type; if (!walletState.connected || !walletState.publicKey || (type === 'phantom' && !window.phantom) || (type === 'solflare' && !window.solflare)) { return { error: 'Wallet not connected' } } // Process payment first const paymentResult = await processMTMPayment( walletState.publicKey, cost, walletState.type ) if (!paymentResult.success) { return { error: paymentResult.error } } const transactionSignature = paymentResult.transactionSignature; // Then generate image with specified model return generateWithFlux(prompt, modelId, transactionSignature) } } return (
{/* Header */}

Mark's Meme Market

Use MTM to generate memes

{/* Flux Models Grid */}
{FLUX_MODELS.map((model) => ( ))} {/* Coming Soon Card */}

Coming Soon

New AI model integration in development. Stay tuned for more amazing features!

TBD
{/* Info Section */}

Powered by Mark • Use at your own risk

) } export default Page