@orbe-agro/client-core 5.3.160 → 5.3.161
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/dist/@ecme/components/template/ThemeConfigurator/LayoutSwitcher.js +27 -28
- package/dist/@ecme/components/template/ThemeConfigurator/LayoutSwitcher.js.map +1 -1
- package/dist/@ecme/components/template/ThemeConfigurator/ThemeConfigurator.js +25 -29
- package/dist/@ecme/components/template/ThemeConfigurator/ThemeConfigurator.js.map +1 -1
- package/dist/@ecme/components/template/UserProfileDropdown.js +39 -39
- package/dist/@ecme/components/template/UserProfileDropdown.js.map +1 -1
- package/dist/@ecme/views/auth/ForgotPassword/ForgotPassword.js +29 -40
- package/dist/@ecme/views/auth/ForgotPassword/ForgotPassword.js.map +1 -1
- package/dist/@types/@ecme/views/auth/ForgotPassword/ForgotPassword.d.ts.map +1 -1
- package/lib/@ecme/components/template/ThemeConfigurator/LayoutSwitcher.tsx +7 -7
- package/lib/@ecme/components/template/ThemeConfigurator/ThemeConfigurator.tsx +1 -1
- package/lib/@ecme/components/template/UserProfileDropdown.tsx +10 -10
- package/lib/@ecme/views/auth/ForgotPassword/ForgotPassword.tsx +3 -15
- package/package.json +1 -1
|
@@ -1,54 +1,53 @@
|
|
|
1
1
|
import { jsx as t, jsxs as u } from "react/jsx-runtime";
|
|
2
2
|
import g from "classnames";
|
|
3
|
-
import { Segment as
|
|
4
|
-
import { useThemeStore as
|
|
5
|
-
import { LAYOUT_COLLAPSIBLE_SIDE as c, LAYOUT_STACKED_SIDE as n, LAYOUT_TOP_BAR_CLASSIC as
|
|
6
|
-
import
|
|
7
|
-
import
|
|
8
|
-
import
|
|
9
|
-
import
|
|
10
|
-
import
|
|
11
|
-
import {
|
|
12
|
-
|
|
13
|
-
const
|
|
14
|
-
const o = r((e) => e.layout), l = r((e) => e.setLayout), { t: a } = C(), i = L(
|
|
3
|
+
import { Segment as r } from "../../ui/Segment/index.js";
|
|
4
|
+
import { useThemeStore as s } from "../../../store/themeStore.js";
|
|
5
|
+
import { LAYOUT_COLLAPSIBLE_SIDE as c, LAYOUT_STACKED_SIDE as n, LAYOUT_TOP_BAR_CLASSIC as p, LAYOUT_FRAMELESS_SIDE as h } from "../../../constants/theme.constant.js";
|
|
6
|
+
import b from "../../../assets/svg/CollapsibleSideSvg.js";
|
|
7
|
+
import v from "../../../assets/svg/StackedSideSvg.js";
|
|
8
|
+
import y from "../../../assets/svg/TopBarClassicSvg.js";
|
|
9
|
+
import S from "../../../assets/svg/FrameLessSideSvg.js";
|
|
10
|
+
import { useTranslation as f } from "react-i18next";
|
|
11
|
+
import { useMemo as k } from "react";
|
|
12
|
+
const O = () => {
|
|
13
|
+
const o = s((e) => e.layout), l = s((e) => e.setLayout), { t: a } = f(), i = k(
|
|
15
14
|
() => [
|
|
16
15
|
{
|
|
17
16
|
value: c,
|
|
18
17
|
label: a("base.layout.themeConfig.options.layoutCollapsible"),
|
|
19
18
|
src: "/img/thumbs/layouts/classic.jpg",
|
|
20
19
|
srcDark: "/img/thumbs/layouts/classic-dark.jpg",
|
|
21
|
-
svg: /* @__PURE__ */ t(
|
|
20
|
+
svg: /* @__PURE__ */ t(b, { height: "100%", width: "100%" })
|
|
22
21
|
},
|
|
23
22
|
{
|
|
24
23
|
value: n,
|
|
25
24
|
label: a("base.layout.themeConfig.options.layoutStacked"),
|
|
26
25
|
src: "/img/thumbs/layouts/modern.jpg",
|
|
27
26
|
srcDark: "/img/thumbs/layouts/modern-dark.jpg",
|
|
28
|
-
svg: /* @__PURE__ */ t(
|
|
27
|
+
svg: /* @__PURE__ */ t(v, { height: "100%", width: "100%" })
|
|
29
28
|
},
|
|
30
29
|
{
|
|
31
|
-
value:
|
|
30
|
+
value: p,
|
|
32
31
|
label: a("base.layout.themeConfig.options.layoutTopbar"),
|
|
33
32
|
src: "/img/thumbs/layouts/stackedSide.jpg",
|
|
34
33
|
srcDark: "/img/thumbs/layouts/stackedSide-dark.jpg",
|
|
35
|
-
svg: /* @__PURE__ */ t(
|
|
34
|
+
svg: /* @__PURE__ */ t(y, { height: "100%", width: "100%" })
|
|
36
35
|
},
|
|
37
36
|
{
|
|
38
|
-
value:
|
|
37
|
+
value: h,
|
|
39
38
|
label: a("base.layout.themeConfig.options.layoutFrameless"),
|
|
40
39
|
src: "/img/thumbs/layouts/simple.jpg",
|
|
41
40
|
srcDark: "/img/thumbs/layouts/simple-dark.jpg",
|
|
42
|
-
svg: /* @__PURE__ */ t(
|
|
43
|
-
},
|
|
44
|
-
{
|
|
45
|
-
value: b,
|
|
46
|
-
label: a("base.layout.themeConfig.options.layoutOverlay"),
|
|
47
|
-
src: "/img/thumbs/layouts/decked.jpg",
|
|
48
|
-
srcDark: "/img/thumbs/layouts/decked-dark.jpg",
|
|
49
|
-
svg: /* @__PURE__ */ t(k, { height: "100%", width: "100%" })
|
|
41
|
+
svg: /* @__PURE__ */ t(S, { height: "100%", width: "100%" })
|
|
50
42
|
}
|
|
51
43
|
// {
|
|
44
|
+
// value: LAYOUT_CONTENT_OVERLAY,
|
|
45
|
+
// label: t('base.layout.themeConfig.options.layoutOverlay'),
|
|
46
|
+
// src: '/img/thumbs/layouts/decked.jpg',
|
|
47
|
+
// srcDark: '/img/thumbs/layouts/decked-dark.jpg',
|
|
48
|
+
// svg: <ContentOverlaySvg height={'100%'} width={'100%'} />,
|
|
49
|
+
// },
|
|
50
|
+
// {
|
|
52
51
|
// value: LAYOUT_BLANK,
|
|
53
52
|
// label: t('base.layout.themeConfig.options.layoutBlank'),
|
|
54
53
|
// src: '/img/thumbs/layouts/blank.jpg',
|
|
@@ -59,12 +58,12 @@ const U = () => {
|
|
|
59
58
|
[a]
|
|
60
59
|
);
|
|
61
60
|
return /* @__PURE__ */ t("div", { children: /* @__PURE__ */ t(
|
|
62
|
-
|
|
61
|
+
r,
|
|
63
62
|
{
|
|
64
63
|
className: "w-full bg-transparent p-0 dark:bg-transparent",
|
|
65
64
|
value: [],
|
|
66
65
|
onChange: (e) => l(e),
|
|
67
|
-
children: /* @__PURE__ */ t("div", { className: "grid w-full grid-cols-3 gap-4", children: i.map((e) => /* @__PURE__ */ t(
|
|
66
|
+
children: /* @__PURE__ */ t("div", { className: "grid w-full grid-cols-3 gap-4", children: i.map((e) => /* @__PURE__ */ t(r.Item, { value: e.value, children: ({ onSegmentItemClick: m }) => {
|
|
68
67
|
const d = o.type === e.value;
|
|
69
68
|
return /* @__PURE__ */ u("div", { className: "text-center", children: [
|
|
70
69
|
/* @__PURE__ */ t(
|
|
@@ -85,6 +84,6 @@ const U = () => {
|
|
|
85
84
|
) });
|
|
86
85
|
};
|
|
87
86
|
export {
|
|
88
|
-
|
|
87
|
+
O as default
|
|
89
88
|
};
|
|
90
89
|
//# sourceMappingURL=LayoutSwitcher.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LayoutSwitcher.js","sources":["../../../../../lib/@ecme/components/template/ThemeConfigurator/LayoutSwitcher.tsx"],"sourcesContent":["import classNames from 'classnames'\nimport Segment from '@/components/ui/Segment'\nimport { useThemeStore } from '@/store/themeStore'\nimport {\n LAYOUT_COLLAPSIBLE_SIDE,\n LAYOUT_STACKED_SIDE,\n LAYOUT_TOP_BAR_CLASSIC,\n LAYOUT_FRAMELESS_SIDE,\n LAYOUT_CONTENT_OVERLAY,\n LAYOUT_BLANK,\n} from '@/constants/theme.constant'\nimport CollapsibleSideSvg from '@/assets/svg/CollapsibleSideSvg'\nimport StackedSideSvg from '@/assets/svg/StackedSideSvg'\nimport TopBarClassicSvg from '@/assets/svg/TopBarClassicSvg'\nimport FrameLessSideSvg from '@/assets/svg/FrameLessSideSvg'\nimport ContentOverlaySvg from '@/assets/svg/ContentOverlaySvg'\nimport BlankSvg from '@/assets/svg/BlankSvg'\nimport type { LayoutType } from '@/@types/theme'\nimport { useTranslation } from 'react-i18next'\nimport { useMemo } from 'react'\n\nconst LayoutSwitcher = () => {\n const themeLayout = useThemeStore((state) => state.layout)\n const setLayout = useThemeStore((state) => state.setLayout)\n\n const { t } = useTranslation()\n\n const layouts = useMemo(\n () => [\n {\n value: LAYOUT_COLLAPSIBLE_SIDE,\n label: t('base.layout.themeConfig.options.layoutCollapsible'),\n src: '/img/thumbs/layouts/classic.jpg',\n srcDark: '/img/thumbs/layouts/classic-dark.jpg',\n svg: <CollapsibleSideSvg height={'100%'} width={'100%'} />,\n },\n {\n value: LAYOUT_STACKED_SIDE,\n label: t('base.layout.themeConfig.options.layoutStacked'),\n src: '/img/thumbs/layouts/modern.jpg',\n srcDark: '/img/thumbs/layouts/modern-dark.jpg',\n svg: <StackedSideSvg height={'100%'} width={'100%'} />,\n },\n {\n value: LAYOUT_TOP_BAR_CLASSIC,\n label: t('base.layout.themeConfig.options.layoutTopbar'),\n src: '/img/thumbs/layouts/stackedSide.jpg',\n srcDark: '/img/thumbs/layouts/stackedSide-dark.jpg',\n svg: <TopBarClassicSvg height={'100%'} width={'100%'} />,\n },\n {\n value: LAYOUT_FRAMELESS_SIDE,\n label: t('base.layout.themeConfig.options.layoutFrameless'),\n src: '/img/thumbs/layouts/simple.jpg',\n srcDark: '/img/thumbs/layouts/simple-dark.jpg',\n svg: <FrameLessSideSvg height={'100%'} width={'100%'} />,\n },\n {\n
|
|
1
|
+
{"version":3,"file":"LayoutSwitcher.js","sources":["../../../../../lib/@ecme/components/template/ThemeConfigurator/LayoutSwitcher.tsx"],"sourcesContent":["import classNames from 'classnames'\nimport Segment from '@/components/ui/Segment'\nimport { useThemeStore } from '@/store/themeStore'\nimport {\n LAYOUT_COLLAPSIBLE_SIDE,\n LAYOUT_STACKED_SIDE,\n LAYOUT_TOP_BAR_CLASSIC,\n LAYOUT_FRAMELESS_SIDE,\n LAYOUT_CONTENT_OVERLAY,\n LAYOUT_BLANK,\n} from '@/constants/theme.constant'\nimport CollapsibleSideSvg from '@/assets/svg/CollapsibleSideSvg'\nimport StackedSideSvg from '@/assets/svg/StackedSideSvg'\nimport TopBarClassicSvg from '@/assets/svg/TopBarClassicSvg'\nimport FrameLessSideSvg from '@/assets/svg/FrameLessSideSvg'\nimport ContentOverlaySvg from '@/assets/svg/ContentOverlaySvg'\nimport BlankSvg from '@/assets/svg/BlankSvg'\nimport type { LayoutType } from '@/@types/theme'\nimport { useTranslation } from 'react-i18next'\nimport { useMemo } from 'react'\n\nconst LayoutSwitcher = () => {\n const themeLayout = useThemeStore((state) => state.layout)\n const setLayout = useThemeStore((state) => state.setLayout)\n\n const { t } = useTranslation()\n\n const layouts = useMemo(\n () => [\n {\n value: LAYOUT_COLLAPSIBLE_SIDE,\n label: t('base.layout.themeConfig.options.layoutCollapsible'),\n src: '/img/thumbs/layouts/classic.jpg',\n srcDark: '/img/thumbs/layouts/classic-dark.jpg',\n svg: <CollapsibleSideSvg height={'100%'} width={'100%'} />,\n },\n {\n value: LAYOUT_STACKED_SIDE,\n label: t('base.layout.themeConfig.options.layoutStacked'),\n src: '/img/thumbs/layouts/modern.jpg',\n srcDark: '/img/thumbs/layouts/modern-dark.jpg',\n svg: <StackedSideSvg height={'100%'} width={'100%'} />,\n },\n {\n value: LAYOUT_TOP_BAR_CLASSIC,\n label: t('base.layout.themeConfig.options.layoutTopbar'),\n src: '/img/thumbs/layouts/stackedSide.jpg',\n srcDark: '/img/thumbs/layouts/stackedSide-dark.jpg',\n svg: <TopBarClassicSvg height={'100%'} width={'100%'} />,\n },\n {\n value: LAYOUT_FRAMELESS_SIDE,\n label: t('base.layout.themeConfig.options.layoutFrameless'),\n src: '/img/thumbs/layouts/simple.jpg',\n srcDark: '/img/thumbs/layouts/simple-dark.jpg',\n svg: <FrameLessSideSvg height={'100%'} width={'100%'} />,\n },\n // {\n // value: LAYOUT_CONTENT_OVERLAY,\n // label: t('base.layout.themeConfig.options.layoutOverlay'),\n // src: '/img/thumbs/layouts/decked.jpg',\n // srcDark: '/img/thumbs/layouts/decked-dark.jpg',\n // svg: <ContentOverlaySvg height={'100%'} width={'100%'} />,\n // },\n // {\n // value: LAYOUT_BLANK,\n // label: t('base.layout.themeConfig.options.layoutBlank'),\n // src: '/img/thumbs/layouts/blank.jpg',\n // srcDark: '/img/thumbs/layouts/blank-dark.jpg',\n // svg: <BlankSvg height={'100%'} width={'100%'} />,\n // },\n ],\n [t],\n )\n\n return (\n <div>\n <Segment\n className=\"w-full bg-transparent p-0 dark:bg-transparent\"\n value={[]}\n onChange={(val) => setLayout(val as LayoutType)}\n >\n <div className=\"grid w-full grid-cols-3 gap-4\">\n {layouts.map((layout) => (\n <Segment.Item key={layout.value} value={layout.value}>\n {({ onSegmentItemClick }) => {\n const active = themeLayout.type === layout.value\n return (\n <div className=\"text-center\">\n <button\n className={classNames(\n 'border-2 rounded-xl overflow-hidden',\n active\n ? 'border-primary dark:border-primary'\n : 'border-gray-200 dark:border-gray-700',\n )}\n onClick={onSegmentItemClick}\n >\n {layout.svg}\n </button>\n <div className=\"mt-2 font-semibold\">\n {layout.label}\n </div>\n </div>\n )\n }}\n </Segment.Item>\n ))}\n </div>\n </Segment>\n </div>\n )\n}\n\nexport default LayoutSwitcher\n"],"names":["LayoutSwitcher","themeLayout","useThemeStore","state","setLayout","t","useTranslation","layouts","useMemo","LAYOUT_COLLAPSIBLE_SIDE","jsx","CollapsibleSideSvg","LAYOUT_STACKED_SIDE","StackedSideSvg","LAYOUT_TOP_BAR_CLASSIC","TopBarClassicSvg","LAYOUT_FRAMELESS_SIDE","FrameLessSideSvg","Segment","val","layout","onSegmentItemClick","active","jsxs","classNames"],"mappings":";;;;;;;;;;;AAqBA,MAAMA,IAAiB,MAAM;AACzB,QAAMC,IAAcC,EAAc,CAACC,MAAUA,EAAM,MAAM,GACnDC,IAAYF,EAAc,CAACC,MAAUA,EAAM,SAAS,GAEpD,EAAE,GAAAE,EAAE,IAAIC,EAAe,GAEvBC,IAAUC;AAAA,IACZ,MAAM;AAAA,MACF;AAAA,QACI,OAAOC;AAAA,QACP,OAAOJ,EAAE,mDAAmD;AAAA,QAC5D,KAAK;AAAA,QACL,SAAS;AAAA,QACT,KAAM,gBAAAK,EAAAC,GAAA,EAAmB,QAAQ,QAAQ,OAAO,OAAQ,CAAA;AAAA,MAC5D;AAAA,MACA;AAAA,QACI,OAAOC;AAAA,QACP,OAAOP,EAAE,+CAA+C;AAAA,QACxD,KAAK;AAAA,QACL,SAAS;AAAA,QACT,KAAM,gBAAAK,EAAAG,GAAA,EAAe,QAAQ,QAAQ,OAAO,OAAQ,CAAA;AAAA,MACxD;AAAA,MACA;AAAA,QACI,OAAOC;AAAA,QACP,OAAOT,EAAE,8CAA8C;AAAA,QACvD,KAAK;AAAA,QACL,SAAS;AAAA,QACT,KAAM,gBAAAK,EAAAK,GAAA,EAAiB,QAAQ,QAAQ,OAAO,OAAQ,CAAA;AAAA,MAC1D;AAAA,MACA;AAAA,QACI,OAAOC;AAAA,QACP,OAAOX,EAAE,iDAAiD;AAAA,QAC1D,KAAK;AAAA,QACL,SAAS;AAAA,QACT,KAAM,gBAAAK,EAAAO,GAAA,EAAiB,QAAQ,QAAQ,OAAO,OAAQ,CAAA;AAAA,MAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAgB9D;AAAA,IACA,CAACZ,CAAC;AAAA,EACN;AAEA,2BACK,OACG,EAAA,UAAA,gBAAAK;AAAA,IAACQ;AAAA,IAAA;AAAA,MACG,WAAU;AAAA,MACV,OAAO,CAAC;AAAA,MACR,UAAU,CAACC,MAAQf,EAAUe,CAAiB;AAAA,MAE9C,4BAAC,OAAI,EAAA,WAAU,iCACV,UAAQZ,EAAA,IAAI,CAACa,MACV,gBAAAV,EAACQ,EAAQ,MAAR,EAAgC,OAAOE,EAAO,OAC1C,UAAC,CAAA,EAAE,oBAAAC,QAAyB;AACnB,cAAAC,IAASrB,EAAY,SAASmB,EAAO;AAEvC,eAAA,gBAAAG,EAAC,OAAI,EAAA,WAAU,eACX,UAAA;AAAA,UAAA,gBAAAb;AAAA,YAAC;AAAA,YAAA;AAAA,cACG,WAAWc;AAAA,gBACP;AAAA,gBACAF,IACM,uCACA;AAAA,cACV;AAAA,cACA,SAASD;AAAA,cAER,UAAOD,EAAA;AAAA,YAAA;AAAA,UACZ;AAAA,UACC,gBAAAV,EAAA,OAAA,EAAI,WAAU,sBACV,YAAO,MACZ,CAAA;AAAA,QAAA,GACJ;AAAA,MAAA,KAnBOU,EAAO,KAsB1B,CACH,EACL,CAAA;AAAA,IAAA;AAAA,EAAA,GAER;AAER;"}
|
|
@@ -1,41 +1,37 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { jsx as e, jsxs as i } from "react/jsx-runtime";
|
|
2
2
|
import r from "./ModeSwitcher.js";
|
|
3
3
|
import n from "./LayoutSwitcher.js";
|
|
4
4
|
import s from "./ThemeSwitcher.js";
|
|
5
5
|
import l from "./DirectionSwitcher.js";
|
|
6
|
-
import a from "
|
|
7
|
-
|
|
8
|
-
const
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
/* @__PURE__ */ i("div", { className: "mb-6 flex flex-col gap-y-10", children: [
|
|
12
|
-
/* @__PURE__ */ i("div", { className: "flex items-center justify-between", children: [
|
|
13
|
-
/* @__PURE__ */ i("div", { children: [
|
|
14
|
-
/* @__PURE__ */ e("h6", { children: o("base.layout.themeConfig.options.darkMode") }),
|
|
15
|
-
/* @__PURE__ */ e("span", { children: o("base.layout.themeConfig.options.darkModeDesc") })
|
|
16
|
-
] }),
|
|
17
|
-
/* @__PURE__ */ e(r, {})
|
|
18
|
-
] }),
|
|
19
|
-
/* @__PURE__ */ i("div", { className: "flex items-center justify-between", children: [
|
|
20
|
-
/* @__PURE__ */ i("div", { children: [
|
|
21
|
-
/* @__PURE__ */ e("h6", { children: o("base.layout.themeConfig.options.direction") }),
|
|
22
|
-
/* @__PURE__ */ e("span", { children: o("base.layout.themeConfig.options.directionDesc") })
|
|
23
|
-
] }),
|
|
24
|
-
/* @__PURE__ */ e(l, { callBackClose: t })
|
|
25
|
-
] }),
|
|
6
|
+
import { useTranslation as a } from "react-i18next";
|
|
7
|
+
const u = ({ callBackClose: t }) => {
|
|
8
|
+
const { t: o } = a();
|
|
9
|
+
return /* @__PURE__ */ e("div", { className: "flex h-full flex-col justify-between", children: /* @__PURE__ */ i("div", { className: "mb-6 flex flex-col gap-y-10", children: [
|
|
10
|
+
/* @__PURE__ */ i("div", { className: "flex items-center justify-between", children: [
|
|
26
11
|
/* @__PURE__ */ i("div", { children: [
|
|
27
|
-
/* @__PURE__ */ e("h6", {
|
|
28
|
-
/* @__PURE__ */ e(
|
|
12
|
+
/* @__PURE__ */ e("h6", { children: o("base.layout.themeConfig.options.darkMode") }),
|
|
13
|
+
/* @__PURE__ */ e("span", { children: o("base.layout.themeConfig.options.darkModeDesc") })
|
|
29
14
|
] }),
|
|
15
|
+
/* @__PURE__ */ e(r, {})
|
|
16
|
+
] }),
|
|
17
|
+
/* @__PURE__ */ i("div", { className: "flex items-center justify-between", children: [
|
|
30
18
|
/* @__PURE__ */ i("div", { children: [
|
|
31
|
-
/* @__PURE__ */ e("h6", {
|
|
32
|
-
/* @__PURE__ */ e(
|
|
33
|
-
] })
|
|
19
|
+
/* @__PURE__ */ e("h6", { children: o("base.layout.themeConfig.options.direction") }),
|
|
20
|
+
/* @__PURE__ */ e("span", { children: o("base.layout.themeConfig.options.directionDesc") })
|
|
21
|
+
] }),
|
|
22
|
+
/* @__PURE__ */ e(l, { callBackClose: t })
|
|
23
|
+
] }),
|
|
24
|
+
/* @__PURE__ */ i("div", { children: [
|
|
25
|
+
/* @__PURE__ */ e("h6", { className: "mb-3", children: o("base.layout.themeConfig.options.theme") }),
|
|
26
|
+
/* @__PURE__ */ e(s, {})
|
|
34
27
|
] }),
|
|
35
|
-
/* @__PURE__ */
|
|
36
|
-
|
|
28
|
+
/* @__PURE__ */ i("div", { children: [
|
|
29
|
+
/* @__PURE__ */ e("h6", { className: "mb-3", children: o("base.layout.themeConfig.options.layout") }),
|
|
30
|
+
/* @__PURE__ */ e(n, {})
|
|
31
|
+
] })
|
|
32
|
+
] }) });
|
|
37
33
|
};
|
|
38
34
|
export {
|
|
39
|
-
|
|
35
|
+
u as default
|
|
40
36
|
};
|
|
41
37
|
//# sourceMappingURL=ThemeConfigurator.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ThemeConfigurator.js","sources":["../../../../../lib/@ecme/components/template/ThemeConfigurator/ThemeConfigurator.tsx"],"sourcesContent":["import ModeSwitcher from './ModeSwitcher'\nimport LayoutSwitcher from './LayoutSwitcher'\nimport ThemeSwitcher from './ThemeSwitcher'\nimport DirectionSwitcher from './DirectionSwitcher'\nimport CopyButton from './CopyButton'\nimport { useTranslation } from 'react-i18next'\n\nexport type ThemeConfiguratorProps = {\n callBackClose?: () => void\n}\n\nconst ThemeConfigurator = ({ callBackClose }: ThemeConfiguratorProps) => {\n const { t } = useTranslation()\n \n return (\n <div className=\"flex h-full flex-col justify-between\">\n <div className=\"mb-6 flex flex-col gap-y-10\">\n <div className=\"flex items-center justify-between\">\n <div>\n <h6>{t('base.layout.themeConfig.options.darkMode')}</h6>\n <span>\n {t('base.layout.themeConfig.options.darkModeDesc')}\n </span>\n </div>\n <ModeSwitcher />\n </div>\n <div className=\"flex items-center justify-between\">\n <div>\n <h6>\n {t('base.layout.themeConfig.options.direction')}\n </h6>\n <span>\n {t('base.layout.themeConfig.options.directionDesc')}\n </span>\n </div>\n <DirectionSwitcher callBackClose={callBackClose} />\n </div>\n <div>\n <h6 className=\"mb-3\">\n {t('base.layout.themeConfig.options.theme')}\n </h6>\n <ThemeSwitcher />\n </div>\n <div>\n <h6 className=\"mb-3\">\n {t('base.layout.themeConfig.options.layout')}\n </h6>\n <LayoutSwitcher />\n </div>\n </div>\n <CopyButton
|
|
1
|
+
{"version":3,"file":"ThemeConfigurator.js","sources":["../../../../../lib/@ecme/components/template/ThemeConfigurator/ThemeConfigurator.tsx"],"sourcesContent":["import ModeSwitcher from './ModeSwitcher'\nimport LayoutSwitcher from './LayoutSwitcher'\nimport ThemeSwitcher from './ThemeSwitcher'\nimport DirectionSwitcher from './DirectionSwitcher'\nimport CopyButton from './CopyButton'\nimport { useTranslation } from 'react-i18next'\n\nexport type ThemeConfiguratorProps = {\n callBackClose?: () => void\n}\n\nconst ThemeConfigurator = ({ callBackClose }: ThemeConfiguratorProps) => {\n const { t } = useTranslation()\n \n return (\n <div className=\"flex h-full flex-col justify-between\">\n <div className=\"mb-6 flex flex-col gap-y-10\">\n <div className=\"flex items-center justify-between\">\n <div>\n <h6>{t('base.layout.themeConfig.options.darkMode')}</h6>\n <span>\n {t('base.layout.themeConfig.options.darkModeDesc')}\n </span>\n </div>\n <ModeSwitcher />\n </div>\n <div className=\"flex items-center justify-between\">\n <div>\n <h6>\n {t('base.layout.themeConfig.options.direction')}\n </h6>\n <span>\n {t('base.layout.themeConfig.options.directionDesc')}\n </span>\n </div>\n <DirectionSwitcher callBackClose={callBackClose} />\n </div>\n <div>\n <h6 className=\"mb-3\">\n {t('base.layout.themeConfig.options.theme')}\n </h6>\n <ThemeSwitcher />\n </div>\n <div>\n <h6 className=\"mb-3\">\n {t('base.layout.themeConfig.options.layout')}\n </h6>\n <LayoutSwitcher />\n </div>\n </div>\n {/* <CopyButton /> */}\n </div>\n )\n}\n\nexport default ThemeConfigurator\n"],"names":["ThemeConfigurator","callBackClose","t","useTranslation","jsxs","jsx","ModeSwitcher","DirectionSwitcher","ThemeSwitcher","LayoutSwitcher"],"mappings":";;;;;;AAWA,MAAMA,IAAoB,CAAC,EAAE,eAAAC,QAA4C;AAC/D,QAAA,EAAE,GAAAC,EAAE,IAAIC,EAAe;AAE7B,2BACK,OAAI,EAAA,WAAU,wCACX,UAAC,gBAAAC,EAAA,OAAA,EAAI,WAAU,+BACX,UAAA;AAAA,IAAC,gBAAAA,EAAA,OAAA,EAAI,WAAU,qCACX,UAAA;AAAA,MAAA,gBAAAA,EAAC,OACG,EAAA,UAAA;AAAA,QAAC,gBAAAC,EAAA,MAAA,EAAI,UAAEH,EAAA,0CAA0C,EAAE,CAAA;AAAA,QAClD,gBAAAG,EAAA,QAAA,EACI,UAAEH,EAAA,8CAA8C,EACrD,CAAA;AAAA,MAAA,GACJ;AAAA,wBACCI,GAAa,CAAA,CAAA;AAAA,IAAA,GAClB;AAAA,IACA,gBAAAF,EAAC,OAAI,EAAA,WAAU,qCACX,UAAA;AAAA,MAAA,gBAAAA,EAAC,OACG,EAAA,UAAA;AAAA,QAAC,gBAAAC,EAAA,MAAA,EACI,UAAEH,EAAA,2CAA2C,EAClD,CAAA;AAAA,QACC,gBAAAG,EAAA,QAAA,EACI,UAAEH,EAAA,+CAA+C,EACtD,CAAA;AAAA,MAAA,GACJ;AAAA,MACA,gBAAAG,EAACE,KAAkB,eAAAN,EAA8B,CAAA;AAAA,IAAA,GACrD;AAAA,sBACC,OACG,EAAA,UAAA;AAAA,MAAA,gBAAAI,EAAC,MAAG,EAAA,WAAU,QACT,UAAAH,EAAE,uCAAuC,GAC9C;AAAA,wBACCM,GAAc,CAAA,CAAA;AAAA,IAAA,GACnB;AAAA,sBACC,OACG,EAAA,UAAA;AAAA,MAAA,gBAAAH,EAAC,MAAG,EAAA,WAAU,QACT,UAAAH,EAAE,wCAAwC,GAC/C;AAAA,wBACCO,GAAe,CAAA,CAAA;AAAA,IAAA,EACpB,CAAA;AAAA,EAAA,EAAA,CACJ,EAEJ,CAAA;AAER;"}
|
|
@@ -1,76 +1,76 @@
|
|
|
1
|
-
import { jsx as e, jsxs as
|
|
1
|
+
import { jsx as e, jsxs as o } from "react/jsx-runtime";
|
|
2
2
|
import { Avatar as i } from "../ui/Avatar/index.js";
|
|
3
|
-
import { Dropdown as
|
|
4
|
-
import
|
|
3
|
+
import { Dropdown as r } from "../ui/Dropdown/index.js";
|
|
4
|
+
import u from "../../utils/hoc/withHeaderItem.js";
|
|
5
5
|
import { useSessionUser as h } from "../../store/authStore.js";
|
|
6
6
|
import { Link as x } from "react-router-dom";
|
|
7
|
-
import { PiUserDuotone as l,
|
|
7
|
+
import { PiUserDuotone as l, PiSignOutDuotone as v } from "react-icons/pi";
|
|
8
8
|
import "../../auth/index.js";
|
|
9
|
-
import { useMemo as
|
|
10
|
-
import { useTranslation as
|
|
11
|
-
import
|
|
12
|
-
const
|
|
13
|
-
const { avatar: s, userName: c, email:
|
|
14
|
-
|
|
15
|
-
},
|
|
9
|
+
import { useMemo as N } from "react";
|
|
10
|
+
import { useTranslation as g } from "react-i18next";
|
|
11
|
+
import b from "../../auth/useAuth.js";
|
|
12
|
+
const w = () => {
|
|
13
|
+
const { avatar: s, userName: c, email: m } = h((t) => t.user), { signOut: p } = b(), d = () => {
|
|
14
|
+
p();
|
|
15
|
+
}, n = {
|
|
16
16
|
...s ? { src: s } : { icon: /* @__PURE__ */ e(l, {}) }
|
|
17
|
-
}, { t: a } =
|
|
17
|
+
}, { t: a } = g(), f = N(
|
|
18
18
|
() => [
|
|
19
19
|
{
|
|
20
20
|
label: a("base.layout.profile.dropdown.options.profile"),
|
|
21
21
|
path: "/concepts/account/settings",
|
|
22
22
|
icon: /* @__PURE__ */ e(l, {})
|
|
23
|
-
},
|
|
24
|
-
{
|
|
25
|
-
label: a("base.layout.profile.dropdown.options.settings"),
|
|
26
|
-
path: "/concepts/account/settings",
|
|
27
|
-
icon: /* @__PURE__ */ e(v, {})
|
|
28
|
-
},
|
|
29
|
-
{
|
|
30
|
-
label: a("base.layout.profile.dropdown.options.activity"),
|
|
31
|
-
path: "/concepts/account/activity-log",
|
|
32
|
-
icon: /* @__PURE__ */ e(g, {})
|
|
33
23
|
}
|
|
24
|
+
// {
|
|
25
|
+
// label: t('base.layout.profile.dropdown.options.settings'),
|
|
26
|
+
// path: '/concepts/account/settings',
|
|
27
|
+
// icon: <PiGearDuotone />,
|
|
28
|
+
// },
|
|
29
|
+
// {
|
|
30
|
+
// label: t('base.layout.profile.dropdown.options.activity'),
|
|
31
|
+
// path: '/concepts/account/activity-log',
|
|
32
|
+
// icon: <PiPulseDuotone />,
|
|
33
|
+
// },
|
|
34
34
|
],
|
|
35
35
|
[a]
|
|
36
36
|
);
|
|
37
|
-
return /* @__PURE__ */
|
|
38
|
-
|
|
37
|
+
return /* @__PURE__ */ o(
|
|
38
|
+
r,
|
|
39
39
|
{
|
|
40
40
|
className: "flex",
|
|
41
41
|
toggleClassName: "flex items-center",
|
|
42
|
-
renderTitle: /* @__PURE__ */ e("div", { className: "flex cursor-pointer items-center", children: /* @__PURE__ */ e(i, { size: 32, ...
|
|
42
|
+
renderTitle: /* @__PURE__ */ e("div", { className: "flex cursor-pointer items-center", children: /* @__PURE__ */ e(i, { size: 32, ...n }) }),
|
|
43
43
|
placement: "bottom-end",
|
|
44
44
|
children: [
|
|
45
|
-
/* @__PURE__ */ e(
|
|
46
|
-
/* @__PURE__ */ e(i, { ...
|
|
47
|
-
/* @__PURE__ */
|
|
45
|
+
/* @__PURE__ */ e(r.Item, { variant: "header", children: /* @__PURE__ */ o("div", { className: "flex items-center gap-3 px-3 py-2", children: [
|
|
46
|
+
/* @__PURE__ */ e(i, { ...n }),
|
|
47
|
+
/* @__PURE__ */ o("div", { children: [
|
|
48
48
|
/* @__PURE__ */ e("div", { className: "font-bold text-gray-900 dark:text-gray-100", children: c || "Anonymous" }),
|
|
49
|
-
/* @__PURE__ */ e("div", { className: "text-xs", children:
|
|
49
|
+
/* @__PURE__ */ e("div", { className: "text-xs", children: m || "No email available" })
|
|
50
50
|
] })
|
|
51
51
|
] }) }),
|
|
52
|
-
/* @__PURE__ */ e(
|
|
53
|
-
|
|
54
|
-
|
|
52
|
+
/* @__PURE__ */ e(r.Item, { variant: "divider" }),
|
|
53
|
+
f.map((t) => /* @__PURE__ */ e(
|
|
54
|
+
r.Item,
|
|
55
55
|
{
|
|
56
56
|
eventKey: t.label,
|
|
57
57
|
className: "px-0",
|
|
58
|
-
children: /* @__PURE__ */ e(x, { className: "flex h-full w-full px-2", to: t.path, children: /* @__PURE__ */
|
|
58
|
+
children: /* @__PURE__ */ e(x, { className: "flex h-full w-full px-2", to: t.path, children: /* @__PURE__ */ o("span", { className: "flex w-full items-center gap-2", children: [
|
|
59
59
|
/* @__PURE__ */ e("span", { className: "text-xl", children: t.icon }),
|
|
60
60
|
/* @__PURE__ */ e("span", { children: t.label })
|
|
61
61
|
] }) })
|
|
62
62
|
},
|
|
63
63
|
t.label
|
|
64
64
|
)),
|
|
65
|
-
/* @__PURE__ */ e(
|
|
66
|
-
/* @__PURE__ */
|
|
67
|
-
|
|
65
|
+
/* @__PURE__ */ e(r.Item, { variant: "divider" }),
|
|
66
|
+
/* @__PURE__ */ o(
|
|
67
|
+
r.Item,
|
|
68
68
|
{
|
|
69
69
|
eventKey: "Sign Out",
|
|
70
70
|
className: "gap-2",
|
|
71
71
|
onClick: d,
|
|
72
72
|
children: [
|
|
73
|
-
/* @__PURE__ */ e("span", { className: "text-xl", children: /* @__PURE__ */ e(
|
|
73
|
+
/* @__PURE__ */ e("span", { className: "text-xl", children: /* @__PURE__ */ e(v, {}) }),
|
|
74
74
|
/* @__PURE__ */ e("span", { children: a("base.layout.profile.dropdown.options.signOut") })
|
|
75
75
|
]
|
|
76
76
|
}
|
|
@@ -78,8 +78,8 @@ const D = () => {
|
|
|
78
78
|
]
|
|
79
79
|
}
|
|
80
80
|
);
|
|
81
|
-
},
|
|
81
|
+
}, K = u(w);
|
|
82
82
|
export {
|
|
83
|
-
|
|
83
|
+
K as default
|
|
84
84
|
};
|
|
85
85
|
//# sourceMappingURL=UserProfileDropdown.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UserProfileDropdown.js","sources":["../../../../lib/@ecme/components/template/UserProfileDropdown.tsx"],"sourcesContent":["import Avatar from '@/components/ui/Avatar'\nimport Dropdown from '@/components/ui/Dropdown'\nimport withHeaderItem from '@/utils/hoc/withHeaderItem'\nimport { useSessionUser } from '@/store/authStore'\nimport { Link } from 'react-router-dom'\nimport {\n PiUserDuotone,\n PiGearDuotone,\n PiPulseDuotone,\n PiSignOutDuotone,\n} from 'react-icons/pi'\nimport { useAuth } from '@/auth'\nimport { useMemo, type JSX } from 'react'\nimport { useTranslation } from 'react-i18next'\n\ntype DropdownList = {\n label: string\n path: string\n icon: JSX.Element\n}\n\nconst _UserDropdown = () => {\n const { avatar, userName, email } = useSessionUser((state) => state.user)\n\n const { signOut } = useAuth()\n\n const handleSignOut = () => {\n signOut()\n }\n\n const avatarProps = {\n ...(avatar ? { src: avatar } : { icon: <PiUserDuotone /> }),\n }\n\n const { t } = useTranslation()\n\n const dropdownItemList: DropdownList[] = useMemo(\n () => [\n {\n label: t('base.layout.profile.dropdown.options.profile'),\n path: '/concepts/account/settings',\n icon: <PiUserDuotone />,\n },\n {\n
|
|
1
|
+
{"version":3,"file":"UserProfileDropdown.js","sources":["../../../../lib/@ecme/components/template/UserProfileDropdown.tsx"],"sourcesContent":["import Avatar from '@/components/ui/Avatar'\nimport Dropdown from '@/components/ui/Dropdown'\nimport withHeaderItem from '@/utils/hoc/withHeaderItem'\nimport { useSessionUser } from '@/store/authStore'\nimport { Link } from 'react-router-dom'\nimport {\n PiUserDuotone,\n PiGearDuotone,\n PiPulseDuotone,\n PiSignOutDuotone,\n} from 'react-icons/pi'\nimport { useAuth } from '@/auth'\nimport { useMemo, type JSX } from 'react'\nimport { useTranslation } from 'react-i18next'\n\ntype DropdownList = {\n label: string\n path: string\n icon: JSX.Element\n}\n\nconst _UserDropdown = () => {\n const { avatar, userName, email } = useSessionUser((state) => state.user)\n\n const { signOut } = useAuth()\n\n const handleSignOut = () => {\n signOut()\n }\n\n const avatarProps = {\n ...(avatar ? { src: avatar } : { icon: <PiUserDuotone /> }),\n }\n\n const { t } = useTranslation()\n\n const dropdownItemList: DropdownList[] = useMemo(\n () => [\n {\n label: t('base.layout.profile.dropdown.options.profile'),\n path: '/concepts/account/settings',\n icon: <PiUserDuotone />,\n },\n // {\n // label: t('base.layout.profile.dropdown.options.settings'),\n // path: '/concepts/account/settings',\n // icon: <PiGearDuotone />,\n // },\n // {\n // label: t('base.layout.profile.dropdown.options.activity'),\n // path: '/concepts/account/activity-log',\n // icon: <PiPulseDuotone />,\n // },\n ],\n [t],\n )\n\n return (\n <Dropdown\n className=\"flex\"\n toggleClassName=\"flex items-center\"\n renderTitle={\n <div className=\"flex cursor-pointer items-center\">\n <Avatar size={32} {...avatarProps} />\n </div>\n }\n placement=\"bottom-end\"\n >\n <Dropdown.Item variant=\"header\">\n <div className=\"flex items-center gap-3 px-3 py-2\">\n <Avatar {...avatarProps} />\n <div>\n <div className=\"font-bold text-gray-900 dark:text-gray-100\">\n {userName || 'Anonymous'}\n </div>\n <div className=\"text-xs\">\n {email || 'No email available'}\n </div>\n </div>\n </div>\n </Dropdown.Item>\n <Dropdown.Item variant=\"divider\" />\n {dropdownItemList.map((item) => (\n <Dropdown.Item\n key={item.label}\n eventKey={item.label}\n className=\"px-0\"\n >\n <Link className=\"flex h-full w-full px-2\" to={item.path}>\n <span className=\"flex w-full items-center gap-2\">\n <span className=\"text-xl\">{item.icon}</span>\n <span>{item.label}</span>\n </span>\n </Link>\n </Dropdown.Item>\n ))}\n <Dropdown.Item variant=\"divider\" />\n <Dropdown.Item\n eventKey=\"Sign Out\"\n className=\"gap-2\"\n onClick={handleSignOut}\n >\n <span className=\"text-xl\">\n <PiSignOutDuotone />\n </span>\n <span>{t('base.layout.profile.dropdown.options.signOut')}</span>\n </Dropdown.Item>\n </Dropdown>\n )\n}\n\nconst UserDropdown = withHeaderItem(_UserDropdown)\n\nexport default UserDropdown\n"],"names":["_UserDropdown","avatar","userName","email","useSessionUser","state","signOut","useAuth","handleSignOut","avatarProps","jsx","PiUserDuotone","t","useTranslation","dropdownItemList","useMemo","jsxs","Dropdown","Avatar","item","Link","PiSignOutDuotone","UserDropdown","withHeaderItem"],"mappings":";;;;;;;;;;;AAqBA,MAAMA,IAAgB,MAAM;AAClB,QAAA,EAAE,QAAAC,GAAQ,UAAAC,GAAU,OAAAC,EAAA,IAAUC,EAAe,CAACC,MAAUA,EAAM,IAAI,GAElE,EAAE,SAAAC,EAAQ,IAAIC,EAAQ,GAEtBC,IAAgB,MAAM;AAChB,IAAAF,EAAA;AAAA,EACZ,GAEMG,IAAc;AAAA,IAChB,GAAIR,IAAS,EAAE,KAAKA,EAAA,IAAW,EAAE,MAAO,gBAAAS,EAAAC,GAAA,EAAc,EAAG;AAAA,EAC7D,GAEM,EAAE,GAAAC,EAAE,IAAIC,EAAe,GAEvBC,IAAmCC;AAAA,IACrC,MAAM;AAAA,MACF;AAAA,QACI,OAAOH,EAAE,8CAA8C;AAAA,QACvD,MAAM;AAAA,QACN,wBAAOD,GAAc,CAAA,CAAA;AAAA,MAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAY7B;AAAA,IACA,CAACC,CAAC;AAAA,EACN;AAGI,SAAA,gBAAAI;AAAA,IAACC;AAAA,IAAA;AAAA,MACG,WAAU;AAAA,MACV,iBAAgB;AAAA,MAChB,aACK,gBAAAP,EAAA,OAAA,EAAI,WAAU,oCACX,UAAC,gBAAAA,EAAAQ,GAAA,EAAO,MAAM,IAAK,GAAGT,EAAA,CAAa,EACvC,CAAA;AAAA,MAEJ,WAAU;AAAA,MAEV,UAAA;AAAA,QAAC,gBAAAC,EAAAO,EAAS,MAAT,EAAc,SAAQ,UACnB,UAAC,gBAAAD,EAAA,OAAA,EAAI,WAAU,qCACX,UAAA;AAAA,UAAC,gBAAAN,EAAAQ,GAAA,EAAQ,GAAGT,GAAa;AAAA,4BACxB,OACG,EAAA,UAAA;AAAA,YAAA,gBAAAC,EAAC,OAAI,EAAA,WAAU,8CACV,UAAAR,KAAY,aACjB;AAAA,YACC,gBAAAQ,EAAA,OAAA,EAAI,WAAU,WACV,eAAS,qBACd,CAAA;AAAA,UAAA,EACJ,CAAA;AAAA,QAAA,EAAA,CACJ,EACJ,CAAA;AAAA,QACC,gBAAAA,EAAAO,EAAS,MAAT,EAAc,SAAQ,UAAU,CAAA;AAAA,QAChCH,EAAiB,IAAI,CAACK,MACnB,gBAAAT;AAAA,UAACO,EAAS;AAAA,UAAT;AAAA,YAEG,UAAUE,EAAK;AAAA,YACf,WAAU;AAAA,YAEV,UAAA,gBAAAT,EAACU,GAAK,EAAA,WAAU,2BAA0B,IAAID,EAAK,MAC/C,UAAA,gBAAAH,EAAC,QAAK,EAAA,WAAU,kCACZ,UAAA;AAAA,cAAA,gBAAAN,EAAC,QAAK,EAAA,WAAU,WAAW,UAAAS,EAAK,MAAK;AAAA,cACrC,gBAAAT,EAAC,QAAM,EAAA,UAAAS,EAAK,MAAM,CAAA;AAAA,YAAA,EAAA,CACtB,EACJ,CAAA;AAAA,UAAA;AAAA,UATKA,EAAK;AAAA,QAAA,CAWjB;AAAA,QACA,gBAAAT,EAAAO,EAAS,MAAT,EAAc,SAAQ,UAAU,CAAA;AAAA,QACjC,gBAAAD;AAAA,UAACC,EAAS;AAAA,UAAT;AAAA,YACG,UAAS;AAAA,YACT,WAAU;AAAA,YACV,SAAST;AAAA,YAET,UAAA;AAAA,cAAA,gBAAAE,EAAC,QAAK,EAAA,WAAU,WACZ,UAAA,gBAAAA,EAACW,IAAiB,CAAA,GACtB;AAAA,cACC,gBAAAX,EAAA,QAAA,EAAM,UAAEE,EAAA,8CAA8C,EAAE,CAAA;AAAA,YAAA;AAAA,UAAA;AAAA,QAAA;AAAA,MAC7D;AAAA,IAAA;AAAA,EACJ;AAER,GAEMU,IAAeC,EAAevB,CAAa;"}
|
|
@@ -1,61 +1,50 @@
|
|
|
1
|
-
import { jsxs as
|
|
2
|
-
import d from "../../../components/shared/ActionLink.js";
|
|
1
|
+
import { jsxs as s, jsx as e, Fragment as n } from "react/jsx-runtime";
|
|
3
2
|
import "../../../components/ui/Alert/index.js";
|
|
4
3
|
import "../../../components/ui/Button/index.js";
|
|
5
|
-
import
|
|
4
|
+
import d from "../../../utils/hooks/useTimeOutMessage.js";
|
|
6
5
|
import { useState as p } from "react";
|
|
7
|
-
import { useTranslation as
|
|
8
|
-
import { useNavigate as
|
|
9
|
-
import
|
|
10
|
-
import
|
|
11
|
-
import
|
|
12
|
-
const
|
|
13
|
-
signInUrl:
|
|
6
|
+
import { useTranslation as u } from "react-i18next";
|
|
7
|
+
import { useNavigate as f } from "react-router-dom";
|
|
8
|
+
import h from "./components/ForgotPasswordForm.js";
|
|
9
|
+
import g from "../../../components/ui/Alert/Alert.js";
|
|
10
|
+
import b from "../../../components/ui/Button/Button.js";
|
|
11
|
+
const v = ({
|
|
12
|
+
signInUrl: a = "/sign-in"
|
|
14
13
|
}) => {
|
|
15
|
-
const [
|
|
16
|
-
|
|
17
|
-
}, { t } =
|
|
18
|
-
return /* @__PURE__ */
|
|
19
|
-
/* @__PURE__ */ e("div", { className: "mb-12 flex flex-col items-center text-center", children:
|
|
20
|
-
/* @__PURE__ */ e("h3", { className: "mb-2", children:
|
|
21
|
-
/* @__PURE__ */ e("p", { className: "font-semibold", children:
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
/* @__PURE__ */ e("
|
|
25
|
-
/* @__PURE__ */ e("p", { className: "font-semibold", children: t("pages.auth.forgotPassword.desc") })
|
|
14
|
+
const [t, i] = p(!1), [r, m] = d(), l = f(), c = () => {
|
|
15
|
+
l(a);
|
|
16
|
+
}, { t: o } = u();
|
|
17
|
+
return /* @__PURE__ */ s("div", { children: [
|
|
18
|
+
/* @__PURE__ */ e("div", { className: "mb-12 flex flex-col items-center text-center", children: t ? /* @__PURE__ */ s(n, { children: [
|
|
19
|
+
/* @__PURE__ */ e("h3", { className: "mb-2", children: "Link de redefinição enviado" }),
|
|
20
|
+
/* @__PURE__ */ e("p", { className: "font-semibold", children: "Enviamos um link de redefinição para seu e-mail. Ele é válido por 30 minutos." })
|
|
21
|
+
] }) : /* @__PURE__ */ s(n, { children: [
|
|
22
|
+
/* @__PURE__ */ e("h3", { className: "mb-2", children: o("pages.auth.forgotPassword.title") }),
|
|
23
|
+
/* @__PURE__ */ e("p", { className: "font-semibold", children: o("pages.auth.forgotPassword.desc") })
|
|
26
24
|
] }) }),
|
|
27
|
-
r && /* @__PURE__ */ e(
|
|
25
|
+
r && /* @__PURE__ */ e(g, { showIcon: !0, className: "mb-4", type: "danger", children: /* @__PURE__ */ e("span", { className: "break-all", children: r }) }),
|
|
28
26
|
/* @__PURE__ */ e(
|
|
29
|
-
|
|
27
|
+
h,
|
|
30
28
|
{
|
|
31
|
-
emailSent:
|
|
29
|
+
emailSent: t,
|
|
32
30
|
setMessage: m,
|
|
33
31
|
setEmailSent: i,
|
|
34
32
|
children: /* @__PURE__ */ e(
|
|
35
|
-
|
|
33
|
+
b,
|
|
36
34
|
{
|
|
37
35
|
block: !0,
|
|
38
36
|
variant: "solid",
|
|
39
37
|
type: "button",
|
|
40
|
-
onClick:
|
|
41
|
-
children:
|
|
38
|
+
onClick: c,
|
|
39
|
+
children: o("common.actions.continue")
|
|
42
40
|
}
|
|
43
41
|
)
|
|
44
42
|
}
|
|
45
|
-
)
|
|
46
|
-
/* @__PURE__ */ e("div", { className: "mt-4 text-center", children: /* @__PURE__ */ e(
|
|
47
|
-
d,
|
|
48
|
-
{
|
|
49
|
-
to: s,
|
|
50
|
-
className: "heading-text font-bold",
|
|
51
|
-
themeColor: !1,
|
|
52
|
-
children: t("common.actions.back")
|
|
53
|
-
}
|
|
54
|
-
) })
|
|
43
|
+
)
|
|
55
44
|
] });
|
|
56
|
-
},
|
|
45
|
+
}, B = () => /* @__PURE__ */ e(v, {});
|
|
57
46
|
export {
|
|
58
|
-
|
|
59
|
-
|
|
47
|
+
v as ForgotPasswordBase,
|
|
48
|
+
B as default
|
|
60
49
|
};
|
|
61
50
|
//# sourceMappingURL=ForgotPassword.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ForgotPassword.js","sources":["../../../../../lib/@ecme/views/auth/ForgotPassword/ForgotPassword.tsx"],"sourcesContent":["import ActionLink from '@/components/shared/ActionLink'\nimport Alert from '@/components/ui/Alert'\nimport Button from '@/components/ui/Button'\nimport useTimeOutMessage from '@/utils/hooks/useTimeOutMessage'\nimport { useState } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport {
|
|
1
|
+
{"version":3,"file":"ForgotPassword.js","sources":["../../../../../lib/@ecme/views/auth/ForgotPassword/ForgotPassword.tsx"],"sourcesContent":["import ActionLink from '@/components/shared/ActionLink'\nimport Alert from '@/components/ui/Alert'\nimport Button from '@/components/ui/Button'\nimport useTimeOutMessage from '@/utils/hooks/useTimeOutMessage'\nimport { useState } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport { useNavigate } from 'react-router-dom'\nimport ForgotPasswordForm from './components/ForgotPasswordForm'\n\ntype ForgotPasswordProps = {\n signInUrl?: string\n}\n\nexport const ForgotPasswordBase = ({\n signInUrl = '/sign-in',\n}: ForgotPasswordProps) => {\n const [emailSent, setEmailSent] = useState(false)\n const [message, setMessage] = useTimeOutMessage()\n\n const navigate = useNavigate()\n\n const handleContinue = () => {\n navigate(signInUrl)\n }\n\n const { t } = useTranslation()\n\n return (\n <div>\n <div className=\"mb-12 flex flex-col items-center text-center\">\n {emailSent ? (\n <>\n <h3 className=\"mb-2\">Link de redefinição enviado</h3>\n <p className=\"font-semibold\">\n Enviamos um link de redefinição para seu e-mail. Ele é válido por 30 minutos.\n </p>\n </>\n ) : (\n <>\n <h3 className=\"mb-2\">\n {t('pages.auth.forgotPassword.title')}\n </h3>\n <p className=\"font-semibold\">\n {t('pages.auth.forgotPassword.desc')}\n </p>\n </>\n )}\n </div>\n {message && (\n <Alert showIcon className=\"mb-4\" type=\"danger\">\n <span className=\"break-all\">{message}</span>\n </Alert>\n )}\n <ForgotPasswordForm\n emailSent={emailSent}\n setMessage={setMessage}\n setEmailSent={setEmailSent}\n >\n <Button\n block\n variant=\"solid\"\n type=\"button\"\n onClick={handleContinue}\n >\n {t('common.actions.continue')}\n </Button>\n </ForgotPasswordForm>\n </div>\n )\n}\n\nconst ForgotPassword = () => {\n return <ForgotPasswordBase />\n}\n\nexport default ForgotPassword\n"],"names":["ForgotPasswordBase","signInUrl","emailSent","setEmailSent","useState","message","setMessage","useTimeOutMessage","navigate","useNavigate","handleContinue","t","useTranslation","jsx","jsxs","Fragment","Alert","ForgotPasswordForm","Button","ForgotPassword"],"mappings":";;;;;;;;;;AAaO,MAAMA,IAAqB,CAAC;AAAA,EAC/B,WAAAC,IAAY;AAChB,MAA2B;AACvB,QAAM,CAACC,GAAWC,CAAY,IAAIC,EAAS,EAAK,GAC1C,CAACC,GAASC,CAAU,IAAIC,EAAkB,GAE1CC,IAAWC,EAAY,GAEvBC,IAAiB,MAAM;AACzB,IAAAF,EAASP,CAAS;AAAA,EACtB,GAEM,EAAE,GAAAU,EAAE,IAAIC,EAAe;AAE7B,2BACK,OACG,EAAA,UAAA;AAAA,IAAA,gBAAAC,EAAC,OAAI,EAAA,WAAU,gDACV,UAAAX,IAEO,gBAAAY,EAAAC,GAAA,EAAA,UAAA;AAAA,MAAC,gBAAAF,EAAA,MAAA,EAAG,WAAU,QAAO,UAA2B,+BAAA;AAAA,MAC/C,gBAAAA,EAAA,KAAA,EAAE,WAAU,iBAAgB,UAE7B,gFAAA,CAAA;AAAA,IAAA,EAAA,CACJ,IAGI,gBAAAC,EAAAC,GAAA,EAAA,UAAA;AAAA,MAAA,gBAAAF,EAAC,MAAG,EAAA,WAAU,QACT,UAAAF,EAAE,iCAAiC,GACxC;AAAA,wBACC,KAAE,EAAA,WAAU,iBACR,UAAAA,EAAE,gCAAgC,EACvC,CAAA;AAAA,IAAA,EAAA,CACJ,EAER,CAAA;AAAA,IACCN,KACG,gBAAAQ,EAACG,GAAM,EAAA,UAAQ,IAAC,WAAU,QAAO,MAAK,UAClC,UAAC,gBAAAH,EAAA,QAAA,EAAK,WAAU,aAAa,YAAQ,CAAA,GACzC;AAAA,IAEJ,gBAAAA;AAAA,MAACI;AAAA,MAAA;AAAA,QACG,WAAAf;AAAA,QACA,YAAAI;AAAA,QACA,cAAAH;AAAA,QAEA,UAAA,gBAAAU;AAAA,UAACK;AAAA,UAAA;AAAA,YACG,OAAK;AAAA,YACL,SAAQ;AAAA,YACR,MAAK;AAAA,YACL,SAASR;AAAA,YAER,YAAE,yBAAyB;AAAA,UAAA;AAAA,QAAA;AAAA,MAChC;AAAA,IAAA;AAAA,EACJ,GACJ;AAER,GAEMS,IAAiB,wBACXnB,GAAmB,EAAA;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ForgotPassword.d.ts","sourceRoot":"","sources":["../../../../../../lib/@ecme/views/auth/ForgotPassword/ForgotPassword.tsx"],"names":[],"mappings":"AASA,KAAK,mBAAmB,GAAG;IACvB,SAAS,CAAC,EAAE,MAAM,CAAA;CACrB,CAAA;AAED,eAAO,MAAM,kBAAkB,GAAI,gBAEhC,mBAAmB,
|
|
1
|
+
{"version":3,"file":"ForgotPassword.d.ts","sourceRoot":"","sources":["../../../../../../lib/@ecme/views/auth/ForgotPassword/ForgotPassword.tsx"],"names":[],"mappings":"AASA,KAAK,mBAAmB,GAAG;IACvB,SAAS,CAAC,EAAE,MAAM,CAAA;CACrB,CAAA;AAED,eAAO,MAAM,kBAAkB,GAAI,gBAEhC,mBAAmB,4CAsDrB,CAAA;AAED,QAAA,MAAM,cAAc,+CAEnB,CAAA;AAED,eAAe,cAAc,CAAA"}
|
|
@@ -55,13 +55,13 @@ const LayoutSwitcher = () => {
|
|
|
55
55
|
srcDark: '/img/thumbs/layouts/simple-dark.jpg',
|
|
56
56
|
svg: <FrameLessSideSvg height={'100%'} width={'100%'} />,
|
|
57
57
|
},
|
|
58
|
-
{
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
},
|
|
58
|
+
// {
|
|
59
|
+
// value: LAYOUT_CONTENT_OVERLAY,
|
|
60
|
+
// label: t('base.layout.themeConfig.options.layoutOverlay'),
|
|
61
|
+
// src: '/img/thumbs/layouts/decked.jpg',
|
|
62
|
+
// srcDark: '/img/thumbs/layouts/decked-dark.jpg',
|
|
63
|
+
// svg: <ContentOverlaySvg height={'100%'} width={'100%'} />,
|
|
64
|
+
// },
|
|
65
65
|
// {
|
|
66
66
|
// value: LAYOUT_BLANK,
|
|
67
67
|
// label: t('base.layout.themeConfig.options.layoutBlank'),
|
|
@@ -41,16 +41,16 @@ const _UserDropdown = () => {
|
|
|
41
41
|
path: '/concepts/account/settings',
|
|
42
42
|
icon: <PiUserDuotone />,
|
|
43
43
|
},
|
|
44
|
-
{
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
},
|
|
49
|
-
{
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
},
|
|
44
|
+
// {
|
|
45
|
+
// label: t('base.layout.profile.dropdown.options.settings'),
|
|
46
|
+
// path: '/concepts/account/settings',
|
|
47
|
+
// icon: <PiGearDuotone />,
|
|
48
|
+
// },
|
|
49
|
+
// {
|
|
50
|
+
// label: t('base.layout.profile.dropdown.options.activity'),
|
|
51
|
+
// path: '/concepts/account/activity-log',
|
|
52
|
+
// icon: <PiPulseDuotone />,
|
|
53
|
+
// },
|
|
54
54
|
],
|
|
55
55
|
[t],
|
|
56
56
|
)
|
|
@@ -4,7 +4,7 @@ import Button from '@/components/ui/Button'
|
|
|
4
4
|
import useTimeOutMessage from '@/utils/hooks/useTimeOutMessage'
|
|
5
5
|
import { useState } from 'react'
|
|
6
6
|
import { useTranslation } from 'react-i18next'
|
|
7
|
-
import {
|
|
7
|
+
import { useNavigate } from 'react-router-dom'
|
|
8
8
|
import ForgotPasswordForm from './components/ForgotPasswordForm'
|
|
9
9
|
|
|
10
10
|
type ForgotPasswordProps = {
|
|
@@ -30,13 +30,10 @@ export const ForgotPasswordBase = ({
|
|
|
30
30
|
<div className="mb-12 flex flex-col items-center text-center">
|
|
31
31
|
{emailSent ? (
|
|
32
32
|
<>
|
|
33
|
-
<h3 className="mb-2">
|
|
34
|
-
{t('pages.auth.forgotPassword.mailSent')}
|
|
35
|
-
</h3>
|
|
33
|
+
<h3 className="mb-2">Link de redefinição enviado</h3>
|
|
36
34
|
<p className="font-semibold">
|
|
37
|
-
|
|
35
|
+
Enviamos um link de redefinição para seu e-mail. Ele é válido por 30 minutos.
|
|
38
36
|
</p>
|
|
39
|
-
<Navigate to="/reset-password" />
|
|
40
37
|
</>
|
|
41
38
|
) : (
|
|
42
39
|
<>
|
|
@@ -68,15 +65,6 @@ export const ForgotPasswordBase = ({
|
|
|
68
65
|
{t('common.actions.continue')}
|
|
69
66
|
</Button>
|
|
70
67
|
</ForgotPasswordForm>
|
|
71
|
-
<div className="mt-4 text-center">
|
|
72
|
-
<ActionLink
|
|
73
|
-
to={signInUrl}
|
|
74
|
-
className="heading-text font-bold"
|
|
75
|
-
themeColor={false}
|
|
76
|
-
>
|
|
77
|
-
{t('common.actions.back')}
|
|
78
|
-
</ActionLink>
|
|
79
|
-
</div>
|
|
80
68
|
</div>
|
|
81
69
|
)
|
|
82
70
|
}
|
package/package.json
CHANGED