Auth Flow

JWT login/register, route guards, role-based access, and token refresh

How it works — Router Guards + API Auth

import { route, navigate, router } from 'tina4js';
import { api } from 'tina4js/api';

const user = signal(null);

api.configure({ baseUrl: '/api', auth: true });

route('/login', () => { /* login form */ });
route('/dashboard', {
  guard: () => user.value ? true : '/login',
  handler: () => { /* dashboard */ }
});
route('/admin', {
  guard: () => user.value?.role === 'admin' ? true : '/dashboard',
  handler: () => { /* admin panel */ }
});