refactor(routes):

- keep install-mode root redirect to /install and add tests covering install root redirect and install page serving
- change root backend handler from Any("/") to POST("/") so GET / can consistently serve the SPA after install

Co-authored-by: Copilot <copilot@github.com>
This commit is contained in:
line-6000
2026-04-25 18:48:28 +08:00
parent 485059f60e
commit 95879e33d4
140 changed files with 285 additions and 197 deletions
+1
View File
@@ -0,0 +1 @@
import{Qu as e}from"./messages-BOl-zx8S.js";import{t}from"./link-Du-u9SDI.js";import{i as n,t as r}from"./button-D-oR8d6w.js";import{a as i,l as a,r as o,t as s}from"./dropdown-menu-HbmfecEg.js";import{t as c}from"./createLucideIcon-DMX28cCu.js";import{n as l,t as u}from"./theme-switch-BVGTp-bE.js";import{n as d,r as f,t as p}from"./header-B5Qx5Y9m.js";var m=c(`menu`,[[`path`,{d:`M4 5h16`,key:`1tepv9`}],[`path`,{d:`M4 12h16`,key:`1lakjw`}],[`path`,{d:`M4 19h16`,key:`1djgab`}]]),h=e();function g({className:e,links:c,...l}){return(0,h.jsxs)(h.Fragment,{children:[(0,h.jsx)(`div`,{className:`lg:hidden`,children:(0,h.jsxs)(s,{modal:!1,children:[(0,h.jsx)(a,{asChild:!0,children:(0,h.jsx)(r,{className:`md:size-7`,size:`icon`,variant:`outline`,children:(0,h.jsx)(m,{})})}),(0,h.jsx)(o,{align:`start`,side:`bottom`,children:c.map(({title:e,href:n,isActive:r,disabled:a})=>(0,h.jsx)(i,{asChild:!0,children:(0,h.jsx)(t,{className:r?``:`text-muted-foreground`,disabled:a,to:n,children:e})},`${e}-${n}`))})]})}),(0,h.jsx)(`nav`,{className:n(`hidden items-center space-x-4 lg:flex lg:space-x-4 xl:space-x-6`,e),...l,children:c.map(({title:e,href:n,isActive:r,disabled:i})=>(0,h.jsx)(t,{className:`font-medium text-sm transition-colors hover:text-primary ${r?``:`text-muted-foreground`}`,disabled:i,to:n,children:e},`${e}-${n}`))})]})}function _({fixed:e,topNav:t}){return(0,h.jsxs)(p,{fixed:e,children:[t?(0,h.jsx)(g,{links:t}):(0,h.jsx)(d,{}),(0,h.jsxs)(`div`,{className:`ms-auto flex items-center space-x-4`,children:[t&&(0,h.jsx)(d,{}),(0,h.jsx)(l,{}),(0,h.jsx)(u,{}),(0,h.jsx)(f,{})]})]})}function v({fixed:e,className:t,fluid:r,...i}){return(0,h.jsx)(`main`,{className:n(`px-4 py-6`,e&&`flex grow flex-col overflow-hidden`,!r&&`@7xl/content:mx-auto @7xl/content:w-full @7xl/content:max-w-7xl`,t),"data-layout":e?`fixed`:`auto`,...i})}export{_ as n,v as t};