diff --git a/atsf_server/router/web-router.go b/atsf_server/router/web-router.go index 8b485add..1be2f194 100644 --- a/atsf_server/router/web-router.go +++ b/atsf_server/router/web-router.go @@ -5,7 +5,6 @@ import ( "atsflare/controller" "atsflare/middleware" "embed" - "fmt" "github.com/gin-contrib/static" "github.com/gin-gonic/gin" "io/fs" @@ -23,7 +22,6 @@ func setWebRouter(router *gin.Engine, buildFS embed.FS, indexPage []byte) { router.Use(middleware.GlobalWebRateLimit()) fileDownloadRoute := router.Group("/") fileDownloadRoute.GET("/upload/:file", middleware.DownloadRateLimit(), controller.DownloadFile) - registerLegacyWebRedirects(router) router.Use(middleware.Cache()) router.Use(static.Serve("/", common.EmbedFolder(buildFS, "web/build"))) router.NoRoute(func(c *gin.Context) { @@ -40,35 +38,6 @@ func setWebRouter(router *gin.Engine, buildFS embed.FS, indexPage []byte) { }) } -func registerLegacyWebRedirects(router *gin.Engine) { - legacyRoutes := map[string]string{ - "/proxy-route": "/proxy-routes", - "/config-version": "/config-versions", - "/node": "/nodes", - "/apply-log": "/apply-logs", - "/managed-domain": "/managed-domains", - "/tls-certificate": "/tls-certificates", - "/file": "/files", - "/user": "/users", - "/user/add": "/users?mode=create", - "/user/edit": "/users", - "/setting": "/settings", - } - - for source, target := range legacyRoutes { - router.GET(source, func(target string) gin.HandlerFunc { - return func(c *gin.Context) { - c.Redirect(http.StatusFound, target) - } - }(target)) - } - - router.GET("/user/edit/:id", func(c *gin.Context) { - target := fmt.Sprintf("/users?edit=%s", c.Param("id")) - c.Redirect(http.StatusFound, target) - }) -} - func serveExportedPage(c *gin.Context, buildFS fs.FS) bool { requestPath := strings.Trim(c.Request.URL.Path, "/") diff --git a/atsf_server/web/app/apply-log/page.tsx b/atsf_server/web/app/apply-log/page.tsx deleted file mode 100644 index a8ff62d4..00000000 --- a/atsf_server/web/app/apply-log/page.tsx +++ /dev/null @@ -1,5 +0,0 @@ -import { LegacyRouteRedirect } from '@/features/shared/components/legacy-route-redirect'; - -export default function LegacyApplyLogRoute() { - return ; -} diff --git a/atsf_server/web/app/config-version/page.tsx b/atsf_server/web/app/config-version/page.tsx deleted file mode 100644 index 786ffb1d..00000000 --- a/atsf_server/web/app/config-version/page.tsx +++ /dev/null @@ -1,5 +0,0 @@ -import { LegacyRouteRedirect } from '@/features/shared/components/legacy-route-redirect'; - -export default function LegacyConfigVersionPage() { - return ; -} diff --git a/atsf_server/web/app/file/page.tsx b/atsf_server/web/app/file/page.tsx deleted file mode 100644 index b7e741a5..00000000 --- a/atsf_server/web/app/file/page.tsx +++ /dev/null @@ -1,5 +0,0 @@ -import { LegacyRouteRedirect } from '@/features/shared/components/legacy-route-redirect'; - -export default function LegacyFilePage() { - return ; -} diff --git a/atsf_server/web/app/managed-domain/page.tsx b/atsf_server/web/app/managed-domain/page.tsx deleted file mode 100644 index 1263d90e..00000000 --- a/atsf_server/web/app/managed-domain/page.tsx +++ /dev/null @@ -1,5 +0,0 @@ -import { LegacyRouteRedirect } from '@/features/shared/components/legacy-route-redirect'; - -export default function LegacyManagedDomainRoute() { - return ; -} diff --git a/atsf_server/web/app/node/page.tsx b/atsf_server/web/app/node/page.tsx deleted file mode 100644 index a2743058..00000000 --- a/atsf_server/web/app/node/page.tsx +++ /dev/null @@ -1,5 +0,0 @@ -import { LegacyRouteRedirect } from '@/features/shared/components/legacy-route-redirect'; - -export default function LegacyNodePage() { - return ; -} diff --git a/atsf_server/web/app/proxy-route/page.tsx b/atsf_server/web/app/proxy-route/page.tsx deleted file mode 100644 index 6293ea5a..00000000 --- a/atsf_server/web/app/proxy-route/page.tsx +++ /dev/null @@ -1,5 +0,0 @@ -import { LegacyRouteRedirect } from '@/features/shared/components/legacy-route-redirect'; - -export default function LegacyProxyRoutePage() { - return ; -} diff --git a/atsf_server/web/app/setting/page.tsx b/atsf_server/web/app/setting/page.tsx deleted file mode 100644 index e4ada263..00000000 --- a/atsf_server/web/app/setting/page.tsx +++ /dev/null @@ -1,5 +0,0 @@ -import { LegacyRouteRedirect } from '@/features/shared/components/legacy-route-redirect'; - -export default function LegacySettingPage() { - return ; -} diff --git a/atsf_server/web/app/tls-certificate/page.tsx b/atsf_server/web/app/tls-certificate/page.tsx deleted file mode 100644 index d0395a7a..00000000 --- a/atsf_server/web/app/tls-certificate/page.tsx +++ /dev/null @@ -1,5 +0,0 @@ -import { LegacyRouteRedirect } from '@/features/shared/components/legacy-route-redirect'; - -export default function LegacyTlsCertificateRoute() { - return ; -} diff --git a/atsf_server/web/app/user/add/page.tsx b/atsf_server/web/app/user/add/page.tsx deleted file mode 100644 index fccf7ae8..00000000 --- a/atsf_server/web/app/user/add/page.tsx +++ /dev/null @@ -1,5 +0,0 @@ -import { LegacyRouteRedirect } from '@/features/shared/components/legacy-route-redirect'; - -export default function LegacyUserAddPage() { - return ; -} diff --git a/atsf_server/web/app/user/edit/page.tsx b/atsf_server/web/app/user/edit/page.tsx deleted file mode 100644 index 3d9c9762..00000000 --- a/atsf_server/web/app/user/edit/page.tsx +++ /dev/null @@ -1,5 +0,0 @@ -import { LegacyRouteRedirect } from '@/features/shared/components/legacy-route-redirect'; - -export default function LegacyUserEditPage() { - return ; -} diff --git a/atsf_server/web/app/user/page.tsx b/atsf_server/web/app/user/page.tsx deleted file mode 100644 index c04350c3..00000000 --- a/atsf_server/web/app/user/page.tsx +++ /dev/null @@ -1,5 +0,0 @@ -import { LegacyRouteRedirect } from '@/features/shared/components/legacy-route-redirect'; - -export default function LegacyUserPage() { - return ; -} diff --git a/atsf_server/web/features/shared/components/legacy-route-redirect.tsx b/atsf_server/web/features/shared/components/legacy-route-redirect.tsx deleted file mode 100644 index 147e0d60..00000000 --- a/atsf_server/web/features/shared/components/legacy-route-redirect.tsx +++ /dev/null @@ -1,24 +0,0 @@ -'use client'; - -import { useRouter } from 'next/navigation'; -import { useEffect } from 'react'; - -import { LoadingState } from '@/components/feedback/loading-state'; - -interface LegacyRouteRedirectProps { - href: string; -} - -export function LegacyRouteRedirect({ href }: LegacyRouteRedirectProps) { - const router = useRouter(); - - useEffect(() => { - router.replace(href); - }, [href, router]); - - return ( -
- -
- ); -} diff --git a/atsf_server/web/features/users/components/users-page.tsx b/atsf_server/web/features/users/components/users-page.tsx index 79577cbd..954b13b5 100644 --- a/atsf_server/web/features/users/components/users-page.tsx +++ b/atsf_server/web/features/users/components/users-page.tsx @@ -2,7 +2,6 @@ import { zodResolver } from '@hookform/resolvers/zod'; import { useMutation, useQuery, useQueryClient } from '@tanstack/react-query'; -import { useSearchParams } from 'next/navigation'; import { useEffect, useMemo, useState } from 'react'; import { useForm } from 'react-hook-form'; import { z } from 'zod'; @@ -95,7 +94,6 @@ function toPayload(values: UserFormValues): UserMutationPayload { export function UsersPage() { const queryClient = useQueryClient(); - const searchParams = useSearchParams(); const { user: currentUser } = useAuth(); const [page, setPage] = useState(0); const [searchInput, setSearchInput] = useState(''); @@ -132,32 +130,12 @@ export function UsersPage() { useEffect(() => { if (editingUserQuery.data) { form.reset({ - username: editingUserQuery.data.username, - display_name: editingUserQuery.data.display_name || '', - password: '', - }); + username: editingUserQuery.data.username, + display_name: editingUserQuery.data.display_name || '', + password: '', + }); } }, [editingUserQuery.data, form]); - - useEffect(() => { - const editParam = searchParams?.get('edit'); - const modeParam = searchParams?.get('mode'); - - if (editParam) { - const parsedUserId = Number.parseInt(editParam, 10); - if (!Number.isNaN(parsedUserId) && parsedUserId > 0) { - setFeedback(null); - setEditingUserId(parsedUserId); - } - return; - } - - if (modeParam === 'create') { - setFeedback(null); - setEditingUserId(null); - form.reset(defaultValues); - } - }, [form, searchParams]); const saveMutation = useMutation({ mutationFn: async (values: UserFormValues) => {