create-nexgen 1.0.4

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.
Files changed (240) hide show
  1. package/package.json +26 -0
  2. package/src/index.js +108 -0
  3. package/template/.dockerignore +14 -0
  4. package/template/.env +58 -0
  5. package/template/.env.example +59 -0
  6. package/template/.prettierignore +5 -0
  7. package/template/.prettierrc +8 -0
  8. package/template/README.md +447 -0
  9. package/template/drizzle.config.ts +29 -0
  10. package/template/eslint.config.js +52 -0
  11. package/template/gitignore-stub +24 -0
  12. package/template/package.json +96 -0
  13. package/template/public/assets/AuthLayout-CbswhpjJ.js +1 -0
  14. package/template/public/assets/Button-_7aQ7gHL.js +1 -0
  15. package/template/public/assets/Input-CLNJXmKc.css +1 -0
  16. package/template/public/assets/Input-z8GI8Aqo.js +1 -0
  17. package/template/public/assets/InputPasswordToggle-BxlzVGp3.js +1 -0
  18. package/template/public/assets/InputPasswordToggle-C77FI9Eg.css +1 -0
  19. package/template/public/assets/Layout-DotR1sQC.js +1 -0
  20. package/template/public/assets/Refresh-BdqsPPBC.js +1 -0
  21. package/template/public/assets/admin-ui-CU34rLdN.js +1 -0
  22. package/template/public/assets/bootstrap-icons-BeopsB42.woff +0 -0
  23. package/template/public/assets/bootstrap-icons-mSm7cUeB.woff2 +0 -0
  24. package/template/public/assets/dashboard-CwybEyLc.js +1 -0
  25. package/template/public/assets/dashboard-Dc4d-Pi7.css +1 -0
  26. package/template/public/assets/forgetPassword-CKEJaXsq.js +1 -0
  27. package/template/public/assets/index-Bleyx5dm.js +64 -0
  28. package/template/public/assets/index-DUw8E6Yg.css +1 -0
  29. package/template/public/assets/login-DC7PTlQF.js +1 -0
  30. package/template/public/assets/realtime-test-BPQdrFym.css +1 -0
  31. package/template/public/assets/realtime-test-tQZ0rBEJ.js +1 -0
  32. package/template/public/assets/register-3O7Qs28C.js +1 -0
  33. package/template/public/assets/resetPassword-A5AzMWKs.js +1 -0
  34. package/template/public/assets/verifyEmail-DDBEQHOv.js +1 -0
  35. package/template/public/index.html +17 -0
  36. package/template/src/database/migrations/mysql/0000_init.sql +73 -0
  37. package/template/src/database/migrations/mysql/meta/0000_snapshot.json +484 -0
  38. package/template/src/database/migrations/mysql/meta/_journal.json +13 -0
  39. package/template/src/database/schema.ts +4 -0
  40. package/template/src/env.ts +107 -0
  41. package/template/src/framework/cache/cache.ts +81 -0
  42. package/template/src/framework/database/connection.ts +168 -0
  43. package/template/src/framework/database/optional-db-drivers.d.ts +9 -0
  44. package/template/src/framework/database/paginate.ts +200 -0
  45. package/template/src/framework/database/schema.ts +26 -0
  46. package/template/src/framework/database/seed.ts +33 -0
  47. package/template/src/framework/events/dispatcher.ts +57 -0
  48. package/template/src/framework/facade.ts +27 -0
  49. package/template/src/framework/http/app.ts +61 -0
  50. package/template/src/framework/http/cors.ts +19 -0
  51. package/template/src/framework/http/logger.ts +85 -0
  52. package/template/src/framework/http/openapi.ts +34 -0
  53. package/template/src/framework/http/ratelimiter.ts +13 -0
  54. package/template/src/framework/http/router.ts +76 -0
  55. package/template/src/framework/http/static.ts +33 -0
  56. package/template/src/framework/http/validation.ts +24 -0
  57. package/template/src/framework/kernel.ts +40 -0
  58. package/template/src/framework/maker-cli/src/index.mjs +51 -0
  59. package/template/src/framework/maker-cli/src/levels/level-1/env-db.mjs +57 -0
  60. package/template/src/framework/maker-cli/src/levels/level-1/file-ops.mjs +30 -0
  61. package/template/src/framework/maker-cli/src/levels/level-1/flags.mjs +16 -0
  62. package/template/src/framework/maker-cli/src/levels/level-1/help.mjs +24 -0
  63. package/template/src/framework/maker-cli/src/levels/level-1/naming.mjs +13 -0
  64. package/template/src/framework/maker-cli/src/levels/level-1/process.mjs +47 -0
  65. package/template/src/framework/maker-cli/src/levels/level-2/db/core.mjs +299 -0
  66. package/template/src/framework/maker-cli/src/levels/level-2/db/index.mjs +177 -0
  67. package/template/src/framework/maker-cli/src/levels/level-2/deploy/core.mjs +635 -0
  68. package/template/src/framework/maker-cli/src/levels/level-2/deploy/index.mjs +145 -0
  69. package/template/src/framework/maker-cli/src/levels/level-2/module/core.mjs +707 -0
  70. package/template/src/framework/maker-cli/src/levels/level-2/module/index.mjs +116 -0
  71. package/template/src/framework/maker-cli/src/levels/level-2/runtime/build-frontend.mjs +16 -0
  72. package/template/src/framework/maker-cli/src/levels/level-2/runtime/core.mjs +311 -0
  73. package/template/src/framework/maker-cli/src/levels/level-2/runtime/index.mjs +71 -0
  74. package/template/src/framework/maker-cli/stubs/controller/openapi.ts.stub +55 -0
  75. package/template/src/framework/maker-cli/stubs/controller/openapi.with-model.ts.stub +56 -0
  76. package/template/src/framework/maker-cli/stubs/controller/plain.ts.stub +57 -0
  77. package/template/src/framework/maker-cli/stubs/controller/schema.plain.ts.stub +13 -0
  78. package/template/src/framework/maker-cli/stubs/controller/schema.ts.stub +32 -0
  79. package/template/src/framework/maker-cli/stubs/deploy/Dockerfile.bun.stub +49 -0
  80. package/template/src/framework/maker-cli/stubs/deploy/Dockerfile.pnpm.stub +53 -0
  81. package/template/src/framework/maker-cli/stubs/deploy/Dockerfile.stub +49 -0
  82. package/template/src/framework/maker-cli/stubs/deploy/Dockerfile.yarn.stub +53 -0
  83. package/template/src/framework/maker-cli/stubs/deploy/README.stub +55 -0
  84. package/template/src/framework/maker-cli/stubs/deploy/compose/mysql.server.stub +29 -0
  85. package/template/src/framework/maker-cli/stubs/deploy/compose/postgres.server.stub +29 -0
  86. package/template/src/framework/maker-cli/stubs/deploy/compose/sqlite.stub +29 -0
  87. package/template/src/framework/maker-cli/stubs/deploy/env/mysql.server.stub +73 -0
  88. package/template/src/framework/maker-cli/stubs/deploy/env/postgres.server.stub +73 -0
  89. package/template/src/framework/maker-cli/stubs/deploy/env/sqlite.stub +72 -0
  90. package/template/src/framework/maker-cli/stubs/deploy/scripts/auto-migrate.sh.stub +15 -0
  91. package/template/src/framework/maker-cli/stubs/deploy/server/README.stub +77 -0
  92. package/template/src/framework/maker-cli/stubs/deploy/server/compose/noredis.stub +118 -0
  93. package/template/src/framework/maker-cli/stubs/deploy/server/compose/redis.dev.stub +131 -0
  94. package/template/src/framework/maker-cli/stubs/deploy/server/compose/redis.stub +129 -0
  95. package/template/src/framework/maker-cli/stubs/deploy/server/env/local.example.stub +10 -0
  96. package/template/src/framework/maker-cli/stubs/deploy/server/env/noredis.stub +24 -0
  97. package/template/src/framework/maker-cli/stubs/deploy/server/env/redis.stub +24 -0
  98. package/template/src/framework/maker-cli/stubs/deploy/server/nginx-vhost/README.stub +15 -0
  99. package/template/src/framework/maker-cli/stubs/deploy/server/nginx-vhost/app.example.com.stub +12 -0
  100. package/template/src/framework/maker-cli/stubs/deploy/server/pgadmin/servers.stub +13 -0
  101. package/template/src/framework/maker-cli/stubs/deploy/server/redis/redis.conf.stub +6 -0
  102. package/template/src/framework/maker-cli/stubs/deploy/supervisor/noredis.stub +53 -0
  103. package/template/src/framework/maker-cli/stubs/deploy/supervisor/redis.stub +69 -0
  104. package/template/src/framework/maker-cli/stubs/deploy/workflow/local.json.stub +24 -0
  105. package/template/src/framework/maker-cli/stubs/deploy/workflow/remote.json.stub +20 -0
  106. package/template/src/framework/maker-cli/stubs/example/console.ts.stub +33 -0
  107. package/template/src/framework/maker-cli/stubs/example/controller.ts.stub +503 -0
  108. package/template/src/framework/maker-cli/stubs/example/job.ts.stub +74 -0
  109. package/template/src/framework/maker-cli/stubs/example/route.api.ts.stub +206 -0
  110. package/template/src/framework/maker-cli/stubs/example/schema.ts.stub +41 -0
  111. package/template/src/framework/maker-cli/stubs/job/name.ts.stub +24 -0
  112. package/template/src/framework/maker-cli/stubs/model/name.mysql.ts.stub +8 -0
  113. package/template/src/framework/maker-cli/stubs/model/name.postgresql.ts.stub +8 -0
  114. package/template/src/framework/maker-cli/stubs/model/name.sqlite.ts.stub +8 -0
  115. package/template/src/framework/maker-cli/stubs/notification/NotificationBell.vue.stub +218 -0
  116. package/template/src/framework/maker-cli/stubs/notification/controller.ts.stub +85 -0
  117. package/template/src/framework/maker-cli/stubs/notification/index.vue.stub +211 -0
  118. package/template/src/framework/maker-cli/stubs/notification/job.ts.stub +12 -0
  119. package/template/src/framework/maker-cli/stubs/notification/route.api.ts.stub +49 -0
  120. package/template/src/framework/maker-cli/stubs/notification/schema.ts.stub +25 -0
  121. package/template/src/framework/maker-cli/stubs/route/api.ts.stub +79 -0
  122. package/template/src/framework/maker-cli/stubs/route/plain.ts.stub +10 -0
  123. package/template/src/framework/maker-cli/stubs/schedule/name.ts.stub +35 -0
  124. package/template/src/framework/maker-cli/stubs/seeder/name.ts.stub +17 -0
  125. package/template/src/framework/modules/discover.ts +54 -0
  126. package/template/src/framework/modules/routes.ts +26 -0
  127. package/template/src/framework/notification/index.ts +109 -0
  128. package/template/src/framework/queue/clear.ts +20 -0
  129. package/template/src/framework/queue/queue.ts +213 -0
  130. package/template/src/framework/queue/ui.ts +104 -0
  131. package/template/src/framework/queue/worker.ts +33 -0
  132. package/template/src/framework/realtime/broadcast.ts +27 -0
  133. package/template/src/framework/realtime/index.ts +1 -0
  134. package/template/src/framework/realtime/socket-cookie.ts +65 -0
  135. package/template/src/framework/realtime/socket.ts +132 -0
  136. package/template/src/framework/realtime/types.ts +6 -0
  137. package/template/src/framework/realtime/ui.ts +16 -0
  138. package/template/src/framework/redis/client.ts +126 -0
  139. package/template/src/framework/scheduler/lock.ts +124 -0
  140. package/template/src/framework/scheduler/run.ts +26 -0
  141. package/template/src/framework/scheduler/scheduler.ts +82 -0
  142. package/template/src/framework/server.ts +147 -0
  143. package/template/src/framework/session/session.ts +116 -0
  144. package/template/src/framework/storage/storage.ts +743 -0
  145. package/template/src/framework/support/cookie.ts +78 -0
  146. package/template/src/framework/support/jwt.ts +45 -0
  147. package/template/src/framework/support/lifecycle.ts +35 -0
  148. package/template/src/framework/support/logger.ts +102 -0
  149. package/template/src/framework/support/mail.ts +43 -0
  150. package/template/src/framework/support/password.ts +23 -0
  151. package/template/src/framework/support/url.ts +25 -0
  152. package/template/src/middlewares/auth-middleware.ts +98 -0
  153. package/template/src/middlewares/role-middleware.ts +24 -0
  154. package/template/src/modules/auth/controllers/auth.controller.ts +445 -0
  155. package/template/src/modules/auth/controllers/auth.helpers.ts +110 -0
  156. package/template/src/modules/auth/controllers/auth.schema.ts +102 -0
  157. package/template/src/modules/auth/controllers/role.controller.ts +25 -0
  158. package/template/src/modules/auth/database/models/notifications.ts +22 -0
  159. package/template/src/modules/auth/database/models/role.ts +14 -0
  160. package/template/src/modules/auth/database/models/user.ts +46 -0
  161. package/template/src/modules/auth/database/seeders/role.ts +19 -0
  162. package/template/src/modules/auth/database/seeders/user.ts +33 -0
  163. package/template/src/modules/auth/jobs/forgetpass.ts +18 -0
  164. package/template/src/modules/auth/jobs/registeruser.ts +31 -0
  165. package/template/src/modules/auth/jobs/verifyemail.ts +18 -0
  166. package/template/src/modules/auth/routes/api.ts +151 -0
  167. package/template/src/modules/auth/routes/role.ts +39 -0
  168. package/template/src/modules/welcome/controllers/welcome.controller.ts +14 -0
  169. package/template/src/modules/welcome/controllers/welcome.schema.ts +6 -0
  170. package/template/src/modules/welcome/database/models/welcome.ts +6 -0
  171. package/template/src/modules/welcome/routes/api.ts +20 -0
  172. package/template/src/resources/index.html +16 -0
  173. package/template/src/resources/src/App.vue +5 -0
  174. package/template/src/resources/src/assets/css/styles.css +14934 -0
  175. package/template/src/resources/src/assets/css/styles.css.map +1 -0
  176. package/template/src/resources/src/assets/images/favicon/favicon.ico +0 -0
  177. package/template/src/resources/src/assets/images/favicon/favicon1.ico +0 -0
  178. package/template/src/resources/src/assets/images/logo-1.png +0 -0
  179. package/template/src/resources/src/assets/images/logo-dark-sm.png +0 -0
  180. package/template/src/resources/src/assets/images/logo-dark.png +0 -0
  181. package/template/src/resources/src/assets/images/logo-dark1.png +0 -0
  182. package/template/src/resources/src/assets/images/logo-sm.png +0 -0
  183. package/template/src/resources/src/assets/images/logo1.png +0 -0
  184. package/template/src/resources/src/assets/images/logo2.png +0 -0
  185. package/template/src/resources/src/assets/scss/custom.css +217 -0
  186. package/template/src/resources/src/assets/scss/custom.css.map +1 -0
  187. package/template/src/resources/src/assets/scss/custom.scss +1100 -0
  188. package/template/src/resources/src/components/Button.vue +35 -0
  189. package/template/src/resources/src/components/Checkbox.vue +29 -0
  190. package/template/src/resources/src/components/FloatButton.vue +36 -0
  191. package/template/src/resources/src/components/Href.vue +32 -0
  192. package/template/src/resources/src/components/Input.vue +227 -0
  193. package/template/src/resources/src/components/InputGroup.vue +153 -0
  194. package/template/src/resources/src/components/InputPasswordToggle.vue +226 -0
  195. package/template/src/resources/src/components/Modal.vue +102 -0
  196. package/template/src/resources/src/components/Pagebar.vue +28 -0
  197. package/template/src/resources/src/components/Refresh.vue +26 -0
  198. package/template/src/resources/src/components/Select.vue +390 -0
  199. package/template/src/resources/src/components/Spinner.vue +42 -0
  200. package/template/src/resources/src/components/Switch.vue +65 -0
  201. package/template/src/resources/src/components/TextArea.vue +121 -0
  202. package/template/src/resources/src/components/Toast.vue +56 -0
  203. package/template/src/resources/src/components/datatable/DataTableSkeleton.vue +99 -0
  204. package/template/src/resources/src/components/datatable/Pagination.vue +161 -0
  205. package/template/src/resources/src/components/datatable/SelectOpption.vue +54 -0
  206. package/template/src/resources/src/components/datatable/index.vue +237 -0
  207. package/template/src/resources/src/composables/useAuth.ts +52 -0
  208. package/template/src/resources/src/composables/useBrowserDetect.ts +5 -0
  209. package/template/src/resources/src/composables/useDialog.ts +5 -0
  210. package/template/src/resources/src/composables/useGum.ts +3 -0
  211. package/template/src/resources/src/composables/usePulse.ts +5 -0
  212. package/template/src/resources/src/env.d.ts +20 -0
  213. package/template/src/resources/src/helpers/nformatter.ts +10 -0
  214. package/template/src/resources/src/helpers/utils.ts +68 -0
  215. package/template/src/resources/src/layouts/AuthLayout.vue +20 -0
  216. package/template/src/resources/src/layouts/Layout/Footer.vue +23 -0
  217. package/template/src/resources/src/layouts/Layout/Header.vue +90 -0
  218. package/template/src/resources/src/layouts/Layout/Sidebar.vue +137 -0
  219. package/template/src/resources/src/layouts/Layout/index.vue +76 -0
  220. package/template/src/resources/src/main.ts +27 -0
  221. package/template/src/resources/src/pages/auth/forgetPassword.vue +76 -0
  222. package/template/src/resources/src/pages/auth/login.vue +93 -0
  223. package/template/src/resources/src/pages/auth/register.vue +130 -0
  224. package/template/src/resources/src/pages/auth/resetPassword.vue +119 -0
  225. package/template/src/resources/src/pages/auth/verifyEmail.vue +60 -0
  226. package/template/src/resources/src/pages/dashboard/index.vue +76 -0
  227. package/template/src/resources/src/plugins/axios.ts +33 -0
  228. package/template/src/resources/src/plugins/browserDetect.ts +55 -0
  229. package/template/src/resources/src/plugins/dialog.ts +167 -0
  230. package/template/src/resources/src/plugins/gum.ts +343 -0
  231. package/template/src/resources/src/plugins/pulse.ts +141 -0
  232. package/template/src/resources/src/plugins/routeProgress.ts +87 -0
  233. package/template/src/resources/src/router/index.ts +85 -0
  234. package/template/src/resources/src/stores/admin-ui.ts +148 -0
  235. package/template/src/resources/src/stores/auth.ts +151 -0
  236. package/template/src/resources/tsconfig.json +19 -0
  237. package/template/src/resources/vite.config.ts +43 -0
  238. package/template/src/storage/logs/app.log +20179 -0
  239. package/template/src/storage/logs/fatal.log +727 -0
  240. package/template/tsconfig.json +20 -0
