izen-react-starter 2.2.4 → 2.2.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -127,6 +127,50 @@ function AppRouter() {
127
127
  }
128
128
  ```
129
129
 
130
+ ### App Router Hook (Simplified Routing)
131
+
132
+ The `useAppRouter` hook simplifies route configuration by automatically handling:
133
+ - Dashboard layout wrapping
134
+ - Authentication protection
135
+ - Route structure management
136
+
137
+ ```tsx
138
+ import { useAppRouter } from 'izen-react-starter';
139
+ import { Suspense } from 'react';
140
+ import DashboardLayout from '@/components/layout/dashboard-layout';
141
+
142
+ // Define your dashboard child routes
143
+ const dashboardChildren = [
144
+ { path: 'users', element: <UsersPage /> },
145
+ { path: 'clients', element: <ClientsPage /> },
146
+ { path: 'preferences', element: <PreferencesPage /> },
147
+ ];
148
+
149
+ // Define your public routes
150
+ const publicRoutes = [
151
+ { path: '/', element: <HomePage />, index: true },
152
+ { path: '/login', element: <LoginPage /> },
153
+ { path: '/404', element: <NotFoundPage /> }
154
+ ];
155
+
156
+ export default function AppRouter() {
157
+ const routes = useAppRouter({
158
+ DashboardLayout,
159
+ dashboardChildren,
160
+ publicRoutes,
161
+ includeDefaultNotFound: true // adds default 404 if not provided
162
+ });
163
+
164
+ return routes;
165
+ }
166
+ ```
167
+
168
+ The hook automatically:
169
+ - Wraps dashboard routes with `RequiredAuth`
170
+ - Applies `DashboardLayout` wrapper
171
+ - Merges with public routes
172
+ - Handles 404 fallback
173
+
130
174
  ### Router Hooks
131
175
 
132
176
  ```tsx
@@ -1,7 +1,7 @@
1
1
  var ws = Object.defineProperty;
2
2
  var xs = (e, t, n) => t in e ? ws(e, t, { enumerable: !0, configurable: !0, writable: !0, value: n }) : e[t] = n;
3
3
  var Re = (e, t, n) => xs(e, typeof t != "symbol" ? t + "" : t, n);
4
- import { b as $e, d as B, o as xt, e as H, c as L, a as v, P as zo, m as ye, S as K, t as P, i as k, f as U, h as F, j as $s, k as sr, u as Ce, l as V, s as Vn, n as jn, p as ft, q as T, r as Cs, v as cn, w as qe, x as Ss, y as _t, z as Kt, A as ks, B as Es, C as Cn, F as Ds, D as Hr, E as Nt, $ as Ko, G as Ms, H as As, I as W, J as Gr, K as Ts, L as Fs, M as ar, N as Is, O as Os, Q as Kn, R as Ls, T as Ps, U as ie, V as qs, W as _s } from "./index-0c_IyFAY.js";
4
+ import { b as $e, d as B, o as xt, e as H, c as L, a as v, P as zo, m as ye, S as K, t as P, i as k, f as U, h as F, j as $s, k as sr, u as Ce, l as V, s as Vn, n as jn, p as ft, q as T, r as Cs, v as cn, w as qe, x as Ss, y as _t, z as Kt, A as ks, B as Es, C as Cn, F as Ds, D as Hr, E as Nt, $ as Ko, G as Ms, H as As, I as W, J as Gr, K as Ts, L as Fs, M as ar, N as Is, O as Os, Q as Kn, R as Ls, T as Ps, U as ie, V as qs, W as _s } from "./index-BqTfpBWD.js";
5
5
  var Rs = (e) => e != null, zs = (e) => e.filter(Rs);
6
6
  function Ks(e) {
7
7
  return (...t) => {
@@ -1,5 +1,5 @@
1
- import { c, T as l, P as m, a as u, D as v, Q as i } from "./MIMHJGAX-BBncSsI7.js";
2
- import { g as d, c as f, a as e } from "./index-0c_IyFAY.js";
1
+ import { c, T as l, P as m, a as u, D as v, Q as i } from "./MIMHJGAX-QHfr44HB.js";
2
+ import { g as d, c as f, a as e } from "./index-BqTfpBWD.js";
3
3
  var h = (t) => {
4
4
  const [r, o] = c({
5
5
  prefix: "TanstackQueryDevtools"
@@ -1,5 +1,5 @@
1
- import { c as s, T as c, P as u, a as i, b as m, C as P, Q as d } from "./MIMHJGAX-BBncSsI7.js";
2
- import { g as h, c as v, a as e } from "./index-0c_IyFAY.js";
1
+ import { c as s, T as c, P as u, a as i, b as m, C as P, Q as d } from "./MIMHJGAX-QHfr44HB.js";
2
+ import { g as h, c as v, a as e } from "./index-BqTfpBWD.js";
3
3
  var C = (r) => {
4
4
  const [t, o] = s({
5
5
  prefix: "TanstackQueryDevtools"