xertica-ui 2.4.0 → 2.4.1
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/CHANGELOG.md +572 -564
- package/README.md +417 -417
- package/assets/xertica-logo.svg +37 -37
- package/assets/xertica-x-logo.svg +20 -20
- package/bin/cli.ts +1244 -1244
- package/bin/language-config.ts +358 -358
- package/components/assistant/code-block/CodeBlock.tsx +268 -268
- package/components/assistant/formatted-document/FormattedDocument.tsx +147 -147
- package/components/assistant/modern-chat-input/ModernChatInput.tsx +564 -564
- package/components/assistant/xertica-assistant/parts/AssistantCollapsedView.tsx +99 -99
- package/components/assistant/xertica-assistant/parts/AssistantConversationList.tsx +104 -104
- package/components/assistant/xertica-assistant/parts/AssistantDocumentEditor.tsx +81 -81
- package/components/assistant/xertica-assistant/parts/AssistantFeedbackDialog.tsx +88 -88
- package/components/assistant/xertica-assistant/parts/AssistantHeader.tsx +75 -75
- package/components/assistant/xertica-assistant/parts/AssistantMessageBubble.tsx +564 -564
- package/components/assistant/xertica-assistant/parts/AssistantTabBar.tsx +67 -67
- package/components/assistant/xertica-assistant/parts/AssistantWelcomeScreen.tsx +103 -103
- package/components/assistant/xertica-assistant/use-assistant.ts +615 -615
- package/components/assistant/xertica-assistant/xertica-assistant.tsx +611 -611
- package/components/blocks/card-patterns/ActivityCard.tsx +100 -100
- package/components/blocks/card-patterns/ActivityCardSkeleton.tsx +56 -56
- package/components/blocks/card-patterns/FeatureCardSkeleton.tsx +58 -58
- package/components/blocks/card-patterns/NotificationCard.tsx +140 -140
- package/components/blocks/card-patterns/NotificationCardSkeleton.tsx +81 -81
- package/components/blocks/card-patterns/ProfileCard.tsx +112 -112
- package/components/blocks/card-patterns/ProfileCardSkeleton.tsx +69 -69
- package/components/blocks/card-patterns/ProjectCard.tsx +123 -123
- package/components/blocks/card-patterns/ProjectCardSkeleton.tsx +67 -67
- package/components/blocks/card-patterns/QuickActionCardSkeleton.tsx +44 -44
- package/components/blocks/card-patterns/card-patterns.stories.tsx +594 -594
- package/components/blocks/card-patterns/index.ts +29 -29
- package/components/brand/language-selector/LanguageSelector.tsx +102 -102
- package/components/brand/language-selector/language-selector.stories.tsx +111 -111
- package/components/brand/language-selector/language-selector.test.tsx +101 -101
- package/components/brand/theme-toggle/ThemeToggle.tsx +74 -74
- package/components/brand/xertica-provider/XerticaProvider.tsx +109 -109
- package/components/brand/xertica-provider/xertica-provider.mdx +61 -61
- package/components/index.ts +86 -86
- package/components/layout/sidebar/sidebar.mdx +1 -1
- package/components/layout/sidebar/sidebar.tsx +1079 -1079
- package/components/media/FloatingMediaWrapper.tsx +371 -371
- package/components/media/audio-player/AudioPlayer.tsx +768 -768
- package/components/media/video-player/VideoPlayer.tsx +310 -310
- package/components/pages/forgot-password-page/ForgotPasswordPage.tsx +188 -188
- package/components/pages/home-content/HomeContent.tsx +120 -120
- package/components/pages/home-content/home-content.mdx +62 -62
- package/components/pages/home-page/HomePage.tsx +78 -78
- package/components/pages/home-page/home-page.mdx +53 -53
- package/components/pages/login-page/LoginPage.tsx +218 -218
- package/components/pages/reset-password-page/ResetPasswordPage.tsx +243 -243
- package/components/pages/template-content/TemplateContent.tsx +1354 -1354
- package/components/pages/template-content/template-content.mdx +61 -61
- package/components/pages/template-page/template-page.mdx +53 -53
- package/components/pages/verify-email-page/VerifyEmailPage.tsx +206 -206
- package/components/shared/error-boundary.stories.tsx +114 -114
- package/components/shared/error-boundary.tsx +150 -150
- package/components/shared/error-fallbacks.tsx +222 -222
- package/components/ui/accordion/accordion.mdx +8 -8
- package/components/ui/alert/alert.mdx +8 -8
- package/components/ui/alert-dialog/alert-dialog.mdx +8 -8
- package/components/ui/aspect-ratio/aspect-ratio.mdx +8 -8
- package/components/ui/assistant-chart/assistant-chart.mdx +8 -8
- package/components/ui/avatar/avatar.mdx +8 -8
- package/components/ui/badge/badge.mdx +8 -8
- package/components/ui/breadcrumb/breadcrumb.mdx +8 -8
- package/components/ui/button/button.mdx +8 -8
- package/components/ui/calendar/calendar.mdx +8 -8
- package/components/ui/card/card.mdx +8 -8
- package/components/ui/carousel/carousel.mdx +8 -8
- package/components/ui/chart/chart.mdx +8 -8
- package/components/ui/checkbox/checkbox.mdx +8 -8
- package/components/ui/collapsible/collapsible.mdx +8 -8
- package/components/ui/command/command.mdx +8 -8
- package/components/ui/context-menu/context-menu.mdx +8 -8
- package/components/ui/dialog/dialog.mdx +8 -8
- package/components/ui/drawer/drawer.mdx +8 -8
- package/components/ui/dropdown-menu/dropdown-menu.mdx +8 -8
- package/components/ui/empty/empty.mdx +8 -8
- package/components/ui/file-upload/file-upload.mdx +8 -8
- package/components/ui/hover-card/hover-card.mdx +8 -8
- package/components/ui/input/input.mdx +8 -8
- package/components/ui/input-otp/input-otp.mdx +8 -8
- package/components/ui/label/label.mdx +8 -8
- package/components/ui/map/map.mdx +8 -8
- package/components/ui/menubar/menubar.mdx +8 -8
- package/components/ui/navigation-menu/navigation-menu.mdx +8 -8
- package/components/ui/notification-badge/notification-badge.mdx +8 -8
- package/components/ui/pagination/pagination.mdx +8 -8
- package/components/ui/popover/popover.mdx +8 -8
- package/components/ui/progress/progress.mdx +8 -8
- package/components/ui/radio-group/radio-group.mdx +8 -8
- package/components/ui/rating/rating.mdx +8 -8
- package/components/ui/resizable/resizable.mdx +8 -8
- package/components/ui/route-map/route-map.mdx +8 -8
- package/components/ui/scroll-area/scroll-area.mdx +8 -8
- package/components/ui/search/search.mdx +8 -8
- package/components/ui/select/select.mdx +8 -8
- package/components/ui/separator/separator.mdx +8 -8
- package/components/ui/sheet/sheet.mdx +8 -8
- package/components/ui/simple-map/simple-map.mdx +8 -8
- package/components/ui/skeleton/skeleton.mdx +8 -8
- package/components/ui/slider/slider.mdx +8 -8
- package/components/ui/sonner/sonner.mdx +8 -8
- package/components/ui/stats-card/index.ts +2 -2
- package/components/ui/stats-card/stats-card-skeleton.tsx +60 -60
- package/components/ui/stats-card/stats-card.mdx +8 -8
- package/components/ui/stats-card/stats-card.stories.tsx +117 -99
- package/components/ui/stats-card/stats-card.tsx +18 -2
- package/components/ui/stepper/stepper.mdx +8 -8
- package/components/ui/switch/switch.mdx +8 -8
- package/components/ui/table/table.mdx +8 -8
- package/components/ui/tabs/tabs.mdx +8 -8
- package/components/ui/textarea/textarea.mdx +8 -8
- package/components/ui/timeline/timeline.mdx +8 -8
- package/components/ui/toggle/toggle.mdx +8 -8
- package/components/ui/toggle-group/toggle-group.mdx +8 -8
- package/components/ui/tooltip/tooltip.mdx +8 -8
- package/components/ui/tree-view/tree-view.mdx +8 -8
- package/components.json +153 -533
- package/contexts/AuthContext.tsx +121 -121
- package/contexts/LanguageContext.test.tsx +121 -121
- package/contexts/LanguageContext.tsx +250 -250
- package/dist/AssistantChart-BKVtGUKF.js +3383 -0
- package/dist/{AssistantChart-BAx9VQvb.cjs → AssistantChart-Bdd44uBn.cjs} +388 -127
- package/dist/{AssistantChart-CVko2A1W.js → AssistantChart-CFhDdGyU.js} +391 -130
- package/dist/{AssistantChart-CVzmmhx4.js → AssistantChart-C_hwFRRr.js} +4 -4
- package/dist/{AssistantChart-BAudAfne.cjs → AssistantChart-CldVCVDe.cjs} +5 -5
- package/dist/{AssistantChart-BP8upjMk.js → AssistantChart-Cu3m7RBo.js} +5 -5
- package/dist/AssistantChart-CxGjH7Qk.js +3477 -0
- package/dist/AssistantChart-DIpshm3i.js +4784 -0
- package/dist/AssistantChart-D_PTeu8P.cjs +3503 -0
- package/dist/{AssistantChart-9w31gdAb.cjs → AssistantChart-DoZCyS5r.cjs} +4 -4
- package/dist/AssistantChart-WeycT5Pd.cjs +3551 -0
- package/dist/AssistantChart-zjsy2GaZ.cjs +4810 -0
- package/dist/AudioPlayer-B1lt5cPl.cjs +989 -0
- package/dist/AudioPlayer-BZ7bibzU.cjs +982 -0
- package/dist/AudioPlayer-BpRPS4-1.cjs +1277 -0
- package/dist/AudioPlayer-C12BjQBV.cjs +997 -0
- package/dist/{AudioPlayer-1ypwE2Wh.cjs → AudioPlayer-CFeV8t-5.cjs} +1 -1
- package/dist/{AudioPlayer-DuKXrCfy.js → AudioPlayer-CGRUtUdN.js} +1 -1
- package/dist/AudioPlayer-Coly3q5R.js +1278 -0
- package/dist/AudioPlayer-CySJIyvL.js +937 -0
- package/dist/AudioPlayer-DMcG_c7L.js +990 -0
- package/dist/AudioPlayer-DcFKRJE_.js +998 -0
- package/dist/AudioPlayer-IAU5q5T1.cjs +936 -0
- package/dist/AudioPlayer-e8LfNoqO.js +983 -0
- package/dist/BrandColorsContext-565dDHd5.js +660 -0
- package/dist/BrandColorsContext-BcJbtkqn.cjs +659 -0
- package/dist/{xertica-assistant-Qp3ydksa.cjs → CodeBlock-7TTgmdGG.cjs} +263 -51
- package/dist/{xertica-assistant-gnCJdcZY.js → CodeBlock-BeSt1h5P.js} +219 -7
- package/dist/CodeBlock-BgfYL_rD.cjs +2094 -0
- package/dist/CodeBlock-BlcqlA9M.cjs +2094 -0
- package/dist/CodeBlock-Bnmeu5ez.cjs +2094 -0
- package/dist/CodeBlock-BtfPlbAI.js +2078 -0
- package/dist/CodeBlock-CIySIuYr.js +2078 -0
- package/dist/CodeBlock-CuPtUM-7.cjs +2094 -0
- package/dist/CodeBlock-D6ffWXgc.js +2078 -0
- package/dist/CodeBlock-D8dcwbit.cjs +2094 -0
- package/dist/CodeBlock-DMZrFnlw.cjs +2094 -0
- package/dist/CodeBlock-DlBehYN8.js +2078 -0
- package/dist/CodeBlock-DnYNI8rQ.js +2078 -0
- package/dist/CodeBlock-DvKWbSnE.cjs +2094 -0
- package/dist/CodeBlock-DwMCfkFY.js +2078 -0
- package/dist/CodeBlock-Dy6CNYyj.js +2078 -0
- package/dist/CodeBlock-U1pPOQI7.cjs +2094 -0
- package/dist/CodeBlock-f_GpNhEB.js +2078 -0
- package/dist/CodeBlock-oB6u8nI1.js +2078 -0
- package/dist/CodeBlock-tZC31B73.cjs +2094 -0
- package/dist/FeatureCard-CxC-7C-C.cjs +300 -0
- package/dist/FeatureCard-DbHWCb4E.js +301 -0
- package/dist/ImageWithFallback-CGtidP6B.cjs +4542 -0
- package/dist/ImageWithFallback-lsg3pdFg.js +4508 -0
- package/dist/{LanguageContext-DvUt5jBg.cjs → LanguageContext-B_KFTCzT.cjs} +2 -2
- package/dist/{LanguageContext-BwhwC3G2.js → LanguageContext-CS14yCpi.js} +2 -2
- package/dist/{XerticaXLogo-DHz5SugF.js → LanguageSelector-B5YfbHra.js} +115 -136
- package/dist/{XerticaXLogo-DTee_y8X.cjs → LanguageSelector-D6uacAIM.cjs} +115 -136
- package/dist/LayoutContext-B45-e9DI.cjs +93 -0
- package/dist/LayoutContext-BAql6ZRY.js +97 -0
- package/dist/LayoutContext-Bav3UMEA.js +94 -0
- package/dist/LayoutContext-BvK-ggDa.cjs +96 -0
- package/dist/{ThemeContext-Bo-W2WZH.js → ThemeContext-BWq9ACPo.js} +8 -13
- package/dist/{ThemeContext-ept8jhXI.js → ThemeContext-BXjrgUjW.js} +261 -200
- package/dist/{ThemeContext-BblcjQup.cjs → ThemeContext-Bmod0Cg2.cjs} +8 -13
- package/dist/ThemeContext-BoH4NLfN.js +734 -0
- package/dist/{ThemeContext-BbBNoFTG.js → ThemeContext-C2EwAPDt.js} +2 -2
- package/dist/{ThemeContext-U4dEYc6C.cjs → ThemeContext-CGk3KK0k.cjs} +1 -8
- package/dist/{ThemeContext-D3LzacmG.js → ThemeContext-CQSo4Iwc.js} +1 -8
- package/dist/{ThemeContext-CP3a0jxy.cjs → ThemeContext-j5aGtPky.cjs} +262 -193
- package/dist/ThemeContext-r69W20Xg.cjs +733 -0
- package/dist/{ThemeContext-Cmr8Ex8H.cjs → ThemeContext-vTjumZeM.cjs} +2 -2
- package/dist/{VerifyEmailPage-BRSP-Pwt.cjs → VerifyEmailPage--1Vurewl.cjs} +3 -3
- package/dist/{VerifyEmailPage-CbgjOF0v.js → VerifyEmailPage-1WwWczAn.js} +12 -22
- package/dist/{VerifyEmailPage-DF2ilhum.cjs → VerifyEmailPage-B4peJjAT.cjs} +356 -334
- package/dist/{VerifyEmailPage-CR7kb5df.cjs → VerifyEmailPage-BComraR7.cjs} +12 -22
- package/dist/{VerifyEmailPage-u_Dn7t1U.cjs → VerifyEmailPage-Bp1XXl3H.cjs} +4 -4
- package/dist/{VerifyEmailPage-CkBYfsNy.cjs → VerifyEmailPage-By3Jf__L.cjs} +4 -4
- package/dist/{VerifyEmailPage-Bv8Ah_TK.cjs → VerifyEmailPage-ByerOcm4.cjs} +20 -23
- package/dist/{VerifyEmailPage-BE-L9mB7.js → VerifyEmailPage-C0c2e5n0.js} +7 -7
- package/dist/{VerifyEmailPage-EhudUdqF.js → VerifyEmailPage-C5TNQTBa.js} +355 -343
- package/dist/{VerifyEmailPage-Dt7zgA4w.cjs → VerifyEmailPage-CFLMls1p.cjs} +4 -4
- package/dist/{VerifyEmailPage-Cyl55sJb.js → VerifyEmailPage-CJLz3jrn.js} +20 -23
- package/dist/VerifyEmailPage-COiyNl1y.js +2825 -0
- package/dist/{VerifyEmailPage-DMBh4NM9.cjs → VerifyEmailPage-CYXtbKi3.cjs} +1 -1
- package/dist/{VerifyEmailPage-DTtFfC-J.js → VerifyEmailPage-CgMxRb4z.js} +3 -3
- package/dist/VerifyEmailPage-CqKsR2v8.js +2827 -0
- package/dist/{VerifyEmailPage-Bae2cBXT.cjs → VerifyEmailPage-Cwi3kbol.cjs} +7 -7
- package/dist/{VerifyEmailPage-X14vhdyl.js → VerifyEmailPage-DGhuIqkb.js} +4 -4
- package/dist/{VerifyEmailPage-BIBOKV7Z.js → VerifyEmailPage-DSBMRHtl.js} +36 -41
- package/dist/{VerifyEmailPage-D-FRj5TU.cjs → VerifyEmailPage-De6bQjrz.cjs} +36 -41
- package/dist/{VerifyEmailPage-BJjAMUTW.js → VerifyEmailPage-DgIid028.js} +4 -4
- package/dist/VerifyEmailPage-DjQKRlUS.cjs +2824 -0
- package/dist/{VerifyEmailPage-CdYPSJoO.js → VerifyEmailPage-DvMLZgFt.js} +1 -1
- package/dist/{VerifyEmailPage-C_ihbcth.js → VerifyEmailPage-MTD7AG1Z.js} +4 -4
- package/dist/VerifyEmailPage-s-1X3LDJ.cjs +2826 -0
- package/dist/XerticaOrbe-KL1RBHzw.cjs +1354 -0
- package/dist/XerticaOrbe-zwS1p2a8.js +1355 -0
- package/dist/XerticaProvider-6btlAlzc.js +17 -0
- package/dist/{XerticaProvider-siSt9uG2.js → XerticaProvider-B7EVH-NF.js} +2 -2
- package/dist/{XerticaProvider-AbWlr7Af.cjs → XerticaProvider-BIrqfZ-i.cjs} +11 -8
- package/dist/XerticaProvider-BNoNOxQ5.cjs +16 -0
- package/dist/XerticaProvider-BlY2limY.cjs +38 -0
- package/dist/{XerticaProvider-CWgby5mY.js → XerticaProvider-C1DKnvLh.js} +4 -4
- package/dist/{XerticaProvider-AChwphCO.cjs → XerticaProvider-CBGc4EMA.cjs} +4 -4
- package/dist/{XerticaProvider-BITjgC5p.js → XerticaProvider-CEoWMTxu.js} +2 -2
- package/dist/{XerticaProvider-By8q3Roe.cjs → XerticaProvider-CllrbMEJ.cjs} +2 -2
- package/dist/{XerticaProvider-B8CaV7xu.cjs → XerticaProvider-D-yNhF94.cjs} +1 -1
- package/dist/XerticaProvider-DDuiIcKo.js +39 -0
- package/dist/{XerticaProvider-DQtvJU7m.js → XerticaProvider-DYq4JWtg.js} +1 -1
- package/dist/{XerticaProvider-CWs6EwNa.js → XerticaProvider-Dt5HEzbQ.js} +10 -10
- package/dist/{XerticaProvider-CW9hpCdF.cjs → XerticaProvider-ET0ihewn.cjs} +2 -2
- package/dist/XerticaProvider-cI9hSs27.cjs +38 -0
- package/dist/XerticaProvider-hSwhNQex.js +39 -0
- package/dist/{XerticaXLogo-ChryA6xj.js → XerticaXLogo-B7xQ5dhi.js} +1 -1
- package/dist/{XerticaXLogo-CziKMQil.cjs → XerticaXLogo-CQUUjXoH.cjs} +8 -8
- package/dist/{XerticaXLogo-DfUvz-lD.js → XerticaXLogo-Cmsp-Eey.js} +9 -9
- package/dist/{XerticaXLogo-CFuIlYFH.js → XerticaXLogo-DZbo4vOE.js} +12 -12
- package/dist/{XerticaXLogo-8TTzBjHw.cjs → XerticaXLogo-Zw2B276b.cjs} +1 -1
- package/dist/{XerticaXLogo-kslQ8Tk_.cjs → XerticaXLogo-bvZSgwGF.cjs} +13 -7
- package/dist/alert-dialog-BOje--vD.js +847 -0
- package/dist/alert-dialog-BtEuQqrg.cjs +870 -0
- package/dist/{alert-dialog-yckpaOpy.cjs → alert-dialog-DSKByiKZ.cjs} +3 -3
- package/dist/{alert-dialog-iDe5VE5o.js → alert-dialog-s-vmNkJ_.js} +3 -3
- package/dist/breadcrumb-CqJ7bHY5.js +161 -0
- package/dist/breadcrumb-m9Hb2_XN.cjs +177 -0
- package/dist/components/assistant/xertica-assistant/hooks/index.d.ts +6 -0
- package/dist/components/assistant/xertica-assistant/hooks/use-assistant-conversations.d.ts +21 -0
- package/dist/components/assistant/xertica-assistant/hooks/use-assistant-messages.d.ts +49 -0
- package/dist/components/assistant/xertica-assistant/hooks/use-assistant-suggestions.d.ts +16 -0
- package/dist/components/blocks/audio-player/AudioPlayer.d.ts +35 -0
- package/dist/components/blocks/audio-player/index.d.ts +1 -0
- package/dist/components/blocks/document-editor/DocumentEditor.d.ts +26 -0
- package/dist/components/blocks/document-editor/index.d.ts +1 -0
- package/dist/components/blocks/podcast-player/PodcastPlayer.d.ts +41 -0
- package/dist/components/blocks/podcast-player/index.d.ts +1 -0
- package/dist/components/ui/chart/parts/chart-dashboard.d.ts +113 -0
- package/dist/components/ui/chart/parts/chart-metric.d.ts +118 -0
- package/dist/components/ui/chart/parts/chart-primitives.d.ts +101 -0
- package/dist/components/ui/chart/parts/chart-shared.d.ts +20 -0
- package/dist/components/ui/chart/parts/chart-utils.d.ts +12 -0
- package/dist/components/ui/chart/parts/index.d.ts +5 -0
- package/dist/components/ui/stats-card/stats-card.d.ts +10 -0
- package/dist/dropdown-menu-BDB5CmQs.cjs +247 -0
- package/dist/dropdown-menu-DQidbKBD.js +231 -0
- package/dist/google-maps-loader-BFWp6VPd.js +287 -0
- package/dist/google-maps-loader-BKcdgFbu.cjs +312 -0
- package/dist/{google-maps-loader-t2IlYBzw.js → google-maps-loader-CTYySAun.js} +4 -0
- package/dist/google-maps-loader-CumCNXeG.js +312 -0
- package/dist/{google-maps-loader-BqsYL48U.cjs → google-maps-loader-Y-QkD-Li.cjs} +5 -0
- package/dist/google-maps-loader-eS3uQ5TA.cjs +287 -0
- package/dist/header-Cgy6vYPk.cjs +731 -0
- package/dist/header-DRlT4jgI.js +715 -0
- package/dist/header-Dux00SI4.cjs +731 -0
- package/dist/header-EkGKXPsD.js +715 -0
- package/dist/header-WfEywpyc.cjs +731 -0
- package/dist/header-tifNQn2U.js +715 -0
- package/dist/index-BhapVLVj.js +8 -0
- package/dist/{index-D3RLKRAs.cjs → index-COtD8bRW.cjs} +1 -1
- package/dist/index-D6fxYEY8.cjs +7 -0
- package/dist/index-DAIp0_HK.js +8 -0
- package/dist/index-DW5tYe26.js +8 -0
- package/dist/index-GA__GvnG.cjs +7 -0
- package/dist/index.cjs.js +2 -2
- package/dist/index.es.js +2 -2
- package/dist/index.umd.js +1043 -470
- package/dist/input-2R4loU86.js +127 -0
- package/dist/input-DWANSKGb.cjs +145 -0
- package/dist/pages.cjs.js +1 -1
- package/dist/pages.es.js +1 -1
- package/dist/progress-DPtzoVV8.js +175 -0
- package/dist/progress-EeaoqqUs.cjs +191 -0
- package/dist/rich-text-editor-0mraWT5y.cjs +2376 -0
- package/dist/rich-text-editor-B-IkcPD0.js +2874 -0
- package/dist/rich-text-editor-B6jMRLzk.cjs +1939 -0
- package/dist/rich-text-editor-B8_oYcIR.js +1730 -0
- package/dist/rich-text-editor-B9UbSXNb.js +1203 -0
- package/dist/rich-text-editor-BYuRBNBU.js +2373 -0
- package/dist/rich-text-editor-Bb9pySTs.cjs +2374 -0
- package/dist/rich-text-editor-BcL6L3cm.cjs +2374 -0
- package/dist/rich-text-editor-BoVZYtTs.cjs +2391 -0
- package/dist/rich-text-editor-Bp3zQqMC.js +2954 -0
- package/dist/rich-text-editor-CMgSN_w2.js +1189 -0
- package/dist/rich-text-editor-CPV1lEPH.cjs +1748 -0
- package/dist/rich-text-editor-CeucBdIv.cjs +2971 -0
- package/dist/rich-text-editor-CoKqbCtu.cjs +1799 -0
- package/dist/rich-text-editor-Cw56T_mB.js +2356 -0
- package/dist/rich-text-editor-Cyt8qs2b.js +1921 -0
- package/dist/rich-text-editor-D6H84OcX.cjs +1220 -0
- package/dist/rich-text-editor-D76gD-QI.js +2328 -0
- package/dist/rich-text-editor-DKkokOnA.js +1781 -0
- package/dist/rich-text-editor-DNsdpN64.cjs +2359 -0
- package/dist/rich-text-editor-DfG8bCyY.js +2358 -0
- package/dist/rich-text-editor-Dxjw31Z4.js +2341 -0
- package/dist/rich-text-editor-DzP0Epmb.js +2356 -0
- package/dist/rich-text-editor-bRkNoeZY.cjs +2891 -0
- package/dist/rich-text-editor-lyYE2ZG5.cjs +1207 -0
- package/dist/rich-text-editor-skplNlBM.cjs +2345 -0
- package/dist/select-Bkbr0f-Z.cjs +162 -0
- package/dist/select-CvIVdX2n.js +145 -0
- package/dist/{sidebar-CA6_ek3f.js → sidebar-B6SlKZYN.js} +40 -49
- package/dist/{sidebar-CmvwjnVb.js → sidebar-BViy8Eeu.js} +17 -9
- package/dist/{sidebar-Dz7bd3zP.js → sidebar-BbVIQvlP.js} +1 -1
- package/dist/{sidebar-CVUGHOS_.cjs → sidebar-BxGXsDAd.cjs} +16 -8
- package/dist/sidebar-CK_0ZQHj.cjs +803 -0
- package/dist/sidebar-CUuOvYhK.js +787 -0
- package/dist/{sidebar-KIS0C2JH.js → sidebar-CrQDDdcz.js} +24 -33
- package/dist/{sidebar-zowjejT2.cjs → sidebar-DAaY8bRU.cjs} +24 -33
- package/dist/{sidebar-B3EYhli0.cjs → sidebar-DQj1z3jG.cjs} +227 -269
- package/dist/{sidebar-B9NR0lCe.cjs → sidebar-Djn5syhi.cjs} +295 -309
- package/dist/{sidebar-CplprZpM.js → sidebar-LluMXfam.js} +227 -269
- package/dist/sidebar-_rT7rBMk.js +787 -0
- package/dist/{sidebar-BvF5I2Ue.cjs → sidebar-nzPoVHBQ.cjs} +41 -46
- package/dist/{sidebar-C5B_LHek.cjs → sidebar-q7P2Godd.cjs} +1 -1
- package/dist/slider-Bc5Hd0y1.js +56 -0
- package/dist/slider-N7hFFj6X.cjs +73 -0
- package/dist/tooltip-Ded96neP.cjs +137 -0
- package/dist/tooltip-HDOoD2-0.js +120 -0
- package/dist/ui.cjs.js +1 -1
- package/dist/ui.es.js +1 -1
- package/dist/use-audio-player-B31J-aqh.cjs +187 -0
- package/dist/use-audio-player-BkmEmj8Q.js +185 -0
- package/dist/use-audio-player-CLFTWFW1.cjs +184 -0
- package/dist/use-audio-player-CLLn00I6.js +188 -0
- package/dist/{use-audio-player-Dn1NR9xN.cjs → use-audio-player-NKsWyjWu.cjs} +7 -3
- package/dist/{use-audio-player-Bkh23vQ3.js → use-audio-player-nv8ZSGa1.js} +7 -3
- package/dist/use-file-upload-BcjEo2S5.js +404 -0
- package/dist/use-file-upload-CRJR68Tj.cjs +403 -0
- package/dist/use-mobile-B0hNy_Y6.cjs +4303 -0
- package/dist/use-mobile-BXuYROXM.js +4202 -0
- package/dist/use-mobile-Bbd51ASU.cjs +4392 -0
- package/dist/use-mobile-Bk6CX-TC.js +4359 -0
- package/dist/use-mobile-BvYdisLP.js +4202 -0
- package/dist/use-mobile-BzuxjzNX.cjs +4392 -0
- package/dist/use-mobile-CG2-SdXV.cjs +4235 -0
- package/dist/use-mobile-CKb5pqTs.js +4269 -0
- package/dist/use-mobile-CYuAuGDl.js +4202 -0
- package/dist/use-mobile-CaENcqm-.js +4508 -0
- package/dist/use-mobile-CbrYgJGJ.js +4203 -0
- package/dist/use-mobile-Cd4xPrKq.cjs +46 -0
- package/dist/use-mobile-DMOvImGQ.cjs +4542 -0
- package/dist/use-mobile-DRB3BQgD.cjs +4235 -0
- package/dist/use-mobile-DZvv7QMR.js +4359 -0
- package/dist/use-mobile-DdI_TXam.cjs +4235 -0
- package/dist/use-mobile-DlceKf8a.js +4359 -0
- package/dist/use-mobile-DsOnow1o.cjs +4236 -0
- package/dist/use-mobile-Kcj6jSnK.cjs +4392 -0
- package/dist/use-mobile-bnKcua_i.js +4202 -0
- package/dist/use-mobile-j4w2Jrf1.js +30 -0
- package/dist/use-mobile-ncXBeE2z.cjs +4235 -0
- package/dist/use-rich-text-editor-DjiddBGv.js +282 -0
- package/dist/use-rich-text-editor-lpeswbCs.cjs +281 -0
- package/dist/xertica-assistant-BdiZag0h.js +2187 -0
- package/dist/xertica-assistant-CrgTb6Hs.cjs +2155 -0
- package/dist/xertica-assistant-DCsnQyi5.js +2156 -0
- package/dist/xertica-assistant-DUBpmEgo.cjs +2186 -0
- package/dist/{xertica-assistant-Bj3vBCq_.cjs → xertica-assistant-V_IdW4WF.cjs} +27 -9
- package/dist/{xertica-assistant-BMqdyRVi.js → xertica-assistant-ciJaWqm1.js} +28 -10
- package/dist/{xertica-assistant-B1IaHXnB.cjs → xertica-assistant-dyP7KHM5.cjs} +533 -392
- package/dist/{xertica-assistant-DPsESB6t.js → xertica-assistant-yX1CFBBo.js} +535 -394
- package/dist/xertica-ui.css +2 -2
- package/docs/architecture-improvements.md +456 -456
- package/docs/architecture.md +312 -312
- package/docs/components/assistant.md +428 -428
- package/docs/components/branding.md +252 -252
- package/docs/components/card-patterns.md +447 -447
- package/docs/components/error-boundary.md +201 -201
- package/docs/components/hooks.md +432 -432
- package/docs/components/language-selector.md +176 -176
- package/docs/components/pages.md +323 -323
- package/docs/components/stats-card.md +20 -2
- package/docs/doc-audit.md +244 -244
- package/docs/getting-started.md +616 -616
- package/docs/guidelines.md +330 -330
- package/docs/i18n.md +480 -480
- package/docs/installation.md +268 -268
- package/docs/llms.md +295 -295
- package/docs/state-management.md +289 -289
- package/guidelines/Guidelines.md +409 -409
- package/llms-compact.txt +1 -1
- package/llms-full.txt +11553 -7133
- package/llms.txt +1 -1
- package/package.json +219 -219
- package/styles/xertica/base.css +90 -90
- package/templates/.prettierignore +4 -4
- package/templates/.prettierrc +10 -10
- package/templates/CLAUDE.md +180 -180
- package/templates/guidelines/Guidelines.md +577 -577
- package/templates/package.json +69 -69
- package/templates/src/app/App.tsx +46 -46
- package/templates/src/app/components/AuthGuard.tsx +131 -131
- package/templates/src/features/assistant/data/mock.ts +75 -75
- package/templates/src/features/assistant/hooks/useAssistantConfig.ts +20 -20
- package/templates/src/features/assistant/index.ts +5 -5
- package/templates/src/features/auth/ui/AuthPageShell.tsx +32 -32
- package/templates/src/features/auth/ui/ForgotPasswordContent.tsx +70 -70
- package/templates/src/features/auth/ui/LoginContent.tsx +92 -92
- package/templates/src/features/auth/ui/ResetPasswordContent.tsx +183 -183
- package/templates/src/features/auth/ui/SocialLoginButtons.tsx +78 -78
- package/templates/src/features/auth/ui/VerifyEmailContent.tsx +80 -80
- package/templates/src/features/home/data/mock.ts +41 -41
- package/templates/src/features/home/hooks/useFeatureCards.ts +20 -20
- package/templates/src/features/home/index.ts +11 -11
- package/templates/src/features/home/ui/HomeContent.tsx +117 -117
- package/templates/src/features/template/ui/CrudTemplate.tsx +112 -112
- package/templates/src/features/template/ui/DashboardTemplate.tsx +110 -110
- package/templates/src/features/template/ui/FormTemplate.tsx +117 -117
- package/templates/src/features/template/ui/LoginTemplate.tsx +59 -59
- package/templates/src/features/template/ui/TemplateContent.tsx +1322 -1322
- package/templates/src/i18n.ts +124 -124
- package/templates/src/locales/en/common.json +21 -21
- package/templates/src/locales/en/components/activityCard.json +10 -10
- package/templates/src/locales/en/components/assistant.json +119 -119
- package/templates/src/locales/en/components/media.json +29 -29
- package/templates/src/locales/en/components/notificationCard.json +5 -5
- package/templates/src/locales/en/components/profileCard.json +8 -8
- package/templates/src/locales/en/components/projectCard.json +10 -10
- package/templates/src/locales/en/components/sidebar.json +14 -14
- package/templates/src/locales/en/components/stats.json +8 -8
- package/templates/src/locales/en/components/team.json +14 -14
- package/templates/src/locales/en/errors.json +9 -9
- package/templates/src/locales/en/languageSelector.json +7 -7
- package/templates/src/locales/en/nav.json +6 -6
- package/templates/src/locales/en/pages/crudTemplate.json +25 -25
- package/templates/src/locales/en/pages/dashboardTemplate.json +20 -20
- package/templates/src/locales/en/pages/forgotPassword.json +10 -10
- package/templates/src/locales/en/pages/formTemplate.json +16 -16
- package/templates/src/locales/en/pages/home.json +7 -7
- package/templates/src/locales/en/pages/login.json +15 -15
- package/templates/src/locales/en/pages/loginTemplate.json +9 -9
- package/templates/src/locales/en/pages/resetPassword.json +18 -18
- package/templates/src/locales/en/pages/templates.json +317 -317
- package/templates/src/locales/en/pages/verifyEmail.json +12 -12
- package/templates/src/locales/en/themeToggle.json +6 -6
- package/templates/src/locales/es/common.json +21 -21
- package/templates/src/locales/es/components/activityCard.json +10 -10
- package/templates/src/locales/es/components/assistant.json +119 -119
- package/templates/src/locales/es/components/media.json +29 -29
- package/templates/src/locales/es/components/notificationCard.json +5 -5
- package/templates/src/locales/es/components/profileCard.json +8 -8
- package/templates/src/locales/es/components/projectCard.json +10 -10
- package/templates/src/locales/es/components/sidebar.json +14 -14
- package/templates/src/locales/es/components/stats.json +8 -8
- package/templates/src/locales/es/components/team.json +14 -14
- package/templates/src/locales/es/errors.json +9 -9
- package/templates/src/locales/es/languageSelector.json +7 -7
- package/templates/src/locales/es/nav.json +6 -6
- package/templates/src/locales/es/pages/crudTemplate.json +25 -25
- package/templates/src/locales/es/pages/dashboardTemplate.json +20 -20
- package/templates/src/locales/es/pages/forgotPassword.json +10 -10
- package/templates/src/locales/es/pages/formTemplate.json +16 -16
- package/templates/src/locales/es/pages/home.json +7 -7
- package/templates/src/locales/es/pages/login.json +15 -15
- package/templates/src/locales/es/pages/loginTemplate.json +9 -9
- package/templates/src/locales/es/pages/resetPassword.json +18 -18
- package/templates/src/locales/es/pages/templates.json +317 -317
- package/templates/src/locales/es/pages/verifyEmail.json +12 -12
- package/templates/src/locales/es/themeToggle.json +6 -6
- package/templates/src/locales/pt-BR/common.json +21 -21
- package/templates/src/locales/pt-BR/components/activityCard.json +10 -10
- package/templates/src/locales/pt-BR/components/assistant.json +119 -119
- package/templates/src/locales/pt-BR/components/media.json +29 -29
- package/templates/src/locales/pt-BR/components/notificationCard.json +5 -5
- package/templates/src/locales/pt-BR/components/profileCard.json +8 -8
- package/templates/src/locales/pt-BR/components/projectCard.json +10 -10
- package/templates/src/locales/pt-BR/components/sidebar.json +14 -14
- package/templates/src/locales/pt-BR/components/stats.json +8 -8
- package/templates/src/locales/pt-BR/components/team.json +14 -14
- package/templates/src/locales/pt-BR/errors.json +9 -9
- package/templates/src/locales/pt-BR/languageSelector.json +7 -7
- package/templates/src/locales/pt-BR/nav.json +6 -6
- package/templates/src/locales/pt-BR/pages/crudTemplate.json +25 -25
- package/templates/src/locales/pt-BR/pages/dashboardTemplate.json +20 -20
- package/templates/src/locales/pt-BR/pages/forgotPassword.json +10 -10
- package/templates/src/locales/pt-BR/pages/formTemplate.json +16 -16
- package/templates/src/locales/pt-BR/pages/home.json +7 -7
- package/templates/src/locales/pt-BR/pages/login.json +15 -15
- package/templates/src/locales/pt-BR/pages/loginTemplate.json +9 -9
- package/templates/src/locales/pt-BR/pages/resetPassword.json +18 -18
- package/templates/src/locales/pt-BR/pages/templates.json +317 -317
- package/templates/src/locales/pt-BR/pages/verifyEmail.json +12 -12
- package/templates/src/locales/pt-BR/themeToggle.json +6 -6
- package/templates/src/pages/AssistantPage.tsx +470 -470
- package/templates/src/pages/HomePage.tsx +53 -53
- package/templates/src/shared/error-boundary.tsx +150 -150
- package/templates/src/shared/error-fallbacks.tsx +222 -222
- package/templates/vite.config.js +20 -20
- package/templates/vite.config.ts +55 -55
- package/dist/ThemeContext-CpqYShLq.cjs +0 -324
- package/dist/ThemeContext-Du2nE1PL.js +0 -325
- package/dist/ThemeContext-GeEBTJ3q.cjs +0 -1621
- package/dist/ThemeContext-JyLK9B1o.js +0 -1622
- package/dist/VerifyEmailPage-BiRm7Nh4.cjs +0 -3213
- package/dist/VerifyEmailPage-Bvfv8HVQ.js +0 -3214
- package/dist/VerifyEmailPage-hdB8JQGv.cjs +0 -3213
- package/dist/VerifyEmailPage-vYHbYK3q.js +0 -3214
- package/dist/XerticaProvider-CUYJZc32.js +0 -49
- package/dist/XerticaProvider-CjQAQPcn.cjs +0 -48
- package/dist/XerticaProvider-D5lLumH-.js +0 -49
- package/dist/XerticaProvider-qQUDop71.cjs +0 -48
- package/dist/XerticaXLogo-BWaag64t.js +0 -252
- package/dist/XerticaXLogo-CU-U-GP4.cjs +0 -251
- package/dist/index-CkTUgOwX.js +0 -8
- package/dist/sidebar-OTO_up7Z.js +0 -801
- package/dist/{rich-text-editor-BmsjY03B.js → rich-text-editor-DgF8s7xW.js} +26 -26
- package/dist/{rich-text-editor-GS2kpTAK.cjs → rich-text-editor-mWoaSCE4.cjs} +26 -26
|
@@ -1,27 +1,29 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
const
|
|
4
|
-
const
|
|
5
|
-
const
|
|
6
|
-
const
|
|
7
|
-
const
|
|
8
|
-
const
|
|
9
|
-
const
|
|
10
|
-
const
|
|
11
|
-
const
|
|
12
|
-
const
|
|
13
|
-
const
|
|
14
|
-
const
|
|
15
|
-
const
|
|
16
|
-
const
|
|
17
|
-
const
|
|
18
|
-
const
|
|
19
|
-
const
|
|
20
|
-
const
|
|
21
|
-
const
|
|
22
|
-
const
|
|
23
|
-
const
|
|
24
|
-
const
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const jsxRuntime = require('react/jsx-runtime');
|
|
4
|
+
const React = require('react');
|
|
5
|
+
const button = require('./button-0BlA47It.cjs');
|
|
6
|
+
const input = require('./input-C_UiS2Py.cjs');
|
|
7
|
+
const alertDialog = require('./alert-dialog-DhwPioBa.cjs');
|
|
8
|
+
const XerticaXLogo = require('./XerticaXLogo-bvZSgwGF.cjs');
|
|
9
|
+
const lucideReact = require('lucide-react');
|
|
10
|
+
const reactRouterDom = require('react-router-dom');
|
|
11
|
+
const sidebar = require('./sidebar-nzPoVHBQ.cjs');
|
|
12
|
+
const skeleton = require('./skeleton-DjiHerJn.cjs');
|
|
13
|
+
const progress = require('./progress-Cqwxbqs1.cjs');
|
|
14
|
+
const LayoutContext = require('./LayoutContext-BEq_-n98.cjs');
|
|
15
|
+
const ThemeContext = require('./ThemeContext-j5aGtPky.cjs');
|
|
16
|
+
const reactQuery = require('@tanstack/react-query');
|
|
17
|
+
const reactI18next = require('react-i18next');
|
|
18
|
+
const FeatureCardSkeleton = require('./FeatureCardSkeleton-pTa0YNKP.cjs');
|
|
19
|
+
const xerticaAssistant = require('./xertica-assistant-sOHwTgIP.cjs');
|
|
20
|
+
const i18n = require('i18next');
|
|
21
|
+
const richTextEditor = require('./rich-text-editor-DxO1Hz3a.cjs');
|
|
22
|
+
const select = require('./select-CH6v_KcQ.cjs');
|
|
23
|
+
const slider = require('./slider-B00b9SVK.cjs');
|
|
24
|
+
const sonner = require('sonner');
|
|
25
|
+
const zustand = require('zustand');
|
|
26
|
+
|
|
25
27
|
function ForgotPasswordPage() {
|
|
26
28
|
const navigate = reactRouterDom.useNavigate();
|
|
27
29
|
const [email, setEmail] = React.useState("");
|
|
@@ -175,7 +177,9 @@ function ForgotPasswordPage() {
|
|
|
175
177
|
] })
|
|
176
178
|
] });
|
|
177
179
|
}
|
|
180
|
+
|
|
178
181
|
const SIDEBAR_COLLAPSED_WIDTH = 80;
|
|
182
|
+
|
|
179
183
|
const t = (key, options) => i18n.t(key, options);
|
|
180
184
|
const MOCK_TEAM_MEMBERS = [
|
|
181
185
|
{ id: "1", name: "Ana Silva", email: "ana.silva@example.com", role: "Developer", status: "active" },
|
|
@@ -199,6 +203,7 @@ async function fetchFeatureCards() {
|
|
|
199
203
|
}
|
|
200
204
|
];
|
|
201
205
|
}
|
|
206
|
+
|
|
202
207
|
function useTeamMembers() {
|
|
203
208
|
const { language } = ThemeContext.useLanguage();
|
|
204
209
|
return reactQuery.useQuery({
|
|
@@ -209,6 +214,7 @@ function useTeamMembers() {
|
|
|
209
214
|
// 2 min
|
|
210
215
|
});
|
|
211
216
|
}
|
|
217
|
+
|
|
212
218
|
function useFeatureCards() {
|
|
213
219
|
const { language } = ThemeContext.useLanguage();
|
|
214
220
|
return reactQuery.useQuery({
|
|
@@ -219,6 +225,7 @@ function useFeatureCards() {
|
|
|
219
225
|
// 10 min — feature list is fairly static
|
|
220
226
|
});
|
|
221
227
|
}
|
|
228
|
+
|
|
222
229
|
const useDashboardStore = zustand.create((set) => ({
|
|
223
230
|
// Filters
|
|
224
231
|
activeTab: "overview",
|
|
@@ -234,6 +241,7 @@ const useDashboardStore = zustand.create((set) => ({
|
|
|
234
241
|
switchEnabled: false,
|
|
235
242
|
toggleSwitch: () => set((state) => ({ switchEnabled: !state.switchEnabled }))
|
|
236
243
|
}));
|
|
244
|
+
|
|
237
245
|
function isDev() {
|
|
238
246
|
return false;
|
|
239
247
|
}
|
|
@@ -280,6 +288,7 @@ function SectionErrorFallback({ error, reset }) {
|
|
|
280
288
|
}
|
|
281
289
|
);
|
|
282
290
|
}
|
|
291
|
+
|
|
283
292
|
class ErrorBoundary extends React.Component {
|
|
284
293
|
constructor(props) {
|
|
285
294
|
super(props);
|
|
@@ -290,13 +299,12 @@ class ErrorBoundary extends React.Component {
|
|
|
290
299
|
return { hasError: true, error };
|
|
291
300
|
}
|
|
292
301
|
componentDidCatch(error, info) {
|
|
293
|
-
|
|
294
|
-
(_b = (_a = this.props).onError) == null ? void 0 : _b.call(_a, error, info);
|
|
302
|
+
this.props.onError?.(error, info);
|
|
295
303
|
}
|
|
296
304
|
componentDidUpdate(prevProps) {
|
|
297
305
|
if (!this.state.hasError) return;
|
|
298
306
|
const { resetKeys } = this.props;
|
|
299
|
-
if (!
|
|
307
|
+
if (!resetKeys?.length) return;
|
|
300
308
|
const prevKeys = prevProps.resetKeys ?? [];
|
|
301
309
|
const changed = resetKeys.some((key, i) => key !== prevKeys[i]);
|
|
302
310
|
if (changed) this.reset();
|
|
@@ -316,11 +324,12 @@ class ErrorBoundary extends React.Component {
|
|
|
316
324
|
function SectionErrorBoundary({ children, onError, resetKeys }) {
|
|
317
325
|
return /* @__PURE__ */ jsxRuntime.jsx(ErrorBoundary, { fallback: SectionErrorFallback, onError, resetKeys, children });
|
|
318
326
|
}
|
|
327
|
+
|
|
319
328
|
function HomeContent() {
|
|
320
|
-
const { t
|
|
329
|
+
const { t } = reactI18next.useTranslation();
|
|
321
330
|
const layout = LayoutContext.useOptionalLayout();
|
|
322
|
-
const sidebarExpanded =
|
|
323
|
-
const sidebarWidth =
|
|
331
|
+
const sidebarExpanded = layout?.sidebarExpanded ?? false;
|
|
332
|
+
const sidebarWidth = layout?.sidebarWidth ?? 256;
|
|
324
333
|
const navigate = reactRouterDom.useNavigate();
|
|
325
334
|
const { data: featureCards = [], isLoading } = useFeatureCards();
|
|
326
335
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
@@ -337,8 +346,8 @@ function HomeContent() {
|
|
|
337
346
|
showThemeToggle: true,
|
|
338
347
|
showLanguageSelector: true,
|
|
339
348
|
breadcrumbs: [
|
|
340
|
-
{ label:
|
|
341
|
-
{ label:
|
|
349
|
+
{ label: t("nav.designSystem"), href: "/home" },
|
|
350
|
+
{ label: t("nav.home") }
|
|
342
351
|
],
|
|
343
352
|
renderLink: (href, props) => /* @__PURE__ */ jsxRuntime.jsx(reactRouterDom.Link, { to: href, ...props })
|
|
344
353
|
}
|
|
@@ -347,8 +356,8 @@ function HomeContent() {
|
|
|
347
356
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
348
357
|
alertDialog.PageHeader,
|
|
349
358
|
{
|
|
350
|
-
title:
|
|
351
|
-
subtitle:
|
|
359
|
+
title: t("home.welcome"),
|
|
360
|
+
subtitle: t("home.subtitle")
|
|
352
361
|
}
|
|
353
362
|
),
|
|
354
363
|
/* @__PURE__ */ jsxRuntime.jsx(SectionErrorBoundary, { children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6", children: isLoading ? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
@@ -363,18 +372,18 @@ function HomeContent() {
|
|
|
363
372
|
/* @__PURE__ */ jsxRuntime.jsx(skeleton.CardHeader, { children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-3", children: [
|
|
364
373
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "p-2 bg-[var(--chart-2)]/20 rounded-[var(--radius)]", children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.FileText, { className: "w-6 h-6 text-[var(--chart-2)]" }) }),
|
|
365
374
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
|
|
366
|
-
/* @__PURE__ */ jsxRuntime.jsx(skeleton.CardTitle, { className: "text-sm", children:
|
|
367
|
-
card.badge && /* @__PURE__ */ jsxRuntime.jsx(progress.Badge, { variant: "default", className: "text-xs", children:
|
|
375
|
+
/* @__PURE__ */ jsxRuntime.jsx(skeleton.CardTitle, { className: "text-sm", children: t(`home.${card.id.replace(/-/g, "")}Title`, { defaultValue: card.title }) }),
|
|
376
|
+
card.badge && /* @__PURE__ */ jsxRuntime.jsx(progress.Badge, { variant: "default", className: "text-xs", children: t(`home.${card.id.replace(/-/g, "")}badge`, { defaultValue: card.badge }) })
|
|
368
377
|
] })
|
|
369
378
|
] }) }),
|
|
370
|
-
/* @__PURE__ */ jsxRuntime.jsx(skeleton.CardContent, { className: "flex-1", children: /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-muted-foreground", children:
|
|
379
|
+
/* @__PURE__ */ jsxRuntime.jsx(skeleton.CardContent, { className: "flex-1", children: /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-muted-foreground", children: t(`home.${card.id.replace(/-/g, "")}Description`, { defaultValue: card.description }) }) }),
|
|
371
380
|
/* @__PURE__ */ jsxRuntime.jsx(skeleton.CardFooter, { children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
372
381
|
button.Button,
|
|
373
382
|
{
|
|
374
383
|
variant: "outline",
|
|
375
384
|
className: "w-full",
|
|
376
385
|
onClick: () => navigate(card.href),
|
|
377
|
-
children:
|
|
386
|
+
children: t("common.view")
|
|
378
387
|
}
|
|
379
388
|
) })
|
|
380
389
|
]
|
|
@@ -386,36 +395,39 @@ function HomeContent() {
|
|
|
386
395
|
}
|
|
387
396
|
);
|
|
388
397
|
}
|
|
398
|
+
|
|
389
399
|
const routes = [
|
|
390
400
|
{ path: "/home", label: "Home", icon: lucideReact.Home },
|
|
391
401
|
{ path: "/template", label: "Template", icon: lucideReact.FileText }
|
|
392
402
|
];
|
|
403
|
+
|
|
393
404
|
const AuthContext = React.createContext(null);
|
|
394
405
|
function useAuth() {
|
|
395
406
|
const ctx = React.useContext(AuthContext);
|
|
396
407
|
if (!ctx) throw new Error("useAuth must be used within <AuthProvider>");
|
|
397
408
|
return ctx;
|
|
398
409
|
}
|
|
410
|
+
|
|
399
411
|
async function fetchAssistantConfig() {
|
|
400
412
|
await new Promise((resolve) => setTimeout(resolve, 150));
|
|
401
|
-
const
|
|
413
|
+
const t = (key) => i18n.t(key);
|
|
402
414
|
return {
|
|
403
415
|
suggestions: [
|
|
404
|
-
{ id: "1", text:
|
|
405
|
-
{ id: "2", text:
|
|
406
|
-
{ id: "3", text:
|
|
407
|
-
{ id: "4", text:
|
|
416
|
+
{ id: "1", text: t("assistant.suggestions.whatCanIAsk") },
|
|
417
|
+
{ id: "2", text: t("assistant.suggestions.whatDoYouDo") },
|
|
418
|
+
{ id: "3", text: t("assistant.suggestions.whichProjects") },
|
|
419
|
+
{ id: "4", text: t("assistant.suggestions.nextProject") }
|
|
408
420
|
],
|
|
409
421
|
richSuggestions: [
|
|
410
|
-
{ id: "rich-1", text:
|
|
411
|
-
{ id: "rich-2", text:
|
|
412
|
-
{ id: "rich-3", text:
|
|
413
|
-
{ id: "rich-4", text:
|
|
422
|
+
{ id: "rich-1", text: t("assistant.richSuggestions.viewPerformance") },
|
|
423
|
+
{ id: "rich-2", text: t("assistant.richSuggestions.generateReport") },
|
|
424
|
+
{ id: "rich-3", text: t("assistant.richSuggestions.createDocument") },
|
|
425
|
+
{ id: "rich-4", text: t("assistant.richSuggestions.generatePodcast") }
|
|
414
426
|
],
|
|
415
427
|
feedbackOptions: [
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
428
|
+
t("assistant.feedback.notWhatIWanted"),
|
|
429
|
+
t("assistant.feedback.incorrectInfo"),
|
|
430
|
+
t("assistant.feedback.incompleteAnswer")
|
|
419
431
|
]
|
|
420
432
|
};
|
|
421
433
|
}
|
|
@@ -434,6 +446,7 @@ function getMockFeedbackOptions() {
|
|
|
434
446
|
i18n.t("assistant.feedback.incompleteAnswer")
|
|
435
447
|
];
|
|
436
448
|
}
|
|
449
|
+
|
|
437
450
|
function useAssistantConfig() {
|
|
438
451
|
const { language } = ThemeContext.useLanguage();
|
|
439
452
|
return reactQuery.useQuery({
|
|
@@ -444,16 +457,17 @@ function useAssistantConfig() {
|
|
|
444
457
|
// 30 min — config rarely changes
|
|
445
458
|
});
|
|
446
459
|
}
|
|
460
|
+
|
|
447
461
|
function HomePage() {
|
|
448
462
|
const { user, logout } = useAuth();
|
|
449
463
|
const layout = LayoutContext.useOptionalLayout();
|
|
450
464
|
const [localSidebarExpanded, setLocalSidebarExpanded] = React.useState(false);
|
|
451
465
|
const [localAssistantExpanded, setLocalAssistantExpanded] = React.useState(false);
|
|
452
|
-
const sidebarExpanded =
|
|
453
|
-
const sidebarWidth =
|
|
454
|
-
const assistenteExpanded =
|
|
455
|
-
const toggleSidebar =
|
|
456
|
-
const toggleAssistente =
|
|
466
|
+
const sidebarExpanded = layout?.sidebarExpanded ?? localSidebarExpanded;
|
|
467
|
+
const sidebarWidth = layout?.sidebarWidth ?? 280;
|
|
468
|
+
const assistenteExpanded = layout?.assistenteExpanded ?? localAssistantExpanded;
|
|
469
|
+
const toggleSidebar = layout?.toggleSidebar ?? (() => setLocalSidebarExpanded((value) => !value));
|
|
470
|
+
const toggleAssistente = layout?.toggleAssistente ?? (() => setLocalAssistantExpanded((value) => !value));
|
|
457
471
|
const location = reactRouterDom.useLocation();
|
|
458
472
|
const navigate = reactRouterDom.useNavigate();
|
|
459
473
|
const { data: assistantConfig } = useAssistantConfig();
|
|
@@ -485,18 +499,19 @@ function HomePage() {
|
|
|
485
499
|
defaultTab: "chat",
|
|
486
500
|
demoMode: true,
|
|
487
501
|
responseGenerator: xerticaAssistant.gerarResposta,
|
|
488
|
-
suggestions: assistantConfig
|
|
489
|
-
richSuggestions:
|
|
490
|
-
feedbackOptions:
|
|
502
|
+
suggestions: assistantConfig?.suggestions,
|
|
503
|
+
richSuggestions: assistantConfig?.richSuggestions ?? getMockRichSuggestions(),
|
|
504
|
+
feedbackOptions: assistantConfig?.feedbackOptions ?? getMockFeedbackOptions(),
|
|
491
505
|
onEvaluation: () => {
|
|
492
506
|
}
|
|
493
507
|
}
|
|
494
508
|
)
|
|
495
509
|
] });
|
|
496
510
|
}
|
|
511
|
+
|
|
497
512
|
function LoginPage({ onLogin }) {
|
|
498
513
|
const navigate = reactRouterDom.useNavigate();
|
|
499
|
-
const { t
|
|
514
|
+
const { t } = reactI18next.useTranslation();
|
|
500
515
|
const [email, setEmail] = React.useState("");
|
|
501
516
|
const [password, setPassword] = React.useState("");
|
|
502
517
|
const [isLoading, setIsLoading] = React.useState(false);
|
|
@@ -508,7 +523,7 @@ function LoginPage({ onLogin }) {
|
|
|
508
523
|
await new Promise((resolve) => setTimeout(resolve, 1e3));
|
|
509
524
|
const success = onLogin(email, password);
|
|
510
525
|
if (!success) {
|
|
511
|
-
setError(
|
|
526
|
+
setError(t("login.errorFillFields"));
|
|
512
527
|
}
|
|
513
528
|
setIsLoading(false);
|
|
514
529
|
};
|
|
@@ -521,7 +536,7 @@ function LoginPage({ onLogin }) {
|
|
|
521
536
|
alertDialog.ImageWithFallback,
|
|
522
537
|
{
|
|
523
538
|
src: "https://images.unsplash.com/photo-1551434678-e076c223a692?w=1200&h=800&fit=crop&auto=format",
|
|
524
|
-
alt:
|
|
539
|
+
alt: t("login.heroImageAlt"),
|
|
525
540
|
className: "absolute inset-0 w-full h-full object-cover"
|
|
526
541
|
}
|
|
527
542
|
),
|
|
@@ -539,11 +554,11 @@ function LoginPage({ onLogin }) {
|
|
|
539
554
|
variant: "theme"
|
|
540
555
|
}
|
|
541
556
|
) }),
|
|
542
|
-
/* @__PURE__ */ jsxRuntime.jsx("h2", { className: "text-sm text-muted-foreground", children:
|
|
557
|
+
/* @__PURE__ */ jsxRuntime.jsx("h2", { className: "text-sm text-muted-foreground", children: t("login.heading") })
|
|
543
558
|
] }),
|
|
544
559
|
/* @__PURE__ */ jsxRuntime.jsxs("form", { className: "space-y-6", onSubmit: handleSubmit, children: [
|
|
545
560
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-2", children: [
|
|
546
|
-
/* @__PURE__ */ jsxRuntime.jsx(alertDialog.Label, { htmlFor: "email", children:
|
|
561
|
+
/* @__PURE__ */ jsxRuntime.jsx(alertDialog.Label, { htmlFor: "email", children: t("login.emailLabel") }),
|
|
547
562
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
548
563
|
input.Input,
|
|
549
564
|
{
|
|
@@ -552,14 +567,14 @@ function LoginPage({ onLogin }) {
|
|
|
552
567
|
type: "email",
|
|
553
568
|
required: true,
|
|
554
569
|
className: "w-full",
|
|
555
|
-
placeholder:
|
|
570
|
+
placeholder: t("login.emailPlaceholder"),
|
|
556
571
|
value: email,
|
|
557
572
|
onChange: (e) => setEmail(e.target.value)
|
|
558
573
|
}
|
|
559
574
|
)
|
|
560
575
|
] }),
|
|
561
576
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-2", children: [
|
|
562
|
-
/* @__PURE__ */ jsxRuntime.jsx(alertDialog.Label, { htmlFor: "password", children:
|
|
577
|
+
/* @__PURE__ */ jsxRuntime.jsx(alertDialog.Label, { htmlFor: "password", children: t("login.passwordLabel") }),
|
|
563
578
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
564
579
|
input.Input,
|
|
565
580
|
{
|
|
@@ -575,20 +590,20 @@ function LoginPage({ onLogin }) {
|
|
|
575
590
|
)
|
|
576
591
|
] }),
|
|
577
592
|
error && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-destructive text-sm text-center", children: error }),
|
|
578
|
-
/* @__PURE__ */ jsxRuntime.jsx(button.Button, { type: "submit", className: "w-full", disabled: isLoading, children: isLoading ?
|
|
593
|
+
/* @__PURE__ */ jsxRuntime.jsx(button.Button, { type: "submit", className: "w-full", disabled: isLoading, children: isLoading ? t("login.submitting") : t("login.submit") }),
|
|
579
594
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-center", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
580
595
|
"button",
|
|
581
596
|
{
|
|
582
597
|
type: "button",
|
|
583
598
|
onClick: () => navigate("/forgot-password"),
|
|
584
599
|
className: "text-sm text-primary hover:opacity-80 transition-colors",
|
|
585
|
-
children:
|
|
600
|
+
children: t("login.forgotPassword")
|
|
586
601
|
}
|
|
587
602
|
) })
|
|
588
603
|
] }),
|
|
589
604
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative", children: [
|
|
590
605
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute inset-0 flex items-center", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-full border-t border-border" }) }),
|
|
591
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "relative flex justify-center text-sm", children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "bg-muted px-2 text-muted-foreground", children:
|
|
606
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "relative flex justify-center text-sm", children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "bg-muted px-2 text-muted-foreground", children: t("login.orContinueWith") }) })
|
|
592
607
|
] }),
|
|
593
608
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-3", children: [
|
|
594
609
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
@@ -630,7 +645,7 @@ function LoginPage({ onLogin }) {
|
|
|
630
645
|
),
|
|
631
646
|
/* @__PURE__ */ jsxRuntime.jsx("path", { fill: "none", d: "M0 0h48v48H0z" })
|
|
632
647
|
] }),
|
|
633
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { children:
|
|
648
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { children: t("login.signInWithGoogle") })
|
|
634
649
|
]
|
|
635
650
|
}
|
|
636
651
|
),
|
|
@@ -643,7 +658,7 @@ function LoginPage({ onLogin }) {
|
|
|
643
658
|
onClick: () => handleSocialLogin(),
|
|
644
659
|
children: [
|
|
645
660
|
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.Lock, { className: "w-5 h-5 mr-2 text-[var(--chart-4)]" }),
|
|
646
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { children:
|
|
661
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { children: t("login.signInWithMTLogin") })
|
|
647
662
|
]
|
|
648
663
|
}
|
|
649
664
|
),
|
|
@@ -654,7 +669,7 @@ function LoginPage({ onLogin }) {
|
|
|
654
669
|
variant: "outline",
|
|
655
670
|
className: "w-full justify-center font-normal",
|
|
656
671
|
onClick: () => handleSocialLogin(),
|
|
657
|
-
children: /* @__PURE__ */ jsxRuntime.jsx("span", { children:
|
|
672
|
+
children: /* @__PURE__ */ jsxRuntime.jsx("span", { children: t("login.signInWithGovBr") })
|
|
658
673
|
}
|
|
659
674
|
)
|
|
660
675
|
] })
|
|
@@ -662,9 +677,10 @@ function LoginPage({ onLogin }) {
|
|
|
662
677
|
] })
|
|
663
678
|
] });
|
|
664
679
|
}
|
|
680
|
+
|
|
665
681
|
function ResetPasswordPage() {
|
|
666
682
|
const navigate = reactRouterDom.useNavigate();
|
|
667
|
-
const { t
|
|
683
|
+
const { t } = reactI18next.useTranslation();
|
|
668
684
|
const [password, setPassword] = React.useState("");
|
|
669
685
|
const [confirmPassword, setConfirmPassword] = React.useState("");
|
|
670
686
|
const [isLoading, setIsLoading] = React.useState(false);
|
|
@@ -694,11 +710,11 @@ function ResetPasswordPage() {
|
|
|
694
710
|
e.preventDefault();
|
|
695
711
|
setError("");
|
|
696
712
|
if (password.length < 6) {
|
|
697
|
-
setError(
|
|
713
|
+
setError(t("resetPassword.errorMinLength"));
|
|
698
714
|
return;
|
|
699
715
|
}
|
|
700
716
|
if (password !== confirmPassword) {
|
|
701
|
-
setError(
|
|
717
|
+
setError(t("resetPassword.errorMismatch"));
|
|
702
718
|
return;
|
|
703
719
|
}
|
|
704
720
|
setIsLoading(true);
|
|
@@ -721,11 +737,11 @@ function ResetPasswordPage() {
|
|
|
721
737
|
const getStrengthText = () => {
|
|
722
738
|
switch (passwordStrength) {
|
|
723
739
|
case "weak":
|
|
724
|
-
return
|
|
740
|
+
return t("resetPassword.strengthWeak");
|
|
725
741
|
case "medium":
|
|
726
|
-
return
|
|
742
|
+
return t("resetPassword.strengthMedium");
|
|
727
743
|
case "strong":
|
|
728
|
-
return
|
|
744
|
+
return t("resetPassword.strengthStrong");
|
|
729
745
|
default:
|
|
730
746
|
return "";
|
|
731
747
|
}
|
|
@@ -736,7 +752,7 @@ function ResetPasswordPage() {
|
|
|
736
752
|
alertDialog.ImageWithFallback,
|
|
737
753
|
{
|
|
738
754
|
src: "https://images.unsplash.com/photo-1555949963-aa79dcee981c?w=1200&h=800&fit=crop&auto=format",
|
|
739
|
-
alt:
|
|
755
|
+
alt: t("resetPassword.heroImageAlt"),
|
|
740
756
|
className: "absolute inset-0 w-full h-full object-cover"
|
|
741
757
|
}
|
|
742
758
|
),
|
|
@@ -753,7 +769,7 @@ function ResetPasswordPage() {
|
|
|
753
769
|
className: "flex items-center gap-2 text-muted-foreground hover:text-foreground transition-colors",
|
|
754
770
|
children: [
|
|
755
771
|
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.ArrowLeft, { className: "w-4 h-4" }),
|
|
756
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-small", children:
|
|
772
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-small", children: t("resetPassword.backToLogin") })
|
|
757
773
|
]
|
|
758
774
|
}
|
|
759
775
|
),
|
|
@@ -765,12 +781,12 @@ function ResetPasswordPage() {
|
|
|
765
781
|
variant: "theme"
|
|
766
782
|
}
|
|
767
783
|
) }),
|
|
768
|
-
/* @__PURE__ */ jsxRuntime.jsx("h2", { className: "text-sm text-muted-foreground", children:
|
|
769
|
-
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-2 text-muted-foreground", children:
|
|
784
|
+
/* @__PURE__ */ jsxRuntime.jsx("h2", { className: "text-sm text-muted-foreground", children: t("resetPassword.heading") }),
|
|
785
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-2 text-muted-foreground", children: t("resetPassword.subheading") })
|
|
770
786
|
] }),
|
|
771
787
|
/* @__PURE__ */ jsxRuntime.jsxs("form", { className: "space-y-6", onSubmit: handleSubmit, children: [
|
|
772
788
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-2", children: [
|
|
773
|
-
/* @__PURE__ */ jsxRuntime.jsx(alertDialog.Label, { htmlFor: "password", children:
|
|
789
|
+
/* @__PURE__ */ jsxRuntime.jsx(alertDialog.Label, { htmlFor: "password", children: t("resetPassword.newPasswordLabel") }),
|
|
774
790
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
775
791
|
input.Input,
|
|
776
792
|
{
|
|
@@ -795,7 +811,7 @@ function ResetPasswordPage() {
|
|
|
795
811
|
] })
|
|
796
812
|
] }),
|
|
797
813
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-2", children: [
|
|
798
|
-
/* @__PURE__ */ jsxRuntime.jsx(alertDialog.Label, { htmlFor: "confirmPassword", children:
|
|
814
|
+
/* @__PURE__ */ jsxRuntime.jsx(alertDialog.Label, { htmlFor: "confirmPassword", children: t("resetPassword.confirmPasswordLabel") }),
|
|
799
815
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
800
816
|
input.Input,
|
|
801
817
|
{
|
|
@@ -814,7 +830,7 @@ function ResetPasswordPage() {
|
|
|
814
830
|
)
|
|
815
831
|
] }),
|
|
816
832
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "bg-accent rounded-[var(--radius)] p-4 space-y-2", children: [
|
|
817
|
-
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm", children:
|
|
833
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm", children: t("resetPassword.requirements") }),
|
|
818
834
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-1", children: [
|
|
819
835
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
|
|
820
836
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -823,7 +839,7 @@ function ResetPasswordPage() {
|
|
|
823
839
|
className: `w-4 h-4 ${password.length >= 6 ? "text-[var(--chart-2)]" : "text-muted-foreground"}`
|
|
824
840
|
}
|
|
825
841
|
),
|
|
826
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm text-muted-foreground", children:
|
|
842
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm text-muted-foreground", children: t("resetPassword.requirementMinChars") })
|
|
827
843
|
] }),
|
|
828
844
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
|
|
829
845
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -832,7 +848,7 @@ function ResetPasswordPage() {
|
|
|
832
848
|
className: `w-4 h-4 ${password === confirmPassword && password.length > 0 ? "text-[var(--chart-2)]" : "text-muted-foreground"}`
|
|
833
849
|
}
|
|
834
850
|
),
|
|
835
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm text-muted-foreground", children:
|
|
851
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm text-muted-foreground", children: t("resetPassword.requirementMatch") })
|
|
836
852
|
] })
|
|
837
853
|
] })
|
|
838
854
|
] }),
|
|
@@ -840,12 +856,13 @@ function ResetPasswordPage() {
|
|
|
840
856
|
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.AlertCircle, { className: "w-4 h-4 flex-shrink-0" }),
|
|
841
857
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm", children: error })
|
|
842
858
|
] }),
|
|
843
|
-
/* @__PURE__ */ jsxRuntime.jsx(button.Button, { type: "submit", className: "w-full", disabled: isLoading, children: isLoading ?
|
|
859
|
+
/* @__PURE__ */ jsxRuntime.jsx(button.Button, { type: "submit", className: "w-full", disabled: isLoading, children: isLoading ? t("resetPassword.submitting") : t("resetPassword.submit") })
|
|
844
860
|
] })
|
|
845
861
|
] })
|
|
846
862
|
] })
|
|
847
863
|
] });
|
|
848
864
|
}
|
|
865
|
+
|
|
849
866
|
function createLucideIconSvg(iconName) {
|
|
850
867
|
const iconPaths = {
|
|
851
868
|
utensils: '<path d="M3 2v7c0 1.1.9 2 2 2h4a2 2 0 0 0 2-2V2"></path><path d="M7 2v20"></path><path d="M21 15V2v0a5 5 0 0 0-5 5v6c0 1.1.9 2 2 2h3Zm0 0v7"></path>',
|
|
@@ -1174,6 +1191,7 @@ function FilterableMapExample({ apiKey }) {
|
|
|
1174
1191
|
] })
|
|
1175
1192
|
] });
|
|
1176
1193
|
}
|
|
1194
|
+
|
|
1177
1195
|
function DrawingMapExample({ apiKey }) {
|
|
1178
1196
|
const [mapInstance, setMapInstance] = React.useState(null);
|
|
1179
1197
|
const [selectedMode, setSelectedMode] = React.useState(null);
|
|
@@ -1290,7 +1308,6 @@ function DrawingMapExample({ apiKey }) {
|
|
|
1290
1308
|
}, [mapInstance, colors, cancelPolygonDrawing]);
|
|
1291
1309
|
const addPolygonPoint = React.useCallback(
|
|
1292
1310
|
(point) => {
|
|
1293
|
-
var _a;
|
|
1294
1311
|
if (!mapInstance) return;
|
|
1295
1312
|
if (!isDrawingPolygon) {
|
|
1296
1313
|
setIsDrawingPolygon(true);
|
|
@@ -1310,7 +1327,7 @@ function DrawingMapExample({ apiKey }) {
|
|
|
1310
1327
|
});
|
|
1311
1328
|
} else {
|
|
1312
1329
|
polygonPathRef.current.push(point);
|
|
1313
|
-
|
|
1330
|
+
tempPolylineRef.current?.setPath(polygonPathRef.current);
|
|
1314
1331
|
}
|
|
1315
1332
|
},
|
|
1316
1333
|
[mapInstance, isDrawingPolygon, colors]
|
|
@@ -1383,11 +1400,10 @@ function DrawingMapExample({ apiKey }) {
|
|
|
1383
1400
|
sonner.toast.info("Mapa limpo");
|
|
1384
1401
|
};
|
|
1385
1402
|
const undoLast = () => {
|
|
1386
|
-
var _a;
|
|
1387
1403
|
if (isDrawingPolygon) {
|
|
1388
1404
|
if (polygonPathRef.current.length > 0) {
|
|
1389
1405
|
polygonPathRef.current.pop();
|
|
1390
|
-
|
|
1406
|
+
tempPolylineRef.current?.setPath(polygonPathRef.current);
|
|
1391
1407
|
if (polygonPathRef.current.length === 0) {
|
|
1392
1408
|
cancelPolygonDrawing();
|
|
1393
1409
|
}
|
|
@@ -1406,7 +1422,6 @@ function DrawingMapExample({ apiKey }) {
|
|
|
1406
1422
|
return;
|
|
1407
1423
|
}
|
|
1408
1424
|
const exportData = shapes.map((s) => {
|
|
1409
|
-
var _a, _b;
|
|
1410
1425
|
let data = {};
|
|
1411
1426
|
if (s.type === "marker") {
|
|
1412
1427
|
const marker = s.overlay;
|
|
@@ -1419,17 +1434,17 @@ function DrawingMapExample({ apiKey }) {
|
|
|
1419
1434
|
} else if (s.type === "circle") {
|
|
1420
1435
|
const circle = s.overlay;
|
|
1421
1436
|
data = {
|
|
1422
|
-
center: { lat:
|
|
1437
|
+
center: { lat: circle.getCenter()?.lat(), lng: circle.getCenter()?.lng() },
|
|
1423
1438
|
radius: circle.getRadius()
|
|
1424
1439
|
};
|
|
1425
1440
|
} else if (s.type === "rectangle") {
|
|
1426
1441
|
const rect = s.overlay;
|
|
1427
1442
|
const bounds = rect.getBounds();
|
|
1428
1443
|
data = {
|
|
1429
|
-
north: bounds
|
|
1430
|
-
south: bounds
|
|
1431
|
-
east: bounds
|
|
1432
|
-
west: bounds
|
|
1444
|
+
north: bounds?.getNorthEast().lat(),
|
|
1445
|
+
south: bounds?.getSouthWest().lat(),
|
|
1446
|
+
east: bounds?.getNorthEast().lng(),
|
|
1447
|
+
west: bounds?.getSouthWest().lng()
|
|
1433
1448
|
};
|
|
1434
1449
|
} else if (s.type === "polygon") {
|
|
1435
1450
|
const poly = s.overlay;
|
|
@@ -1648,6 +1663,7 @@ function DrawingMapExample({ apiKey }) {
|
|
|
1648
1663
|
] })
|
|
1649
1664
|
] });
|
|
1650
1665
|
}
|
|
1666
|
+
|
|
1651
1667
|
function MapShowcase() {
|
|
1652
1668
|
const [activeTab, setActiveTab] = React.useState("simple");
|
|
1653
1669
|
const [isTransitioning, setIsTransitioning] = React.useState(false);
|
|
@@ -2043,15 +2059,16 @@ function MapShowcase() {
|
|
|
2043
2059
|
] })
|
|
2044
2060
|
] });
|
|
2045
2061
|
}
|
|
2062
|
+
|
|
2046
2063
|
function TemplateContent() {
|
|
2047
|
-
const { t
|
|
2064
|
+
const { t } = reactI18next.useTranslation();
|
|
2048
2065
|
const layout = LayoutContext.useOptionalLayout();
|
|
2049
2066
|
const [localSidebarExpanded, setLocalSidebarExpanded] = React.useState(false);
|
|
2050
2067
|
const [localSidebarWidth, setLocalSidebarWidth] = React.useState(280);
|
|
2051
|
-
const sidebarExpanded =
|
|
2052
|
-
const sidebarWidth =
|
|
2053
|
-
const setSidebarWidth =
|
|
2054
|
-
|
|
2068
|
+
const sidebarExpanded = layout?.sidebarExpanded ?? localSidebarExpanded;
|
|
2069
|
+
const sidebarWidth = layout?.sidebarWidth ?? localSidebarWidth;
|
|
2070
|
+
const setSidebarWidth = layout?.setSidebarWidth ?? setLocalSidebarWidth;
|
|
2071
|
+
layout?.toggleSidebar ?? (() => setLocalSidebarExpanded((value) => !value));
|
|
2055
2072
|
reactRouterDom.useNavigate();
|
|
2056
2073
|
const { data: teamMembers = [], isLoading: teamLoading } = useTeamMembers();
|
|
2057
2074
|
const progress$1 = useDashboardStore((s) => s.progress);
|
|
@@ -2067,7 +2084,7 @@ function TemplateContent() {
|
|
|
2067
2084
|
const [showHeaderBreadcrumbs, setShowHeaderBreadcrumbs] = React.useState(true);
|
|
2068
2085
|
const handleFormSubmit = (e) => {
|
|
2069
2086
|
e.preventDefault();
|
|
2070
|
-
sonner.toast.success("
|
|
2087
|
+
sonner.toast.success(t("templates.formSubmitSuccess"));
|
|
2071
2088
|
};
|
|
2072
2089
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
2073
2090
|
"div",
|
|
@@ -2083,8 +2100,8 @@ function TemplateContent() {
|
|
|
2083
2100
|
showThemeToggle: true,
|
|
2084
2101
|
showLanguageSelector: true,
|
|
2085
2102
|
breadcrumbs: [
|
|
2086
|
-
{ label: "
|
|
2087
|
-
{ label: "
|
|
2103
|
+
{ label: t("nav.designSystem"), href: "/home", icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Home, { className: "w-4 h-4" }) },
|
|
2104
|
+
{ label: t("templates.breadcrumb") }
|
|
2088
2105
|
],
|
|
2089
2106
|
renderLink: (href, props) => /* @__PURE__ */ jsxRuntime.jsx(reactRouterDom.Link, { to: href, ...props })
|
|
2090
2107
|
}
|
|
@@ -2093,16 +2110,16 @@ function TemplateContent() {
|
|
|
2093
2110
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2094
2111
|
alertDialog.PageHeader,
|
|
2095
2112
|
{
|
|
2096
|
-
title: "
|
|
2097
|
-
subtitle: "
|
|
2113
|
+
title: t("templates.title"),
|
|
2114
|
+
subtitle: t("templates.subtitle")
|
|
2098
2115
|
}
|
|
2099
2116
|
),
|
|
2100
2117
|
/* @__PURE__ */ jsxRuntime.jsxs("section", { children: [
|
|
2101
|
-
/* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mb-4", children: "
|
|
2118
|
+
/* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mb-4", children: t("templates.headerWithBreadcrumbs.sectionTitle") }),
|
|
2102
2119
|
/* @__PURE__ */ jsxRuntime.jsxs(skeleton.Card, { children: [
|
|
2103
2120
|
/* @__PURE__ */ jsxRuntime.jsxs(skeleton.CardHeader, { children: [
|
|
2104
|
-
/* @__PURE__ */ jsxRuntime.jsx(skeleton.CardTitle, { children: "
|
|
2105
|
-
/* @__PURE__ */ jsxRuntime.jsx(skeleton.CardDescription, { children: "
|
|
2121
|
+
/* @__PURE__ */ jsxRuntime.jsx(skeleton.CardTitle, { children: t("templates.headerWithBreadcrumbs.cardTitle") }),
|
|
2122
|
+
/* @__PURE__ */ jsxRuntime.jsx(skeleton.CardDescription, { children: t("templates.headerWithBreadcrumbs.cardDescription") })
|
|
2106
2123
|
] }),
|
|
2107
2124
|
/* @__PURE__ */ jsxRuntime.jsxs(skeleton.CardContent, { className: "p-0 border-t bg-background overflow-hidden rounded-b-[var(--radius-lg)]", children: [
|
|
2108
2125
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -2110,21 +2127,21 @@ function TemplateContent() {
|
|
|
2110
2127
|
{
|
|
2111
2128
|
className: "border-b",
|
|
2112
2129
|
breadcrumbs: [
|
|
2113
|
-
{ label: "
|
|
2114
|
-
{ label: "
|
|
2115
|
-
{ label: "
|
|
2116
|
-
{ label: "
|
|
2130
|
+
{ label: t("templates.headerWithBreadcrumbs.breadcrumbs.dashboard"), href: "#", icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Home, { className: "w-4 h-4" }) },
|
|
2131
|
+
{ label: t("templates.headerWithBreadcrumbs.breadcrumbs.settings"), href: "#", icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Settings, { className: "w-4 h-4" }) },
|
|
2132
|
+
{ label: t("templates.headerWithBreadcrumbs.breadcrumbs.users"), href: "#", icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Users, { className: "w-4 h-4" }) },
|
|
2133
|
+
{ label: t("templates.headerWithBreadcrumbs.breadcrumbs.accessProfile") }
|
|
2117
2134
|
],
|
|
2118
2135
|
showLanguageSelector: true,
|
|
2119
2136
|
showThemeToggle: true
|
|
2120
2137
|
}
|
|
2121
2138
|
),
|
|
2122
2139
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "p-6 min-h-[200px]", children: [
|
|
2123
|
-
/* @__PURE__ */ jsxRuntime.jsx("h4", { className: "text-lg font-semibold mb-2", children: "
|
|
2140
|
+
/* @__PURE__ */ jsxRuntime.jsx("h4", { className: "text-lg font-semibold mb-2", children: t("templates.headerWithBreadcrumbs.exampleContentTitle") }),
|
|
2124
2141
|
/* @__PURE__ */ jsxRuntime.jsxs("p", { className: "text-muted-foreground", children: [
|
|
2125
|
-
"
|
|
2142
|
+
t("templates.headerWithBreadcrumbs.exampleContentDescriptionPart1"),
|
|
2126
2143
|
/* @__PURE__ */ jsxRuntime.jsx("strong", { children: "Header" }),
|
|
2127
|
-
"
|
|
2144
|
+
t("templates.headerWithBreadcrumbs.exampleContentDescriptionPart2")
|
|
2128
2145
|
] })
|
|
2129
2146
|
] })
|
|
2130
2147
|
] })
|
|
@@ -2132,42 +2149,42 @@ function TemplateContent() {
|
|
|
2132
2149
|
] }),
|
|
2133
2150
|
/* @__PURE__ */ jsxRuntime.jsx(alertDialog.Separator, { className: "my-8" }),
|
|
2134
2151
|
/* @__PURE__ */ jsxRuntime.jsxs("section", { children: [
|
|
2135
|
-
/* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mb-4", children: "
|
|
2152
|
+
/* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mb-4", children: t("templates.sections.alerts") }),
|
|
2136
2153
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid gap-4 md:grid-cols-2", children: [
|
|
2137
2154
|
/* @__PURE__ */ jsxRuntime.jsxs(richTextEditor.Alert, { variant: "info", children: [
|
|
2138
|
-
/* @__PURE__ */ jsxRuntime.jsx(richTextEditor.AlertTitle, { children: "
|
|
2139
|
-
/* @__PURE__ */ jsxRuntime.jsx(richTextEditor.AlertDescription, { children: "
|
|
2155
|
+
/* @__PURE__ */ jsxRuntime.jsx(richTextEditor.AlertTitle, { children: t("templates.alerts.infoTitle") }),
|
|
2156
|
+
/* @__PURE__ */ jsxRuntime.jsx(richTextEditor.AlertDescription, { children: t("templates.alerts.infoDescription") })
|
|
2140
2157
|
] }),
|
|
2141
2158
|
/* @__PURE__ */ jsxRuntime.jsxs(richTextEditor.Alert, { variant: "destructive", children: [
|
|
2142
|
-
/* @__PURE__ */ jsxRuntime.jsx(richTextEditor.AlertTitle, { children: "
|
|
2143
|
-
/* @__PURE__ */ jsxRuntime.jsx(richTextEditor.AlertDescription, { children: "
|
|
2159
|
+
/* @__PURE__ */ jsxRuntime.jsx(richTextEditor.AlertTitle, { children: t("templates.alerts.errorTitle") }),
|
|
2160
|
+
/* @__PURE__ */ jsxRuntime.jsx(richTextEditor.AlertDescription, { children: t("templates.alerts.errorDescription") })
|
|
2144
2161
|
] }),
|
|
2145
2162
|
/* @__PURE__ */ jsxRuntime.jsxs(richTextEditor.Alert, { variant: "success", children: [
|
|
2146
|
-
/* @__PURE__ */ jsxRuntime.jsx(richTextEditor.AlertTitle, { children: "
|
|
2147
|
-
/* @__PURE__ */ jsxRuntime.jsx(richTextEditor.AlertDescription, { children: "
|
|
2163
|
+
/* @__PURE__ */ jsxRuntime.jsx(richTextEditor.AlertTitle, { children: t("templates.alerts.successTitle") }),
|
|
2164
|
+
/* @__PURE__ */ jsxRuntime.jsx(richTextEditor.AlertDescription, { children: t("templates.alerts.successDescription") })
|
|
2148
2165
|
] }),
|
|
2149
2166
|
/* @__PURE__ */ jsxRuntime.jsxs(richTextEditor.Alert, { variant: "warning", children: [
|
|
2150
|
-
/* @__PURE__ */ jsxRuntime.jsx(richTextEditor.AlertTitle, { children: "
|
|
2151
|
-
/* @__PURE__ */ jsxRuntime.jsx(richTextEditor.AlertDescription, { children: "
|
|
2167
|
+
/* @__PURE__ */ jsxRuntime.jsx(richTextEditor.AlertTitle, { children: t("templates.alerts.warningTitle") }),
|
|
2168
|
+
/* @__PURE__ */ jsxRuntime.jsx(richTextEditor.AlertDescription, { children: t("templates.alerts.warningDescription") })
|
|
2152
2169
|
] })
|
|
2153
2170
|
] })
|
|
2154
2171
|
] }),
|
|
2155
2172
|
/* @__PURE__ */ jsxRuntime.jsx(alertDialog.Separator, { className: "my-8" }),
|
|
2156
2173
|
/* @__PURE__ */ jsxRuntime.jsxs("section", { children: [
|
|
2157
|
-
/* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mb-4", children: "
|
|
2174
|
+
/* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mb-4", children: t("templates.sections.cardsAndTabs") }),
|
|
2158
2175
|
/* @__PURE__ */ jsxRuntime.jsxs(alertDialog.Tabs, { defaultValue: "overview", className: "w-full", children: [
|
|
2159
2176
|
/* @__PURE__ */ jsxRuntime.jsxs(alertDialog.TabsList, { className: "grid w-full grid-cols-4", children: [
|
|
2160
|
-
/* @__PURE__ */ jsxRuntime.jsx(alertDialog.TabsTrigger, { value: "overview", children: "
|
|
2161
|
-
/* @__PURE__ */ jsxRuntime.jsx(alertDialog.TabsTrigger, { value: "forms", children: "
|
|
2162
|
-
/* @__PURE__ */ jsxRuntime.jsx(alertDialog.TabsTrigger, { value: "data", children: "
|
|
2163
|
-
/* @__PURE__ */ jsxRuntime.jsx(alertDialog.TabsTrigger, { value: "settings", children: "
|
|
2177
|
+
/* @__PURE__ */ jsxRuntime.jsx(alertDialog.TabsTrigger, { value: "overview", children: t("templates.tabs.overview") }),
|
|
2178
|
+
/* @__PURE__ */ jsxRuntime.jsx(alertDialog.TabsTrigger, { value: "forms", children: t("templates.tabs.forms") }),
|
|
2179
|
+
/* @__PURE__ */ jsxRuntime.jsx(alertDialog.TabsTrigger, { value: "data", children: t("templates.tabs.data") }),
|
|
2180
|
+
/* @__PURE__ */ jsxRuntime.jsx(alertDialog.TabsTrigger, { value: "settings", children: t("templates.tabs.settings") })
|
|
2164
2181
|
] }),
|
|
2165
2182
|
/* @__PURE__ */ jsxRuntime.jsxs(alertDialog.TabsContent, { value: "overview", className: "space-y-4", children: [
|
|
2166
2183
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid gap-4 md:grid-cols-3", children: [
|
|
2167
2184
|
/* @__PURE__ */ jsxRuntime.jsxs(skeleton.Card, { children: [
|
|
2168
2185
|
/* @__PURE__ */ jsxRuntime.jsxs(skeleton.CardHeader, { children: [
|
|
2169
|
-
/* @__PURE__ */ jsxRuntime.jsx(skeleton.CardTitle, { children: "
|
|
2170
|
-
/* @__PURE__ */ jsxRuntime.jsx(skeleton.CardDescription, { children: "
|
|
2186
|
+
/* @__PURE__ */ jsxRuntime.jsx(skeleton.CardTitle, { children: t("stats.totalUsers") }),
|
|
2187
|
+
/* @__PURE__ */ jsxRuntime.jsx(skeleton.CardDescription, { children: t("stats.last30Days") })
|
|
2171
2188
|
] }),
|
|
2172
2189
|
/* @__PURE__ */ jsxRuntime.jsx(skeleton.CardContent, { children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "text-foreground", children: [
|
|
2173
2190
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "[font-size:var(--text-stats)] [font-weight:var(--font-weight-bold)]", children: "1,234" }),
|
|
@@ -2176,8 +2193,8 @@ function TemplateContent() {
|
|
|
2176
2193
|
] }),
|
|
2177
2194
|
/* @__PURE__ */ jsxRuntime.jsxs(skeleton.Card, { children: [
|
|
2178
2195
|
/* @__PURE__ */ jsxRuntime.jsxs(skeleton.CardHeader, { children: [
|
|
2179
|
-
/* @__PURE__ */ jsxRuntime.jsx(skeleton.CardTitle, { children: "
|
|
2180
|
-
/* @__PURE__ */ jsxRuntime.jsx(skeleton.CardDescription, { children: "
|
|
2196
|
+
/* @__PURE__ */ jsxRuntime.jsx(skeleton.CardTitle, { children: t("stats.totalRevenue") }),
|
|
2197
|
+
/* @__PURE__ */ jsxRuntime.jsx(skeleton.CardDescription, { children: t("stats.currentMonth") })
|
|
2181
2198
|
] }),
|
|
2182
2199
|
/* @__PURE__ */ jsxRuntime.jsx(skeleton.CardContent, { children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "text-foreground", children: [
|
|
2183
2200
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "[font-size:var(--text-stats)] [font-weight:var(--font-weight-bold)]", children: "$ 45.2k" }),
|
|
@@ -2186,8 +2203,8 @@ function TemplateContent() {
|
|
|
2186
2203
|
] }),
|
|
2187
2204
|
/* @__PURE__ */ jsxRuntime.jsxs(skeleton.Card, { children: [
|
|
2188
2205
|
/* @__PURE__ */ jsxRuntime.jsxs(skeleton.CardHeader, { children: [
|
|
2189
|
-
/* @__PURE__ */ jsxRuntime.jsx(skeleton.CardTitle, { children: "
|
|
2190
|
-
/* @__PURE__ */ jsxRuntime.jsx(skeleton.CardDescription, { children: "
|
|
2206
|
+
/* @__PURE__ */ jsxRuntime.jsx(skeleton.CardTitle, { children: t("stats.conversionRate") }),
|
|
2207
|
+
/* @__PURE__ */ jsxRuntime.jsx(skeleton.CardDescription, { children: t("stats.currentWeek") })
|
|
2191
2208
|
] }),
|
|
2192
2209
|
/* @__PURE__ */ jsxRuntime.jsx(skeleton.CardContent, { children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "text-foreground", children: [
|
|
2193
2210
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "[font-size:var(--text-stats)] [font-weight:var(--font-weight-bold)]", children: "3.2%" }),
|
|
@@ -2197,13 +2214,13 @@ function TemplateContent() {
|
|
|
2197
2214
|
] }),
|
|
2198
2215
|
/* @__PURE__ */ jsxRuntime.jsxs(skeleton.Card, { children: [
|
|
2199
2216
|
/* @__PURE__ */ jsxRuntime.jsxs(skeleton.CardHeader, { children: [
|
|
2200
|
-
/* @__PURE__ */ jsxRuntime.jsx(skeleton.CardTitle, { children: "
|
|
2201
|
-
/* @__PURE__ */ jsxRuntime.jsx(skeleton.CardDescription, { children: "
|
|
2217
|
+
/* @__PURE__ */ jsxRuntime.jsx(skeleton.CardTitle, { children: t("templates.overview.progressTitle") }),
|
|
2218
|
+
/* @__PURE__ */ jsxRuntime.jsx(skeleton.CardDescription, { children: t("templates.overview.progressDescription") })
|
|
2202
2219
|
] }),
|
|
2203
2220
|
/* @__PURE__ */ jsxRuntime.jsxs(skeleton.CardContent, { className: "space-y-6", children: [
|
|
2204
2221
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-2", children: [
|
|
2205
2222
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between", children: [
|
|
2206
|
-
/* @__PURE__ */ jsxRuntime.jsx(alertDialog.Label, { children: "
|
|
2223
|
+
/* @__PURE__ */ jsxRuntime.jsx(alertDialog.Label, { children: t("templates.overview.projectProgress") }),
|
|
2207
2224
|
/* @__PURE__ */ jsxRuntime.jsxs("span", { className: "[font-size:var(--text-small)] text-muted-foreground", children: [
|
|
2208
2225
|
progress$1,
|
|
2209
2226
|
"%"
|
|
@@ -2232,7 +2249,7 @@ function TemplateContent() {
|
|
|
2232
2249
|
/* @__PURE__ */ jsxRuntime.jsx(alertDialog.Separator, {}),
|
|
2233
2250
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-2", children: [
|
|
2234
2251
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between", children: [
|
|
2235
|
-
/* @__PURE__ */ jsxRuntime.jsx(alertDialog.Label, { children: "
|
|
2252
|
+
/* @__PURE__ */ jsxRuntime.jsx(alertDialog.Label, { children: t("templates.overview.volume") }),
|
|
2236
2253
|
/* @__PURE__ */ jsxRuntime.jsxs("span", { className: "[font-size:var(--text-small)] text-muted-foreground", children: [
|
|
2237
2254
|
sliderValue[0],
|
|
2238
2255
|
"%"
|
|
@@ -2247,7 +2264,7 @@ function TemplateContent() {
|
|
|
2247
2264
|
max: 100,
|
|
2248
2265
|
step: 1,
|
|
2249
2266
|
className: "w-full",
|
|
2250
|
-
"aria-label": "
|
|
2267
|
+
"aria-label": t("templates.overview.volume")
|
|
2251
2268
|
}
|
|
2252
2269
|
)
|
|
2253
2270
|
] })
|
|
@@ -2256,22 +2273,22 @@ function TemplateContent() {
|
|
|
2256
2273
|
] }),
|
|
2257
2274
|
/* @__PURE__ */ jsxRuntime.jsx(alertDialog.TabsContent, { value: "forms", className: "space-y-4", children: /* @__PURE__ */ jsxRuntime.jsxs(skeleton.Card, { children: [
|
|
2258
2275
|
/* @__PURE__ */ jsxRuntime.jsxs(skeleton.CardHeader, { children: [
|
|
2259
|
-
/* @__PURE__ */ jsxRuntime.jsx(skeleton.CardTitle, { children: "
|
|
2260
|
-
/* @__PURE__ */ jsxRuntime.jsx(skeleton.CardDescription, { children: "
|
|
2276
|
+
/* @__PURE__ */ jsxRuntime.jsx(skeleton.CardTitle, { children: t("templates.forms.registrationTitle") }),
|
|
2277
|
+
/* @__PURE__ */ jsxRuntime.jsx(skeleton.CardDescription, { children: t("templates.forms.registrationDescription") })
|
|
2261
2278
|
] }),
|
|
2262
2279
|
/* @__PURE__ */ jsxRuntime.jsx(skeleton.CardContent, { children: /* @__PURE__ */ jsxRuntime.jsxs("form", { onSubmit: handleFormSubmit, className: "space-y-4", children: [
|
|
2263
2280
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid gap-4 md:grid-cols-2", children: [
|
|
2264
2281
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-2", children: [
|
|
2265
|
-
/* @__PURE__ */ jsxRuntime.jsx(alertDialog.Label, { htmlFor: "firstName", children: "
|
|
2266
|
-
/* @__PURE__ */ jsxRuntime.jsx(input.Input, { id: "firstName", placeholder: "
|
|
2282
|
+
/* @__PURE__ */ jsxRuntime.jsx(alertDialog.Label, { htmlFor: "firstName", children: t("templates.forms.firstName") }),
|
|
2283
|
+
/* @__PURE__ */ jsxRuntime.jsx(input.Input, { id: "firstName", placeholder: t("templates.forms.firstNamePlaceholder") })
|
|
2267
2284
|
] }),
|
|
2268
2285
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-2", children: [
|
|
2269
|
-
/* @__PURE__ */ jsxRuntime.jsx(alertDialog.Label, { htmlFor: "lastName", children: "
|
|
2270
|
-
/* @__PURE__ */ jsxRuntime.jsx(input.Input, { id: "lastName", placeholder: "
|
|
2286
|
+
/* @__PURE__ */ jsxRuntime.jsx(alertDialog.Label, { htmlFor: "lastName", children: t("templates.forms.lastName") }),
|
|
2287
|
+
/* @__PURE__ */ jsxRuntime.jsx(input.Input, { id: "lastName", placeholder: t("templates.forms.lastNamePlaceholder") })
|
|
2271
2288
|
] })
|
|
2272
2289
|
] }),
|
|
2273
2290
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-2", children: [
|
|
2274
|
-
/* @__PURE__ */ jsxRuntime.jsx(alertDialog.Label, { htmlFor: "email", children: "
|
|
2291
|
+
/* @__PURE__ */ jsxRuntime.jsx(alertDialog.Label, { htmlFor: "email", children: t("templates.forms.email") }),
|
|
2275
2292
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative", children: [
|
|
2276
2293
|
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.Mail, { className: "absolute left-3 top-3 h-4 w-4 text-muted-foreground" }),
|
|
2277
2294
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -2279,14 +2296,14 @@ function TemplateContent() {
|
|
|
2279
2296
|
{
|
|
2280
2297
|
id: "email",
|
|
2281
2298
|
type: "email",
|
|
2282
|
-
placeholder: "
|
|
2299
|
+
placeholder: t("templates.forms.emailPlaceholder"),
|
|
2283
2300
|
className: "pl-10"
|
|
2284
2301
|
}
|
|
2285
2302
|
)
|
|
2286
2303
|
] })
|
|
2287
2304
|
] }),
|
|
2288
2305
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-2", children: [
|
|
2289
|
-
/* @__PURE__ */ jsxRuntime.jsx(alertDialog.Label, { htmlFor: "phone", children: "
|
|
2306
|
+
/* @__PURE__ */ jsxRuntime.jsx(alertDialog.Label, { htmlFor: "phone", children: t("templates.forms.phone") }),
|
|
2290
2307
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative", children: [
|
|
2291
2308
|
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.Phone, { className: "absolute left-3 top-3 h-4 w-4 text-muted-foreground" }),
|
|
2292
2309
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -2294,81 +2311,81 @@ function TemplateContent() {
|
|
|
2294
2311
|
{
|
|
2295
2312
|
id: "phone",
|
|
2296
2313
|
type: "tel",
|
|
2297
|
-
placeholder: "
|
|
2314
|
+
placeholder: t("templates.forms.phonePlaceholder"),
|
|
2298
2315
|
className: "pl-10"
|
|
2299
2316
|
}
|
|
2300
2317
|
)
|
|
2301
2318
|
] })
|
|
2302
2319
|
] }),
|
|
2303
2320
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-2", children: [
|
|
2304
|
-
/* @__PURE__ */ jsxRuntime.jsx(alertDialog.Label, { htmlFor: "role", children: "
|
|
2321
|
+
/* @__PURE__ */ jsxRuntime.jsx(alertDialog.Label, { htmlFor: "role", children: t("templates.forms.role") }),
|
|
2305
2322
|
/* @__PURE__ */ jsxRuntime.jsxs(select.Select, { children: [
|
|
2306
|
-
/* @__PURE__ */ jsxRuntime.jsx(select.SelectTrigger, { id: "role", children: /* @__PURE__ */ jsxRuntime.jsx(select.SelectValue, { placeholder: "
|
|
2323
|
+
/* @__PURE__ */ jsxRuntime.jsx(select.SelectTrigger, { id: "role", children: /* @__PURE__ */ jsxRuntime.jsx(select.SelectValue, { placeholder: t("templates.forms.rolePlaceholder") }) }),
|
|
2307
2324
|
/* @__PURE__ */ jsxRuntime.jsxs(select.SelectContent, { children: [
|
|
2308
|
-
/* @__PURE__ */ jsxRuntime.jsx(select.SelectItem, { value: "developer", children: "
|
|
2309
|
-
/* @__PURE__ */ jsxRuntime.jsx(select.SelectItem, { value: "designer", children: "
|
|
2310
|
-
/* @__PURE__ */ jsxRuntime.jsx(select.SelectItem, { value: "manager", children: "
|
|
2311
|
-
/* @__PURE__ */ jsxRuntime.jsx(select.SelectItem, { value: "analyst", children: "
|
|
2325
|
+
/* @__PURE__ */ jsxRuntime.jsx(select.SelectItem, { value: "developer", children: t("templates.forms.roles.developer") }),
|
|
2326
|
+
/* @__PURE__ */ jsxRuntime.jsx(select.SelectItem, { value: "designer", children: t("templates.forms.roles.designer") }),
|
|
2327
|
+
/* @__PURE__ */ jsxRuntime.jsx(select.SelectItem, { value: "manager", children: t("templates.forms.roles.manager") }),
|
|
2328
|
+
/* @__PURE__ */ jsxRuntime.jsx(select.SelectItem, { value: "analyst", children: t("templates.forms.roles.analyst") })
|
|
2312
2329
|
] })
|
|
2313
2330
|
] })
|
|
2314
2331
|
] }),
|
|
2315
2332
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-2", children: [
|
|
2316
|
-
/* @__PURE__ */ jsxRuntime.jsx(alertDialog.Label, { htmlFor: "bio", children: "
|
|
2333
|
+
/* @__PURE__ */ jsxRuntime.jsx(alertDialog.Label, { htmlFor: "bio", children: t("templates.forms.bio") }),
|
|
2317
2334
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2318
2335
|
richTextEditor.Textarea,
|
|
2319
2336
|
{
|
|
2320
2337
|
id: "bio",
|
|
2321
|
-
placeholder: "
|
|
2338
|
+
placeholder: t("templates.forms.bioPlaceholder"),
|
|
2322
2339
|
rows: 4
|
|
2323
2340
|
}
|
|
2324
2341
|
)
|
|
2325
2342
|
] }),
|
|
2326
2343
|
/* @__PURE__ */ jsxRuntime.jsx(alertDialog.Separator, {}),
|
|
2327
2344
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
|
|
2328
|
-
/* @__PURE__ */ jsxRuntime.jsx("h4", { children: "
|
|
2345
|
+
/* @__PURE__ */ jsxRuntime.jsx("h4", { children: t("templates.forms.preferences") }),
|
|
2329
2346
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-3", children: [
|
|
2330
2347
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center space-x-2", children: [
|
|
2331
2348
|
/* @__PURE__ */ jsxRuntime.jsx(alertDialog.Checkbox, { id: "newsletter" }),
|
|
2332
|
-
/* @__PURE__ */ jsxRuntime.jsx(alertDialog.Label, { htmlFor: "newsletter", className: "font-normal", children: "
|
|
2349
|
+
/* @__PURE__ */ jsxRuntime.jsx(alertDialog.Label, { htmlFor: "newsletter", className: "font-normal", children: t("templates.forms.newsletter") })
|
|
2333
2350
|
] }),
|
|
2334
2351
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center space-x-2", children: [
|
|
2335
2352
|
/* @__PURE__ */ jsxRuntime.jsx(alertDialog.Checkbox, { id: "notifications" }),
|
|
2336
|
-
/* @__PURE__ */ jsxRuntime.jsx(alertDialog.Label, { htmlFor: "notifications", className: "font-normal", children: "
|
|
2353
|
+
/* @__PURE__ */ jsxRuntime.jsx(alertDialog.Label, { htmlFor: "notifications", className: "font-normal", children: t("templates.forms.pushNotifications") })
|
|
2337
2354
|
] }),
|
|
2338
2355
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center space-x-2", children: [
|
|
2339
2356
|
/* @__PURE__ */ jsxRuntime.jsx(alertDialog.Checkbox, { id: "updates" }),
|
|
2340
|
-
/* @__PURE__ */ jsxRuntime.jsx(alertDialog.Label, { htmlFor: "updates", className: "font-normal", children: "
|
|
2357
|
+
/* @__PURE__ */ jsxRuntime.jsx(alertDialog.Label, { htmlFor: "updates", className: "font-normal", children: t("templates.forms.featureUpdates") })
|
|
2341
2358
|
] })
|
|
2342
2359
|
] }),
|
|
2343
2360
|
/* @__PURE__ */ jsxRuntime.jsx(alertDialog.Separator, {}),
|
|
2344
2361
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-3", children: [
|
|
2345
|
-
/* @__PURE__ */ jsxRuntime.jsx(alertDialog.Label, { children: "
|
|
2346
|
-
/* @__PURE__ */ jsxRuntime.jsxs(alertDialog.RadioGroup, { defaultValue: "personal", "aria-label": "
|
|
2362
|
+
/* @__PURE__ */ jsxRuntime.jsx(alertDialog.Label, { children: t("templates.forms.accountType") }),
|
|
2363
|
+
/* @__PURE__ */ jsxRuntime.jsxs(alertDialog.RadioGroup, { defaultValue: "personal", "aria-label": t("templates.forms.accountType"), children: [
|
|
2347
2364
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center space-x-2", children: [
|
|
2348
2365
|
/* @__PURE__ */ jsxRuntime.jsx(alertDialog.RadioGroupItem, { value: "personal", id: "personal" }),
|
|
2349
|
-
/* @__PURE__ */ jsxRuntime.jsx(alertDialog.Label, { htmlFor: "personal", className: "font-normal", children: "
|
|
2366
|
+
/* @__PURE__ */ jsxRuntime.jsx(alertDialog.Label, { htmlFor: "personal", className: "font-normal", children: t("templates.forms.accountPersonal") })
|
|
2350
2367
|
] }),
|
|
2351
2368
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center space-x-2", children: [
|
|
2352
2369
|
/* @__PURE__ */ jsxRuntime.jsx(alertDialog.RadioGroupItem, { value: "business", id: "business" }),
|
|
2353
|
-
/* @__PURE__ */ jsxRuntime.jsx(alertDialog.Label, { htmlFor: "business", className: "font-normal", children: "
|
|
2370
|
+
/* @__PURE__ */ jsxRuntime.jsx(alertDialog.Label, { htmlFor: "business", className: "font-normal", children: t("templates.forms.accountBusiness") })
|
|
2354
2371
|
] }),
|
|
2355
2372
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center space-x-2", children: [
|
|
2356
2373
|
/* @__PURE__ */ jsxRuntime.jsx(alertDialog.RadioGroupItem, { value: "enterprise", id: "enterprise" }),
|
|
2357
|
-
/* @__PURE__ */ jsxRuntime.jsx(alertDialog.Label, { htmlFor: "enterprise", className: "font-normal", children: "
|
|
2374
|
+
/* @__PURE__ */ jsxRuntime.jsx(alertDialog.Label, { htmlFor: "enterprise", className: "font-normal", children: t("templates.forms.accountEnterprise") })
|
|
2358
2375
|
] })
|
|
2359
2376
|
] })
|
|
2360
2377
|
] })
|
|
2361
2378
|
] })
|
|
2362
2379
|
] }) }),
|
|
2363
2380
|
/* @__PURE__ */ jsxRuntime.jsxs(skeleton.CardFooter, { className: "flex justify-between", children: [
|
|
2364
|
-
/* @__PURE__ */ jsxRuntime.jsx(button.Button, { variant: "outline", children: "
|
|
2365
|
-
/* @__PURE__ */ jsxRuntime.jsx(button.Button, { onClick: handleFormSubmit, children: "
|
|
2381
|
+
/* @__PURE__ */ jsxRuntime.jsx(button.Button, { variant: "outline", children: t("templates.forms.cancel") }),
|
|
2382
|
+
/* @__PURE__ */ jsxRuntime.jsx(button.Button, { onClick: handleFormSubmit, children: t("templates.forms.createAccount") })
|
|
2366
2383
|
] })
|
|
2367
2384
|
] }) }),
|
|
2368
2385
|
/* @__PURE__ */ jsxRuntime.jsx(alertDialog.TabsContent, { value: "data", className: "space-y-4", children: /* @__PURE__ */ jsxRuntime.jsx(SectionErrorBoundary, { children: /* @__PURE__ */ jsxRuntime.jsxs(skeleton.Card, { children: [
|
|
2369
2386
|
/* @__PURE__ */ jsxRuntime.jsxs(skeleton.CardHeader, { children: [
|
|
2370
|
-
/* @__PURE__ */ jsxRuntime.jsx(skeleton.CardTitle, { children: "
|
|
2371
|
-
/* @__PURE__ */ jsxRuntime.jsx(skeleton.CardDescription, { children: "
|
|
2387
|
+
/* @__PURE__ */ jsxRuntime.jsx(skeleton.CardTitle, { children: t("templates.data.title") }),
|
|
2388
|
+
/* @__PURE__ */ jsxRuntime.jsx(skeleton.CardDescription, { children: t("templates.data.description") })
|
|
2372
2389
|
] }),
|
|
2373
2390
|
/* @__PURE__ */ jsxRuntime.jsxs(skeleton.CardContent, { children: [
|
|
2374
2391
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "mb-4", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative", children: [
|
|
@@ -2376,19 +2393,19 @@ function TemplateContent() {
|
|
|
2376
2393
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2377
2394
|
input.Input,
|
|
2378
2395
|
{
|
|
2379
|
-
placeholder: "
|
|
2380
|
-
"aria-label": "
|
|
2396
|
+
placeholder: t("templates.data.searchPlaceholder"),
|
|
2397
|
+
"aria-label": t("templates.data.searchPlaceholder"),
|
|
2381
2398
|
className: "pl-10"
|
|
2382
2399
|
}
|
|
2383
2400
|
)
|
|
2384
2401
|
] }) }),
|
|
2385
2402
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "rounded-[var(--radius-lg)] border border-border overflow-hidden", children: /* @__PURE__ */ jsxRuntime.jsxs(richTextEditor.Table, { children: [
|
|
2386
2403
|
/* @__PURE__ */ jsxRuntime.jsx(richTextEditor.TableHeader, { children: /* @__PURE__ */ jsxRuntime.jsxs(richTextEditor.TableRow, { children: [
|
|
2387
|
-
/* @__PURE__ */ jsxRuntime.jsx(richTextEditor.TableHead, { children:
|
|
2388
|
-
/* @__PURE__ */ jsxRuntime.jsx(richTextEditor.TableHead, { children:
|
|
2389
|
-
/* @__PURE__ */ jsxRuntime.jsx(richTextEditor.TableHead, { children:
|
|
2390
|
-
/* @__PURE__ */ jsxRuntime.jsx(richTextEditor.TableHead, { children:
|
|
2391
|
-
/* @__PURE__ */ jsxRuntime.jsx(richTextEditor.TableHead, { className: "text-right", children:
|
|
2404
|
+
/* @__PURE__ */ jsxRuntime.jsx(richTextEditor.TableHead, { children: t("team.name") }),
|
|
2405
|
+
/* @__PURE__ */ jsxRuntime.jsx(richTextEditor.TableHead, { children: t("team.email") }),
|
|
2406
|
+
/* @__PURE__ */ jsxRuntime.jsx(richTextEditor.TableHead, { children: t("team.role") }),
|
|
2407
|
+
/* @__PURE__ */ jsxRuntime.jsx(richTextEditor.TableHead, { children: t("team.status") }),
|
|
2408
|
+
/* @__PURE__ */ jsxRuntime.jsx(richTextEditor.TableHead, { className: "text-right", children: t("team.actions") })
|
|
2392
2409
|
] }) }),
|
|
2393
2410
|
/* @__PURE__ */ jsxRuntime.jsx(richTextEditor.TableBody, { children: teamLoading ? /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: Array.from({ length: 5 }).map((_, i) => /* @__PURE__ */ jsxRuntime.jsxs(richTextEditor.TableRow, { children: [
|
|
2394
2411
|
/* @__PURE__ */ jsxRuntime.jsx(richTextEditor.TableCell, { children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
|
|
@@ -2402,36 +2419,36 @@ function TemplateContent() {
|
|
|
2402
2419
|
] }, i)) }) : teamMembers.map((member) => /* @__PURE__ */ jsxRuntime.jsxs(richTextEditor.TableRow, { children: [
|
|
2403
2420
|
/* @__PURE__ */ jsxRuntime.jsx(richTextEditor.TableCell, { children: member.name }),
|
|
2404
2421
|
/* @__PURE__ */ jsxRuntime.jsx(richTextEditor.TableCell, { children: member.email }),
|
|
2405
|
-
/* @__PURE__ */ jsxRuntime.jsx(richTextEditor.TableCell, { children:
|
|
2422
|
+
/* @__PURE__ */ jsxRuntime.jsx(richTextEditor.TableCell, { children: t(`team.roles.${member.role}`) }),
|
|
2406
2423
|
/* @__PURE__ */ jsxRuntime.jsx(richTextEditor.TableCell, { children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
2407
2424
|
progress.Badge,
|
|
2408
2425
|
{
|
|
2409
2426
|
variant: member.status === "active" ? "default" : member.status === "away" ? "secondary" : "outline",
|
|
2410
|
-
children:
|
|
2427
|
+
children: t(`common.${member.status}`)
|
|
2411
2428
|
}
|
|
2412
2429
|
) }),
|
|
2413
|
-
/* @__PURE__ */ jsxRuntime.jsx(richTextEditor.TableCell, { className: "text-right", children: /* @__PURE__ */ jsxRuntime.jsx(button.Button, { variant: "ghost", size: "sm", children:
|
|
2430
|
+
/* @__PURE__ */ jsxRuntime.jsx(richTextEditor.TableCell, { className: "text-right", children: /* @__PURE__ */ jsxRuntime.jsx(button.Button, { variant: "ghost", size: "sm", children: t("common.edit") }) })
|
|
2414
2431
|
] }, member.id)) })
|
|
2415
2432
|
] }) })
|
|
2416
2433
|
] }),
|
|
2417
2434
|
/* @__PURE__ */ jsxRuntime.jsxs(skeleton.CardFooter, { className: "flex justify-between items-center", children: [
|
|
2418
|
-
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-muted-foreground", children:
|
|
2435
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-muted-foreground", children: t("team.showing", { count: teamMembers.length, total: teamMembers.length }) }),
|
|
2419
2436
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-2", children: [
|
|
2420
|
-
/* @__PURE__ */ jsxRuntime.jsx(button.Button, { variant: "outline", size: "sm", children: "
|
|
2421
|
-
/* @__PURE__ */ jsxRuntime.jsx(button.Button, { variant: "outline", size: "sm", children: "
|
|
2437
|
+
/* @__PURE__ */ jsxRuntime.jsx(button.Button, { variant: "outline", size: "sm", children: t("common.previous") }),
|
|
2438
|
+
/* @__PURE__ */ jsxRuntime.jsx(button.Button, { variant: "outline", size: "sm", children: t("common.next") })
|
|
2422
2439
|
] })
|
|
2423
2440
|
] })
|
|
2424
2441
|
] }) }) }),
|
|
2425
2442
|
/* @__PURE__ */ jsxRuntime.jsx(alertDialog.TabsContent, { value: "settings", className: "space-y-4", children: /* @__PURE__ */ jsxRuntime.jsxs(skeleton.Card, { children: [
|
|
2426
2443
|
/* @__PURE__ */ jsxRuntime.jsxs(skeleton.CardHeader, { children: [
|
|
2427
|
-
/* @__PURE__ */ jsxRuntime.jsx(skeleton.CardTitle, { children: "
|
|
2428
|
-
/* @__PURE__ */ jsxRuntime.jsx(skeleton.CardDescription, { children: "
|
|
2444
|
+
/* @__PURE__ */ jsxRuntime.jsx(skeleton.CardTitle, { children: t("templates.settings.title") }),
|
|
2445
|
+
/* @__PURE__ */ jsxRuntime.jsx(skeleton.CardDescription, { children: t("templates.settings.description") })
|
|
2429
2446
|
] }),
|
|
2430
2447
|
/* @__PURE__ */ jsxRuntime.jsxs(skeleton.CardContent, { className: "space-y-6", children: [
|
|
2431
2448
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between", children: [
|
|
2432
2449
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-1", children: [
|
|
2433
|
-
/* @__PURE__ */ jsxRuntime.jsx(alertDialog.Label, { htmlFor: "dark-mode", children: "
|
|
2434
|
-
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-muted-foreground", children: "
|
|
2450
|
+
/* @__PURE__ */ jsxRuntime.jsx(alertDialog.Label, { htmlFor: "dark-mode", children: t("templates.settings.darkMode") }),
|
|
2451
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-muted-foreground", children: t("templates.settings.darkModeDescription") })
|
|
2435
2452
|
] }),
|
|
2436
2453
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2437
2454
|
alertDialog.Switch,
|
|
@@ -2445,62 +2462,62 @@ function TemplateContent() {
|
|
|
2445
2462
|
/* @__PURE__ */ jsxRuntime.jsx(alertDialog.Separator, {}),
|
|
2446
2463
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between", children: [
|
|
2447
2464
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-1", children: [
|
|
2448
|
-
/* @__PURE__ */ jsxRuntime.jsx(alertDialog.Label, { htmlFor: "email-notifications", children: "
|
|
2449
|
-
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-muted-foreground", children: "
|
|
2465
|
+
/* @__PURE__ */ jsxRuntime.jsx(alertDialog.Label, { htmlFor: "email-notifications", children: t("templates.settings.emailNotifications") }),
|
|
2466
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-muted-foreground", children: t("templates.settings.emailNotificationsDescription") })
|
|
2450
2467
|
] }),
|
|
2451
2468
|
/* @__PURE__ */ jsxRuntime.jsx(alertDialog.Switch, { id: "email-notifications", defaultChecked: true })
|
|
2452
2469
|
] }),
|
|
2453
2470
|
/* @__PURE__ */ jsxRuntime.jsx(alertDialog.Separator, {}),
|
|
2454
2471
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between", children: [
|
|
2455
2472
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-1", children: [
|
|
2456
|
-
/* @__PURE__ */ jsxRuntime.jsx(alertDialog.Label, { htmlFor: "push-notifications", children: "
|
|
2457
|
-
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-muted-foreground", children: "
|
|
2473
|
+
/* @__PURE__ */ jsxRuntime.jsx(alertDialog.Label, { htmlFor: "push-notifications", children: t("templates.settings.pushNotifications") }),
|
|
2474
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-muted-foreground", children: t("templates.settings.pushNotificationsDescription") })
|
|
2458
2475
|
] }),
|
|
2459
2476
|
/* @__PURE__ */ jsxRuntime.jsx(alertDialog.Switch, { id: "push-notifications" })
|
|
2460
2477
|
] }),
|
|
2461
2478
|
/* @__PURE__ */ jsxRuntime.jsx(alertDialog.Separator, {}),
|
|
2462
2479
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-3", children: [
|
|
2463
|
-
/* @__PURE__ */ jsxRuntime.jsx(alertDialog.Label, { children: "
|
|
2480
|
+
/* @__PURE__ */ jsxRuntime.jsx(alertDialog.Label, { children: t("templates.settings.language") }),
|
|
2464
2481
|
/* @__PURE__ */ jsxRuntime.jsxs(select.Select, { defaultValue: "pt-br", children: [
|
|
2465
|
-
/* @__PURE__ */ jsxRuntime.jsx(select.SelectTrigger, { "aria-label": "
|
|
2482
|
+
/* @__PURE__ */ jsxRuntime.jsx(select.SelectTrigger, { "aria-label": t("templates.settings.language"), children: /* @__PURE__ */ jsxRuntime.jsx(select.SelectValue, {}) }),
|
|
2466
2483
|
/* @__PURE__ */ jsxRuntime.jsxs(select.SelectContent, { children: [
|
|
2467
|
-
/* @__PURE__ */ jsxRuntime.jsx(select.SelectItem, { value: "pt-br", children: "
|
|
2468
|
-
/* @__PURE__ */ jsxRuntime.jsx(select.SelectItem, { value: "en", children: "
|
|
2469
|
-
/* @__PURE__ */ jsxRuntime.jsx(select.SelectItem, { value: "es", children: "
|
|
2484
|
+
/* @__PURE__ */ jsxRuntime.jsx(select.SelectItem, { value: "pt-br", children: t("templates.settings.languages.ptBR") }),
|
|
2485
|
+
/* @__PURE__ */ jsxRuntime.jsx(select.SelectItem, { value: "en", children: t("templates.settings.languages.en") }),
|
|
2486
|
+
/* @__PURE__ */ jsxRuntime.jsx(select.SelectItem, { value: "es", children: t("templates.settings.languages.es") })
|
|
2470
2487
|
] })
|
|
2471
2488
|
] })
|
|
2472
2489
|
] }),
|
|
2473
2490
|
/* @__PURE__ */ jsxRuntime.jsx(alertDialog.Separator, {}),
|
|
2474
2491
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-3", children: [
|
|
2475
|
-
/* @__PURE__ */ jsxRuntime.jsx(alertDialog.Label, { children: "
|
|
2492
|
+
/* @__PURE__ */ jsxRuntime.jsx(alertDialog.Label, { children: t("templates.settings.timezone") }),
|
|
2476
2493
|
/* @__PURE__ */ jsxRuntime.jsxs(select.Select, { defaultValue: "america-sao-paulo", children: [
|
|
2477
|
-
/* @__PURE__ */ jsxRuntime.jsx(select.SelectTrigger, { "aria-label": "
|
|
2494
|
+
/* @__PURE__ */ jsxRuntime.jsx(select.SelectTrigger, { "aria-label": t("templates.settings.timezone"), children: /* @__PURE__ */ jsxRuntime.jsx(select.SelectValue, {}) }),
|
|
2478
2495
|
/* @__PURE__ */ jsxRuntime.jsxs(select.SelectContent, { children: [
|
|
2479
|
-
/* @__PURE__ */ jsxRuntime.jsx(select.SelectItem, { value: "america-sao-paulo", children: "
|
|
2480
|
-
/* @__PURE__ */ jsxRuntime.jsx(select.SelectItem, { value: "america-new-york", children: "
|
|
2481
|
-
/* @__PURE__ */ jsxRuntime.jsx(select.SelectItem, { value: "europe-london", children: "
|
|
2496
|
+
/* @__PURE__ */ jsxRuntime.jsx(select.SelectItem, { value: "america-sao-paulo", children: t("templates.settings.timezones.saoPaulo") }),
|
|
2497
|
+
/* @__PURE__ */ jsxRuntime.jsx(select.SelectItem, { value: "america-new-york", children: t("templates.settings.timezones.newYork") }),
|
|
2498
|
+
/* @__PURE__ */ jsxRuntime.jsx(select.SelectItem, { value: "europe-london", children: t("templates.settings.timezones.london") })
|
|
2482
2499
|
] })
|
|
2483
2500
|
] })
|
|
2484
2501
|
] })
|
|
2485
2502
|
] }),
|
|
2486
2503
|
/* @__PURE__ */ jsxRuntime.jsxs(skeleton.CardFooter, { className: "flex justify-between", children: [
|
|
2487
|
-
/* @__PURE__ */ jsxRuntime.jsx(button.Button, { variant: "outline", children: "
|
|
2488
|
-
/* @__PURE__ */ jsxRuntime.jsx(button.Button, { children: "
|
|
2504
|
+
/* @__PURE__ */ jsxRuntime.jsx(button.Button, { variant: "outline", children: t("templates.settings.restoreDefaults") }),
|
|
2505
|
+
/* @__PURE__ */ jsxRuntime.jsx(button.Button, { children: t("templates.settings.saveChanges") })
|
|
2489
2506
|
] })
|
|
2490
2507
|
] }) })
|
|
2491
2508
|
] })
|
|
2492
2509
|
] }),
|
|
2493
2510
|
/* @__PURE__ */ jsxRuntime.jsx(alertDialog.Separator, { className: "my-8" }),
|
|
2494
2511
|
/* @__PURE__ */ jsxRuntime.jsxs("section", { children: [
|
|
2495
|
-
/* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mb-4", children: "
|
|
2512
|
+
/* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mb-4", children: t("templates.sections.buttons") }),
|
|
2496
2513
|
/* @__PURE__ */ jsxRuntime.jsxs(skeleton.Card, { children: [
|
|
2497
2514
|
/* @__PURE__ */ jsxRuntime.jsxs(skeleton.CardHeader, { children: [
|
|
2498
|
-
/* @__PURE__ */ jsxRuntime.jsx(skeleton.CardTitle, { children: "
|
|
2499
|
-
/* @__PURE__ */ jsxRuntime.jsx(skeleton.CardDescription, { children: "
|
|
2515
|
+
/* @__PURE__ */ jsxRuntime.jsx(skeleton.CardTitle, { children: t("templates.buttons.title") }),
|
|
2516
|
+
/* @__PURE__ */ jsxRuntime.jsx(skeleton.CardDescription, { children: t("templates.buttons.description") })
|
|
2500
2517
|
] }),
|
|
2501
2518
|
/* @__PURE__ */ jsxRuntime.jsxs(skeleton.CardContent, { className: "space-y-6", children: [
|
|
2502
2519
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-3", children: [
|
|
2503
|
-
/* @__PURE__ */ jsxRuntime.jsx(alertDialog.Label, { children: "
|
|
2520
|
+
/* @__PURE__ */ jsxRuntime.jsx(alertDialog.Label, { children: t("templates.buttons.variants") }),
|
|
2504
2521
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-wrap gap-3", children: [
|
|
2505
2522
|
/* @__PURE__ */ jsxRuntime.jsx(button.Button, { variant: "default", children: "Default" }),
|
|
2506
2523
|
/* @__PURE__ */ jsxRuntime.jsx(button.Button, { variant: "secondary", children: "Secondary" }),
|
|
@@ -2512,38 +2529,38 @@ function TemplateContent() {
|
|
|
2512
2529
|
] }),
|
|
2513
2530
|
/* @__PURE__ */ jsxRuntime.jsx(alertDialog.Separator, {}),
|
|
2514
2531
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-3", children: [
|
|
2515
|
-
/* @__PURE__ */ jsxRuntime.jsx(alertDialog.Label, { children: "
|
|
2532
|
+
/* @__PURE__ */ jsxRuntime.jsx(alertDialog.Label, { children: t("templates.buttons.sizes") }),
|
|
2516
2533
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-wrap items-center gap-3", children: [
|
|
2517
2534
|
/* @__PURE__ */ jsxRuntime.jsx(button.Button, { size: "sm", children: "Small" }),
|
|
2518
2535
|
/* @__PURE__ */ jsxRuntime.jsx(button.Button, { size: "default", children: "Default" }),
|
|
2519
2536
|
/* @__PURE__ */ jsxRuntime.jsx(button.Button, { size: "lg", children: "Large" }),
|
|
2520
|
-
/* @__PURE__ */ jsxRuntime.jsx(button.Button, { size: "icon", "aria-label": "
|
|
2537
|
+
/* @__PURE__ */ jsxRuntime.jsx(button.Button, { size: "icon", "aria-label": t("nav.settings"), children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Settings, { className: "h-4 w-4" }) })
|
|
2521
2538
|
] })
|
|
2522
2539
|
] }),
|
|
2523
2540
|
/* @__PURE__ */ jsxRuntime.jsx(alertDialog.Separator, {}),
|
|
2524
2541
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-3", children: [
|
|
2525
|
-
/* @__PURE__ */ jsxRuntime.jsx(alertDialog.Label, { children: "
|
|
2542
|
+
/* @__PURE__ */ jsxRuntime.jsx(alertDialog.Label, { children: t("templates.buttons.withIcons") }),
|
|
2526
2543
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-wrap gap-3", children: [
|
|
2527
2544
|
/* @__PURE__ */ jsxRuntime.jsxs(button.Button, { children: [
|
|
2528
2545
|
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.User, { className: "mr-2 h-4 w-4" }),
|
|
2529
|
-
"
|
|
2546
|
+
t("templates.buttons.profile")
|
|
2530
2547
|
] }),
|
|
2531
2548
|
/* @__PURE__ */ jsxRuntime.jsxs(button.Button, { variant: "secondary", children: [
|
|
2532
2549
|
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.Mail, { className: "mr-2 h-4 w-4" }),
|
|
2533
|
-
"
|
|
2550
|
+
t("templates.buttons.messages")
|
|
2534
2551
|
] }),
|
|
2535
2552
|
/* @__PURE__ */ jsxRuntime.jsxs(button.Button, { variant: "outline", children: [
|
|
2536
2553
|
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.Calendar, { className: "mr-2 h-4 w-4" }),
|
|
2537
|
-
"
|
|
2554
|
+
t("templates.buttons.schedule")
|
|
2538
2555
|
] })
|
|
2539
2556
|
] })
|
|
2540
2557
|
] }),
|
|
2541
2558
|
/* @__PURE__ */ jsxRuntime.jsx(alertDialog.Separator, {}),
|
|
2542
2559
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-3", children: [
|
|
2543
|
-
/* @__PURE__ */ jsxRuntime.jsx(alertDialog.Label, { children: "
|
|
2560
|
+
/* @__PURE__ */ jsxRuntime.jsx(alertDialog.Label, { children: t("templates.buttons.states") }),
|
|
2544
2561
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-wrap gap-3", children: [
|
|
2545
|
-
/* @__PURE__ */ jsxRuntime.jsx(button.Button, { disabled: true, children: "
|
|
2546
|
-
/* @__PURE__ */ jsxRuntime.jsx(button.Button, { variant: "outline", disabled: true, children: "
|
|
2562
|
+
/* @__PURE__ */ jsxRuntime.jsx(button.Button, { disabled: true, children: t("templates.buttons.disabled") }),
|
|
2563
|
+
/* @__PURE__ */ jsxRuntime.jsx(button.Button, { variant: "outline", disabled: true, children: t("templates.buttons.outlineDisabled") })
|
|
2547
2564
|
] })
|
|
2548
2565
|
] })
|
|
2549
2566
|
] })
|
|
@@ -2551,68 +2568,68 @@ function TemplateContent() {
|
|
|
2551
2568
|
] }),
|
|
2552
2569
|
/* @__PURE__ */ jsxRuntime.jsx(alertDialog.Separator, { className: "my-8" }),
|
|
2553
2570
|
/* @__PURE__ */ jsxRuntime.jsxs("section", { children: [
|
|
2554
|
-
/* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mb-4", children: "
|
|
2571
|
+
/* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mb-4", children: t("templates.sections.badges") }),
|
|
2555
2572
|
/* @__PURE__ */ jsxRuntime.jsxs(skeleton.Card, { children: [
|
|
2556
2573
|
/* @__PURE__ */ jsxRuntime.jsxs(skeleton.CardHeader, { children: [
|
|
2557
|
-
/* @__PURE__ */ jsxRuntime.jsx(skeleton.CardTitle, { children: "
|
|
2558
|
-
/* @__PURE__ */ jsxRuntime.jsx(skeleton.CardDescription, { children: "
|
|
2574
|
+
/* @__PURE__ */ jsxRuntime.jsx(skeleton.CardTitle, { children: t("templates.badges.title") }),
|
|
2575
|
+
/* @__PURE__ */ jsxRuntime.jsx(skeleton.CardDescription, { children: t("templates.badges.description") })
|
|
2559
2576
|
] }),
|
|
2560
2577
|
/* @__PURE__ */ jsxRuntime.jsx(skeleton.CardContent, { children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-wrap gap-3", children: [
|
|
2561
|
-
/* @__PURE__ */ jsxRuntime.jsx(progress.Badge, { variant: "default", children: "
|
|
2562
|
-
/* @__PURE__ */ jsxRuntime.jsx(progress.Badge, { variant: "secondary", children: "
|
|
2563
|
-
/* @__PURE__ */ jsxRuntime.jsx(progress.Badge, { variant: "outline", children: "
|
|
2564
|
-
/* @__PURE__ */ jsxRuntime.jsx(progress.Badge, { variant: "destructive", children: "
|
|
2565
|
-
/* @__PURE__ */ jsxRuntime.jsx(progress.Badge, { className: "bg-success text-success-foreground", children: "
|
|
2566
|
-
/* @__PURE__ */ jsxRuntime.jsx(progress.Badge, { className: "bg-warning text-warning-foreground", children: "
|
|
2578
|
+
/* @__PURE__ */ jsxRuntime.jsx(progress.Badge, { variant: "default", children: "Default" }),
|
|
2579
|
+
/* @__PURE__ */ jsxRuntime.jsx(progress.Badge, { variant: "secondary", children: "Secondary" }),
|
|
2580
|
+
/* @__PURE__ */ jsxRuntime.jsx(progress.Badge, { variant: "outline", children: "Outline" }),
|
|
2581
|
+
/* @__PURE__ */ jsxRuntime.jsx(progress.Badge, { variant: "destructive", children: "Destructive" }),
|
|
2582
|
+
/* @__PURE__ */ jsxRuntime.jsx(progress.Badge, { className: "bg-success text-success-foreground", children: "Success" }),
|
|
2583
|
+
/* @__PURE__ */ jsxRuntime.jsx(progress.Badge, { className: "bg-warning text-warning-foreground", children: "Warning" }),
|
|
2567
2584
|
/* @__PURE__ */ jsxRuntime.jsx(progress.Badge, { className: "bg-info text-info-foreground", children: "Info" })
|
|
2568
2585
|
] }) })
|
|
2569
2586
|
] })
|
|
2570
2587
|
] }),
|
|
2571
2588
|
/* @__PURE__ */ jsxRuntime.jsx(alertDialog.Separator, { className: "my-8" }),
|
|
2572
2589
|
/* @__PURE__ */ jsxRuntime.jsxs("section", { children: [
|
|
2573
|
-
/* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mb-4", children: "
|
|
2590
|
+
/* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mb-4", children: t("templates.sections.dialogs") }),
|
|
2574
2591
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid gap-4 md:grid-cols-2", children: [
|
|
2575
2592
|
/* @__PURE__ */ jsxRuntime.jsxs(skeleton.Card, { children: [
|
|
2576
2593
|
/* @__PURE__ */ jsxRuntime.jsxs(skeleton.CardHeader, { children: [
|
|
2577
|
-
/* @__PURE__ */ jsxRuntime.jsx(skeleton.CardTitle, { children: "
|
|
2578
|
-
/* @__PURE__ */ jsxRuntime.jsx(skeleton.CardDescription, { children: "
|
|
2594
|
+
/* @__PURE__ */ jsxRuntime.jsx(skeleton.CardTitle, { children: t("templates.dialogs.dialogTitle") }),
|
|
2595
|
+
/* @__PURE__ */ jsxRuntime.jsx(skeleton.CardDescription, { children: t("templates.dialogs.dialogDescription") })
|
|
2579
2596
|
] }),
|
|
2580
2597
|
/* @__PURE__ */ jsxRuntime.jsx(skeleton.CardContent, { className: "flex justify-center py-6", children: /* @__PURE__ */ jsxRuntime.jsxs(richTextEditor.Dialog, { children: [
|
|
2581
|
-
/* @__PURE__ */ jsxRuntime.jsx(richTextEditor.DialogTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(button.Button, { variant: "outline", children: "
|
|
2598
|
+
/* @__PURE__ */ jsxRuntime.jsx(richTextEditor.DialogTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(button.Button, { variant: "outline", children: t("templates.dialogs.editProfile") }) }),
|
|
2582
2599
|
/* @__PURE__ */ jsxRuntime.jsxs(richTextEditor.DialogContent, { className: "sm:max-w-[425px]", children: [
|
|
2583
2600
|
/* @__PURE__ */ jsxRuntime.jsxs(richTextEditor.DialogHeader, { children: [
|
|
2584
|
-
/* @__PURE__ */ jsxRuntime.jsx(richTextEditor.DialogTitle, { children: "
|
|
2585
|
-
/* @__PURE__ */ jsxRuntime.jsx(richTextEditor.DialogDescription, { children: "
|
|
2601
|
+
/* @__PURE__ */ jsxRuntime.jsx(richTextEditor.DialogTitle, { children: t("templates.dialogs.editProfile") }),
|
|
2602
|
+
/* @__PURE__ */ jsxRuntime.jsx(richTextEditor.DialogDescription, { children: t("templates.dialogs.editProfileDescription") })
|
|
2586
2603
|
] }),
|
|
2587
2604
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid gap-4 py-4", children: [
|
|
2588
2605
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-4 items-center gap-4", children: [
|
|
2589
|
-
/* @__PURE__ */ jsxRuntime.jsx(alertDialog.Label, { htmlFor: "name", className: "text-right", children: "
|
|
2606
|
+
/* @__PURE__ */ jsxRuntime.jsx(alertDialog.Label, { htmlFor: "name", className: "text-right", children: t("templates.dialogs.name") }),
|
|
2590
2607
|
/* @__PURE__ */ jsxRuntime.jsx(input.Input, { id: "name", defaultValue: "John Doe", className: "col-span-3" })
|
|
2591
2608
|
] }),
|
|
2592
2609
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-4 items-center gap-4", children: [
|
|
2593
|
-
/* @__PURE__ */ jsxRuntime.jsx(alertDialog.Label, { htmlFor: "username", className: "text-right", children: "
|
|
2610
|
+
/* @__PURE__ */ jsxRuntime.jsx(alertDialog.Label, { htmlFor: "username", className: "text-right", children: t("templates.dialogs.username") }),
|
|
2594
2611
|
/* @__PURE__ */ jsxRuntime.jsx(input.Input, { id: "username", defaultValue: "@johndoe", className: "col-span-3" })
|
|
2595
2612
|
] })
|
|
2596
2613
|
] }),
|
|
2597
|
-
/* @__PURE__ */ jsxRuntime.jsx(richTextEditor.DialogFooter, { children: /* @__PURE__ */ jsxRuntime.jsx(button.Button, { type: "submit", children: "
|
|
2614
|
+
/* @__PURE__ */ jsxRuntime.jsx(richTextEditor.DialogFooter, { children: /* @__PURE__ */ jsxRuntime.jsx(button.Button, { type: "submit", children: t("templates.dialogs.update") }) })
|
|
2598
2615
|
] })
|
|
2599
2616
|
] }) })
|
|
2600
2617
|
] }),
|
|
2601
2618
|
/* @__PURE__ */ jsxRuntime.jsxs(skeleton.Card, { children: [
|
|
2602
2619
|
/* @__PURE__ */ jsxRuntime.jsxs(skeleton.CardHeader, { children: [
|
|
2603
|
-
/* @__PURE__ */ jsxRuntime.jsx(skeleton.CardTitle, { children: "
|
|
2604
|
-
/* @__PURE__ */ jsxRuntime.jsx(skeleton.CardDescription, { children: "
|
|
2620
|
+
/* @__PURE__ */ jsxRuntime.jsx(skeleton.CardTitle, { children: t("templates.dialogs.alertDialogTitle") }),
|
|
2621
|
+
/* @__PURE__ */ jsxRuntime.jsx(skeleton.CardDescription, { children: t("templates.dialogs.alertDialogDescription") })
|
|
2605
2622
|
] }),
|
|
2606
2623
|
/* @__PURE__ */ jsxRuntime.jsx(skeleton.CardContent, { className: "flex justify-center py-6", children: /* @__PURE__ */ jsxRuntime.jsxs(alertDialog.AlertDialog, { children: [
|
|
2607
|
-
/* @__PURE__ */ jsxRuntime.jsx(alertDialog.AlertDialogTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(button.Button, { variant: "destructive", children: "
|
|
2624
|
+
/* @__PURE__ */ jsxRuntime.jsx(alertDialog.AlertDialogTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(button.Button, { variant: "destructive", children: t("templates.dialogs.deleteAccount") }) }),
|
|
2608
2625
|
/* @__PURE__ */ jsxRuntime.jsxs(alertDialog.AlertDialogContent, { className: "sm:max-w-[425px]", children: [
|
|
2609
2626
|
/* @__PURE__ */ jsxRuntime.jsxs(alertDialog.AlertDialogHeader, { children: [
|
|
2610
|
-
/* @__PURE__ */ jsxRuntime.jsx(alertDialog.AlertDialogTitle, { children: "
|
|
2611
|
-
/* @__PURE__ */ jsxRuntime.jsx(alertDialog.AlertDialogDescription, { children: "
|
|
2627
|
+
/* @__PURE__ */ jsxRuntime.jsx(alertDialog.AlertDialogTitle, { children: t("templates.dialogs.areYouSure") }),
|
|
2628
|
+
/* @__PURE__ */ jsxRuntime.jsx(alertDialog.AlertDialogDescription, { children: t("templates.dialogs.deleteWarning") })
|
|
2612
2629
|
] }),
|
|
2613
2630
|
/* @__PURE__ */ jsxRuntime.jsxs(alertDialog.AlertDialogFooter, { children: [
|
|
2614
|
-
/* @__PURE__ */ jsxRuntime.jsx(alertDialog.AlertDialogCancel, { children: "
|
|
2615
|
-
/* @__PURE__ */ jsxRuntime.jsx(alertDialog.AlertDialogAction, { className: "bg-destructive text-destructive-foreground hover:bg-destructive/90", children: "
|
|
2631
|
+
/* @__PURE__ */ jsxRuntime.jsx(alertDialog.AlertDialogCancel, { children: t("templates.dialogs.cancel") }),
|
|
2632
|
+
/* @__PURE__ */ jsxRuntime.jsx(alertDialog.AlertDialogAction, { className: "bg-destructive text-destructive-foreground hover:bg-destructive/90", children: t("templates.dialogs.continue") })
|
|
2616
2633
|
] })
|
|
2617
2634
|
] })
|
|
2618
2635
|
] }) })
|
|
@@ -2623,15 +2640,15 @@ function TemplateContent() {
|
|
|
2623
2640
|
/* @__PURE__ */ jsxRuntime.jsx("section", { children: /* @__PURE__ */ jsxRuntime.jsx(MapShowcase, {}) }),
|
|
2624
2641
|
/* @__PURE__ */ jsxRuntime.jsx(alertDialog.Separator, { className: "my-8" }),
|
|
2625
2642
|
/* @__PURE__ */ jsxRuntime.jsxs("section", { children: [
|
|
2626
|
-
/* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mb-4", children: "
|
|
2643
|
+
/* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mb-4", children: t("templates.headerVariations.sectionTitle") }),
|
|
2627
2644
|
/* @__PURE__ */ jsxRuntime.jsxs(skeleton.Card, { children: [
|
|
2628
2645
|
/* @__PURE__ */ jsxRuntime.jsxs(skeleton.CardHeader, { children: [
|
|
2629
|
-
/* @__PURE__ */ jsxRuntime.jsx(skeleton.CardTitle, { children: "
|
|
2630
|
-
/* @__PURE__ */ jsxRuntime.jsx(skeleton.CardDescription, { children: "
|
|
2646
|
+
/* @__PURE__ */ jsxRuntime.jsx(skeleton.CardTitle, { children: t("templates.headerVariations.cardTitle") }),
|
|
2647
|
+
/* @__PURE__ */ jsxRuntime.jsx(skeleton.CardDescription, { children: t("templates.headerVariations.cardDescription") })
|
|
2631
2648
|
] }),
|
|
2632
2649
|
/* @__PURE__ */ jsxRuntime.jsxs(skeleton.CardContent, { className: "space-y-6", children: [
|
|
2633
2650
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "p-4 border rounded-[var(--radius-lg)] bg-muted/30", children: [
|
|
2634
|
-
/* @__PURE__ */ jsxRuntime.jsx("h4", { className: "text-sm font-semibold mb-4", children: "
|
|
2651
|
+
/* @__PURE__ */ jsxRuntime.jsx("h4", { className: "text-sm font-semibold mb-4", children: t("templates.headerVariations.visibleElements") }),
|
|
2635
2652
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-1 sm:grid-cols-2 md:grid-cols-3 gap-6", children: [
|
|
2636
2653
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center space-x-2", children: [
|
|
2637
2654
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -2642,7 +2659,7 @@ function TemplateContent() {
|
|
|
2642
2659
|
onCheckedChange: setShowHeaderActions
|
|
2643
2660
|
}
|
|
2644
2661
|
),
|
|
2645
|
-
/* @__PURE__ */ jsxRuntime.jsx(alertDialog.Label, { htmlFor: "header-actions", className: "cursor-pointer", children: "
|
|
2662
|
+
/* @__PURE__ */ jsxRuntime.jsx(alertDialog.Label, { htmlFor: "header-actions", className: "cursor-pointer", children: t("templates.headerVariations.actionButtons") })
|
|
2646
2663
|
] }),
|
|
2647
2664
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center space-x-2", children: [
|
|
2648
2665
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -2653,60 +2670,60 @@ function TemplateContent() {
|
|
|
2653
2670
|
onCheckedChange: setShowHeaderBreadcrumbs
|
|
2654
2671
|
}
|
|
2655
2672
|
),
|
|
2656
|
-
/* @__PURE__ */ jsxRuntime.jsx(alertDialog.Label, { htmlFor: "header-bread", className: "cursor-pointer", children: "
|
|
2673
|
+
/* @__PURE__ */ jsxRuntime.jsx(alertDialog.Label, { htmlFor: "header-bread", className: "cursor-pointer", children: t("templates.headerVariations.breadcrumbsLabel") })
|
|
2657
2674
|
] })
|
|
2658
2675
|
] })
|
|
2659
2676
|
] }),
|
|
2660
2677
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative border rounded-[var(--radius-lg)] bg-muted/10 overflow-hidden shadow-inner", children: [
|
|
2661
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "p-4 bg-background/50 border-b text-xs font-mono text-muted-foreground", children: "
|
|
2678
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "p-4 bg-background/50 border-b text-xs font-mono text-muted-foreground", children: t("templates.headerVariations.preview") }),
|
|
2662
2679
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2663
2680
|
sidebar.Header,
|
|
2664
2681
|
{
|
|
2665
|
-
title: !showHeaderBreadcrumbs ? "
|
|
2682
|
+
title: !showHeaderBreadcrumbs ? t("templates.headerVariations.currentPage") : void 0,
|
|
2666
2683
|
breadcrumbs: showHeaderBreadcrumbs ? [
|
|
2667
2684
|
{
|
|
2668
|
-
label: "
|
|
2685
|
+
label: t("templates.headerVariations.breadcrumbBrand"),
|
|
2669
2686
|
href: "#",
|
|
2670
2687
|
icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Home, { className: "w-4 h-4" })
|
|
2671
2688
|
},
|
|
2672
|
-
{ label: "
|
|
2673
|
-
{ label: "
|
|
2689
|
+
{ label: t("templates.headerVariations.breadcrumbSettings"), href: "#" },
|
|
2690
|
+
{ label: t("templates.headerVariations.breadcrumbProfile") }
|
|
2674
2691
|
] : void 0,
|
|
2675
2692
|
actions: showHeaderActions ? [
|
|
2676
2693
|
{
|
|
2677
2694
|
id: "notify",
|
|
2678
2695
|
icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Bell, { className: "w-5 h-5" }),
|
|
2679
|
-
onClick: () => sonner.toast("
|
|
2696
|
+
onClick: () => sonner.toast(t("templates.headerVariations.notificationsOpenedToast"))
|
|
2680
2697
|
},
|
|
2681
2698
|
{
|
|
2682
2699
|
id: "mail",
|
|
2683
|
-
label: "
|
|
2700
|
+
label: t("templates.headerVariations.messagesLabel"),
|
|
2684
2701
|
icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Mail, { className: "w-5 h-5" }),
|
|
2685
|
-
onClick: () => sonner.toast("
|
|
2702
|
+
onClick: () => sonner.toast(t("templates.headerVariations.messagesOpenedToast"))
|
|
2686
2703
|
}
|
|
2687
2704
|
] : void 0
|
|
2688
2705
|
}
|
|
2689
2706
|
),
|
|
2690
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "h-32 flex items-center justify-center text-muted-foreground text-sm italic", children: "
|
|
2707
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "h-32 flex items-center justify-center text-muted-foreground text-sm italic", children: t("templates.headerVariations.contentArea") })
|
|
2691
2708
|
] })
|
|
2692
2709
|
] })
|
|
2693
2710
|
] })
|
|
2694
2711
|
] }),
|
|
2695
2712
|
/* @__PURE__ */ jsxRuntime.jsx(alertDialog.Separator, { className: "my-8" }),
|
|
2696
2713
|
/* @__PURE__ */ jsxRuntime.jsxs("section", { children: [
|
|
2697
|
-
/* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mb-4", children: "
|
|
2714
|
+
/* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mb-4", children: t("templates.sections.sidebarVariations") }),
|
|
2698
2715
|
/* @__PURE__ */ jsxRuntime.jsxs(skeleton.Card, { children: [
|
|
2699
2716
|
/* @__PURE__ */ jsxRuntime.jsxs(skeleton.CardHeader, { children: [
|
|
2700
|
-
/* @__PURE__ */ jsxRuntime.jsx(skeleton.CardTitle, { children: "
|
|
2701
|
-
/* @__PURE__ */ jsxRuntime.jsx(skeleton.CardDescription, { children: "
|
|
2717
|
+
/* @__PURE__ */ jsxRuntime.jsx(skeleton.CardTitle, { children: t("templates.sidebar.title") }),
|
|
2718
|
+
/* @__PURE__ */ jsxRuntime.jsx(skeleton.CardDescription, { children: t("templates.sidebar.description") })
|
|
2702
2719
|
] }),
|
|
2703
2720
|
/* @__PURE__ */ jsxRuntime.jsx(skeleton.CardContent, { children: /* @__PURE__ */ jsxRuntime.jsxs(alertDialog.Tabs, { defaultValue: "assistant", className: "w-full", children: [
|
|
2704
2721
|
/* @__PURE__ */ jsxRuntime.jsxs(alertDialog.TabsList, { className: "mb-4", children: [
|
|
2705
|
-
/* @__PURE__ */ jsxRuntime.jsx(alertDialog.TabsTrigger, { value: "assistant", children: "
|
|
2706
|
-
/* @__PURE__ */ jsxRuntime.jsx(alertDialog.TabsTrigger, { value: "default", children: "
|
|
2722
|
+
/* @__PURE__ */ jsxRuntime.jsx(alertDialog.TabsTrigger, { value: "assistant", children: t("templates.sidebar.assistantMode") }),
|
|
2723
|
+
/* @__PURE__ */ jsxRuntime.jsx(alertDialog.TabsTrigger, { value: "default", children: t("templates.sidebar.defaultMode") })
|
|
2707
2724
|
] }),
|
|
2708
2725
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mb-6 p-4 border rounded-[var(--radius-lg)] bg-muted/30", children: [
|
|
2709
|
-
/* @__PURE__ */ jsxRuntime.jsx("h4", { className: "text-sm font-semibold mb-4", children: "
|
|
2726
|
+
/* @__PURE__ */ jsxRuntime.jsx("h4", { className: "text-sm font-semibold mb-4", children: t("templates.sidebarControls.footerSettings") }),
|
|
2710
2727
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-wrap gap-6 mt-2", children: [
|
|
2711
2728
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center space-x-2", children: [
|
|
2712
2729
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -2717,7 +2734,7 @@ function TemplateContent() {
|
|
|
2717
2734
|
onCheckedChange: setShowSidebarUser
|
|
2718
2735
|
}
|
|
2719
2736
|
),
|
|
2720
|
-
/* @__PURE__ */ jsxRuntime.jsx(alertDialog.Label, { htmlFor: "show-user", className: "cursor-pointer", children: "
|
|
2737
|
+
/* @__PURE__ */ jsxRuntime.jsx(alertDialog.Label, { htmlFor: "show-user", className: "cursor-pointer", children: t("templates.sidebarControls.userProfile") })
|
|
2721
2738
|
] }),
|
|
2722
2739
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center space-x-2", children: [
|
|
2723
2740
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -2728,7 +2745,7 @@ function TemplateContent() {
|
|
|
2728
2745
|
onCheckedChange: setShowSidebarSettings
|
|
2729
2746
|
}
|
|
2730
2747
|
),
|
|
2731
|
-
/* @__PURE__ */ jsxRuntime.jsx(alertDialog.Label, { htmlFor: "show-settings", className: "cursor-pointer", children: "
|
|
2748
|
+
/* @__PURE__ */ jsxRuntime.jsx(alertDialog.Label, { htmlFor: "show-settings", className: "cursor-pointer", children: t("templates.sidebarControls.settings") })
|
|
2732
2749
|
] }),
|
|
2733
2750
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center space-x-2", children: [
|
|
2734
2751
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -2739,12 +2756,12 @@ function TemplateContent() {
|
|
|
2739
2756
|
onCheckedChange: setShowSidebarLogout
|
|
2740
2757
|
}
|
|
2741
2758
|
),
|
|
2742
|
-
/* @__PURE__ */ jsxRuntime.jsx(alertDialog.Label, { htmlFor: "show-logout", className: "cursor-pointer", children: "
|
|
2759
|
+
/* @__PURE__ */ jsxRuntime.jsx(alertDialog.Label, { htmlFor: "show-logout", className: "cursor-pointer", children: t("templates.sidebarControls.logoutButton") })
|
|
2743
2760
|
] })
|
|
2744
2761
|
] }),
|
|
2745
2762
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mt-6 pt-6 border-t", children: [
|
|
2746
2763
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between mb-4", children: [
|
|
2747
|
-
/* @__PURE__ */ jsxRuntime.jsx("h4", { className: "text-sm font-semibold", children: "
|
|
2764
|
+
/* @__PURE__ */ jsxRuntime.jsx("h4", { className: "text-sm font-semibold", children: t("templates.sidebarControls.sidebarWidthDesktop") }),
|
|
2748
2765
|
/* @__PURE__ */ jsxRuntime.jsxs("span", { className: "text-xs font-mono bg-muted px-2 py-1 rounded", children: [
|
|
2749
2766
|
sidebarWidth,
|
|
2750
2767
|
"px"
|
|
@@ -2761,7 +2778,7 @@ function TemplateContent() {
|
|
|
2761
2778
|
max: 450,
|
|
2762
2779
|
step: 10,
|
|
2763
2780
|
className: "flex-1",
|
|
2764
|
-
"aria-label": "
|
|
2781
|
+
"aria-label": t("templates.sidebarControls.sidebarWidthAriaLabel")
|
|
2765
2782
|
}
|
|
2766
2783
|
),
|
|
2767
2784
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs text-muted-foreground w-12", children: "450px" })
|
|
@@ -2782,26 +2799,26 @@ function TemplateContent() {
|
|
|
2782
2799
|
onToggle: () => {
|
|
2783
2800
|
},
|
|
2784
2801
|
user: { email: "admin@xertica.com" },
|
|
2785
|
-
onLogout: () => sonner.toast("
|
|
2802
|
+
onLogout: () => sonner.toast(t("templates.sidebar.logoutToast")),
|
|
2786
2803
|
location: { pathname: "/assistant/current" },
|
|
2787
2804
|
navigate: () => {
|
|
2788
2805
|
},
|
|
2789
2806
|
variant: "assistant",
|
|
2790
2807
|
search: {
|
|
2791
2808
|
show: true,
|
|
2792
|
-
placeholder: "
|
|
2809
|
+
placeholder: t("templates.sidebar.searchTopicsPlaceholder"),
|
|
2793
2810
|
filter: {
|
|
2794
2811
|
show: true,
|
|
2795
2812
|
content: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "p-2 space-y-2", children: [
|
|
2796
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-xs font-semibold uppercase text-muted-foreground px-2", children: "
|
|
2813
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-xs font-semibold uppercase text-muted-foreground px-2", children: t("templates.sidebarControls.filterByStatus") }),
|
|
2797
2814
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-wrap gap-2 p-1", children: [
|
|
2798
|
-
/* @__PURE__ */ jsxRuntime.jsx(progress.Badge, { className: "bg-sidebar-foreground/20 text-sidebar-foreground border-none cursor-pointer hover:bg-sidebar-foreground/30", children: "
|
|
2815
|
+
/* @__PURE__ */ jsxRuntime.jsx(progress.Badge, { className: "bg-sidebar-foreground/20 text-sidebar-foreground border-none cursor-pointer hover:bg-sidebar-foreground/30", children: t("templates.sidebarControls.filterActive") }),
|
|
2799
2816
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2800
2817
|
progress.Badge,
|
|
2801
2818
|
{
|
|
2802
2819
|
variant: "outline",
|
|
2803
2820
|
className: "text-sidebar-foreground/70 border-sidebar-foreground/20 cursor-pointer hover:bg-sidebar-foreground/10",
|
|
2804
|
-
children: "
|
|
2821
|
+
children: t("templates.sidebarControls.filterArchived")
|
|
2805
2822
|
}
|
|
2806
2823
|
),
|
|
2807
2824
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -2809,7 +2826,7 @@ function TemplateContent() {
|
|
|
2809
2826
|
{
|
|
2810
2827
|
variant: "outline",
|
|
2811
2828
|
className: "text-sidebar-foreground/70 border-sidebar-foreground/20 cursor-pointer hover:bg-sidebar-foreground/10",
|
|
2812
|
-
children: "
|
|
2829
|
+
children: t("templates.sidebarControls.filterPending")
|
|
2813
2830
|
}
|
|
2814
2831
|
)
|
|
2815
2832
|
] })
|
|
@@ -2820,47 +2837,47 @@ function TemplateContent() {
|
|
|
2820
2837
|
show: true,
|
|
2821
2838
|
content: /* @__PURE__ */ jsxRuntime.jsxs(button.Button, { className: "w-full bg-sidebar-primary hover:bg-sidebar-primary/90 text-sidebar-primary-foreground shadow-lg font-bold border-none transition-all duration-300 transform hover:scale-[1.02] active:scale-[0.98]", children: [
|
|
2822
2839
|
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.Plus, { className: "w-4 h-4 mr-2" }),
|
|
2823
|
-
"
|
|
2840
|
+
t("templates.sidebar.newConversation")
|
|
2824
2841
|
] })
|
|
2825
2842
|
},
|
|
2826
2843
|
navigationGroups: [
|
|
2827
2844
|
{
|
|
2828
2845
|
id: "recent",
|
|
2829
|
-
label: "
|
|
2846
|
+
label: t("templates.sidebar.recent"),
|
|
2830
2847
|
icon: lucideReact.Clock,
|
|
2831
2848
|
items: [
|
|
2832
2849
|
{
|
|
2833
2850
|
path: "/assistant/refatoracao",
|
|
2834
|
-
label: "
|
|
2835
|
-
description: "
|
|
2851
|
+
label: t("templates.sidebar.items.sidebarRefactor"),
|
|
2852
|
+
description: t("templates.sidebar.items.sidebarRefactorDescription"),
|
|
2836
2853
|
actions: [
|
|
2837
2854
|
{
|
|
2838
|
-
label: "
|
|
2855
|
+
label: t("templates.sidebar.actions.rename"),
|
|
2839
2856
|
icon: lucideReact.FileEdit,
|
|
2840
|
-
onClick: () => sonner.toast("
|
|
2857
|
+
onClick: () => sonner.toast(t("templates.sidebar.actions.renameToast"))
|
|
2841
2858
|
},
|
|
2842
2859
|
{
|
|
2843
|
-
label: "
|
|
2860
|
+
label: t("templates.sidebar.actions.move"),
|
|
2844
2861
|
icon: lucideReact.ArrowRightLeft,
|
|
2845
2862
|
children: [
|
|
2846
2863
|
{
|
|
2847
|
-
label: "
|
|
2848
|
-
onClick: () => sonner.toast("
|
|
2864
|
+
label: t("templates.sidebar.actions.moveActive"),
|
|
2865
|
+
onClick: () => sonner.toast(t("templates.sidebar.actions.moveActiveToast"))
|
|
2849
2866
|
},
|
|
2850
2867
|
{
|
|
2851
|
-
label: "
|
|
2852
|
-
onClick: () => sonner.toast("
|
|
2868
|
+
label: t("templates.sidebar.actions.moveMonitoring"),
|
|
2869
|
+
onClick: () => sonner.toast(t("templates.sidebar.actions.moveMonitoringToast"))
|
|
2853
2870
|
},
|
|
2854
2871
|
{
|
|
2855
|
-
label: "
|
|
2856
|
-
onClick: () => sonner.toast("
|
|
2872
|
+
label: t("templates.sidebar.actions.moveArchive"),
|
|
2873
|
+
onClick: () => sonner.toast(t("templates.sidebar.actions.moveArchiveToast"))
|
|
2857
2874
|
}
|
|
2858
2875
|
]
|
|
2859
2876
|
},
|
|
2860
2877
|
{
|
|
2861
|
-
label: "
|
|
2878
|
+
label: t("templates.sidebar.actions.clear"),
|
|
2862
2879
|
icon: lucideReact.Trash2,
|
|
2863
|
-
onClick: () => sonner.toast("
|
|
2880
|
+
onClick: () => sonner.toast(t("templates.sidebar.actions.clearToast")),
|
|
2864
2881
|
variant: "destructive"
|
|
2865
2882
|
}
|
|
2866
2883
|
]
|
|
@@ -2869,24 +2886,24 @@ function TemplateContent() {
|
|
|
2869
2886
|
},
|
|
2870
2887
|
{
|
|
2871
2888
|
id: "projects",
|
|
2872
|
-
label: "
|
|
2889
|
+
label: t("templates.sidebar.constructionMonitoring"),
|
|
2873
2890
|
icon: lucideReact.Map,
|
|
2874
2891
|
actions: [
|
|
2875
2892
|
{
|
|
2876
|
-
label: "
|
|
2893
|
+
label: t("templates.sidebar.actions.newCategory"),
|
|
2877
2894
|
icon: lucideReact.Plus,
|
|
2878
|
-
onClick: () => sonner.toast("
|
|
2895
|
+
onClick: () => sonner.toast(t("templates.sidebar.actions.newCategoryToast"))
|
|
2879
2896
|
},
|
|
2880
2897
|
{
|
|
2881
|
-
label: "
|
|
2898
|
+
label: t("templates.sidebar.actions.archiveGroup"),
|
|
2882
2899
|
icon: lucideReact.Archive,
|
|
2883
|
-
onClick: () => sonner.toast("
|
|
2900
|
+
onClick: () => sonner.toast(t("templates.sidebar.actions.archiveGroupToast"))
|
|
2884
2901
|
}
|
|
2885
2902
|
],
|
|
2886
2903
|
items: [
|
|
2887
2904
|
{
|
|
2888
2905
|
path: "/assistant/br163",
|
|
2889
|
-
label: "
|
|
2906
|
+
label: t("templates.sidebar.items.br163Restoration"),
|
|
2890
2907
|
icon: () => /* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-2 h-2 rounded-full bg-yellow-500" }),
|
|
2891
2908
|
description: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-1.5 min-w-[160px]", children: [
|
|
2892
2909
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -2897,7 +2914,7 @@ function TemplateContent() {
|
|
|
2897
2914
|
}
|
|
2898
2915
|
),
|
|
2899
2916
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex justify-between items-center text-[10px] text-sidebar-foreground/60", children: [
|
|
2900
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { children: "
|
|
2917
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { children: t("templates.sidebar.items.br163Location") }),
|
|
2901
2918
|
/* @__PURE__ */ jsxRuntime.jsx("span", { children: "67%" })
|
|
2902
2919
|
] })
|
|
2903
2920
|
] })
|
|
@@ -2917,7 +2934,7 @@ function TemplateContent() {
|
|
|
2917
2934
|
{
|
|
2918
2935
|
className: "absolute inset-y-0 right-0 p-8 flex items-center justify-center transition-all duration-300",
|
|
2919
2936
|
style: { left: `${sidebarWidth}px` },
|
|
2920
|
-
children: /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-muted-foreground text-center", children: "
|
|
2937
|
+
children: /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-muted-foreground text-center", children: t("templates.sidebar.assistantContent") })
|
|
2921
2938
|
}
|
|
2922
2939
|
)
|
|
2923
2940
|
]
|
|
@@ -2941,16 +2958,16 @@ function TemplateContent() {
|
|
|
2941
2958
|
email: "admin@xertica.com",
|
|
2942
2959
|
avatar: "https://github.com/shadcn.png"
|
|
2943
2960
|
},
|
|
2944
|
-
onLogout: () => sonner.toast("
|
|
2945
|
-
onSettingsClick: () => sonner.toast("
|
|
2961
|
+
onLogout: () => sonner.toast(t("templates.sidebar.logoutToast")),
|
|
2962
|
+
onSettingsClick: () => sonner.toast(t("templates.sidebar.settingsClickedToast")),
|
|
2946
2963
|
location: { pathname: "/home" },
|
|
2947
2964
|
navigate: () => {
|
|
2948
2965
|
},
|
|
2949
2966
|
variant: "default",
|
|
2950
2967
|
routes: [
|
|
2951
|
-
{ path: "/home", label: "
|
|
2952
|
-
{ path: "/dashboard", label: "
|
|
2953
|
-
{ path: "/settings", label: "
|
|
2968
|
+
{ path: "/home", label: t("templates.sidebar.routes.home"), icon: lucideReact.Home },
|
|
2969
|
+
{ path: "/dashboard", label: t("templates.sidebar.routes.dashboard"), icon: lucideReact.Users },
|
|
2970
|
+
{ path: "/settings", label: t("templates.sidebar.routes.settings"), icon: lucideReact.Settings }
|
|
2954
2971
|
],
|
|
2955
2972
|
footer: {
|
|
2956
2973
|
showUser: showSidebarUser,
|
|
@@ -2964,7 +2981,7 @@ function TemplateContent() {
|
|
|
2964
2981
|
{
|
|
2965
2982
|
className: "absolute inset-y-0 right-0 p-8 flex items-center justify-center transition-all duration-300",
|
|
2966
2983
|
style: { left: `${sidebarWidth}px` },
|
|
2967
|
-
children: /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-muted-foreground text-center", children: "
|
|
2984
|
+
children: /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-muted-foreground text-center", children: t("templates.sidebar.defaultContent") })
|
|
2968
2985
|
}
|
|
2969
2986
|
)
|
|
2970
2987
|
]
|
|
@@ -2976,19 +2993,22 @@ function TemplateContent() {
|
|
|
2976
2993
|
/* @__PURE__ */ jsxRuntime.jsx(alertDialog.Separator, { className: "my-8" }),
|
|
2977
2994
|
/* @__PURE__ */ jsxRuntime.jsxs(skeleton.Card, { className: "mt-8", children: [
|
|
2978
2995
|
/* @__PURE__ */ jsxRuntime.jsxs(skeleton.CardHeader, { children: [
|
|
2979
|
-
/* @__PURE__ */ jsxRuntime.jsx(skeleton.CardTitle, { children: "
|
|
2980
|
-
/* @__PURE__ */ jsxRuntime.jsx(skeleton.CardDescription, { children: "
|
|
2996
|
+
/* @__PURE__ */ jsxRuntime.jsx(skeleton.CardTitle, { children: t("templates.footer.title") }),
|
|
2997
|
+
/* @__PURE__ */ jsxRuntime.jsx(skeleton.CardDescription, { children: t("templates.footer.subtitle") })
|
|
2981
2998
|
] }),
|
|
2982
2999
|
/* @__PURE__ */ jsxRuntime.jsxs(skeleton.CardContent, { className: "space-y-4", children: [
|
|
2983
3000
|
/* @__PURE__ */ jsxRuntime.jsxs("p", { className: "text-muted-foreground", children: [
|
|
2984
|
-
"
|
|
2985
|
-
" ",
|
|
2986
|
-
|
|
2987
|
-
"and follow the Xertica UI CLI-first architecture."
|
|
3001
|
+
t("templates.footer.descriptionPart1"),
|
|
3002
|
+
/* @__PURE__ */ jsxRuntime.jsx("code", { className: "bg-muted px-2 py-1 rounded-[var(--radius-sm)] [font-size:var(--text-small)]", children: "xertica-ui" }),
|
|
3003
|
+
t("templates.footer.descriptionPart2")
|
|
2988
3004
|
] }),
|
|
2989
3005
|
/* @__PURE__ */ jsxRuntime.jsxs(richTextEditor.Alert, { variant: "info", children: [
|
|
2990
|
-
/* @__PURE__ */ jsxRuntime.jsx(richTextEditor.AlertTitle, { children: "
|
|
2991
|
-
/* @__PURE__ */ jsxRuntime.
|
|
3006
|
+
/* @__PURE__ */ jsxRuntime.jsx(richTextEditor.AlertTitle, { children: t("templates.footer.tipTitle") }),
|
|
3007
|
+
/* @__PURE__ */ jsxRuntime.jsxs(richTextEditor.AlertDescription, { children: [
|
|
3008
|
+
t("templates.footer.tipDescriptionPart1"),
|
|
3009
|
+
/* @__PURE__ */ jsxRuntime.jsx("code", { className: "bg-muted px-1 rounded", children: "styles/xertica/tokens.css" }),
|
|
3010
|
+
t("templates.footer.tipDescriptionPart2")
|
|
3011
|
+
] })
|
|
2992
3012
|
] })
|
|
2993
3013
|
] })
|
|
2994
3014
|
] })
|
|
@@ -2997,16 +3017,17 @@ function TemplateContent() {
|
|
|
2997
3017
|
}
|
|
2998
3018
|
);
|
|
2999
3019
|
}
|
|
3020
|
+
|
|
3000
3021
|
function TemplatePage() {
|
|
3001
3022
|
const { user, logout } = useAuth();
|
|
3002
3023
|
const layout = LayoutContext.useOptionalLayout();
|
|
3003
3024
|
const [localSidebarExpanded, setLocalSidebarExpanded] = React.useState(false);
|
|
3004
3025
|
const [localAssistantExpanded, setLocalAssistantExpanded] = React.useState(false);
|
|
3005
|
-
const sidebarExpanded =
|
|
3006
|
-
const sidebarWidth =
|
|
3007
|
-
const assistenteExpanded =
|
|
3008
|
-
const toggleSidebar =
|
|
3009
|
-
const toggleAssistente =
|
|
3026
|
+
const sidebarExpanded = layout?.sidebarExpanded ?? localSidebarExpanded;
|
|
3027
|
+
const sidebarWidth = layout?.sidebarWidth ?? 280;
|
|
3028
|
+
const assistenteExpanded = layout?.assistenteExpanded ?? localAssistantExpanded;
|
|
3029
|
+
const toggleSidebar = layout?.toggleSidebar ?? (() => setLocalSidebarExpanded((value) => !value));
|
|
3030
|
+
const toggleAssistente = layout?.toggleAssistente ?? (() => setLocalAssistantExpanded((value) => !value));
|
|
3010
3031
|
const location = reactRouterDom.useLocation();
|
|
3011
3032
|
const navigate = reactRouterDom.useNavigate();
|
|
3012
3033
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "h-screen flex bg-muted overflow-hidden relative", children: [
|
|
@@ -3040,12 +3061,12 @@ function TemplatePage() {
|
|
|
3040
3061
|
)
|
|
3041
3062
|
] });
|
|
3042
3063
|
}
|
|
3064
|
+
|
|
3043
3065
|
function VerifyEmailPage() {
|
|
3044
|
-
var _a;
|
|
3045
3066
|
const navigate = reactRouterDom.useNavigate();
|
|
3046
3067
|
const location = reactRouterDom.useLocation();
|
|
3047
|
-
const { t
|
|
3048
|
-
const email =
|
|
3068
|
+
const { t } = reactI18next.useTranslation();
|
|
3069
|
+
const email = location.state?.email || "your@email.com";
|
|
3049
3070
|
const [isResending, setIsResending] = React.useState(false);
|
|
3050
3071
|
const [resendSuccess, setResendSuccess] = React.useState(false);
|
|
3051
3072
|
const handleResend = async () => {
|
|
@@ -3064,7 +3085,7 @@ function VerifyEmailPage() {
|
|
|
3064
3085
|
alertDialog.ImageWithFallback,
|
|
3065
3086
|
{
|
|
3066
3087
|
src: "https://images.unsplash.com/photo-1563986768609-322da13575f3?w=1200&h=800&fit=crop&auto=format",
|
|
3067
|
-
alt:
|
|
3088
|
+
alt: t("verifyEmail.heroImageAlt"),
|
|
3068
3089
|
className: "absolute inset-0 w-full h-full object-cover"
|
|
3069
3090
|
}
|
|
3070
3091
|
),
|
|
@@ -3083,23 +3104,23 @@ function VerifyEmailPage() {
|
|
|
3083
3104
|
}
|
|
3084
3105
|
) }),
|
|
3085
3106
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center justify-center mb-4", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "p-4 bg-primary/10 rounded-[var(--radius)]", children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Mail, { className: "w-12 h-12 text-primary" }) }) }),
|
|
3086
|
-
/* @__PURE__ */ jsxRuntime.jsx("h2", { className: "text-sm text-muted-foreground", children:
|
|
3087
|
-
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-2 text-muted-foreground", children:
|
|
3107
|
+
/* @__PURE__ */ jsxRuntime.jsx("h2", { className: "text-sm text-muted-foreground", children: t("verifyEmail.heading") }),
|
|
3108
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-2 text-muted-foreground", children: t("verifyEmail.instructionsSent") }),
|
|
3088
3109
|
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-1 text-primary", children: email })
|
|
3089
3110
|
] }),
|
|
3090
3111
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "bg-accent rounded-[var(--radius)] p-4 space-y-3", children: [
|
|
3091
|
-
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-muted-foreground", children:
|
|
3112
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-muted-foreground", children: t("verifyEmail.instructions") }),
|
|
3092
3113
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-start gap-2 text-muted-foreground", children: [
|
|
3093
3114
|
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.CheckCircle2, { className: "w-4 h-4 mt-0.5 flex-shrink-0 text-[var(--chart-2)]" }),
|
|
3094
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm", children:
|
|
3115
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm", children: t("verifyEmail.checkSpam") })
|
|
3095
3116
|
] })
|
|
3096
3117
|
] }),
|
|
3097
3118
|
resendSuccess && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "bg-[var(--chart-2)]/10 border border-[var(--chart-2)]/20 rounded-[var(--radius)] p-3 flex items-center gap-2", children: [
|
|
3098
3119
|
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.CheckCircle2, { className: "w-5 h-5 text-[var(--chart-2)] flex-shrink-0" }),
|
|
3099
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm text-[var(--chart-2)]", children:
|
|
3120
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm text-[var(--chart-2)]", children: t("verifyEmail.resentSuccess") })
|
|
3100
3121
|
] }),
|
|
3101
3122
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-3", children: [
|
|
3102
|
-
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-center text-muted-foreground", children:
|
|
3123
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-center text-muted-foreground", children: t("verifyEmail.notReceived") }),
|
|
3103
3124
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3104
3125
|
button.Button,
|
|
3105
3126
|
{
|
|
@@ -3107,7 +3128,7 @@ function VerifyEmailPage() {
|
|
|
3107
3128
|
className: "w-full",
|
|
3108
3129
|
onClick: handleResend,
|
|
3109
3130
|
disabled: isResending,
|
|
3110
|
-
children: isResending ?
|
|
3131
|
+
children: isResending ? t("verifyEmail.resending") : t("verifyEmail.resend")
|
|
3111
3132
|
}
|
|
3112
3133
|
),
|
|
3113
3134
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
@@ -3119,14 +3140,14 @@ function VerifyEmailPage() {
|
|
|
3119
3140
|
className: "w-full text-muted-foreground hover:text-foreground",
|
|
3120
3141
|
children: [
|
|
3121
3142
|
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.ArrowLeft, { className: "w-4 h-4 mr-2" }),
|
|
3122
|
-
|
|
3143
|
+
t("verifyEmail.backToLogin")
|
|
3123
3144
|
]
|
|
3124
3145
|
}
|
|
3125
3146
|
)
|
|
3126
3147
|
] }),
|
|
3127
3148
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative", children: [
|
|
3128
3149
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute inset-0 flex items-center", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-full border-t border-border" }) }),
|
|
3129
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "relative flex justify-center text-sm", children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "bg-muted px-2 text-muted-foreground", children:
|
|
3150
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "relative flex justify-center text-sm", children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "bg-muted px-2 text-muted-foreground", children: t("login.orContinueWith") }) })
|
|
3130
3151
|
] }),
|
|
3131
3152
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-3", children: [
|
|
3132
3153
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
@@ -3168,7 +3189,7 @@ function VerifyEmailPage() {
|
|
|
3168
3189
|
),
|
|
3169
3190
|
/* @__PURE__ */ jsxRuntime.jsx("path", { fill: "none", d: "M0 0h48v48H0z" })
|
|
3170
3191
|
] }),
|
|
3171
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { children:
|
|
3192
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { children: t("login.signInWithGoogle") })
|
|
3172
3193
|
]
|
|
3173
3194
|
}
|
|
3174
3195
|
),
|
|
@@ -3181,7 +3202,7 @@ function VerifyEmailPage() {
|
|
|
3181
3202
|
onClick: () => handleSocialLogin(),
|
|
3182
3203
|
children: [
|
|
3183
3204
|
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.Lock, { className: "w-5 h-5 mr-2 text-[var(--chart-4)]" }),
|
|
3184
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { children:
|
|
3205
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { children: t("login.signInWithMTLogin") })
|
|
3185
3206
|
]
|
|
3186
3207
|
}
|
|
3187
3208
|
),
|
|
@@ -3192,7 +3213,7 @@ function VerifyEmailPage() {
|
|
|
3192
3213
|
variant: "outline",
|
|
3193
3214
|
className: "w-full justify-center font-normal",
|
|
3194
3215
|
onClick: () => handleSocialLogin(),
|
|
3195
|
-
children: /* @__PURE__ */ jsxRuntime.jsx("span", { children:
|
|
3216
|
+
children: /* @__PURE__ */ jsxRuntime.jsx("span", { children: t("login.signInWithGovBr") })
|
|
3196
3217
|
}
|
|
3197
3218
|
)
|
|
3198
3219
|
] })
|
|
@@ -3200,6 +3221,7 @@ function VerifyEmailPage() {
|
|
|
3200
3221
|
] })
|
|
3201
3222
|
] });
|
|
3202
3223
|
}
|
|
3224
|
+
|
|
3203
3225
|
exports.ForgotPasswordPage = ForgotPasswordPage;
|
|
3204
3226
|
exports.HomeContent = HomeContent;
|
|
3205
3227
|
exports.HomePage = HomePage;
|