diff --git a/web/app/routes/resources+/LoginDialog.tsx b/web/app/components/LoginDialog.tsx similarity index 93% rename from web/app/routes/resources+/LoginDialog.tsx rename to web/app/components/LoginDialog.tsx index 4fcf31a..bceade5 100644 --- a/web/app/routes/resources+/LoginDialog.tsx +++ b/web/app/components/LoginDialog.tsx @@ -7,7 +7,7 @@ import { DialogHeader, DialogTitle, } from "~/components/ui/dialog"; -import { GoogleForm } from "./google-form"; +import { GoogleForm } from "../routes/resources+/google-form"; interface LoginDialogProps { isOpen: boolean; diff --git a/web/app/routes/translate/components/SelectConform.tsx b/web/app/components/SelectConform.tsx similarity index 100% rename from web/app/routes/translate/components/SelectConform.tsx rename to web/app/components/SelectConform.tsx diff --git a/web/app/routes/translate/components/AIModelSelector.tsx b/web/app/feature/translate/components/AIModelSelector.tsx similarity index 95% rename from web/app/routes/translate/components/AIModelSelector.tsx rename to web/app/feature/translate/components/AIModelSelector.tsx index ed443fe..aea288b 100644 --- a/web/app/routes/translate/components/AIModelSelector.tsx +++ b/web/app/feature/translate/components/AIModelSelector.tsx @@ -28,7 +28,7 @@ export function AIModelSelector({ onModelSelect }: AIModelSelectorProps) { return ( ); -}; +} diff --git a/web/app/routes/translate/components/URLTranslationForm.tsx b/web/app/routes/translate/components/URLTranslationForm.tsx index 25503f5..378bc17 100644 --- a/web/app/routes/translate/components/URLTranslationForm.tsx +++ b/web/app/routes/translate/components/URLTranslationForm.tsx @@ -8,9 +8,9 @@ import { LoadingSpinner } from "~/components/LoadingSpinner"; import { Alert, AlertDescription, AlertTitle } from "~/components/ui/alert"; import { Button } from "~/components/ui/button"; import { Input } from "~/components/ui/input"; +import { AIModelSelector } from "~/feature/translate/components/AIModelSelector"; import type { action } from "../route"; import { urlTranslationSchema } from "../types"; -import { AIModelSelector } from "./AIModelSelector"; export function URLTranslationForm() { const navigation = useNavigation(); @@ -39,14 +39,11 @@ export function URLTranslationForm() { />
{fields.url.errors}
- +
+ +
- - {actionData?.intent === "translateUrl" && actionData?.url && ( + {actionData?.url && ( Translation Job Started diff --git a/web/app/routes/translate/components/UserAITranslationStatus.tsx b/web/app/routes/translate/components/UserAITranslationStatus.tsx index e2238c9..80fe3bd 100644 --- a/web/app/routes/translate/components/UserAITranslationStatus.tsx +++ b/web/app/routes/translate/components/UserAITranslationStatus.tsx @@ -4,15 +4,18 @@ import { Link } from "@remix-run/react"; import { Form } from "@remix-run/react"; import { useNavigation } from "@remix-run/react"; import { RotateCcw } from "lucide-react"; +import { useState } from "react"; import { LoadingSpinner } from "~/components/LoadingSpinner"; import { Badge } from "~/components/ui/badge"; import { Button } from "~/components/ui/button"; import { Card, CardContent, CardHeader, CardTitle } from "~/components/ui/card"; import { Progress } from "~/components/ui/progress"; import { ScrollArea } from "~/components/ui/scroll-area"; +import { AIModelSelector } from "~/feature/translate/components/AIModelSelector"; import { cn } from "~/utils/cn"; import type { UserAITranslationInfoItem } from "../types"; import { urlTranslationSchema } from "../types"; + type UserAITranslationStatusProps = { userAITranslationInfo: UserAITranslationInfoItem[]; targetLanguage: string; @@ -22,6 +25,7 @@ export function UserAITranslationStatus({ userAITranslationInfo = [], targetLanguage, }: UserAITranslationStatusProps) { + const [selectedModel, setSelectedModel] = useState("gemini-1.5-flash"); const navigation = useNavigation(); const [form, fields] = useForm({ id: "url-re-translation-form", @@ -99,10 +103,16 @@ export function UserAITranslationStatus({ name="url" value={item.pageVersion.page.url} /> +
+ + +