diff --git a/.vscode/settings.json b/.vscode/settings.json
new file mode 100644
index 0000000..32d2cc2
--- /dev/null
+++ b/.vscode/settings.json
@@ -0,0 +1,4 @@
+{
+ "chat.agent.maxRequests": 5000,
+ "github.copilot.chat.agent.autoFix": true
+}
\ No newline at end of file
diff --git a/app/analysis/page.js b/app/analysis/page.js
index 82d377f..290b193 100644
--- a/app/analysis/page.js
+++ b/app/analysis/page.js
@@ -4,17 +4,7 @@ import AIAnalysisPanel from '../../components/AIAnalysisPanel'
export default function AnalysisPage() {
return (
-
-
-
- ๐ค AI-Powered Market Analysis
-
-
- Get professional trading insights with multi-timeframe analysis, precise entry/exit levels,
- and institutional-quality recommendations powered by OpenAI.
-
-
-
+
)
diff --git a/components/AIAnalysisPanel.tsx b/components/AIAnalysisPanel.tsx
index 3600650..e787c6c 100644
--- a/components/AIAnalysisPanel.tsx
+++ b/components/AIAnalysisPanel.tsx
@@ -18,14 +18,10 @@ const timeframes = [
]
const popularCoins = [
- { name: 'Bitcoin', symbol: 'BTCUSD', icon: 'โฟ', color: 'from-orange-400 to-orange-600' },
- { name: 'Ethereum', symbol: 'ETHUSD', icon: 'ฮ', color: 'from-blue-400 to-blue-600' },
- { name: 'Solana', symbol: 'SOLUSD', icon: 'โ', color: 'from-purple-400 to-purple-600' },
- { name: 'Sui', symbol: 'SUIUSD', icon: '๐ท', color: 'from-cyan-400 to-cyan-600' },
- { name: 'Avalanche', symbol: 'AVAXUSD', icon: '๐บ', color: 'from-red-400 to-red-600' },
- { name: 'Cardano', symbol: 'ADAUSD', icon: 'โ ', color: 'from-indigo-400 to-indigo-600' },
- { name: 'Polygon', symbol: 'MATICUSD', icon: '๐ท', color: 'from-violet-400 to-violet-600' },
- { name: 'Chainlink', symbol: 'LINKUSD', icon: '๐', color: 'from-blue-400 to-blue-600' },
+ { name: 'Bitcoin', symbol: 'BTCUSD', icon: 'https://assets.coingecko.com/coins/images/1/small/bitcoin.png', color: 'from-orange-400 to-orange-600' },
+ { name: 'Ethereum', symbol: 'ETHUSD', icon: 'https://assets.coingecko.com/coins/images/279/small/ethereum.png', color: 'from-blue-400 to-blue-600' },
+ { name: 'Solana', symbol: 'SOLUSD', icon: 'https://assets.coingecko.com/coins/images/4128/small/solana.png', color: 'from-purple-400 to-purple-600' },
+ { name: 'Sui', symbol: 'SUIUSD', icon: 'https://assets.coingecko.com/coins/images/26375/small/sui_asset.jpeg', color: 'from-cyan-400 to-cyan-600' },
]
// Progress tracking interfaces
@@ -40,6 +36,7 @@ interface ProgressStep {
}
interface AnalysisProgress {
+ sessionId?: string
currentStep: number
totalSteps: number
steps: ProgressStep[]
@@ -328,30 +325,6 @@ export default function AIAnalysisPanel({ onAnalysisComplete }: AIAnalysisPanelP
}
}
- const quickTimeframeTest = async (testTimeframe: string) => {
- // Toggle the timeframe in selection instead of replacing
- const newTimeframes = selectedTimeframes.includes(testTimeframe)
- ? selectedTimeframes.filter(tf => tf !== testTimeframe)
- : [...selectedTimeframes, testTimeframe]
-
- setSelectedTimeframes(newTimeframes)
-
- if (!loading && symbol && newTimeframes.length > 0) {
- await performAnalysis(symbol, newTimeframes)
- }
- }
-
- const testAllTimeframes = async () => {
- if (loading) return
-
- const allTimeframeValues = timeframes.map(tf => tf.value)
- setSelectedTimeframes(allTimeframeValues)
-
- if (!loading && symbol) {
- await performAnalysis(symbol, allTimeframeValues)
- }
- }
-
async function handleAnalyze() {
await performAnalysis()
}
@@ -572,56 +545,8 @@ export default function AIAnalysisPanel({ onAnalysisComplete }: AIAnalysisPanelP
- {/* Coin Selection */}
-
-
-
- Advanced Analysis
-
-
- {/* Symbol Input */}
-
-
- Trading Pair
- setSymbol(e.target.value.toUpperCase())}
- placeholder="e.g., BTCUSD, ETHUSD"
- />
-
-
-
{/* Timeframe Selection */}
-
+
Analysis Timeframes
({selectedTimeframes.length} selected)
@@ -661,39 +586,128 @@ export default function AIAnalysisPanel({ onAnalysisComplete }: AIAnalysisPanelP
)}
+
+ {/* Coin Selection */}
+
+ {popularCoins.map(coin => (
+
quickAnalyze(coin.symbol)}
+ disabled={loading || selectedLayouts.length === 0}
+ className={`group relative flex-1 flex items-center justify-center gap-2 py-3 px-4 rounded-lg border transition-all ${
+ loading || selectedLayouts.length === 0
+ ? 'border-gray-700 bg-gray-800/30 cursor-not-allowed opacity-50'
+ : symbol === coin.symbol
+ ? 'border-cyan-500 bg-cyan-500/10 text-cyan-300'
+ : 'border-gray-700 bg-gray-800/30 text-gray-300 hover:border-gray-600 hover:bg-gray-800/50 hover:text-white transform hover:scale-105'
+ }`}
+ >
+
+
{
+ // Fallback to text if image fails to load
+ const target = e.currentTarget as HTMLImageElement;
+ target.style.display = 'none';
+ const fallback = target.nextElementSibling as HTMLElement;
+ if (fallback) fallback.style.display = 'block';
+ }}
+ />
+
{coin.name.slice(0,3).toUpperCase()}
+
+ {coin.name}
+ {symbol === coin.symbol && (
+
+ )}
+
+ ))}
+
+
+
+ {/* Advanced Analysis Section */}
+