@splpi/estore-shared-components 0.0.3 → 0.0.5
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/index.d.mts +5 -5
- package/dist/index.d.ts +5 -5
- package/dist/index.js +326 -313
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +197 -196
- package/dist/index.mjs.map +1 -1
- package/package.json +2 -1
package/dist/index.js
CHANGED
|
@@ -3482,6 +3482,7 @@ var BottomQuickActions_default = BottomQuickActions;
|
|
|
3482
3482
|
// src/Generic/NotifyInstall.tsx
|
|
3483
3483
|
var import_react32 = require("react");
|
|
3484
3484
|
var import_react33 = require("@chakra-ui/react");
|
|
3485
|
+
var import_react34 = require("motion/react");
|
|
3485
3486
|
var import_fi = require("react-icons/fi");
|
|
3486
3487
|
|
|
3487
3488
|
// src/hooks/useNotifyInstall.ts
|
|
@@ -3524,163 +3525,175 @@ function useNotifyInstall() {
|
|
|
3524
3525
|
// src/Generic/NotifyInstall.tsx
|
|
3525
3526
|
var import_jsx_runtime19 = require("react/jsx-runtime");
|
|
3526
3527
|
var STEPS = [
|
|
3527
|
-
{
|
|
3528
|
-
|
|
3529
|
-
label: "Tap the browser menu or Share button"
|
|
3530
|
-
},
|
|
3531
|
-
{
|
|
3532
|
-
icon: import_fi.FiPlusSquare,
|
|
3533
|
-
label: 'Choose "Add to Home Screen"'
|
|
3534
|
-
}
|
|
3528
|
+
{ icon: import_fi.FiShare, label: "Tap the browser menu or Share button" },
|
|
3529
|
+
{ icon: import_fi.FiPlusSquare, label: 'Choose "Add to Home Screen"' }
|
|
3535
3530
|
];
|
|
3536
|
-
var
|
|
3531
|
+
var DISMISSED_KEY = "estore-install-dialog-dismissed";
|
|
3537
3532
|
function NotifyInstall({
|
|
3538
|
-
children
|
|
3533
|
+
children,
|
|
3534
|
+
appName
|
|
3539
3535
|
}) {
|
|
3540
3536
|
const { isInstalled, isMobile, canInstall, install } = useNotifyInstall();
|
|
3541
|
-
const [isDismissed, setIsDismissed] = (0, import_react32.useState)(
|
|
3537
|
+
const [isDismissed, setIsDismissed] = (0, import_react32.useState)(true);
|
|
3542
3538
|
(0, import_react32.useEffect)(() => {
|
|
3543
|
-
|
|
3544
|
-
|
|
3539
|
+
if (localStorage.getItem(DISMISSED_KEY) !== "true") {
|
|
3540
|
+
setIsDismissed(false);
|
|
3541
|
+
}
|
|
3545
3542
|
}, []);
|
|
3546
|
-
const
|
|
3547
|
-
localStorage.setItem(
|
|
3543
|
+
const handleDismiss = () => {
|
|
3544
|
+
localStorage.setItem(DISMISSED_KEY, "true");
|
|
3548
3545
|
setIsDismissed(true);
|
|
3549
3546
|
};
|
|
3550
|
-
const
|
|
3551
|
-
if (!isOpen) {
|
|
3552
|
-
return children;
|
|
3553
|
-
}
|
|
3547
|
+
const showPrompt = isMobile && !isInstalled && !isDismissed;
|
|
3554
3548
|
return /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(import_jsx_runtime19.Fragment, { children: [
|
|
3555
3549
|
children,
|
|
3556
|
-
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
|
|
3557
|
-
|
|
3558
|
-
|
|
3559
|
-
|
|
3560
|
-
|
|
3561
|
-
|
|
3562
|
-
|
|
3550
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_react34.AnimatePresence, { children: showPrompt && /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(import_jsx_runtime19.Fragment, { children: [
|
|
3551
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
|
|
3552
|
+
import_react34.motion.div,
|
|
3553
|
+
{
|
|
3554
|
+
initial: { opacity: 0 },
|
|
3555
|
+
animate: { opacity: 1 },
|
|
3556
|
+
exit: { opacity: 0 },
|
|
3557
|
+
transition: { duration: 0.2 },
|
|
3558
|
+
onClick: handleDismiss,
|
|
3559
|
+
style: {
|
|
3560
|
+
position: "fixed",
|
|
3561
|
+
inset: 0,
|
|
3562
|
+
zIndex: 1300,
|
|
3563
|
+
background: "rgba(0,0,0,0.55)",
|
|
3564
|
+
backdropFilter: "blur(3px)",
|
|
3565
|
+
WebkitBackdropFilter: "blur(3px)"
|
|
3563
3566
|
}
|
|
3564
3567
|
},
|
|
3565
|
-
|
|
3566
|
-
|
|
3567
|
-
|
|
3568
|
-
|
|
3569
|
-
|
|
3570
|
-
|
|
3571
|
-
|
|
3572
|
-
|
|
3573
|
-
|
|
3574
|
-
|
|
3575
|
-
|
|
3568
|
+
"install-backdrop"
|
|
3569
|
+
),
|
|
3570
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(
|
|
3571
|
+
import_react34.motion.div,
|
|
3572
|
+
{
|
|
3573
|
+
initial: { y: "100%" },
|
|
3574
|
+
animate: { y: 0 },
|
|
3575
|
+
exit: { y: "100%" },
|
|
3576
|
+
transition: { type: "spring", damping: 28, stiffness: 280 },
|
|
3577
|
+
style: {
|
|
3578
|
+
position: "fixed",
|
|
3579
|
+
bottom: 0,
|
|
3580
|
+
left: 0,
|
|
3581
|
+
right: 0,
|
|
3582
|
+
zIndex: 1400,
|
|
3583
|
+
background: "white",
|
|
3584
|
+
borderRadius: "24px 24px 0 0",
|
|
3585
|
+
boxShadow: "0 -8px 40px rgba(0,0,0,0.14)",
|
|
3586
|
+
paddingBottom: "env(safe-area-inset-bottom)"
|
|
3587
|
+
},
|
|
3588
|
+
children: [
|
|
3589
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
|
|
3590
|
+
"button",
|
|
3591
|
+
{
|
|
3592
|
+
"aria-label": "Dismiss install prompt",
|
|
3593
|
+
onClick: handleDismiss,
|
|
3594
|
+
style: {
|
|
3595
|
+
position: "absolute",
|
|
3596
|
+
top: 12,
|
|
3597
|
+
right: 12,
|
|
3598
|
+
background: "none",
|
|
3599
|
+
border: "none",
|
|
3600
|
+
cursor: "pointer",
|
|
3601
|
+
padding: 8,
|
|
3602
|
+
borderRadius: "50%",
|
|
3603
|
+
display: "flex",
|
|
3604
|
+
alignItems: "center",
|
|
3605
|
+
justifyContent: "center",
|
|
3606
|
+
color: "#9ca3af"
|
|
3607
|
+
},
|
|
3608
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_fi.FiX, { size: 18 })
|
|
3609
|
+
}
|
|
3610
|
+
),
|
|
3611
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(import_react33.VStack, { gap: 6, textAlign: "center", px: 6, py: 8, children: [
|
|
3612
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
|
|
3613
|
+
import_react33.Flex,
|
|
3614
|
+
{
|
|
3615
|
+
boxSize: 16,
|
|
3616
|
+
align: "center",
|
|
3617
|
+
justify: "center",
|
|
3618
|
+
rounded: "2xl",
|
|
3619
|
+
bg: "green.50",
|
|
3620
|
+
color: "green.600",
|
|
3621
|
+
shadow: "sm",
|
|
3622
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_react33.Icon, { as: import_fi.FiDownload, boxSize: 8 })
|
|
3623
|
+
}
|
|
3624
|
+
),
|
|
3625
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(import_react33.VStack, { gap: 2, children: [
|
|
3626
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(
|
|
3627
|
+
import_react33.Text,
|
|
3628
|
+
{
|
|
3629
|
+
fontSize: "lg",
|
|
3630
|
+
fontWeight: "bold",
|
|
3631
|
+
color: "gray.900",
|
|
3632
|
+
lineHeight: "short",
|
|
3633
|
+
children: [
|
|
3634
|
+
"Install ",
|
|
3635
|
+
appName
|
|
3636
|
+
]
|
|
3637
|
+
}
|
|
3638
|
+
),
|
|
3639
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_react33.Text, { fontSize: "sm", color: "gray.500", lineHeight: "tall", children: "Add the app to your home screen for a faster, app-like experience before continuing." })
|
|
3640
|
+
] }),
|
|
3641
|
+
canInstall ? /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(
|
|
3642
|
+
import_react33.Button,
|
|
3576
3643
|
{
|
|
3577
|
-
|
|
3578
|
-
|
|
3579
|
-
|
|
3580
|
-
|
|
3581
|
-
|
|
3582
|
-
m: 0,
|
|
3644
|
+
onClick: install,
|
|
3645
|
+
colorPalette: "green",
|
|
3646
|
+
size: "lg",
|
|
3647
|
+
w: "full",
|
|
3648
|
+
rounded: "xl",
|
|
3583
3649
|
children: [
|
|
3584
|
-
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_react33.
|
|
3585
|
-
|
|
3586
|
-
import_react33.Flex,
|
|
3587
|
-
{
|
|
3588
|
-
boxSize: { base: 16, sm: 20 },
|
|
3589
|
-
align: "center",
|
|
3590
|
-
justify: "center",
|
|
3591
|
-
rounded: "2xl",
|
|
3592
|
-
bg: "green.50",
|
|
3593
|
-
color: "green.600",
|
|
3594
|
-
shadow: "sm",
|
|
3595
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_react33.Icon, { as: import_fi.FiDownload, boxSize: { base: 8, sm: 9 } })
|
|
3596
|
-
}
|
|
3597
|
-
),
|
|
3598
|
-
/* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(import_react33.VStack, { gap: 2, children: [
|
|
3599
|
-
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
|
|
3600
|
-
import_react33.Heading,
|
|
3601
|
-
{
|
|
3602
|
-
fontSize: { base: "lg", sm: "xl" },
|
|
3603
|
-
fontWeight: "bold",
|
|
3604
|
-
color: "gray.900",
|
|
3605
|
-
children: "Install St. Peter eStore"
|
|
3606
|
-
}
|
|
3607
|
-
),
|
|
3608
|
-
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
|
|
3609
|
-
import_react33.Text,
|
|
3610
|
-
{
|
|
3611
|
-
fontSize: { base: "sm", sm: "md" },
|
|
3612
|
-
color: "gray.600",
|
|
3613
|
-
lineHeight: "tall",
|
|
3614
|
-
children: "Add the app to your home screen for a faster, app-like experience before continuing."
|
|
3615
|
-
}
|
|
3616
|
-
)
|
|
3617
|
-
] }),
|
|
3618
|
-
canInstall ? /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(
|
|
3619
|
-
import_react33.Button,
|
|
3620
|
-
{
|
|
3621
|
-
onClick: install,
|
|
3622
|
-
colorPalette: "green",
|
|
3623
|
-
size: "lg",
|
|
3624
|
-
w: "full",
|
|
3625
|
-
rounded: "xl",
|
|
3626
|
-
children: [
|
|
3627
|
-
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_react33.Icon, { as: import_fi.FiDownload }),
|
|
3628
|
-
"Add to Home Screen"
|
|
3629
|
-
]
|
|
3630
|
-
}
|
|
3631
|
-
) : /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
|
|
3632
|
-
import_react33.Box,
|
|
3633
|
-
{
|
|
3634
|
-
w: "full",
|
|
3635
|
-
bg: "gray.50",
|
|
3636
|
-
borderWidth: "1px",
|
|
3637
|
-
borderColor: "gray.100",
|
|
3638
|
-
rounded: "xl",
|
|
3639
|
-
p: 4,
|
|
3640
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_react33.VStack, { gap: 4, align: "stretch", children: STEPS.map((step, index) => /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(import_react33.HStack, { gap: 3, align: "center", children: [
|
|
3641
|
-
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
|
|
3642
|
-
import_react33.Flex,
|
|
3643
|
-
{
|
|
3644
|
-
boxSize: 9,
|
|
3645
|
-
flexShrink: 0,
|
|
3646
|
-
align: "center",
|
|
3647
|
-
justify: "center",
|
|
3648
|
-
rounded: "lg",
|
|
3649
|
-
bg: "white",
|
|
3650
|
-
borderWidth: "1px",
|
|
3651
|
-
borderColor: "gray.200",
|
|
3652
|
-
color: "green.600",
|
|
3653
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_react33.Icon, { as: step.icon, boxSize: 4 })
|
|
3654
|
-
}
|
|
3655
|
-
),
|
|
3656
|
-
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
|
|
3657
|
-
import_react33.Text,
|
|
3658
|
-
{
|
|
3659
|
-
fontSize: "sm",
|
|
3660
|
-
color: "gray.700",
|
|
3661
|
-
textAlign: "left",
|
|
3662
|
-
children: step.label
|
|
3663
|
-
}
|
|
3664
|
-
)
|
|
3665
|
-
] }, index)) })
|
|
3666
|
-
}
|
|
3667
|
-
)
|
|
3668
|
-
] }) }),
|
|
3669
|
-
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_react33.Dialog.CloseTrigger, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_react33.CloseButton, { size: "sm", onClick: handleClose }) })
|
|
3650
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_react33.Icon, { as: import_fi.FiDownload }),
|
|
3651
|
+
"Add to Home Screen"
|
|
3670
3652
|
]
|
|
3671
3653
|
}
|
|
3654
|
+
) : /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
|
|
3655
|
+
import_react33.VStack,
|
|
3656
|
+
{
|
|
3657
|
+
w: "full",
|
|
3658
|
+
bg: "gray.50",
|
|
3659
|
+
borderWidth: "1px",
|
|
3660
|
+
borderColor: "gray.100",
|
|
3661
|
+
rounded: "xl",
|
|
3662
|
+
p: 4,
|
|
3663
|
+
gap: 4,
|
|
3664
|
+
align: "stretch",
|
|
3665
|
+
children: STEPS.map((step, i) => /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(import_react33.HStack, { gap: 3, align: "center", children: [
|
|
3666
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
|
|
3667
|
+
import_react33.Flex,
|
|
3668
|
+
{
|
|
3669
|
+
boxSize: 9,
|
|
3670
|
+
flexShrink: 0,
|
|
3671
|
+
align: "center",
|
|
3672
|
+
justify: "center",
|
|
3673
|
+
rounded: "lg",
|
|
3674
|
+
bg: "white",
|
|
3675
|
+
borderWidth: "1px",
|
|
3676
|
+
borderColor: "gray.200",
|
|
3677
|
+
color: "green.600",
|
|
3678
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_react33.Icon, { as: step.icon, boxSize: 4 })
|
|
3679
|
+
}
|
|
3680
|
+
),
|
|
3681
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_react33.Text, { fontSize: "sm", color: "gray.700", textAlign: "left", children: step.label })
|
|
3682
|
+
] }, i))
|
|
3683
|
+
}
|
|
3672
3684
|
)
|
|
3673
|
-
}
|
|
3674
|
-
|
|
3675
|
-
|
|
3676
|
-
|
|
3677
|
-
|
|
3685
|
+
] })
|
|
3686
|
+
]
|
|
3687
|
+
},
|
|
3688
|
+
"install-sheet"
|
|
3689
|
+
)
|
|
3690
|
+
] }) })
|
|
3678
3691
|
] });
|
|
3679
3692
|
}
|
|
3680
3693
|
|
|
3681
3694
|
// src/UserProfile/UserProfile.tsx
|
|
3682
|
-
var
|
|
3683
|
-
var
|
|
3695
|
+
var import_react35 = require("react");
|
|
3696
|
+
var import_react36 = require("@chakra-ui/react");
|
|
3684
3697
|
var import_ri = require("react-icons/ri");
|
|
3685
3698
|
var import_lu7 = require("react-icons/lu");
|
|
3686
3699
|
var import_hi2 = require("react-icons/hi2");
|
|
@@ -3987,28 +4000,28 @@ function ReusableProfile({
|
|
|
3987
4000
|
onTwoFactorChange,
|
|
3988
4001
|
onToast = noopToast
|
|
3989
4002
|
}) {
|
|
3990
|
-
const [profileView, setProfileView] = (0,
|
|
3991
|
-
const [fallbackColorMode, setFallbackColorMode] = (0,
|
|
4003
|
+
const [profileView, setProfileView] = (0, import_react35.useState)("main");
|
|
4004
|
+
const [fallbackColorMode, setFallbackColorMode] = (0, import_react35.useState)("light");
|
|
3992
4005
|
const colorMode = controlledColorMode ?? fallbackColorMode;
|
|
3993
|
-
const [fontSize, setFontSizeLocal] = (0,
|
|
3994
|
-
const [quickNavHrefs, setQuickNavHrefs] = (0,
|
|
3995
|
-
const [replacingIdx, setReplacingIdx] = (0,
|
|
3996
|
-
const [editName, setEditName] = (0,
|
|
3997
|
-
const [editLoading, setEditLoading] = (0,
|
|
3998
|
-
const [currentPw, setCurrentPw] = (0,
|
|
3999
|
-
const [newPw, setNewPw] = (0,
|
|
4000
|
-
const [confirmPw, setConfirmPw] = (0,
|
|
4001
|
-
const [showCurrentPw, setShowCurrentPw] = (0,
|
|
4002
|
-
const [showNewPw, setShowNewPw] = (0,
|
|
4003
|
-
const [showConfirmPw, setShowConfirmPw] = (0,
|
|
4004
|
-
const [pwLoading, setPwLoading] = (0,
|
|
4005
|
-
const [twoFactorEnabled, setTwoFactorEnabled] = (0,
|
|
4006
|
+
const [fontSize, setFontSizeLocal] = (0, import_react35.useState)("md");
|
|
4007
|
+
const [quickNavHrefs, setQuickNavHrefs] = (0, import_react35.useState)(initialQuickNavHrefs);
|
|
4008
|
+
const [replacingIdx, setReplacingIdx] = (0, import_react35.useState)(null);
|
|
4009
|
+
const [editName, setEditName] = (0, import_react35.useState)(user.displayName);
|
|
4010
|
+
const [editLoading, setEditLoading] = (0, import_react35.useState)(false);
|
|
4011
|
+
const [currentPw, setCurrentPw] = (0, import_react35.useState)("");
|
|
4012
|
+
const [newPw, setNewPw] = (0, import_react35.useState)("");
|
|
4013
|
+
const [confirmPw, setConfirmPw] = (0, import_react35.useState)("");
|
|
4014
|
+
const [showCurrentPw, setShowCurrentPw] = (0, import_react35.useState)(false);
|
|
4015
|
+
const [showNewPw, setShowNewPw] = (0, import_react35.useState)(false);
|
|
4016
|
+
const [showConfirmPw, setShowConfirmPw] = (0, import_react35.useState)(false);
|
|
4017
|
+
const [pwLoading, setPwLoading] = (0, import_react35.useState)(false);
|
|
4018
|
+
const [twoFactorEnabled, setTwoFactorEnabled] = (0, import_react35.useState)(
|
|
4006
4019
|
initialTwoFactorEnabled
|
|
4007
4020
|
);
|
|
4008
|
-
const [isMounted, setIsMounted] = (0,
|
|
4009
|
-
const isDesktopRaw = (0,
|
|
4021
|
+
const [isMounted, setIsMounted] = (0, import_react35.useState)(false);
|
|
4022
|
+
const isDesktopRaw = (0, import_react36.useBreakpointValue)({ base: false, md: true });
|
|
4010
4023
|
const isDesktop = isMounted ? isDesktopRaw ?? false : false;
|
|
4011
|
-
(0,
|
|
4024
|
+
(0, import_react35.useEffect)(() => {
|
|
4012
4025
|
setIsMounted(true);
|
|
4013
4026
|
if (!enableLocalStorage || typeof window === "undefined") return;
|
|
4014
4027
|
setFontSizeLocal(localStorage.getItem(FONT_SIZE_STORAGE_KEY) ?? "md");
|
|
@@ -4019,10 +4032,10 @@ function ReusableProfile({
|
|
|
4019
4032
|
setQuickNavHrefs(initialQuickNavHrefs);
|
|
4020
4033
|
}
|
|
4021
4034
|
}, [enableLocalStorage, initialQuickNavHrefs, storageKey]);
|
|
4022
|
-
(0,
|
|
4035
|
+
(0, import_react35.useEffect)(() => {
|
|
4023
4036
|
setEditName(user.displayName);
|
|
4024
4037
|
}, [user.displayName]);
|
|
4025
|
-
const availableOptions = (0,
|
|
4038
|
+
const availableOptions = (0, import_react35.useMemo)(
|
|
4026
4039
|
() => availableNavOptions.filter(
|
|
4027
4040
|
(option) => !user.role || option.roles.includes(user.role)
|
|
4028
4041
|
),
|
|
@@ -4152,7 +4165,7 @@ function ReusableProfile({
|
|
|
4152
4165
|
const roleLabel = user.role ? ROLE_LABELS[user.role] ?? user.role : "";
|
|
4153
4166
|
const mainContent = /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_jsx_runtime20.Fragment, { children: [
|
|
4154
4167
|
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
4155
|
-
|
|
4168
|
+
import_react36.Box,
|
|
4156
4169
|
{
|
|
4157
4170
|
bg: "var(--chakra-colors-primary)",
|
|
4158
4171
|
pt: 12,
|
|
@@ -4161,20 +4174,20 @@ function ReusableProfile({
|
|
|
4161
4174
|
textAlign: "center",
|
|
4162
4175
|
children: [
|
|
4163
4176
|
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
4164
|
-
|
|
4177
|
+
import_react36.Avatar.Root,
|
|
4165
4178
|
{
|
|
4166
4179
|
size: "2xl",
|
|
4167
4180
|
mx: "auto",
|
|
4168
4181
|
mb: 4,
|
|
4169
4182
|
colorPalette: pickPalette(user.displayName || "U"),
|
|
4170
4183
|
children: [
|
|
4171
|
-
user.avatarSrc && /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4172
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4184
|
+
user.avatarSrc && /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react36.Avatar.Image, { src: user.avatarSrc, alt: user.displayName }),
|
|
4185
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react36.Avatar.Fallback, { name: user.displayName })
|
|
4173
4186
|
]
|
|
4174
4187
|
}
|
|
4175
4188
|
),
|
|
4176
4189
|
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4177
|
-
|
|
4190
|
+
import_react36.Text,
|
|
4178
4191
|
{
|
|
4179
4192
|
color: "white",
|
|
4180
4193
|
fontWeight: "bold",
|
|
@@ -4184,9 +4197,9 @@ function ReusableProfile({
|
|
|
4184
4197
|
children: user.displayName
|
|
4185
4198
|
}
|
|
4186
4199
|
),
|
|
4187
|
-
user.email && /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4188
|
-
roleLabel && /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4189
|
-
|
|
4200
|
+
user.email && /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react36.Text, { color: "rgba(255,255,255,0.75)", fontSize: "sm", mb: 2, children: user.email }),
|
|
4201
|
+
roleLabel && /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react36.Box, { display: "inline-flex", children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4202
|
+
import_react36.Badge,
|
|
4190
4203
|
{
|
|
4191
4204
|
bg: "rgba(255,255,255,0.15)",
|
|
4192
4205
|
color: "white",
|
|
@@ -4202,9 +4215,9 @@ function ReusableProfile({
|
|
|
4202
4215
|
]
|
|
4203
4216
|
}
|
|
4204
4217
|
),
|
|
4205
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
4218
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react36.Box, { px: 4, pt: 5, pb: 1, children: [
|
|
4206
4219
|
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4207
|
-
|
|
4220
|
+
import_react36.Text,
|
|
4208
4221
|
{
|
|
4209
4222
|
fontSize: "xs",
|
|
4210
4223
|
fontWeight: "bold",
|
|
@@ -4216,7 +4229,7 @@ function ReusableProfile({
|
|
|
4216
4229
|
}
|
|
4217
4230
|
),
|
|
4218
4231
|
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4219
|
-
|
|
4232
|
+
import_react36.Box,
|
|
4220
4233
|
{
|
|
4221
4234
|
as: "button",
|
|
4222
4235
|
w: "full",
|
|
@@ -4225,7 +4238,7 @@ function ReusableProfile({
|
|
|
4225
4238
|
transition: "opacity 0.15s",
|
|
4226
4239
|
onClick: () => setProfileView("edit-account"),
|
|
4227
4240
|
children: /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
4228
|
-
|
|
4241
|
+
import_react36.Flex,
|
|
4229
4242
|
{
|
|
4230
4243
|
justify: "space-between",
|
|
4231
4244
|
align: "center",
|
|
@@ -4234,9 +4247,9 @@ function ReusableProfile({
|
|
|
4234
4247
|
borderRadius: "lg",
|
|
4235
4248
|
bg: isDesktop && profileView === "edit-account" ? "gray.100" : void 0,
|
|
4236
4249
|
children: [
|
|
4237
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
4250
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react36.Flex, { align: "center", gap: 3, children: [
|
|
4238
4251
|
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4239
|
-
|
|
4252
|
+
import_react36.Box,
|
|
4240
4253
|
{
|
|
4241
4254
|
w: "38px",
|
|
4242
4255
|
h: "38px",
|
|
@@ -4250,9 +4263,9 @@ function ReusableProfile({
|
|
|
4250
4263
|
children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_lu7.LuUser, { size: 16 })
|
|
4251
4264
|
}
|
|
4252
4265
|
),
|
|
4253
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
4254
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4255
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4266
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react36.Box, { children: [
|
|
4267
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react36.Text, { fontSize: "sm", fontWeight: "semibold", children: "Edit Account" }),
|
|
4268
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react36.Text, { fontSize: "xs", color: "gray.500", children: "Update your display name and contact details" })
|
|
4256
4269
|
] })
|
|
4257
4270
|
] }),
|
|
4258
4271
|
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_lu7.LuChevronRight, { size: 16, color: "var(--chakra-colors-gray-400)" })
|
|
@@ -4261,9 +4274,9 @@ function ReusableProfile({
|
|
|
4261
4274
|
)
|
|
4262
4275
|
}
|
|
4263
4276
|
),
|
|
4264
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4277
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react36.Separator, {}),
|
|
4265
4278
|
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4266
|
-
|
|
4279
|
+
import_react36.Box,
|
|
4267
4280
|
{
|
|
4268
4281
|
as: "button",
|
|
4269
4282
|
w: "full",
|
|
@@ -4275,7 +4288,7 @@ function ReusableProfile({
|
|
|
4275
4288
|
setProfileView("change-password");
|
|
4276
4289
|
},
|
|
4277
4290
|
children: /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
4278
|
-
|
|
4291
|
+
import_react36.Flex,
|
|
4279
4292
|
{
|
|
4280
4293
|
justify: "space-between",
|
|
4281
4294
|
align: "center",
|
|
@@ -4284,9 +4297,9 @@ function ReusableProfile({
|
|
|
4284
4297
|
borderRadius: "lg",
|
|
4285
4298
|
bg: isDesktop && profileView === "change-password" ? "gray.100" : void 0,
|
|
4286
4299
|
children: [
|
|
4287
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
4300
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react36.Flex, { align: "center", gap: 3, children: [
|
|
4288
4301
|
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4289
|
-
|
|
4302
|
+
import_react36.Box,
|
|
4290
4303
|
{
|
|
4291
4304
|
w: "38px",
|
|
4292
4305
|
h: "38px",
|
|
@@ -4300,9 +4313,9 @@ function ReusableProfile({
|
|
|
4300
4313
|
children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_lu7.LuLock, { size: 16 })
|
|
4301
4314
|
}
|
|
4302
4315
|
),
|
|
4303
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
4304
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4305
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4316
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react36.Box, { children: [
|
|
4317
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react36.Text, { fontSize: "sm", fontWeight: "semibold", children: "Change Password" }),
|
|
4318
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react36.Text, { fontSize: "xs", color: "gray.500", children: "Test locally through the callback prop" })
|
|
4306
4319
|
] })
|
|
4307
4320
|
] }),
|
|
4308
4321
|
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_lu7.LuChevronRight, { size: 16, color: "var(--chakra-colors-gray-400)" })
|
|
@@ -4311,11 +4324,11 @@ function ReusableProfile({
|
|
|
4311
4324
|
)
|
|
4312
4325
|
}
|
|
4313
4326
|
),
|
|
4314
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4315
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
4316
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
4327
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react36.Separator, {}),
|
|
4328
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react36.Flex, { justify: "space-between", align: "center", py: 3, children: [
|
|
4329
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react36.Flex, { align: "center", gap: 3, children: [
|
|
4317
4330
|
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4318
|
-
|
|
4331
|
+
import_react36.Box,
|
|
4319
4332
|
{
|
|
4320
4333
|
w: "38px",
|
|
4321
4334
|
h: "38px",
|
|
@@ -4329,13 +4342,13 @@ function ReusableProfile({
|
|
|
4329
4342
|
children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_lu7.LuShield, { size: 16 })
|
|
4330
4343
|
}
|
|
4331
4344
|
),
|
|
4332
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
4333
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4334
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4345
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react36.Box, { children: [
|
|
4346
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react36.Text, { fontSize: "sm", fontWeight: "semibold", children: "Two Factor Authentication" }),
|
|
4347
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react36.Text, { fontSize: "xs", color: "gray.500", children: twoFactorEnabled ? "Enabled" : "Disabled" })
|
|
4335
4348
|
] })
|
|
4336
4349
|
] }),
|
|
4337
4350
|
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4338
|
-
|
|
4351
|
+
import_react36.Box,
|
|
4339
4352
|
{
|
|
4340
4353
|
role: "switch",
|
|
4341
4354
|
"aria-checked": twoFactorEnabled,
|
|
@@ -4358,7 +4371,7 @@ function ReusableProfile({
|
|
|
4358
4371
|
flexShrink: 0,
|
|
4359
4372
|
outline: "none",
|
|
4360
4373
|
children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4361
|
-
|
|
4374
|
+
import_react36.Box,
|
|
4362
4375
|
{
|
|
4363
4376
|
position: "absolute",
|
|
4364
4377
|
top: "3px",
|
|
@@ -4375,9 +4388,9 @@ function ReusableProfile({
|
|
|
4375
4388
|
)
|
|
4376
4389
|
] })
|
|
4377
4390
|
] }),
|
|
4378
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
4391
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react36.Box, { px: 4, pt: 4, pb: 2, children: [
|
|
4379
4392
|
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4380
|
-
|
|
4393
|
+
import_react36.Text,
|
|
4381
4394
|
{
|
|
4382
4395
|
fontSize: "xs",
|
|
4383
4396
|
fontWeight: "bold",
|
|
@@ -4388,10 +4401,10 @@ function ReusableProfile({
|
|
|
4388
4401
|
children: "Preferences"
|
|
4389
4402
|
}
|
|
4390
4403
|
),
|
|
4391
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
4392
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
4404
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react36.Flex, { justify: "space-between", align: "center", py: 3, children: [
|
|
4405
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react36.Flex, { align: "center", gap: 3, children: [
|
|
4393
4406
|
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4394
|
-
|
|
4407
|
+
import_react36.Box,
|
|
4395
4408
|
{
|
|
4396
4409
|
w: "38px",
|
|
4397
4410
|
h: "38px",
|
|
@@ -4405,15 +4418,15 @@ function ReusableProfile({
|
|
|
4405
4418
|
children: colorMode === "dark" ? /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_lu7.LuMoon, { size: 16 }) : /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_lu7.LuSun, { size: 16 })
|
|
4406
4419
|
}
|
|
4407
4420
|
),
|
|
4408
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
4409
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4410
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4421
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react36.Box, { children: [
|
|
4422
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react36.Text, { fontSize: "sm", fontWeight: "semibold", children: "Appearance" }),
|
|
4423
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react36.Text, { fontSize: "xs", color: "gray.500", children: colorMode === "light" ? "Light mode" : "Dark mode" })
|
|
4411
4424
|
] })
|
|
4412
4425
|
] }),
|
|
4413
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4426
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react36.HStack, { gap: 1.5, children: ["light", "dark"].map((mode) => {
|
|
4414
4427
|
const isActive = colorMode === mode;
|
|
4415
4428
|
return /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
4416
|
-
|
|
4429
|
+
import_react36.Button,
|
|
4417
4430
|
{
|
|
4418
4431
|
size: "sm",
|
|
4419
4432
|
variant: "outline",
|
|
@@ -4430,7 +4443,7 @@ function ReusableProfile({
|
|
|
4430
4443
|
children: [
|
|
4431
4444
|
mode === "light" ? /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_lu7.LuSun, { size: 13 }) : /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_lu7.LuMoon, { size: 13 }),
|
|
4432
4445
|
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4433
|
-
|
|
4446
|
+
import_react36.Text,
|
|
4434
4447
|
{
|
|
4435
4448
|
fontSize: "xs",
|
|
4436
4449
|
textTransform: "capitalize",
|
|
@@ -4444,11 +4457,11 @@ function ReusableProfile({
|
|
|
4444
4457
|
);
|
|
4445
4458
|
}) })
|
|
4446
4459
|
] }),
|
|
4447
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4448
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
4449
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
4460
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react36.Separator, {}),
|
|
4461
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react36.Flex, { justify: "space-between", align: "center", py: 3, children: [
|
|
4462
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react36.Flex, { align: "center", gap: 3, children: [
|
|
4450
4463
|
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4451
|
-
|
|
4464
|
+
import_react36.Box,
|
|
4452
4465
|
{
|
|
4453
4466
|
w: "38px",
|
|
4454
4467
|
h: "38px",
|
|
@@ -4464,15 +4477,15 @@ function ReusableProfile({
|
|
|
4464
4477
|
children: "A"
|
|
4465
4478
|
}
|
|
4466
4479
|
),
|
|
4467
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
4468
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4469
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4480
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react36.Box, { children: [
|
|
4481
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react36.Text, { fontSize: "sm", fontWeight: "semibold", children: "Text Size" }),
|
|
4482
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react36.Text, { fontSize: "xs", color: "gray.500", children: fontSizeLabel })
|
|
4470
4483
|
] })
|
|
4471
4484
|
] }),
|
|
4472
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4485
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react36.HStack, { gap: 1, children: FONT_SIZES.map((option) => {
|
|
4473
4486
|
const isActive = fontSize === option.value;
|
|
4474
4487
|
return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4475
|
-
|
|
4488
|
+
import_react36.Button,
|
|
4476
4489
|
{
|
|
4477
4490
|
size: "sm",
|
|
4478
4491
|
variant: "outline",
|
|
@@ -4488,7 +4501,7 @@ function ReusableProfile({
|
|
|
4488
4501
|
onClick: () => handleFontSize(option.value),
|
|
4489
4502
|
title: option.title,
|
|
4490
4503
|
children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4491
|
-
|
|
4504
|
+
import_react36.Text,
|
|
4492
4505
|
{
|
|
4493
4506
|
fontWeight: isActive ? "bold" : "normal",
|
|
4494
4507
|
style: { fontSize: `${option.scale * 13}px` },
|
|
@@ -4500,9 +4513,9 @@ function ReusableProfile({
|
|
|
4500
4513
|
);
|
|
4501
4514
|
}) })
|
|
4502
4515
|
] }),
|
|
4503
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4516
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react36.Separator, {}),
|
|
4504
4517
|
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4505
|
-
|
|
4518
|
+
import_react36.Box,
|
|
4506
4519
|
{
|
|
4507
4520
|
as: "button",
|
|
4508
4521
|
w: "full",
|
|
@@ -4510,10 +4523,10 @@ function ReusableProfile({
|
|
|
4510
4523
|
_hover: { opacity: 0.7 },
|
|
4511
4524
|
transition: "opacity 0.15s",
|
|
4512
4525
|
onClick: () => setProfileView("navbar-customize"),
|
|
4513
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
4514
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
4526
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react36.Flex, { justify: "space-between", align: "center", py: 3, children: [
|
|
4527
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react36.Flex, { align: "center", gap: 3, children: [
|
|
4515
4528
|
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4516
|
-
|
|
4529
|
+
import_react36.Box,
|
|
4517
4530
|
{
|
|
4518
4531
|
w: "38px",
|
|
4519
4532
|
h: "38px",
|
|
@@ -4527,9 +4540,9 @@ function ReusableProfile({
|
|
|
4527
4540
|
children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_lu7.LuArrowLeftRight, { size: 16 })
|
|
4528
4541
|
}
|
|
4529
4542
|
),
|
|
4530
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
4531
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4532
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
4543
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react36.Box, { children: [
|
|
4544
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react36.Text, { fontSize: "sm", fontWeight: "semibold", children: "Quick Navigation" }),
|
|
4545
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react36.Text, { fontSize: "xs", color: "gray.500", children: [
|
|
4533
4546
|
quickNavHrefs.length,
|
|
4534
4547
|
" of ",
|
|
4535
4548
|
maxQuickNavItems,
|
|
@@ -4542,8 +4555,8 @@ function ReusableProfile({
|
|
|
4542
4555
|
}
|
|
4543
4556
|
)
|
|
4544
4557
|
] }),
|
|
4545
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4546
|
-
|
|
4558
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react36.Box, { px: 4, pt: 4, pb: 10, children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react36.VStack, { gap: 2.5, children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4559
|
+
import_react36.Button,
|
|
4547
4560
|
{
|
|
4548
4561
|
w: "full",
|
|
4549
4562
|
variant: "outline",
|
|
@@ -4556,9 +4569,9 @@ function ReusableProfile({
|
|
|
4556
4569
|
) }) })
|
|
4557
4570
|
] });
|
|
4558
4571
|
const editAccountContent = /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_jsx_runtime20.Fragment, { children: [
|
|
4559
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4572
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react36.Box, { px: 4, pt: 4, pb: 3, borderBottomWidth: "1px", borderColor: "gray.200", children: /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react36.Flex, { align: "center", gap: 2, pr: 10, children: [
|
|
4560
4573
|
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4561
|
-
|
|
4574
|
+
import_react36.IconButton,
|
|
4562
4575
|
{
|
|
4563
4576
|
size: "sm",
|
|
4564
4577
|
variant: "ghost",
|
|
@@ -4568,17 +4581,17 @@ function ReusableProfile({
|
|
|
4568
4581
|
children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_lu7.LuChevronLeft, {})
|
|
4569
4582
|
}
|
|
4570
4583
|
),
|
|
4571
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4584
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react36.Text, { fontWeight: "bold", fontSize: "md", children: "Edit Account" })
|
|
4572
4585
|
] }) }),
|
|
4573
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4574
|
-
user.avatarSrc && /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4575
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4586
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react36.Box, { textAlign: "center", pt: 5, pb: 4, children: /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react36.Avatar.Root, { size: "xl", mx: "auto", mb: 1, children: [
|
|
4587
|
+
user.avatarSrc && /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react36.Avatar.Image, { src: user.avatarSrc, alt: editName }),
|
|
4588
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react36.Avatar.Fallback, { name: editName })
|
|
4576
4589
|
] }) }),
|
|
4577
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
4578
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
4579
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4590
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react36.VStack, { gap: 4, px: 4, pb: 10, align: "stretch", children: [
|
|
4591
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react36.Box, { w: "full", children: [
|
|
4592
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react36.Text, { fontSize: "xs", fontWeight: "semibold", color: "gray.500", mb: 1.5, children: "Display Name" }),
|
|
4580
4593
|
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4581
|
-
|
|
4594
|
+
import_react36.Input,
|
|
4582
4595
|
{
|
|
4583
4596
|
value: editName,
|
|
4584
4597
|
onChange: (event) => setEditName(event.target.value),
|
|
@@ -4587,10 +4600,10 @@ function ReusableProfile({
|
|
|
4587
4600
|
}
|
|
4588
4601
|
)
|
|
4589
4602
|
] }),
|
|
4590
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
4591
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4603
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react36.Box, { w: "full", children: [
|
|
4604
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react36.Text, { fontSize: "xs", fontWeight: "semibold", color: "gray.500", mb: 1.5, children: "Email" }),
|
|
4592
4605
|
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4593
|
-
|
|
4606
|
+
import_react36.Input,
|
|
4594
4607
|
{
|
|
4595
4608
|
value: user.email ?? "",
|
|
4596
4609
|
readOnly: true,
|
|
@@ -4600,10 +4613,10 @@ function ReusableProfile({
|
|
|
4600
4613
|
}
|
|
4601
4614
|
)
|
|
4602
4615
|
] }),
|
|
4603
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
4604
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4616
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react36.Box, { w: "full", children: [
|
|
4617
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react36.Text, { fontSize: "xs", fontWeight: "semibold", color: "gray.500", mb: 1.5, children: "Mobile Number" }),
|
|
4605
4618
|
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4606
|
-
|
|
4619
|
+
import_react36.Input,
|
|
4607
4620
|
{
|
|
4608
4621
|
value: user.mobileNumber ?? "",
|
|
4609
4622
|
readOnly: true,
|
|
@@ -4614,7 +4627,7 @@ function ReusableProfile({
|
|
|
4614
4627
|
)
|
|
4615
4628
|
] }),
|
|
4616
4629
|
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4617
|
-
|
|
4630
|
+
import_react36.Button,
|
|
4618
4631
|
{
|
|
4619
4632
|
w: "full",
|
|
4620
4633
|
mt: 2,
|
|
@@ -4629,9 +4642,9 @@ function ReusableProfile({
|
|
|
4629
4642
|
] })
|
|
4630
4643
|
] });
|
|
4631
4644
|
const changePasswordContent = /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_jsx_runtime20.Fragment, { children: [
|
|
4632
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4645
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react36.Box, { px: 4, pt: 4, pb: 3, borderBottomWidth: "1px", borderColor: "gray.200", children: /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react36.Flex, { align: "center", gap: 2, pr: 10, children: [
|
|
4633
4646
|
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4634
|
-
|
|
4647
|
+
import_react36.IconButton,
|
|
4635
4648
|
{
|
|
4636
4649
|
size: "sm",
|
|
4637
4650
|
variant: "ghost",
|
|
@@ -4641,16 +4654,16 @@ function ReusableProfile({
|
|
|
4641
4654
|
children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_lu7.LuChevronLeft, {})
|
|
4642
4655
|
}
|
|
4643
4656
|
),
|
|
4644
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4657
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react36.Text, { fontWeight: "bold", fontSize: "md", children: "Change Password" })
|
|
4645
4658
|
] }) }),
|
|
4646
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
4647
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
4648
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4659
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react36.VStack, { gap: 5, px: 4, pt: 6, pb: 10, children: [
|
|
4660
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react36.Box, { w: "full", children: [
|
|
4661
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react36.Text, { fontSize: "xs", fontWeight: "semibold", color: "gray.500", mb: 1.5, children: "Current Password" }),
|
|
4649
4662
|
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4650
|
-
|
|
4663
|
+
import_react36.InputGroup,
|
|
4651
4664
|
{
|
|
4652
4665
|
endElement: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4653
|
-
|
|
4666
|
+
import_react36.IconButton,
|
|
4654
4667
|
{
|
|
4655
4668
|
size: "xs",
|
|
4656
4669
|
variant: "ghost",
|
|
@@ -4661,7 +4674,7 @@ function ReusableProfile({
|
|
|
4661
4674
|
}
|
|
4662
4675
|
),
|
|
4663
4676
|
children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4664
|
-
|
|
4677
|
+
import_react36.Input,
|
|
4665
4678
|
{
|
|
4666
4679
|
type: showCurrentPw ? "text" : "password",
|
|
4667
4680
|
value: currentPw,
|
|
@@ -4673,13 +4686,13 @@ function ReusableProfile({
|
|
|
4673
4686
|
}
|
|
4674
4687
|
)
|
|
4675
4688
|
] }),
|
|
4676
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
4677
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4689
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react36.Box, { w: "full", children: [
|
|
4690
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react36.Text, { fontSize: "xs", fontWeight: "semibold", color: "gray.500", mb: 1.5, children: "New Password" }),
|
|
4678
4691
|
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4679
|
-
|
|
4692
|
+
import_react36.InputGroup,
|
|
4680
4693
|
{
|
|
4681
4694
|
endElement: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4682
|
-
|
|
4695
|
+
import_react36.IconButton,
|
|
4683
4696
|
{
|
|
4684
4697
|
size: "xs",
|
|
4685
4698
|
variant: "ghost",
|
|
@@ -4690,7 +4703,7 @@ function ReusableProfile({
|
|
|
4690
4703
|
}
|
|
4691
4704
|
),
|
|
4692
4705
|
children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4693
|
-
|
|
4706
|
+
import_react36.Input,
|
|
4694
4707
|
{
|
|
4695
4708
|
type: showNewPw ? "text" : "password",
|
|
4696
4709
|
value: newPw,
|
|
@@ -4701,9 +4714,9 @@ function ReusableProfile({
|
|
|
4701
4714
|
)
|
|
4702
4715
|
}
|
|
4703
4716
|
),
|
|
4704
|
-
newPw && /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
4705
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4706
|
-
|
|
4717
|
+
newPw && /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react36.Box, { mt: 2, children: [
|
|
4718
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react36.Flex, { gap: 1, mb: 1, children: [1, 2, 3, 4, 5].map((i) => /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4719
|
+
import_react36.Box,
|
|
4707
4720
|
{
|
|
4708
4721
|
flex: 1,
|
|
4709
4722
|
h: "3px",
|
|
@@ -4713,16 +4726,16 @@ function ReusableProfile({
|
|
|
4713
4726
|
},
|
|
4714
4727
|
i
|
|
4715
4728
|
)) }),
|
|
4716
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4729
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react36.Text, { fontSize: "xs", color: pwMeta.color, fontWeight: "medium", children: pwMeta.label })
|
|
4717
4730
|
] })
|
|
4718
4731
|
] }),
|
|
4719
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
4720
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4732
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react36.Box, { w: "full", children: [
|
|
4733
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react36.Text, { fontSize: "xs", fontWeight: "semibold", color: "gray.500", mb: 1.5, children: "Confirm New Password" }),
|
|
4721
4734
|
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4722
|
-
|
|
4735
|
+
import_react36.InputGroup,
|
|
4723
4736
|
{
|
|
4724
4737
|
endElement: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4725
|
-
|
|
4738
|
+
import_react36.IconButton,
|
|
4726
4739
|
{
|
|
4727
4740
|
size: "xs",
|
|
4728
4741
|
variant: "ghost",
|
|
@@ -4733,7 +4746,7 @@ function ReusableProfile({
|
|
|
4733
4746
|
}
|
|
4734
4747
|
),
|
|
4735
4748
|
children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4736
|
-
|
|
4749
|
+
import_react36.Input,
|
|
4737
4750
|
{
|
|
4738
4751
|
type: showConfirmPw ? "text" : "password",
|
|
4739
4752
|
value: confirmPw,
|
|
@@ -4744,10 +4757,10 @@ function ReusableProfile({
|
|
|
4744
4757
|
)
|
|
4745
4758
|
}
|
|
4746
4759
|
),
|
|
4747
|
-
confirmPw && confirmPw !== newPw && /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4760
|
+
confirmPw && confirmPw !== newPw && /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react36.Text, { fontSize: "xs", color: "red.500", mt: 1, children: "Passwords do not match" })
|
|
4748
4761
|
] }),
|
|
4749
4762
|
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4750
|
-
|
|
4763
|
+
import_react36.Button,
|
|
4751
4764
|
{
|
|
4752
4765
|
w: "full",
|
|
4753
4766
|
mt: 1,
|
|
@@ -4764,7 +4777,7 @@ function ReusableProfile({
|
|
|
4764
4777
|
] });
|
|
4765
4778
|
const navbarCustomizeContent = /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_jsx_runtime20.Fragment, { children: [
|
|
4766
4779
|
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4767
|
-
|
|
4780
|
+
import_react36.Box,
|
|
4768
4781
|
{
|
|
4769
4782
|
px: 4,
|
|
4770
4783
|
pt: 4,
|
|
@@ -4775,9 +4788,9 @@ function ReusableProfile({
|
|
|
4775
4788
|
top: 0,
|
|
4776
4789
|
bg: "bg",
|
|
4777
4790
|
zIndex: 1,
|
|
4778
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
4791
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react36.Flex, { align: "center", gap: 2, pr: 10, children: [
|
|
4779
4792
|
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4780
|
-
|
|
4793
|
+
import_react36.IconButton,
|
|
4781
4794
|
{
|
|
4782
4795
|
size: "sm",
|
|
4783
4796
|
variant: "ghost",
|
|
@@ -4790,9 +4803,9 @@ function ReusableProfile({
|
|
|
4790
4803
|
children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_lu7.LuChevronLeft, {})
|
|
4791
4804
|
}
|
|
4792
4805
|
),
|
|
4793
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
4794
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4795
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
4806
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react36.Box, { children: [
|
|
4807
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react36.Text, { fontWeight: "bold", fontSize: "md", children: "Quick Navigation" }),
|
|
4808
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react36.Text, { fontSize: "xs", color: "gray.500", children: [
|
|
4796
4809
|
"Choose up to ",
|
|
4797
4810
|
maxQuickNavItems,
|
|
4798
4811
|
" shortcuts for the bottom bar"
|
|
@@ -4801,10 +4814,10 @@ function ReusableProfile({
|
|
|
4801
4814
|
] })
|
|
4802
4815
|
}
|
|
4803
4816
|
),
|
|
4804
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
4805
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
4817
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react36.Box, { px: 4, pt: 5, pb: 2, children: [
|
|
4818
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react36.Flex, { align: "center", justify: "space-between", mb: 3, children: [
|
|
4806
4819
|
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4807
|
-
|
|
4820
|
+
import_react36.Text,
|
|
4808
4821
|
{
|
|
4809
4822
|
fontSize: "xs",
|
|
4810
4823
|
fontWeight: "bold",
|
|
@@ -4815,7 +4828,7 @@ function ReusableProfile({
|
|
|
4815
4828
|
}
|
|
4816
4829
|
),
|
|
4817
4830
|
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
4818
|
-
|
|
4831
|
+
import_react36.Text,
|
|
4819
4832
|
{
|
|
4820
4833
|
fontSize: "xs",
|
|
4821
4834
|
color: quickNavHrefs.length >= maxQuickNavItems ? "orange.500" : "gray.400",
|
|
@@ -4829,7 +4842,7 @@ function ReusableProfile({
|
|
|
4829
4842
|
)
|
|
4830
4843
|
] }),
|
|
4831
4844
|
quickNavHrefs.length === 0 ? /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4832
|
-
|
|
4845
|
+
import_react36.Flex,
|
|
4833
4846
|
{
|
|
4834
4847
|
align: "center",
|
|
4835
4848
|
justify: "center",
|
|
@@ -4838,18 +4851,18 @@ function ReusableProfile({
|
|
|
4838
4851
|
borderWidth: "1px",
|
|
4839
4852
|
borderStyle: "dashed",
|
|
4840
4853
|
borderColor: "gray.200",
|
|
4841
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4854
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react36.Text, { fontSize: "sm", color: "gray.400", children: "No items pinned \u2014 add from below" })
|
|
4842
4855
|
}
|
|
4843
|
-
) : /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4856
|
+
) : /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react36.VStack, { gap: 0, children: quickNavHrefs.map((href, idx) => {
|
|
4844
4857
|
const option = availableOptions.find((item) => item.key === href);
|
|
4845
4858
|
if (!option) return null;
|
|
4846
4859
|
const ItemIcon = option.Icon;
|
|
4847
4860
|
const isFirst = idx === 0;
|
|
4848
4861
|
const isLast = idx === quickNavHrefs.length - 1;
|
|
4849
4862
|
const isReplacing = replacingIdx === idx;
|
|
4850
|
-
return /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
4863
|
+
return /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react36.Box, { w: "full", children: [
|
|
4851
4864
|
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
4852
|
-
|
|
4865
|
+
import_react36.Flex,
|
|
4853
4866
|
{
|
|
4854
4867
|
justify: "space-between",
|
|
4855
4868
|
align: "center",
|
|
@@ -4861,9 +4874,9 @@ function ReusableProfile({
|
|
|
4861
4874
|
borderColor: isReplacing ? "orange.200" : void 0,
|
|
4862
4875
|
transition: "all 0.15s",
|
|
4863
4876
|
children: [
|
|
4864
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
4877
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react36.Flex, { align: "center", gap: 3, children: [
|
|
4865
4878
|
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4866
|
-
|
|
4879
|
+
import_react36.Box,
|
|
4867
4880
|
{
|
|
4868
4881
|
w: "36px",
|
|
4869
4882
|
h: "36px",
|
|
@@ -4877,10 +4890,10 @@ function ReusableProfile({
|
|
|
4877
4890
|
children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(ItemIcon, { size: 15 })
|
|
4878
4891
|
}
|
|
4879
4892
|
),
|
|
4880
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
4881
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4893
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react36.Box, { children: [
|
|
4894
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react36.Text, { fontSize: "sm", fontWeight: "medium", children: option.title }),
|
|
4882
4895
|
isReplacing && /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4883
|
-
|
|
4896
|
+
import_react36.Text,
|
|
4884
4897
|
{
|
|
4885
4898
|
fontSize: "xs",
|
|
4886
4899
|
color: "orange.500",
|
|
@@ -4890,9 +4903,9 @@ function ReusableProfile({
|
|
|
4890
4903
|
)
|
|
4891
4904
|
] })
|
|
4892
4905
|
] }),
|
|
4893
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
4906
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react36.HStack, { gap: 0.5, children: [
|
|
4894
4907
|
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4895
|
-
|
|
4908
|
+
import_react36.IconButton,
|
|
4896
4909
|
{
|
|
4897
4910
|
size: "xs",
|
|
4898
4911
|
variant: "ghost",
|
|
@@ -4904,7 +4917,7 @@ function ReusableProfile({
|
|
|
4904
4917
|
}
|
|
4905
4918
|
),
|
|
4906
4919
|
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4907
|
-
|
|
4920
|
+
import_react36.IconButton,
|
|
4908
4921
|
{
|
|
4909
4922
|
size: "xs",
|
|
4910
4923
|
variant: "ghost",
|
|
@@ -4916,7 +4929,7 @@ function ReusableProfile({
|
|
|
4916
4929
|
}
|
|
4917
4930
|
),
|
|
4918
4931
|
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4919
|
-
|
|
4932
|
+
import_react36.IconButton,
|
|
4920
4933
|
{
|
|
4921
4934
|
size: "xs",
|
|
4922
4935
|
variant: isReplacing ? "solid" : "ghost",
|
|
@@ -4929,7 +4942,7 @@ function ReusableProfile({
|
|
|
4929
4942
|
}
|
|
4930
4943
|
),
|
|
4931
4944
|
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4932
|
-
|
|
4945
|
+
import_react36.IconButton,
|
|
4933
4946
|
{
|
|
4934
4947
|
size: "xs",
|
|
4935
4948
|
variant: "ghost",
|
|
@@ -4945,16 +4958,16 @@ function ReusableProfile({
|
|
|
4945
4958
|
]
|
|
4946
4959
|
}
|
|
4947
4960
|
),
|
|
4948
|
-
!isLast && /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4961
|
+
!isLast && /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react36.Separator, {})
|
|
4949
4962
|
] }, href);
|
|
4950
4963
|
}) })
|
|
4951
4964
|
] }),
|
|
4952
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4953
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
4954
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
4955
|
-
replacingIdx !== null ? /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
4965
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react36.Separator, { mx: 4, my: 1 }),
|
|
4966
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react36.Box, { px: 4, pt: 4, pb: 10, children: [
|
|
4967
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react36.Flex, { align: "center", justify: "space-between", mb: 3, children: [
|
|
4968
|
+
replacingIdx !== null ? /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react36.Box, { children: [
|
|
4956
4969
|
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4957
|
-
|
|
4970
|
+
import_react36.Text,
|
|
4958
4971
|
{
|
|
4959
4972
|
fontSize: "xs",
|
|
4960
4973
|
fontWeight: "bold",
|
|
@@ -4964,7 +4977,7 @@ function ReusableProfile({
|
|
|
4964
4977
|
children: "Select Replacement"
|
|
4965
4978
|
}
|
|
4966
4979
|
),
|
|
4967
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
4980
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react36.Text, { fontSize: "xs", color: "gray.500", mt: 0.5, children: [
|
|
4968
4981
|
'for "',
|
|
4969
4982
|
availableOptions.find(
|
|
4970
4983
|
(item) => item.key === quickNavHrefs[replacingIdx]
|
|
@@ -4972,7 +4985,7 @@ function ReusableProfile({
|
|
|
4972
4985
|
'"'
|
|
4973
4986
|
] })
|
|
4974
4987
|
] }) : /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4975
|
-
|
|
4988
|
+
import_react36.Text,
|
|
4976
4989
|
{
|
|
4977
4990
|
fontSize: "xs",
|
|
4978
4991
|
fontWeight: "bold",
|
|
@@ -4983,7 +4996,7 @@ function ReusableProfile({
|
|
|
4983
4996
|
}
|
|
4984
4997
|
),
|
|
4985
4998
|
replacingIdx !== null && /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4986
|
-
|
|
4999
|
+
import_react36.Button,
|
|
4987
5000
|
{
|
|
4988
5001
|
size: "xs",
|
|
4989
5002
|
variant: "ghost",
|
|
@@ -4993,17 +5006,17 @@ function ReusableProfile({
|
|
|
4993
5006
|
}
|
|
4994
5007
|
)
|
|
4995
5008
|
] }),
|
|
4996
|
-
unpinnedOptions.length === 0 ? /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
5009
|
+
unpinnedOptions.length === 0 ? /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react36.Text, { fontSize: "sm", color: "gray.400", py: 3, textAlign: "center", children: "All available items are pinned" }) : /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react36.VStack, { gap: 0, children: unpinnedOptions.map((option, idx) => {
|
|
4997
5010
|
const ItemIcon = option.Icon;
|
|
4998
5011
|
const isLast = idx === unpinnedOptions.length - 1;
|
|
4999
5012
|
const isReplacingMode = replacingIdx !== null;
|
|
5000
5013
|
const canAdd = quickNavHrefs.length < maxQuickNavItems;
|
|
5001
5014
|
const actionEnabled = isReplacingMode || canAdd;
|
|
5002
|
-
return /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
5003
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
5004
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
5015
|
+
return /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react36.Box, { w: "full", children: [
|
|
5016
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react36.Flex, { justify: "space-between", align: "center", py: 2.5, children: [
|
|
5017
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react36.Flex, { align: "center", gap: 3, children: [
|
|
5005
5018
|
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
5006
|
-
|
|
5019
|
+
import_react36.Box,
|
|
5007
5020
|
{
|
|
5008
5021
|
w: "36px",
|
|
5009
5022
|
h: "36px",
|
|
@@ -5018,7 +5031,7 @@ function ReusableProfile({
|
|
|
5018
5031
|
}
|
|
5019
5032
|
),
|
|
5020
5033
|
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
5021
|
-
|
|
5034
|
+
import_react36.Text,
|
|
5022
5035
|
{
|
|
5023
5036
|
fontSize: "sm",
|
|
5024
5037
|
fontWeight: "medium",
|
|
@@ -5028,7 +5041,7 @@ function ReusableProfile({
|
|
|
5028
5041
|
)
|
|
5029
5042
|
] }),
|
|
5030
5043
|
isReplacingMode ? /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
5031
|
-
|
|
5044
|
+
import_react36.IconButton,
|
|
5032
5045
|
{
|
|
5033
5046
|
size: "xs",
|
|
5034
5047
|
variant: "outline",
|
|
@@ -5040,7 +5053,7 @@ function ReusableProfile({
|
|
|
5040
5053
|
children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_lu7.LuArrowLeftRight, { size: 13 })
|
|
5041
5054
|
}
|
|
5042
5055
|
) : /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
5043
|
-
|
|
5056
|
+
import_react36.IconButton,
|
|
5044
5057
|
{
|
|
5045
5058
|
size: "xs",
|
|
5046
5059
|
variant: "outline",
|
|
@@ -5054,7 +5067,7 @@ function ReusableProfile({
|
|
|
5054
5067
|
}
|
|
5055
5068
|
)
|
|
5056
5069
|
] }),
|
|
5057
|
-
!isLast && /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
5070
|
+
!isLast && /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react36.Separator, {})
|
|
5058
5071
|
] }, option.key);
|
|
5059
5072
|
}) })
|
|
5060
5073
|
] })
|
|
@@ -5062,7 +5075,7 @@ function ReusableProfile({
|
|
|
5062
5075
|
const subViewContent = profileView === "edit-account" ? editAccountContent : profileView === "change-password" ? changePasswordContent : profileView === "navbar-customize" ? navbarCustomizeContent : null;
|
|
5063
5076
|
if (isDesktop) {
|
|
5064
5077
|
return /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
5065
|
-
|
|
5078
|
+
import_react36.Flex,
|
|
5066
5079
|
{
|
|
5067
5080
|
maxW: "6xl",
|
|
5068
5081
|
mx: "auto",
|
|
@@ -5073,7 +5086,7 @@ function ReusableProfile({
|
|
|
5073
5086
|
align: "start",
|
|
5074
5087
|
children: [
|
|
5075
5088
|
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
5076
|
-
|
|
5089
|
+
import_react36.Box,
|
|
5077
5090
|
{
|
|
5078
5091
|
w: { md: "300px", lg: "340px" },
|
|
5079
5092
|
flexShrink: 0,
|
|
@@ -5088,7 +5101,7 @@ function ReusableProfile({
|
|
|
5088
5101
|
}
|
|
5089
5102
|
),
|
|
5090
5103
|
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
5091
|
-
|
|
5104
|
+
import_react36.Box,
|
|
5092
5105
|
{
|
|
5093
5106
|
flex: "1",
|
|
5094
5107
|
minW: 0,
|
|
@@ -5099,7 +5112,7 @@ function ReusableProfile({
|
|
|
5099
5112
|
bg: "bg",
|
|
5100
5113
|
minH: "540px",
|
|
5101
5114
|
children: subViewContent ?? /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
5102
|
-
|
|
5115
|
+
import_react36.Flex,
|
|
5103
5116
|
{
|
|
5104
5117
|
direction: "column",
|
|
5105
5118
|
align: "center",
|
|
@@ -5110,7 +5123,7 @@ function ReusableProfile({
|
|
|
5110
5123
|
color: "gray.400",
|
|
5111
5124
|
children: [
|
|
5112
5125
|
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
5113
|
-
|
|
5126
|
+
import_react36.Box,
|
|
5114
5127
|
{
|
|
5115
5128
|
w: "56px",
|
|
5116
5129
|
h: "56px",
|
|
@@ -5123,7 +5136,7 @@ function ReusableProfile({
|
|
|
5123
5136
|
children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_lu7.LuUser, { size: 24 })
|
|
5124
5137
|
}
|
|
5125
5138
|
),
|
|
5126
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
5139
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react36.Text, { fontSize: "sm", mt: 1, maxW: "280px", children: "Choose Edit Account, Change Password, or Quick Navigation from the menu to update your details here." })
|
|
5127
5140
|
]
|
|
5128
5141
|
}
|
|
5129
5142
|
)
|
|
@@ -5133,7 +5146,7 @@ function ReusableProfile({
|
|
|
5133
5146
|
}
|
|
5134
5147
|
);
|
|
5135
5148
|
}
|
|
5136
|
-
return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
5149
|
+
return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react36.Box, { maxW: "480px", mx: "auto", w: "full", minH: "100%", bg: "bg", children: profileView === "main" ? mainContent : subViewContent });
|
|
5137
5150
|
}
|
|
5138
5151
|
var UserProfile_default = ReusableProfile;
|
|
5139
5152
|
// Annotate the CommonJS export names for ESM import in node:
|