@@ -0,0 +1 @@
1
+ import{A as e,B as t,C as n,D as r,H as i,L as a,N as o,O as s,S as c,U as l,V as u,a as d,b as f,f as p,g as m,h,n as g,o as _,p as v,t as y,u as b,x,y as S}from"./index-Bleyx5dm.js";import{t as C}from"./admin-ui-CU34rLdN.js";var w={class:`d-flex flex-column flex-sm-row row-gap-2 align-items-center justify-content-center justify-content-sm-between py-3 fst-italic`},T={class:`text-secondary`},E=2025,D=n({__name:`Footer`,setup(t){let n=new Date().getFullYear();return(t,r)=>(e(),S(`footer`,w,[m(`div`,T,[x(` © authstation.com `+l(E)+` - `+l(u(n))+` ❤️ created by `,1),r[0]||=m(`a`,{href:`#`,target:`_blank`,class:`text-decoration-none`},`niYam`,-1)]),r[1]||=m(`div`,{class:`d-block`},[m(`a`,{href:`#`,target:`_blank`,class:`text-decoration-none me-2`},`About`),m(`a`,{href:`#`,target:`_blank`,class:`text-decoration-none me-2`},`Support`),m(`a`,{href:`#`,target:`_blank`,class:`text-decoration-none me-2`},`Contact Us`)],-1)]))}}),O={class:`navbar bg-transparent p-0`},k={class:`container-fluid p-0 row-gap-2 column-gap-1`},A={class:`btn-group order-4 order-sm-3`},j={class:`dropdown-menu dropdown-menu-end`},M={class:`dropdown-item`,href:`#`},N={class:`d-flex align-items-center`},P={class:`flex-grow-1 text-capitalize`},F={class:`mb-0`},I={class:`text-muted`},L=n({__name:`Header`,props:{isScrolled:{type:Boolean},themeMode:{},onLogout:{type:Function},onToggleSidebar:{type:Function},onToggleTheme:{type:Function}},setup(t){let n=t,r=h(()=>n.themeMode===`light`?`bi bi-brightness-high-fill`:n.themeMode===`dark`?`bi bi-moon-stars`:`bi bi-circle-half`);return(a,o)=>(e(),S(`header`,{class:i({scrolled:t.isScrolled})},[m(`nav`,O,[m(`div`,k,[m(`button`,{id:`off-canvas`,type:`button`,class:`nav-btn order-0`,title:`Toggle Button`,onClick:o[0]||=(...e)=>n.onToggleSidebar&&n.onToggleSidebar(...e)},[...o[3]||=[m(`i`,{class:`bi bi-layout-text-sidebar-reverse`},null,-1)]]),o[9]||=m(`div`,{id:`pagebar`,class:`card card-body nav-card order-5 order-sm-1`},null,-1),o[10]||=m(`button`,{id:`refresh`,type:`button`,class:`nav-btn order-3 order-sm-2`,"aria-label":`button`},[m(`i`,{class:`bi bi-arrow-repeat`})],-1),m(`div`,A,[o[8]||=m(`button`,{type:`button`,class:`nav-btn w-100`,"data-bs-toggle":`dropdown`,"data-bs-display":`static`,"aria-expanded":`false`,"aria-label":`button`},[m(`i`,{class:`bi bi-person-circle`})],-1),m(`ul`,j,[m(`li`,null,[m(`a`,M,[m(`div`,N,[o[4]||=m(`div`,{class:`flex-shrink-0 me-3`},[m(`i`,{class:`bi bi-person-circle fs-1`})],-1),m(`div`,P,[m(`h6`,F,l(u(g)?.name),1),m(`small`,I,l(u(g).role?.name),1)])])])]),o[6]||=m(`li`,null,[m(`div`,{class:`dropdown-divider my-1`})],-1),o[7]||=m(`li`,null,[m(`a`,{class:`dropdown-item`,href:`#`},[m(`i`,{class:`bi bi-person-check me-3`}),m(`span`,null,`My Profile`)])],-1),m(`li`,null,[m(`button`,{type:`button`,class:`dropdown-item`,onClick:o[1]||=(...e)=>n.onLogout&&n.onLogout(...e)},[...o[5]||=[m(`i`,{class:`bi bi-power me-3`},null,-1),m(`span`,null,`Log Out`,-1)]])])])]),m(`button`,{id:`theme-switch`,type:`button`,class:`nav-btn order-1 order-sm-4`,"aria-label":`button`,onClick:o[2]||=(...e)=>n.onToggleTheme&&n.onToggleTheme(...e)},[m(`i`,{class:i(r.value)},null,2)])])])],2))}}),R={class:`sidebar`},z={id:`accordion-sidebar`,class:`accordion accordion-flush`},B={class:`list-group px-3`},V=n({__name:`Sidebar`,props:{onToggleSidebar:{type:Function}},setup(t){let n=t,l=C(),u=d();function h(e){return u.path===e}return s(()=>l.initSidebarCollapsePersistence()),r(()=>l.cleanupSidebarCollapsePersistence()),(t,r)=>{let s=o(`router-link`);return e(),S(`div`,R,[m(`a`,{href:`#`,role:`button`,class:`sidebar-toggle card card-body rounded-circle position-absolute top-0 end-0 d-xl-none`,title:`sidebar-toggle`,onClick:r[0]||=p((...e)=>n.onToggleSidebar&&n.onToggleSidebar(...e),[`prevent`])},[...r[1]||=[m(`i`,{class:`bi bi-chevron-left fw-bold`},null,-1)]]),r[5]||=m(`div`,{class:`app-brand`},[m(`a`,{href:`#`,class:`fw-semibold fs-2`,"aria-label":`logo`},[m(`h2`,{class:`m-0 fw-semibold`},`NEXGEN`)])],-1),m(`div`,z,[m(`ul`,B,[m(`li`,{class:i([`list-group-item`,{active:h(`/`)}])},[c(s,{to:`/`},{default:a(()=>[...r[2]||=[m(`div`,{class:`menu-icon`},[m(`i`,{class:`bi bi-house`})],-1),m(`span`,null,`Dashboard`,-1)]]),_:1})],2),m(`li`,{class:i([`list-group-item`,{active:h(`/realtime-test`)}])},[c(s,{to:`/realtime-test`},{default:a(()=>[...r[3]||=[m(`div`,{class:`menu-icon`},[m(`i`,{class:`bi bi-broadcast`})],-1),m(`span`,null,`Realtime Test`,-1)]]),_:1})],2),r[4]||=f(`<li class="split-label"><span class="text-uppercase">setup</span></li><li class="list-group-item accordion-item"><a href="#" class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#flush-collapseOne" aria-expanded="false" aria-controls="flush-collapseOne"><div class="menu-icon"><i class="bi bi-shield-check"></i></div><span>Content</span></a><ul id="flush-collapseOne" class="list-group accordion-collapse collapse" data-bs-parent="#accordion-sidebar"><li class="list-group-item"><a href="#">Posts</a></li><li class="list-group-item"><a href="#">Pages</a></li><li class="list-group-item accordion-item"><a href="#" class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#flush-collapseTwo" aria-expanded="false" aria-controls="flush-collapseTwo"><span>Media</span></a><ul id="flush-collapseTwo" class="list-group accordion-collapse collapse"><li class="list-group-item"><a href="#">Image</a></li><li class="list-group-item active"><a href="#">Audio</a></li><li class="list-group-item accordion-item"><a href="#" class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#flush-collapseThree" aria-expanded="false" aria-controls="flush-collapseThree"><span>Settings</span></a><ul id="flush-collapseThree" class="list-group accordion-collapse collapse"><li class="list-group-item"><a href="#">Users</a></li><li class="list-group-item"><a href="#">Roles</a></li></ul></li></ul></li></ul></li><li class="list-group-item"><a href="#"><div class="menu-icon"><i class="bi bi-chat"></i></div><span>Comments</span></a></li><li class="list-group-item"><a href="#"><div class="menu-icon"><i class="bi bi-gear"></i></div><span>Tools</span></a></li>`,4)])])])}}}),H={class:`content-wrapper container-xxl px-0`},U={class:`content`},W=n({__name:`index`,setup(n){let a=C(),l=y(),d=_(),{themeMode:f,sidebarOpen:p}=b(a),h=t(!1),g=t(!0);async function x(){await l.logout(),await d.push(`/login`)}function w(){let e=window.scrollY;e>20?h.value=!0:e<5&&(h.value=!1)}return s(()=>{a.initTheme(),window.addEventListener(`scroll`,w,{passive:!0}),w(),document.body.offsetHeight,requestAnimationFrame(()=>{requestAnimationFrame(()=>{g.value=!1})})}),r(()=>{window.removeEventListener(`scroll`,w),a.cleanupTheme()}),(t,n)=>{let r=o(`router-view`);return e(),S(v,null,[c(V,{class:i({tgl:u(p)}),"on-toggle-sidebar":u(a).toggleSidebar},null,8,[`class`,`on-toggle-sidebar`]),m(`div`,{class:i([`main`,{tgl:u(p),"no-transition":g.value}])},[m(`div`,H,[c(L,{"is-scrolled":h.value,"theme-mode":u(f),"on-logout":x,"on-toggle-sidebar":u(a).toggleSidebar,"on-toggle-theme":u(a).cycleTheme},null,8,[`is-scrolled`,`theme-mode`,`on-toggle-sidebar`,`on-toggle-theme`]),m(`div`,U,[c(r)]),c(D)])],2),m(`div`,{class:i([`backdrop`,{"off-canvas":u(p)}]),onClick:n[0]||=(...e)=>u(a).toggleSidebar&&u(a).toggleSidebar(...e)},null,2)],64)}}});export{W as default};
@@ -0,0 +1 @@
1
+ import{A as e,B as t,C as n,D as r,I as i,M as a,O as o,U as s,_ as c,h as l,m as u,v as d,y as f}from"./index-Bleyx5dm.js";var p={key:1,class:`m-0 fs-4`},m=n({name:`PageBar`,inheritAttrs:!1,__name:`Pagebar`,props:{title:{}},setup(n){let r=n,m=i(),h=t(null),g=l(()=>!!m.default?.().length);return o(()=>{h.value=document.getElementById(`pagebar`)}),(t,n)=>h.value?(e(),c(u,{key:0,to:h.value},[g.value?a(t.$slots,`default`,{key:0}):r.title?(e(),f(`p`,p,s(r.title),1)):d(``,!0)],8,[`to`])):d(``,!0)}}),h=n({name:`Refresh`,inheritAttrs:!1,__name:`Refresh`,emits:[`click`],setup(e,{emit:t}){let n=t,i=null,a=()=>n(`click`);return o(()=>{i=document.getElementById(`refresh`),i?.addEventListener(`click`,a)}),r(()=>{i?.removeEventListener(`click`,a),i=null}),(e,t)=>null}});export{m as n,h as t};
@@ -0,0 +1 @@
1
+ import{B as e,h as t,l as n}from"./index-Bleyx5dm.js";var r=`app-theme`,i=`sidebar-open-collapses`,a=`sidebar-scroll-top`,o=n(`admin-ui`,()=>{let n=e(!1),o=e(`auto`),s=e([]),c=e(0),l=null,u=null,d=t(()=>o.value===`light`?`bi-brightness-high-fill`:`bi-moon-stars`),f=()=>{n.value=!n.value},p=()=>{n.value=!1},m=e=>{o.value=e,document.body.classList.remove(`theme-light`,`theme-dark`,`theme-auto`),document.body.classList.add(`theme-${e}`),localStorage.setItem(r,e)},h=()=>{let e=[`light`,`dark`];m(e[(e.indexOf(o.value)+1)%e.length])},g=()=>{let e=localStorage.getItem(r);if(e===`light`||e===`dark`){m(e);return}m(`light`)},_=()=>{},v=()=>{try{let e=localStorage.getItem(i);s.value=e?JSON.parse(e):[]}catch{s.value=[]}},y=()=>{localStorage.setItem(i,JSON.stringify(s.value))},b=(e,t)=>{let n=new Set(s.value);t?n.add(e):n.delete(e),s.value=Array.from(n),y()},x=()=>{s.value.forEach(e=>{let t=document.getElementById(e);if(!t)return;t.classList.add(`show`);let n=document.querySelector(`[data-bs-target="#${e}"]`);n instanceof HTMLElement&&(n.classList.remove(`collapsed`),n.setAttribute(`aria-expanded`,`true`))})},S=e=>{let t=e.target;t?.id&&b(t.id,!0)},C=e=>{let t=e.target;t?.id&&b(t.id,!1)};return{sidebarOpen:n,themeMode:o,themeIcon:d,toggleSidebar:f,closeSidebar:p,applyTheme:m,cycleTheme:h,initTheme:g,cleanupTheme:_,sidebarOpenCollapseIds:s,initSidebarCollapsePersistence:()=>{v(),x();let e=document.querySelector(`.sidebar .accordion`);if(e instanceof HTMLElement){let t=Number(localStorage.getItem(a)||`0`);c.value=Number.isFinite(t)?t:0,e.scrollTop=c.value,l=e,u=()=>{c.value=e.scrollTop,localStorage.setItem(a,String(c.value))},e.addEventListener(`scroll`,u,{passive:!0})}document.addEventListener(`shown.bs.collapse`,S),document.addEventListener(`hidden.bs.collapse`,C)},cleanupSidebarCollapsePersistence:()=>{l&&u&&l.removeEventListener(`scroll`,u),l=null,u=null,document.removeEventListener(`shown.bs.collapse`,S),document.removeEventListener(`hidden.bs.collapse`,C)}}});export{o as t};
@@ -0,0 +1 @@
1
+ import{A as e,C as t,O as n,S as r,b as i,c as a,i as o,k as s,p as c,r as l,s as u,y as d}from"./index-Bleyx5dm.js";import{n as f,t as p}from"./Refresh-BdqsPPBC.js";var m=o(t({__name:`index`,setup(t){a({title:`Dashboard`});let{user:o}=l(),m=null;n(()=>{if(!o.value)return;let e=u.channel(`user:${o.value.id}`);e.listen(`user.registered`,()=>alert(`me`)),m=()=>e.stopListening(`user.registered`)}),s(()=>{m?.()});let h=()=>window.location.reload();return(t,n)=>(e(),d(c,null,[r(f,{title:`Dashboard`}),r(p,{onClick:h}),n[0]||=i(`<div class="dashboard-placeholder" data-v-1d6e33a2><div class="row g-2 mb-2" data-v-1d6e33a2><div class="col-12 col-md-4" data-v-1d6e33a2><div class="placeholder-card" data-v-1d6e33a2></div></div><div class="col-12 col-md-4" data-v-1d6e33a2><div class="placeholder-card" data-v-1d6e33a2></div></div><div class="col-12 col-md-4" data-v-1d6e33a2><div class="placeholder-card" data-v-1d6e33a2></div></div></div><div class="placeholder-panel" data-v-1d6e33a2></div></div>`,1)],64))}}),[[`__scopeId`,`data-v-1d6e33a2`]]);export{m as default};
@@ -0,0 +1 @@
1
+ .placeholder-card[data-v-1d6e33a2],.placeholder-panel[data-v-1d6e33a2]{border:1px solid var(--app-border);background:var(--app-surface);border-radius:.3rem}.placeholder-card[data-v-1d6e33a2]{min-height:220px}.placeholder-panel[data-v-1d6e33a2]{min-height:520px}@media (width<=768px){.placeholder-card[data-v-1d6e33a2]{min-height:160px}.placeholder-panel[data-v-1d6e33a2]{min-height:360px}}
@@ -0,0 +1 @@
1
+ import{A as e,B as t,C as n,H as r,L as i,N as a,S as o,U as s,V as c,c as l,f as u,g as d,t as f,v as p,y as m,z as h}from"./index-Bleyx5dm.js";import{t as g}from"./Input-z8GI8Aqo.js";import{t as _}from"./Button-_7aQ7gHL.js";var v={class:`container position-absolute start-50 top-50 translate-middle`},y={class:`auth col-12 col-sm-9 col-md-7 col-lg-5 col-xl-4 mx-auto py-5`},b={class:`card card-body border-0`},x={class:`mb-4`},S={class:`text-center mt-2`},C=n({__name:`forgetPassword`,setup(n){l({title:`Forget Password`});let C=f(),w=h({email:``}),T=t(``),E=t(!1),D=async()=>{T.value=``,E.value=!1;try{T.value=await C.forgotPassword({email:w.email.trim()})}catch(e){E.value=!0,T.value=e instanceof Error?e.message:`Failed to process request`}};return(t,n)=>{let l=a(`router-link`);return e(),m(`div`,v,[d(`div`,y,[d(`div`,b,[n[2]||=d(`div`,{class:`d-block mb-2`},[d(`h3`,{class:`m-0 text-uppercase text-center fw-semibold`},`nexgen`)],-1),n[3]||=d(`h4`,{class:`text-center`},`Forget Password`,-1),T.value?(e(),m(`p`,{key:0,class:r([`text-center alert py-1 mt-2`,E.value?`alert-danger text-danger`:`alert-success text-success`])},s(T.value),3)):p(``,!0),d(`form`,{id:`formAuthentication`,onSubmit:u(D,[`prevent`])},[d(`div`,x,[o(g,{id:`email`,modelValue:w.email,"onUpdate:modelValue":n[0]||=e=>w.email=e,type:`email`,label:`email`,placeholder:`Enter your email...`,err:!1,focus:``,must:``},null,8,[`modelValue`])]),o(_,{type:`submit`,label:`Send Reset Link`,class:`btn btn-primary d-grid w-100`,icon:`bi bi-send ms-2`,disabled:c(C).processing},null,8,[`disabled`])],32),d(`div`,S,[o(l,{to:`/login`},{default:i(()=>[...n[1]||=[d(`i`,{class:`bx bx-chevron-left scaleX-n1-rtl me-1`},null,-1),d(`span`,null,`Back to login`,-1)]]),_:1})])])])])}}});export{C as default};