JWT login/register, route guards, role-based access, and token refresh
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 */ }
});