Fluixi Docs

Routing

@fluixi/start gives you file-based routing: files in src/routes/ become routes.

src/routes/
  index.tsx        →  /
  about.tsx        →  /about
  blog/[slug].tsx  →  /blog/:slug
  (admin)/layout.tsx  →  a layout group

Dynamic segments & params

[param] captures a segment; read it with useParams (it returns an accessor):

import { useParams } from '@fluixi/start/router';

export default function Post() {
  const params = useParams<{ slug: string }>();
  return <h1>{params().slug}</h1>;
}

Nested layouts

A layout.tsx wraps its child routes around an <Outlet/>:

import { Outlet } from '@fluixi/start/router';

export default function AdminLayout() {
  return <div class="admin"><Sidebar /><Outlet /></div>;
}

Navigation

Use useNavigate for programmatic navigation; plain <a href> works for full-page links.

import { useNavigate } from '@fluixi/start/router';
const navigate = useNavigate();
navigate('/dashboard');

Next: Server functions.