From a8666c94e3e231234aa5cff024bb6975fbdf72b1 Mon Sep 17 00:00:00 2001 From: zramsay Date: Wed, 22 Jan 2025 17:01:29 -0500 Subject: [PATCH] fixes --- src/app/page.tsx | 58 +--------- src/components/AIServiceCard.tsx | 125 -------------------- src/components/ImageAnalysisCard.tsx | 20 +--- src/components/TextGenerationCard.tsx | 131 --------------------- src/components/WalletHeader.tsx | 41 ------- src/services/googleVisionService.ts | 2 - src/services/laconicQueryService.ts | 14 ++- src/services/laconicService.ts | 2 +- src/services/paymentService.ts | 159 -------------------------- src/services/types.ts | 20 ---- src/services/walletService.ts | 65 ----------- src/types/records.ts | 1 + 12 files changed, 19 insertions(+), 619 deletions(-) delete mode 100644 src/components/AIServiceCard.tsx delete mode 100644 src/components/TextGenerationCard.tsx delete mode 100644 src/components/WalletHeader.tsx delete mode 100644 src/services/paymentService.ts delete mode 100644 src/services/types.ts delete mode 100644 src/services/walletService.ts diff --git a/src/app/page.tsx b/src/app/page.tsx index 47e619d..0bcf95b 100644 --- a/src/app/page.tsx +++ b/src/app/page.tsx @@ -2,66 +2,20 @@ 'use client' import React, { useState } from 'react' -import WalletHeader from '../components/WalletHeader' import ImageAnalysisCard from '../components/ImageAnalysisCard' import Navigation from '../components/Navigation' import { analyzeImage, VisionAnalysisResult, VISION_CONFIG } from '../services/googleVisionService' -import { processMTMPayment } from '../services/paymentService' -import { connectWallet, WalletState } from '../services/walletService' -import { WalletType } from '../services/types' -import { FREE_MODE } from '../config/freeMode' import { APP_CONFIG, getThemeColors } from '../config/appConfig' -console.log('NEXT_PUBLIC_FREE_MODE value:', process.env.NEXT_PUBLIC_FREE_MODE) -console.log('FREE_MODE computed value:', FREE_MODE) const Page: React.FC = (): React.ReactElement => { - const [walletState, setWalletState] = useState({ - connected: FREE_MODE ? true : false, // Always "connected" in free mode - publicKey: null, - type: null - }) const theme = getThemeColors(APP_CONFIG.theme) - - const handleConnect = async (walletType: WalletType): Promise => { - if (FREE_MODE) return - try { - const newWalletState = await connectWallet(walletType) - setWalletState(newWalletState) - } catch (error) { - console.error('Wallet connection error:', error) - setWalletState({ - connected: false, - publicKey: null, - type: null - }) - } - } - - const handleImageAnalysis = (cost: number) => { + const handleImageAnalysis = () => { return async (imageFile: File): Promise => { - // In free mode, skip wallet checks and payment - if (!FREE_MODE && (!walletState.connected || !walletState.publicKey || !walletState.type)) { - return { error: 'Wallet not connected' } - } - // Only process payment if not in free mode - if (!FREE_MODE) { - const paymentResult = await processMTMPayment( - walletState.publicKey!, - cost, - walletState.type! - ) - - if (!paymentResult.success) { - return { error: paymentResult.error } - } - } - - // Then analyze the image return analyzeImage(imageFile) } } @@ -79,12 +33,6 @@ const Page: React.FC = (): React.ReactElement => { {APP_CONFIG.description}

- {!FREE_MODE && ( - - )} {/* Single Analysis Card */} @@ -96,9 +44,7 @@ const Page: React.FC = (): React.ReactElement => { diff --git a/src/components/AIServiceCard.tsx b/src/components/AIServiceCard.tsx deleted file mode 100644 index 7ddfa5f..0000000 --- a/src/components/AIServiceCard.tsx +++ /dev/null @@ -1,125 +0,0 @@ -'use client' - -import React, { useState } from 'react' - -interface AIServiceCardProps { - title: string - description: string - tokenCost: number - isWalletConnected: boolean - onGenerate: (prompt: string) => Promise<{ response?: string, error?: string }> -} - -interface GenerationState { - loading: boolean - response: string | null - error: string | null -} - -const AIServiceCard: React.FC = ({ - title, - description, - tokenCost, - isWalletConnected, - onGenerate -}) => { - const [inputText, setInputText] = useState('') - const [generationState, setGenerationState] = useState({ - loading: false, - response: null, - error: null, - }) - - const handleGenerate = async (): Promise => { - if (!inputText || !isWalletConnected) return - - setGenerationState({ - ...generationState, - loading: true, - error: null, - }) - - try { - const result = await onGenerate(inputText) - - if (result.error) { - setGenerationState({ - ...generationState, - loading: false, - error: result.error, - }) - return - } - - if (result.response) { - setGenerationState({ - loading: false, - response: result.response, - error: null, - }) - } else { - throw new Error('No response received') - } - } catch (error) { - setGenerationState({ - ...generationState, - loading: false, - error: error instanceof Error ? error.message : 'Generation failed', - }) - } - } - - return ( -
-
-
-

- {title} -

-

{description}

-
- Cost: {tokenCost} MTM -
-
- -
-