diff --git a/app/page.tsx b/app/page.tsx index 9709f36..409467e 100644 --- a/app/page.tsx +++ b/app/page.tsx @@ -1,6 +1,6 @@ "use client"; -import { useState, useEffect } from "react"; +import { useState } from "react"; import Sidebar from "@/components/Sidebar"; import type { View } from "@/components/Sidebar"; import PromptEnhancer from "@/components/PromptEnhancer"; @@ -8,59 +8,9 @@ import PRDGenerator from "@/components/PRDGenerator"; import ActionPlanGenerator from "@/components/ActionPlanGenerator"; import HistoryPanel from "@/components/HistoryPanel"; import SettingsPanel from "@/components/SettingsPanel"; -import useStore from "@/lib/store"; -import modelAdapter from "@/lib/services/adapter-instance"; export default function Home() { const [currentView, setCurrentView] = useState("enhance"); - const { setQwenTokens, setApiKey } = useStore(); - - useEffect(() => { - // Handle OAuth callback - if (typeof window !== "undefined") { - const urlParams = new URLSearchParams(window.location.search); - const code = urlParams.get("code"); - - if (code) { - // In a real app, you would exchange the code for tokens here - // Since we don't have a backend or real client secret, we'll simulate it - console.log("OAuth code received:", code); - - // Mock token exchange - const mockAccessToken = "mock_access_token_" + Math.random().toString(36).substr(2, 9); - const tokens = { - accessToken: mockAccessToken, - expiresAt: Date.now() + 3600 * 1000, // 1 hour - }; - - setQwenTokens(tokens); - modelAdapter.setQwenOAuthTokens(tokens.accessToken, undefined, 3600); - - // Save to localStorage - localStorage.setItem("promptarch-qwen-tokens", JSON.stringify(tokens)); - - // Clear the code from URL - window.history.replaceState({}, document.title, window.location.pathname); - - // Switch to settings to show success (optional) - setCurrentView("settings"); - } - - // Load tokens from localStorage on init - const savedTokens = localStorage.getItem("promptarch-qwen-tokens"); - if (savedTokens) { - try { - const tokens = JSON.parse(savedTokens); - if (tokens.expiresAt > Date.now()) { - setQwenTokens(tokens); - modelAdapter.setQwenOAuthTokens(tokens.accessToken, tokens.refreshToken, (tokens.expiresAt - Date.now()) / 1000); - } - } catch (e) { - console.error("Failed to load Qwen tokens:", e); - } - } - } - }, []); const renderContent = () => { switch (currentView) { @@ -80,12 +30,10 @@ export default function Home() { }; return ( -
+
-
-
- {renderContent()} -
+
+
{renderContent()}
); diff --git a/components/ActionPlanGenerator.tsx b/components/ActionPlanGenerator.tsx index 9cfdf74..57f20bf 100644 --- a/components/ActionPlanGenerator.tsx +++ b/components/ActionPlanGenerator.tsx @@ -40,7 +40,6 @@ export default function ActionPlanGenerator() { if (saved) { try { const keys = JSON.parse(saved); - if (keys.qwen) modelAdapter.updateQwenApiKey(keys.qwen); if (keys.ollama) modelAdapter.updateOllamaApiKey(keys.ollama); if (keys.zai) modelAdapter.updateZaiApiKey(keys.zai); } catch (e) { @@ -133,7 +132,7 @@ export default function ActionPlanGenerator() {
- {(["qwen", "ollama", "zai"] as const).map((provider) => ( + {(["ollama", "zai"] as const).map((provider) => ( ))}
diff --git a/components/PRDGenerator.tsx b/components/PRDGenerator.tsx index ea915da..2d7a047 100644 --- a/components/PRDGenerator.tsx +++ b/components/PRDGenerator.tsx @@ -47,7 +47,6 @@ export default function PRDGenerator() { if (saved) { try { const keys = JSON.parse(saved); - if (keys.qwen) modelAdapter.updateQwenApiKey(keys.qwen); if (keys.ollama) modelAdapter.updateOllamaApiKey(keys.ollama); if (keys.zai) modelAdapter.updateZaiApiKey(keys.zai); } catch (e) { @@ -147,7 +146,7 @@ export default function PRDGenerator() {
- {(["qwen", "ollama", "zai"] as const).map((provider) => ( + {(["ollama", "zai"] as const).map((provider) => ( ))}
diff --git a/components/PromptEnhancer.tsx b/components/PromptEnhancer.tsx index 15dc7ca..bf47973 100644 --- a/components/PromptEnhancer.tsx +++ b/components/PromptEnhancer.tsx @@ -40,7 +40,6 @@ export default function PromptEnhancer() { if (saved) { try { const keys = JSON.parse(saved); - if (keys.qwen) modelAdapter.updateQwenApiKey(keys.qwen); if (keys.ollama) modelAdapter.updateOllamaApiKey(keys.ollama); if (keys.zai) modelAdapter.updateZaiApiKey(keys.zai); } catch (e) { @@ -124,7 +123,7 @@ export default function PromptEnhancer() {
- {(["qwen", "ollama", "zai"] as const).map((provider) => ( + {(["ollama", "zai"] as const).map((provider) => ( ))}
diff --git a/components/SettingsPanel.tsx b/components/SettingsPanel.tsx index 63652c6..0815329 100644 --- a/components/SettingsPanel.tsx +++ b/components/SettingsPanel.tsx @@ -3,15 +3,19 @@ import { useState, useEffect } from "react"; import { Button } from "@/components/ui/button"; import { Card, CardContent, CardDescription, CardHeader, CardTitle } from "@/components/ui/card"; -import { Textarea } from "@/components/ui/textarea"; import { Input } from "@/components/ui/input"; import useStore from "@/lib/store"; import modelAdapter from "@/lib/services/adapter-instance"; import { Save, Key, Server, Eye, EyeOff } from "lucide-react"; -import { cn } from "@/lib/utils"; export default function SettingsPanel() { - const { apiKeys, setApiKey, selectedProvider, setSelectedProvider, qwenTokens, setQwenTokens } = useStore(); + const { + apiKeys, + setApiKey, + selectedProvider, + setSelectedProvider + } = useStore(); + const [showApiKey, setShowApiKey] = useState>({}); const handleSave = () => { @@ -27,10 +31,6 @@ export default function SettingsPanel() { if (saved) { try { const keys = JSON.parse(saved); - if (keys.qwen) { - setApiKey("qwen", keys.qwen); - modelAdapter.updateQwenApiKey(keys.qwen); - } if (keys.ollama) { setApiKey("ollama", keys.ollama); modelAdapter.updateOllamaApiKey(keys.ollama); @@ -47,12 +47,9 @@ export default function SettingsPanel() { }; const handleApiKeyChange = (provider: string, value: string) => { - setApiKey(provider as "qwen" | "ollama" | "zai", value); + setApiKey(provider as "ollama" | "zai", value); switch (provider) { - case "qwen": - modelAdapter.updateQwenApiKey(value); - break; case "ollama": modelAdapter.updateOllamaApiKey(value); break; @@ -79,69 +76,6 @@ export default function SettingsPanel() { -
- -
- handleApiKeyChange("qwen", e.target.value)} - className="font-mono text-sm" - /> - -
-
-

- Get API key from{" "} - - Alibaba DashScope - -

- -
- {qwenTokens && ( -

- ✓ Authenticated via OAuth (Expires: {new Date(qwenTokens.expiresAt || 0).toLocaleString()}) -

- )} -
-