diff --git a/frontend/src/components/LinkWithSearchParams.tsx b/frontend/src/components/LinkWithSearchParams.tsx index 42464db..708cc08 100644 --- a/frontend/src/components/LinkWithSearchParams.tsx +++ b/frontend/src/components/LinkWithSearchParams.tsx @@ -23,8 +23,10 @@ const LinkWithSearchParams = ({ let prefixedUrl = to; - if (!clusterMode) { + if (!clusterMode && context) { prefixedUrl = `/${encodeURIComponent(context)}${to}`; + } else { + prefixedUrl = to; } const url = `${prefixedUrl}/?${params.toString()}`; diff --git a/frontend/src/components/Tabs.tsx b/frontend/src/components/Tabs.tsx index 9a9a8fb..d73dc57 100644 --- a/frontend/src/components/Tabs.tsx +++ b/frontend/src/components/Tabs.tsx @@ -18,7 +18,6 @@ export default function Tabs({ tabs, selectedTab }: TabsProps) { const moveTab = (tab: Tab) => { upsertSearchParams("tab", tab.value); }; - return (
diff --git a/frontend/src/components/modal/AddRepositoryModal.tsx b/frontend/src/components/modal/AddRepositoryModal.tsx index e833cea..dba5a63 100644 --- a/frontend/src/components/modal/AddRepositoryModal.tsx +++ b/frontend/src/components/modal/AddRepositoryModal.tsx @@ -5,8 +5,8 @@ import useAlertError from "../../hooks/useAlertError"; import useCustomSearchParams from "../../hooks/useCustomSearchParams"; import { useAppContext } from "../../context/AppContext"; import { useQueryClient } from "@tanstack/react-query"; -import { useNavigate } from "react-router"; import apiService from "../../API/apiService"; +import useNavigateWithSearchParams from "../../hooks/useNavigateWithSearchParams"; interface FormKeys { name: string; @@ -33,7 +33,7 @@ function AddRepositoryModal({ isOpen, onClose }: AddRepositoryModalProps) { const [isLoading, setIsLoading] = useState(false); const alertError = useAlertError(); const { setSelectedRepo } = useAppContext(); - const navigate = useNavigate(); + const navigate = useNavigateWithSearchParams(); const queryClient = useQueryClient(); const addRepository = async () => { @@ -58,7 +58,8 @@ function AddRepositoryModal({ isOpen, onClose }: AddRepositoryModalProps) { queryKey: ["helm", "repositories"], }); setSelectedRepo(formData.name || ""); - await navigate(`/repository/${formData.name}`, { + const path = `/repository/${formData.name}`; + await navigate(path, { replace: true, }); } catch (err) { @@ -68,6 +69,13 @@ function AddRepositoryModal({ isOpen, onClose }: AddRepositoryModalProps) { }); } finally { setIsLoading(false); + setFormData({ + name: "", + url: "", + username: "", + password: "", + }); + onClose(); } }; diff --git a/frontend/src/layout/Header.tsx b/frontend/src/layout/Header.tsx index 7a81fe9..44f31a8 100644 --- a/frontend/src/layout/Header.tsx +++ b/frontend/src/layout/Header.tsx @@ -76,7 +76,7 @@ export default function Header() {