@splpi/estore-shared-components 0.0.4 → 0.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.mts +3 -4
- package/dist/index.d.ts +3 -4
- package/dist/index.js +623 -419
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +568 -383
- package/dist/index.mjs.map +1 -1
- package/package.json +2 -1
package/dist/index.js
CHANGED
|
@@ -2976,27 +2976,46 @@ var import_react26 = require("@chakra-ui/react");
|
|
|
2976
2976
|
var import_st_peter_ui6 = require("st-peter-ui");
|
|
2977
2977
|
var import_lu5 = require("react-icons/lu");
|
|
2978
2978
|
var import_jsx_runtime15 = require("react/jsx-runtime");
|
|
2979
|
+
var PRIMARY = "var(--chakra-colors-primary)";
|
|
2980
|
+
var PRIMARY_HOVER = "var(--chakra-colors-primary-hover)";
|
|
2981
|
+
var PRIMARY_DISABLED = "var(--chakra-colors-primary-disabled)";
|
|
2979
2982
|
var HorizontalStepper = ({
|
|
2980
2983
|
steps,
|
|
2984
|
+
title,
|
|
2985
|
+
description,
|
|
2981
2986
|
onStepChange,
|
|
2982
2987
|
onSubmit,
|
|
2983
2988
|
submitDisabled,
|
|
2984
2989
|
activeStep: controlledActiveStep,
|
|
2985
|
-
nextDisabled
|
|
2990
|
+
nextDisabled,
|
|
2991
|
+
submitButtonText = "Proceed To Payment"
|
|
2986
2992
|
}) => {
|
|
2987
2993
|
const [localActiveStep, setLocalActiveStep] = (0, import_react25.useState)(0);
|
|
2988
2994
|
const activeStep = controlledActiveStep !== void 0 ? controlledActiveStep : localActiveStep;
|
|
2995
|
+
const formTopRef = (0, import_react25.useRef)(null);
|
|
2996
|
+
const isCompact = steps.length < 3;
|
|
2997
|
+
const isLastStep = activeStep === steps.length - 1;
|
|
2998
|
+
const nextStepTitle = steps[activeStep + 1]?.title;
|
|
2999
|
+
const scrollToTop = () => {
|
|
3000
|
+
requestAnimationFrame(() => {
|
|
3001
|
+
formTopRef.current?.scrollIntoView({
|
|
3002
|
+
behavior: "smooth",
|
|
3003
|
+
block: "start"
|
|
3004
|
+
});
|
|
3005
|
+
});
|
|
3006
|
+
};
|
|
2989
3007
|
const handleStepChange = (index) => {
|
|
2990
3008
|
if (controlledActiveStep === void 0) {
|
|
2991
3009
|
setLocalActiveStep(index);
|
|
2992
3010
|
}
|
|
2993
3011
|
onStepChange?.(index);
|
|
3012
|
+
scrollToTop();
|
|
2994
3013
|
};
|
|
2995
3014
|
const handleNext = () => {
|
|
2996
3015
|
if (nextDisabled) return;
|
|
2997
3016
|
handleStepChange(Math.min(activeStep + 1, steps.length - 1));
|
|
2998
3017
|
};
|
|
2999
|
-
return /* @__PURE__ */ (0, import_jsx_runtime15.
|
|
3018
|
+
return /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(
|
|
3000
3019
|
import_react26.Flex,
|
|
3001
3020
|
{
|
|
3002
3021
|
direction: "column",
|
|
@@ -3005,108 +3024,284 @@ var HorizontalStepper = ({
|
|
|
3005
3024
|
w: "full",
|
|
3006
3025
|
overflow: "visible",
|
|
3007
3026
|
pb: { base: "12px", md: "0px" },
|
|
3008
|
-
children:
|
|
3009
|
-
import_react26.
|
|
3010
|
-
|
|
3011
|
-
|
|
3012
|
-
|
|
3013
|
-
|
|
3014
|
-
|
|
3015
|
-
|
|
3016
|
-
|
|
3017
|
-
|
|
3018
|
-
|
|
3019
|
-
|
|
3020
|
-
|
|
3021
|
-
|
|
3022
|
-
|
|
3023
|
-
|
|
3024
|
-
|
|
3025
|
-
|
|
3026
|
-
|
|
3027
|
-
|
|
3028
|
-
|
|
3029
|
-
|
|
3030
|
-
|
|
3031
|
-
|
|
3032
|
-
|
|
3033
|
-
|
|
3034
|
-
|
|
3035
|
-
|
|
3036
|
-
|
|
3037
|
-
|
|
3038
|
-
|
|
3039
|
-
|
|
3040
|
-
|
|
3041
|
-
|
|
3042
|
-
|
|
3043
|
-
|
|
3044
|
-
|
|
3045
|
-
|
|
3046
|
-
|
|
3047
|
-
|
|
3048
|
-
|
|
3049
|
-
|
|
3050
|
-
|
|
3051
|
-
|
|
3052
|
-
|
|
3053
|
-
|
|
3054
|
-
|
|
3055
|
-
|
|
3056
|
-
|
|
3057
|
-
|
|
3058
|
-
|
|
3059
|
-
|
|
3060
|
-
|
|
3061
|
-
|
|
3062
|
-
|
|
3063
|
-
|
|
3064
|
-
|
|
3065
|
-
|
|
3066
|
-
|
|
3067
|
-
|
|
3068
|
-
|
|
3069
|
-
|
|
3070
|
-
|
|
3071
|
-
|
|
3072
|
-
|
|
3073
|
-
|
|
3074
|
-
|
|
3075
|
-
|
|
3076
|
-
|
|
3077
|
-
|
|
3078
|
-
|
|
3079
|
-
|
|
3080
|
-
|
|
3081
|
-
|
|
3082
|
-
|
|
3083
|
-
|
|
3084
|
-
|
|
3085
|
-
|
|
3086
|
-
|
|
3087
|
-
|
|
3088
|
-
|
|
3089
|
-
|
|
3090
|
-
|
|
3091
|
-
|
|
3092
|
-
|
|
3093
|
-
|
|
3094
|
-
|
|
3095
|
-
|
|
3096
|
-
|
|
3097
|
-
|
|
3098
|
-
|
|
3099
|
-
|
|
3100
|
-
|
|
3101
|
-
|
|
3102
|
-
|
|
3103
|
-
|
|
3104
|
-
|
|
3105
|
-
|
|
3106
|
-
|
|
3107
|
-
|
|
3108
|
-
|
|
3109
|
-
|
|
3027
|
+
children: [
|
|
3028
|
+
(title || description) && /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(import_react26.Box, { mb: 4, ref: formTopRef, children: [
|
|
3029
|
+
title && /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
3030
|
+
import_react26.Box,
|
|
3031
|
+
{
|
|
3032
|
+
as: "h1",
|
|
3033
|
+
m: "0",
|
|
3034
|
+
fontFamily: "var(--font-dm-sans), system-ui, sans-serif",
|
|
3035
|
+
fontWeight: description ? 600 : 500,
|
|
3036
|
+
color: "gray.900",
|
|
3037
|
+
lineHeight: "1.1",
|
|
3038
|
+
letterSpacing: description ? "-0.025em" : "-0.015em",
|
|
3039
|
+
fontSize: {
|
|
3040
|
+
base: description ? "22px" : "24px",
|
|
3041
|
+
lg: description ? "28px" : "32px"
|
|
3042
|
+
},
|
|
3043
|
+
children: title
|
|
3044
|
+
}
|
|
3045
|
+
),
|
|
3046
|
+
description && /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_react26.Text, { fontSize: "sm", color: "gray.500", mt: 1, children: description })
|
|
3047
|
+
] }),
|
|
3048
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_react26.Box, { w: "full", rounded: "2xl", children: /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(
|
|
3049
|
+
import_react26.Steps.Root,
|
|
3050
|
+
{
|
|
3051
|
+
step: activeStep,
|
|
3052
|
+
onStepChange: (index) => handleStepChange(index.step),
|
|
3053
|
+
defaultStep: 0,
|
|
3054
|
+
count: steps.length,
|
|
3055
|
+
colorPalette: "green",
|
|
3056
|
+
children: [
|
|
3057
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(
|
|
3058
|
+
import_react26.Box,
|
|
3059
|
+
{
|
|
3060
|
+
position: "sticky",
|
|
3061
|
+
top: 0,
|
|
3062
|
+
zIndex: 10,
|
|
3063
|
+
bg: "white",
|
|
3064
|
+
pt: 2,
|
|
3065
|
+
pb: 3,
|
|
3066
|
+
mx: -1,
|
|
3067
|
+
px: 1,
|
|
3068
|
+
borderBottomWidth: "1px",
|
|
3069
|
+
borderColor: "gray.100",
|
|
3070
|
+
boxShadow: "0 2px 8px -2px rgba(0,0,0,0.06)",
|
|
3071
|
+
children: [
|
|
3072
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
3073
|
+
import_react26.Steps.List,
|
|
3074
|
+
{
|
|
3075
|
+
py: 0,
|
|
3076
|
+
flexDirection: "row",
|
|
3077
|
+
alignItems: "center",
|
|
3078
|
+
w: "full",
|
|
3079
|
+
justifyContent: "space-evenly",
|
|
3080
|
+
children: steps.map((step, index) => {
|
|
3081
|
+
const isCompleted = index < activeStep;
|
|
3082
|
+
const isActive = index === activeStep;
|
|
3083
|
+
return /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(
|
|
3084
|
+
import_react26.Steps.Item,
|
|
3085
|
+
{
|
|
3086
|
+
index,
|
|
3087
|
+
title: step.title,
|
|
3088
|
+
minW: { base: "0px", md: "auto" },
|
|
3089
|
+
flex: isCompact ? "0 0 auto" : "1",
|
|
3090
|
+
children: [
|
|
3091
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(
|
|
3092
|
+
import_react26.Steps.Trigger,
|
|
3093
|
+
{
|
|
3094
|
+
flexDirection: isCompact ? "row" : "column",
|
|
3095
|
+
alignItems: "center",
|
|
3096
|
+
gap: isCompact ? 2 : 1,
|
|
3097
|
+
px: isCompact ? 3 : 2,
|
|
3098
|
+
py: isCompact ? 2 : 1,
|
|
3099
|
+
borderRadius: "lg",
|
|
3100
|
+
transition: "background 0.2s",
|
|
3101
|
+
_hover: { bg: "gray.50" },
|
|
3102
|
+
children: [
|
|
3103
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
3104
|
+
import_react26.Steps.Indicator,
|
|
3105
|
+
{
|
|
3106
|
+
borderWidth: "2px",
|
|
3107
|
+
transition: "all 0.25s",
|
|
3108
|
+
style: {
|
|
3109
|
+
borderColor: isCompleted || isActive ? PRIMARY : void 0,
|
|
3110
|
+
background: isCompleted ? PRIMARY : void 0,
|
|
3111
|
+
color: isCompleted ? "white" : isActive ? PRIMARY : void 0,
|
|
3112
|
+
boxShadow: isActive ? `0 0 0 3px ${PRIMARY_DISABLED}` : "none"
|
|
3113
|
+
},
|
|
3114
|
+
children: isCompleted ? /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_lu5.LuCheck, { size: 14 }) : step.icon ? /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_react26.Box, { as: step.icon, w: 4, h: 4 }) : null
|
|
3115
|
+
}
|
|
3116
|
+
),
|
|
3117
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
3118
|
+
import_react26.Steps.Title,
|
|
3119
|
+
{
|
|
3120
|
+
fontSize: { base: "xs", md: "sm" },
|
|
3121
|
+
textAlign: isCompact ? "left" : "center",
|
|
3122
|
+
whiteSpace: "normal",
|
|
3123
|
+
wordBreak: "break-word",
|
|
3124
|
+
fontWeight: isActive ? 600 : 400,
|
|
3125
|
+
color: isActive ? "gray.900" : isCompleted ? "gray.600" : "gray.400",
|
|
3126
|
+
transition: "color 0.2s",
|
|
3127
|
+
children: step.title
|
|
3128
|
+
}
|
|
3129
|
+
)
|
|
3130
|
+
]
|
|
3131
|
+
}
|
|
3132
|
+
),
|
|
3133
|
+
!isCompact && /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
3134
|
+
import_react26.Steps.Separator,
|
|
3135
|
+
{
|
|
3136
|
+
display: { base: "none", md: "block" }
|
|
3137
|
+
}
|
|
3138
|
+
)
|
|
3139
|
+
]
|
|
3140
|
+
},
|
|
3141
|
+
index
|
|
3142
|
+
);
|
|
3143
|
+
})
|
|
3144
|
+
}
|
|
3145
|
+
),
|
|
3146
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
3147
|
+
import_react26.Box,
|
|
3148
|
+
{
|
|
3149
|
+
w: "full",
|
|
3150
|
+
h: "3px",
|
|
3151
|
+
bg: "gray.100",
|
|
3152
|
+
borderRadius: "full",
|
|
3153
|
+
overflow: "hidden",
|
|
3154
|
+
mt: 1,
|
|
3155
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
3156
|
+
import_react26.Box,
|
|
3157
|
+
{
|
|
3158
|
+
h: "full",
|
|
3159
|
+
bg: PRIMARY,
|
|
3160
|
+
transition: "width 0.4s ease",
|
|
3161
|
+
w: `${(activeStep + 1) / steps.length * 100}%`
|
|
3162
|
+
}
|
|
3163
|
+
)
|
|
3164
|
+
}
|
|
3165
|
+
)
|
|
3166
|
+
]
|
|
3167
|
+
}
|
|
3168
|
+
),
|
|
3169
|
+
steps.map((step, index) => /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_react26.Steps.Content, { index, children: step.component ?? step.description }, index)),
|
|
3170
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(
|
|
3171
|
+
import_react26.Flex,
|
|
3172
|
+
{
|
|
3173
|
+
w: "full",
|
|
3174
|
+
justify: "space-between",
|
|
3175
|
+
align: "center",
|
|
3176
|
+
mt: 4,
|
|
3177
|
+
gap: 2,
|
|
3178
|
+
display: { base: "flex", md: "none" },
|
|
3179
|
+
children: [
|
|
3180
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_react26.Steps.PrevTrigger, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(
|
|
3181
|
+
import_react26.Box,
|
|
3182
|
+
{
|
|
3183
|
+
as: "button",
|
|
3184
|
+
display: "flex",
|
|
3185
|
+
alignItems: "center",
|
|
3186
|
+
gap: 1,
|
|
3187
|
+
px: 3,
|
|
3188
|
+
py: 2,
|
|
3189
|
+
borderRadius: "lg",
|
|
3190
|
+
border: "1.5px solid",
|
|
3191
|
+
borderColor: "gray.200",
|
|
3192
|
+
bg: "white",
|
|
3193
|
+
color: "gray.700",
|
|
3194
|
+
fontSize: "sm",
|
|
3195
|
+
fontWeight: 500,
|
|
3196
|
+
cursor: "pointer",
|
|
3197
|
+
_hover: { bg: "gray.50" },
|
|
3198
|
+
_disabled: { opacity: 0.4, cursor: "not-allowed" },
|
|
3199
|
+
transition: "all 0.15s",
|
|
3200
|
+
children: [
|
|
3201
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_lu5.LuChevronLeft, { size: 14 }),
|
|
3202
|
+
"Back"
|
|
3203
|
+
]
|
|
3204
|
+
}
|
|
3205
|
+
) }),
|
|
3206
|
+
!isLastStep ? /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(
|
|
3207
|
+
import_react26.Box,
|
|
3208
|
+
{
|
|
3209
|
+
as: "button",
|
|
3210
|
+
display: "flex",
|
|
3211
|
+
alignItems: "center",
|
|
3212
|
+
gap: 1,
|
|
3213
|
+
px: 3,
|
|
3214
|
+
py: 2,
|
|
3215
|
+
borderRadius: "lg",
|
|
3216
|
+
color: "white",
|
|
3217
|
+
fontSize: "sm",
|
|
3218
|
+
fontWeight: 500,
|
|
3219
|
+
cursor: nextDisabled ? "not-allowed" : "pointer",
|
|
3220
|
+
opacity: nextDisabled ? 0.5 : 1,
|
|
3221
|
+
pointerEvents: nextDisabled ? "none" : "auto",
|
|
3222
|
+
transition: "all 0.15s",
|
|
3223
|
+
onClick: handleNext,
|
|
3224
|
+
bg: PRIMARY,
|
|
3225
|
+
_hover: { bg: PRIMARY_HOVER },
|
|
3226
|
+
children: [
|
|
3227
|
+
nextStepTitle ? `Next: ${nextStepTitle}` : "Next",
|
|
3228
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_lu5.LuChevronRight, { size: 14 })
|
|
3229
|
+
]
|
|
3230
|
+
}
|
|
3231
|
+
) : /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(
|
|
3232
|
+
import_react26.Box,
|
|
3233
|
+
{
|
|
3234
|
+
as: "button",
|
|
3235
|
+
display: "flex",
|
|
3236
|
+
alignItems: "center",
|
|
3237
|
+
gap: 1,
|
|
3238
|
+
px: 3,
|
|
3239
|
+
py: 2,
|
|
3240
|
+
borderRadius: "lg",
|
|
3241
|
+
color: "white",
|
|
3242
|
+
fontSize: "sm",
|
|
3243
|
+
fontWeight: 500,
|
|
3244
|
+
cursor: submitDisabled ? "not-allowed" : "pointer",
|
|
3245
|
+
opacity: submitDisabled ? 0.5 : 1,
|
|
3246
|
+
pointerEvents: submitDisabled ? "none" : "auto",
|
|
3247
|
+
transition: "all 0.15s",
|
|
3248
|
+
onClick: onSubmit,
|
|
3249
|
+
bg: PRIMARY,
|
|
3250
|
+
_hover: { bg: PRIMARY_HOVER },
|
|
3251
|
+
children: [
|
|
3252
|
+
submitButtonText,
|
|
3253
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_lu5.LuCheck, { size: 14 })
|
|
3254
|
+
]
|
|
3255
|
+
}
|
|
3256
|
+
)
|
|
3257
|
+
]
|
|
3258
|
+
}
|
|
3259
|
+
),
|
|
3260
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
3261
|
+
import_react26.ButtonGroup,
|
|
3262
|
+
{
|
|
3263
|
+
size: "sm",
|
|
3264
|
+
variant: "outline",
|
|
3265
|
+
display: { base: "none", md: "flex" },
|
|
3266
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(import_react26.Flex, { mt: 5, w: "full", align: "center", justify: "space-between", children: [
|
|
3267
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_react26.Steps.PrevTrigger, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(import_st_peter_ui6.SecondaryMdButton, { children: [
|
|
3268
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_lu5.LuChevronLeft, {}),
|
|
3269
|
+
"Previous"
|
|
3270
|
+
] }) }),
|
|
3271
|
+
!isLastStep ? /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(
|
|
3272
|
+
import_react26.Box,
|
|
3273
|
+
{
|
|
3274
|
+
as: "button",
|
|
3275
|
+
display: "flex",
|
|
3276
|
+
alignItems: "center",
|
|
3277
|
+
gap: 1.5,
|
|
3278
|
+
px: 4,
|
|
3279
|
+
py: 2,
|
|
3280
|
+
borderRadius: "lg",
|
|
3281
|
+
color: "white",
|
|
3282
|
+
fontSize: "sm",
|
|
3283
|
+
fontWeight: 600,
|
|
3284
|
+
cursor: nextDisabled ? "not-allowed" : "pointer",
|
|
3285
|
+
opacity: nextDisabled ? 0.5 : 1,
|
|
3286
|
+
pointerEvents: nextDisabled ? "none" : "auto",
|
|
3287
|
+
transition: "all 0.15s",
|
|
3288
|
+
onClick: handleNext,
|
|
3289
|
+
boxShadow: "0 1px 3px 0 rgba(0,0,0,0.12)",
|
|
3290
|
+
bg: PRIMARY,
|
|
3291
|
+
_hover: { bg: PRIMARY_HOVER },
|
|
3292
|
+
children: [
|
|
3293
|
+
nextStepTitle ? `Next: ${nextStepTitle}` : "Next",
|
|
3294
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_lu5.LuChevronRight, { size: 15 })
|
|
3295
|
+
]
|
|
3296
|
+
}
|
|
3297
|
+
) : /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_st_peter_ui6.PrimaryMdButton, { disabled: !!submitDisabled, onClick: onSubmit, children: submitButtonText })
|
|
3298
|
+
] })
|
|
3299
|
+
}
|
|
3300
|
+
)
|
|
3301
|
+
]
|
|
3302
|
+
}
|
|
3303
|
+
) })
|
|
3304
|
+
]
|
|
3110
3305
|
}
|
|
3111
3306
|
);
|
|
3112
3307
|
};
|
|
@@ -3482,6 +3677,7 @@ var BottomQuickActions_default = BottomQuickActions;
|
|
|
3482
3677
|
// src/Generic/NotifyInstall.tsx
|
|
3483
3678
|
var import_react32 = require("react");
|
|
3484
3679
|
var import_react33 = require("@chakra-ui/react");
|
|
3680
|
+
var import_react34 = require("motion/react");
|
|
3485
3681
|
var import_fi = require("react-icons/fi");
|
|
3486
3682
|
|
|
3487
3683
|
// src/hooks/useNotifyInstall.ts
|
|
@@ -3524,167 +3720,175 @@ function useNotifyInstall() {
|
|
|
3524
3720
|
// src/Generic/NotifyInstall.tsx
|
|
3525
3721
|
var import_jsx_runtime19 = require("react/jsx-runtime");
|
|
3526
3722
|
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
|
-
}
|
|
3723
|
+
{ icon: import_fi.FiShare, label: "Tap the browser menu or Share button" },
|
|
3724
|
+
{ icon: import_fi.FiPlusSquare, label: 'Choose "Add to Home Screen"' }
|
|
3535
3725
|
];
|
|
3536
|
-
var
|
|
3726
|
+
var DISMISSED_KEY = "estore-install-dialog-dismissed";
|
|
3537
3727
|
function NotifyInstall({
|
|
3538
3728
|
children,
|
|
3539
3729
|
appName
|
|
3540
3730
|
}) {
|
|
3541
3731
|
const { isInstalled, isMobile, canInstall, install } = useNotifyInstall();
|
|
3542
|
-
const [isDismissed, setIsDismissed] = (0, import_react32.useState)(
|
|
3732
|
+
const [isDismissed, setIsDismissed] = (0, import_react32.useState)(true);
|
|
3543
3733
|
(0, import_react32.useEffect)(() => {
|
|
3544
|
-
|
|
3545
|
-
|
|
3734
|
+
if (localStorage.getItem(DISMISSED_KEY) !== "true") {
|
|
3735
|
+
setIsDismissed(false);
|
|
3736
|
+
}
|
|
3546
3737
|
}, []);
|
|
3547
|
-
const
|
|
3548
|
-
localStorage.setItem(
|
|
3738
|
+
const handleDismiss = () => {
|
|
3739
|
+
localStorage.setItem(DISMISSED_KEY, "true");
|
|
3549
3740
|
setIsDismissed(true);
|
|
3550
3741
|
};
|
|
3551
|
-
const
|
|
3552
|
-
if (!isOpen) {
|
|
3553
|
-
return children;
|
|
3554
|
-
}
|
|
3742
|
+
const showPrompt = isMobile && !isInstalled && !isDismissed;
|
|
3555
3743
|
return /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(import_jsx_runtime19.Fragment, { children: [
|
|
3556
3744
|
children,
|
|
3557
|
-
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
|
|
3558
|
-
|
|
3559
|
-
|
|
3560
|
-
|
|
3561
|
-
|
|
3562
|
-
|
|
3563
|
-
|
|
3745
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_react34.AnimatePresence, { children: showPrompt && /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(import_jsx_runtime19.Fragment, { children: [
|
|
3746
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
|
|
3747
|
+
import_react34.motion.div,
|
|
3748
|
+
{
|
|
3749
|
+
initial: { opacity: 0 },
|
|
3750
|
+
animate: { opacity: 1 },
|
|
3751
|
+
exit: { opacity: 0 },
|
|
3752
|
+
transition: { duration: 0.2 },
|
|
3753
|
+
onClick: handleDismiss,
|
|
3754
|
+
style: {
|
|
3755
|
+
position: "fixed",
|
|
3756
|
+
inset: 0,
|
|
3757
|
+
zIndex: 1300,
|
|
3758
|
+
background: "rgba(0,0,0,0.55)",
|
|
3759
|
+
backdropFilter: "blur(3px)",
|
|
3760
|
+
WebkitBackdropFilter: "blur(3px)"
|
|
3564
3761
|
}
|
|
3565
3762
|
},
|
|
3566
|
-
|
|
3567
|
-
|
|
3568
|
-
|
|
3569
|
-
|
|
3570
|
-
|
|
3571
|
-
|
|
3572
|
-
|
|
3573
|
-
|
|
3574
|
-
|
|
3575
|
-
|
|
3576
|
-
|
|
3763
|
+
"install-backdrop"
|
|
3764
|
+
),
|
|
3765
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(
|
|
3766
|
+
import_react34.motion.div,
|
|
3767
|
+
{
|
|
3768
|
+
initial: { y: "100%" },
|
|
3769
|
+
animate: { y: 0 },
|
|
3770
|
+
exit: { y: "100%" },
|
|
3771
|
+
transition: { type: "spring", damping: 28, stiffness: 280 },
|
|
3772
|
+
style: {
|
|
3773
|
+
position: "fixed",
|
|
3774
|
+
bottom: 0,
|
|
3775
|
+
left: 0,
|
|
3776
|
+
right: 0,
|
|
3777
|
+
zIndex: 1400,
|
|
3778
|
+
background: "white",
|
|
3779
|
+
borderRadius: "24px 24px 0 0",
|
|
3780
|
+
boxShadow: "0 -8px 40px rgba(0,0,0,0.14)",
|
|
3781
|
+
paddingBottom: "env(safe-area-inset-bottom)"
|
|
3782
|
+
},
|
|
3783
|
+
children: [
|
|
3784
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
|
|
3785
|
+
"button",
|
|
3786
|
+
{
|
|
3787
|
+
"aria-label": "Dismiss install prompt",
|
|
3788
|
+
onClick: handleDismiss,
|
|
3789
|
+
style: {
|
|
3790
|
+
position: "absolute",
|
|
3791
|
+
top: 12,
|
|
3792
|
+
right: 12,
|
|
3793
|
+
background: "none",
|
|
3794
|
+
border: "none",
|
|
3795
|
+
cursor: "pointer",
|
|
3796
|
+
padding: 8,
|
|
3797
|
+
borderRadius: "50%",
|
|
3798
|
+
display: "flex",
|
|
3799
|
+
alignItems: "center",
|
|
3800
|
+
justifyContent: "center",
|
|
3801
|
+
color: "#9ca3af"
|
|
3802
|
+
},
|
|
3803
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_fi.FiX, { size: 18 })
|
|
3804
|
+
}
|
|
3805
|
+
),
|
|
3806
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(import_react33.VStack, { gap: 6, textAlign: "center", px: 6, py: 8, children: [
|
|
3807
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
|
|
3808
|
+
import_react33.Flex,
|
|
3577
3809
|
{
|
|
3578
|
-
|
|
3579
|
-
|
|
3580
|
-
|
|
3581
|
-
|
|
3582
|
-
|
|
3583
|
-
|
|
3810
|
+
boxSize: 16,
|
|
3811
|
+
align: "center",
|
|
3812
|
+
justify: "center",
|
|
3813
|
+
rounded: "2xl",
|
|
3814
|
+
bg: "green.50",
|
|
3815
|
+
color: "green.600",
|
|
3816
|
+
shadow: "sm",
|
|
3817
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_react33.Icon, { as: import_fi.FiDownload, boxSize: 8 })
|
|
3818
|
+
}
|
|
3819
|
+
),
|
|
3820
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(import_react33.VStack, { gap: 2, children: [
|
|
3821
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(
|
|
3822
|
+
import_react33.Text,
|
|
3823
|
+
{
|
|
3824
|
+
fontSize: "lg",
|
|
3825
|
+
fontWeight: "bold",
|
|
3826
|
+
color: "gray.900",
|
|
3827
|
+
lineHeight: "short",
|
|
3828
|
+
children: [
|
|
3829
|
+
"Install ",
|
|
3830
|
+
appName
|
|
3831
|
+
]
|
|
3832
|
+
}
|
|
3833
|
+
),
|
|
3834
|
+
/* @__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." })
|
|
3835
|
+
] }),
|
|
3836
|
+
canInstall ? /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(
|
|
3837
|
+
import_react33.Button,
|
|
3838
|
+
{
|
|
3839
|
+
onClick: install,
|
|
3840
|
+
colorPalette: "green",
|
|
3841
|
+
size: "lg",
|
|
3842
|
+
w: "full",
|
|
3843
|
+
rounded: "xl",
|
|
3584
3844
|
children: [
|
|
3585
|
-
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_react33.
|
|
3586
|
-
|
|
3587
|
-
import_react33.Flex,
|
|
3588
|
-
{
|
|
3589
|
-
boxSize: { base: 16, sm: 20 },
|
|
3590
|
-
align: "center",
|
|
3591
|
-
justify: "center",
|
|
3592
|
-
rounded: "2xl",
|
|
3593
|
-
bg: "green.50",
|
|
3594
|
-
color: "green.600",
|
|
3595
|
-
shadow: "sm",
|
|
3596
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_react33.Icon, { as: import_fi.FiDownload, boxSize: { base: 8, sm: 9 } })
|
|
3597
|
-
}
|
|
3598
|
-
),
|
|
3599
|
-
/* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(import_react33.VStack, { gap: 2, children: [
|
|
3600
|
-
/* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(
|
|
3601
|
-
import_react33.Heading,
|
|
3602
|
-
{
|
|
3603
|
-
fontSize: { base: "lg", sm: "xl" },
|
|
3604
|
-
fontWeight: "bold",
|
|
3605
|
-
color: "gray.900",
|
|
3606
|
-
children: [
|
|
3607
|
-
"Install ",
|
|
3608
|
-
appName || "eStore"
|
|
3609
|
-
]
|
|
3610
|
-
}
|
|
3611
|
-
),
|
|
3612
|
-
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
|
|
3613
|
-
import_react33.Text,
|
|
3614
|
-
{
|
|
3615
|
-
fontSize: { base: "sm", sm: "md" },
|
|
3616
|
-
color: "gray.600",
|
|
3617
|
-
lineHeight: "tall",
|
|
3618
|
-
children: "Add the app to your home screen for a faster, app-like experience before continuing."
|
|
3619
|
-
}
|
|
3620
|
-
)
|
|
3621
|
-
] }),
|
|
3622
|
-
canInstall ? /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(
|
|
3623
|
-
import_react33.Button,
|
|
3624
|
-
{
|
|
3625
|
-
onClick: install,
|
|
3626
|
-
colorPalette: "green",
|
|
3627
|
-
size: "lg",
|
|
3628
|
-
w: "full",
|
|
3629
|
-
rounded: "xl",
|
|
3630
|
-
children: [
|
|
3631
|
-
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_react33.Icon, { as: import_fi.FiDownload }),
|
|
3632
|
-
"Add to Home Screen"
|
|
3633
|
-
]
|
|
3634
|
-
}
|
|
3635
|
-
) : /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
|
|
3636
|
-
import_react33.Box,
|
|
3637
|
-
{
|
|
3638
|
-
w: "full",
|
|
3639
|
-
bg: "gray.50",
|
|
3640
|
-
borderWidth: "1px",
|
|
3641
|
-
borderColor: "gray.100",
|
|
3642
|
-
rounded: "xl",
|
|
3643
|
-
p: 4,
|
|
3644
|
-
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: [
|
|
3645
|
-
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
|
|
3646
|
-
import_react33.Flex,
|
|
3647
|
-
{
|
|
3648
|
-
boxSize: 9,
|
|
3649
|
-
flexShrink: 0,
|
|
3650
|
-
align: "center",
|
|
3651
|
-
justify: "center",
|
|
3652
|
-
rounded: "lg",
|
|
3653
|
-
bg: "white",
|
|
3654
|
-
borderWidth: "1px",
|
|
3655
|
-
borderColor: "gray.200",
|
|
3656
|
-
color: "green.600",
|
|
3657
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_react33.Icon, { as: step.icon, boxSize: 4 })
|
|
3658
|
-
}
|
|
3659
|
-
),
|
|
3660
|
-
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
|
|
3661
|
-
import_react33.Text,
|
|
3662
|
-
{
|
|
3663
|
-
fontSize: "sm",
|
|
3664
|
-
color: "gray.700",
|
|
3665
|
-
textAlign: "left",
|
|
3666
|
-
children: step.label
|
|
3667
|
-
}
|
|
3668
|
-
)
|
|
3669
|
-
] }, index)) })
|
|
3670
|
-
}
|
|
3671
|
-
)
|
|
3672
|
-
] }) }),
|
|
3673
|
-
/* @__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 }) })
|
|
3845
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_react33.Icon, { as: import_fi.FiDownload }),
|
|
3846
|
+
"Add to Home Screen"
|
|
3674
3847
|
]
|
|
3675
3848
|
}
|
|
3849
|
+
) : /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
|
|
3850
|
+
import_react33.VStack,
|
|
3851
|
+
{
|
|
3852
|
+
w: "full",
|
|
3853
|
+
bg: "gray.50",
|
|
3854
|
+
borderWidth: "1px",
|
|
3855
|
+
borderColor: "gray.100",
|
|
3856
|
+
rounded: "xl",
|
|
3857
|
+
p: 4,
|
|
3858
|
+
gap: 4,
|
|
3859
|
+
align: "stretch",
|
|
3860
|
+
children: STEPS.map((step, i) => /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(import_react33.HStack, { gap: 3, align: "center", children: [
|
|
3861
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
|
|
3862
|
+
import_react33.Flex,
|
|
3863
|
+
{
|
|
3864
|
+
boxSize: 9,
|
|
3865
|
+
flexShrink: 0,
|
|
3866
|
+
align: "center",
|
|
3867
|
+
justify: "center",
|
|
3868
|
+
rounded: "lg",
|
|
3869
|
+
bg: "white",
|
|
3870
|
+
borderWidth: "1px",
|
|
3871
|
+
borderColor: "gray.200",
|
|
3872
|
+
color: "green.600",
|
|
3873
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_react33.Icon, { as: step.icon, boxSize: 4 })
|
|
3874
|
+
}
|
|
3875
|
+
),
|
|
3876
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_react33.Text, { fontSize: "sm", color: "gray.700", textAlign: "left", children: step.label })
|
|
3877
|
+
] }, i))
|
|
3878
|
+
}
|
|
3676
3879
|
)
|
|
3677
|
-
}
|
|
3678
|
-
|
|
3679
|
-
|
|
3680
|
-
|
|
3681
|
-
|
|
3880
|
+
] })
|
|
3881
|
+
]
|
|
3882
|
+
},
|
|
3883
|
+
"install-sheet"
|
|
3884
|
+
)
|
|
3885
|
+
] }) })
|
|
3682
3886
|
] });
|
|
3683
3887
|
}
|
|
3684
3888
|
|
|
3685
3889
|
// src/UserProfile/UserProfile.tsx
|
|
3686
|
-
var
|
|
3687
|
-
var
|
|
3890
|
+
var import_react35 = require("react");
|
|
3891
|
+
var import_react36 = require("@chakra-ui/react");
|
|
3688
3892
|
var import_ri = require("react-icons/ri");
|
|
3689
3893
|
var import_lu7 = require("react-icons/lu");
|
|
3690
3894
|
var import_hi2 = require("react-icons/hi2");
|
|
@@ -3991,28 +4195,28 @@ function ReusableProfile({
|
|
|
3991
4195
|
onTwoFactorChange,
|
|
3992
4196
|
onToast = noopToast
|
|
3993
4197
|
}) {
|
|
3994
|
-
const [profileView, setProfileView] = (0,
|
|
3995
|
-
const [fallbackColorMode, setFallbackColorMode] = (0,
|
|
4198
|
+
const [profileView, setProfileView] = (0, import_react35.useState)("main");
|
|
4199
|
+
const [fallbackColorMode, setFallbackColorMode] = (0, import_react35.useState)("light");
|
|
3996
4200
|
const colorMode = controlledColorMode ?? fallbackColorMode;
|
|
3997
|
-
const [fontSize, setFontSizeLocal] = (0,
|
|
3998
|
-
const [quickNavHrefs, setQuickNavHrefs] = (0,
|
|
3999
|
-
const [replacingIdx, setReplacingIdx] = (0,
|
|
4000
|
-
const [editName, setEditName] = (0,
|
|
4001
|
-
const [editLoading, setEditLoading] = (0,
|
|
4002
|
-
const [currentPw, setCurrentPw] = (0,
|
|
4003
|
-
const [newPw, setNewPw] = (0,
|
|
4004
|
-
const [confirmPw, setConfirmPw] = (0,
|
|
4005
|
-
const [showCurrentPw, setShowCurrentPw] = (0,
|
|
4006
|
-
const [showNewPw, setShowNewPw] = (0,
|
|
4007
|
-
const [showConfirmPw, setShowConfirmPw] = (0,
|
|
4008
|
-
const [pwLoading, setPwLoading] = (0,
|
|
4009
|
-
const [twoFactorEnabled, setTwoFactorEnabled] = (0,
|
|
4201
|
+
const [fontSize, setFontSizeLocal] = (0, import_react35.useState)("md");
|
|
4202
|
+
const [quickNavHrefs, setQuickNavHrefs] = (0, import_react35.useState)(initialQuickNavHrefs);
|
|
4203
|
+
const [replacingIdx, setReplacingIdx] = (0, import_react35.useState)(null);
|
|
4204
|
+
const [editName, setEditName] = (0, import_react35.useState)(user.displayName);
|
|
4205
|
+
const [editLoading, setEditLoading] = (0, import_react35.useState)(false);
|
|
4206
|
+
const [currentPw, setCurrentPw] = (0, import_react35.useState)("");
|
|
4207
|
+
const [newPw, setNewPw] = (0, import_react35.useState)("");
|
|
4208
|
+
const [confirmPw, setConfirmPw] = (0, import_react35.useState)("");
|
|
4209
|
+
const [showCurrentPw, setShowCurrentPw] = (0, import_react35.useState)(false);
|
|
4210
|
+
const [showNewPw, setShowNewPw] = (0, import_react35.useState)(false);
|
|
4211
|
+
const [showConfirmPw, setShowConfirmPw] = (0, import_react35.useState)(false);
|
|
4212
|
+
const [pwLoading, setPwLoading] = (0, import_react35.useState)(false);
|
|
4213
|
+
const [twoFactorEnabled, setTwoFactorEnabled] = (0, import_react35.useState)(
|
|
4010
4214
|
initialTwoFactorEnabled
|
|
4011
4215
|
);
|
|
4012
|
-
const [isMounted, setIsMounted] = (0,
|
|
4013
|
-
const isDesktopRaw = (0,
|
|
4216
|
+
const [isMounted, setIsMounted] = (0, import_react35.useState)(false);
|
|
4217
|
+
const isDesktopRaw = (0, import_react36.useBreakpointValue)({ base: false, md: true });
|
|
4014
4218
|
const isDesktop = isMounted ? isDesktopRaw ?? false : false;
|
|
4015
|
-
(0,
|
|
4219
|
+
(0, import_react35.useEffect)(() => {
|
|
4016
4220
|
setIsMounted(true);
|
|
4017
4221
|
if (!enableLocalStorage || typeof window === "undefined") return;
|
|
4018
4222
|
setFontSizeLocal(localStorage.getItem(FONT_SIZE_STORAGE_KEY) ?? "md");
|
|
@@ -4023,10 +4227,10 @@ function ReusableProfile({
|
|
|
4023
4227
|
setQuickNavHrefs(initialQuickNavHrefs);
|
|
4024
4228
|
}
|
|
4025
4229
|
}, [enableLocalStorage, initialQuickNavHrefs, storageKey]);
|
|
4026
|
-
(0,
|
|
4230
|
+
(0, import_react35.useEffect)(() => {
|
|
4027
4231
|
setEditName(user.displayName);
|
|
4028
4232
|
}, [user.displayName]);
|
|
4029
|
-
const availableOptions = (0,
|
|
4233
|
+
const availableOptions = (0, import_react35.useMemo)(
|
|
4030
4234
|
() => availableNavOptions.filter(
|
|
4031
4235
|
(option) => !user.role || option.roles.includes(user.role)
|
|
4032
4236
|
),
|
|
@@ -4156,7 +4360,7 @@ function ReusableProfile({
|
|
|
4156
4360
|
const roleLabel = user.role ? ROLE_LABELS[user.role] ?? user.role : "";
|
|
4157
4361
|
const mainContent = /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_jsx_runtime20.Fragment, { children: [
|
|
4158
4362
|
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
4159
|
-
|
|
4363
|
+
import_react36.Box,
|
|
4160
4364
|
{
|
|
4161
4365
|
bg: "var(--chakra-colors-primary)",
|
|
4162
4366
|
pt: 12,
|
|
@@ -4165,20 +4369,20 @@ function ReusableProfile({
|
|
|
4165
4369
|
textAlign: "center",
|
|
4166
4370
|
children: [
|
|
4167
4371
|
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
4168
|
-
|
|
4372
|
+
import_react36.Avatar.Root,
|
|
4169
4373
|
{
|
|
4170
4374
|
size: "2xl",
|
|
4171
4375
|
mx: "auto",
|
|
4172
4376
|
mb: 4,
|
|
4173
4377
|
colorPalette: pickPalette(user.displayName || "U"),
|
|
4174
4378
|
children: [
|
|
4175
|
-
user.avatarSrc && /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4176
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4379
|
+
user.avatarSrc && /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react36.Avatar.Image, { src: user.avatarSrc, alt: user.displayName }),
|
|
4380
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react36.Avatar.Fallback, { name: user.displayName })
|
|
4177
4381
|
]
|
|
4178
4382
|
}
|
|
4179
4383
|
),
|
|
4180
4384
|
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4181
|
-
|
|
4385
|
+
import_react36.Text,
|
|
4182
4386
|
{
|
|
4183
4387
|
color: "white",
|
|
4184
4388
|
fontWeight: "bold",
|
|
@@ -4188,9 +4392,9 @@ function ReusableProfile({
|
|
|
4188
4392
|
children: user.displayName
|
|
4189
4393
|
}
|
|
4190
4394
|
),
|
|
4191
|
-
user.email && /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4192
|
-
roleLabel && /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4193
|
-
|
|
4395
|
+
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 }),
|
|
4396
|
+
roleLabel && /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react36.Box, { display: "inline-flex", children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4397
|
+
import_react36.Badge,
|
|
4194
4398
|
{
|
|
4195
4399
|
bg: "rgba(255,255,255,0.15)",
|
|
4196
4400
|
color: "white",
|
|
@@ -4206,9 +4410,9 @@ function ReusableProfile({
|
|
|
4206
4410
|
]
|
|
4207
4411
|
}
|
|
4208
4412
|
),
|
|
4209
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
4413
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react36.Box, { px: 4, pt: 5, pb: 1, children: [
|
|
4210
4414
|
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4211
|
-
|
|
4415
|
+
import_react36.Text,
|
|
4212
4416
|
{
|
|
4213
4417
|
fontSize: "xs",
|
|
4214
4418
|
fontWeight: "bold",
|
|
@@ -4220,7 +4424,7 @@ function ReusableProfile({
|
|
|
4220
4424
|
}
|
|
4221
4425
|
),
|
|
4222
4426
|
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4223
|
-
|
|
4427
|
+
import_react36.Box,
|
|
4224
4428
|
{
|
|
4225
4429
|
as: "button",
|
|
4226
4430
|
w: "full",
|
|
@@ -4229,7 +4433,7 @@ function ReusableProfile({
|
|
|
4229
4433
|
transition: "opacity 0.15s",
|
|
4230
4434
|
onClick: () => setProfileView("edit-account"),
|
|
4231
4435
|
children: /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
4232
|
-
|
|
4436
|
+
import_react36.Flex,
|
|
4233
4437
|
{
|
|
4234
4438
|
justify: "space-between",
|
|
4235
4439
|
align: "center",
|
|
@@ -4238,9 +4442,9 @@ function ReusableProfile({
|
|
|
4238
4442
|
borderRadius: "lg",
|
|
4239
4443
|
bg: isDesktop && profileView === "edit-account" ? "gray.100" : void 0,
|
|
4240
4444
|
children: [
|
|
4241
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
4445
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react36.Flex, { align: "center", gap: 3, children: [
|
|
4242
4446
|
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4243
|
-
|
|
4447
|
+
import_react36.Box,
|
|
4244
4448
|
{
|
|
4245
4449
|
w: "38px",
|
|
4246
4450
|
h: "38px",
|
|
@@ -4254,9 +4458,9 @@ function ReusableProfile({
|
|
|
4254
4458
|
children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_lu7.LuUser, { size: 16 })
|
|
4255
4459
|
}
|
|
4256
4460
|
),
|
|
4257
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
4258
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4259
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4461
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react36.Box, { children: [
|
|
4462
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react36.Text, { fontSize: "sm", fontWeight: "semibold", children: "Edit Account" }),
|
|
4463
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react36.Text, { fontSize: "xs", color: "gray.500", children: "Update your display name and contact details" })
|
|
4260
4464
|
] })
|
|
4261
4465
|
] }),
|
|
4262
4466
|
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_lu7.LuChevronRight, { size: 16, color: "var(--chakra-colors-gray-400)" })
|
|
@@ -4265,9 +4469,9 @@ function ReusableProfile({
|
|
|
4265
4469
|
)
|
|
4266
4470
|
}
|
|
4267
4471
|
),
|
|
4268
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4472
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react36.Separator, {}),
|
|
4269
4473
|
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4270
|
-
|
|
4474
|
+
import_react36.Box,
|
|
4271
4475
|
{
|
|
4272
4476
|
as: "button",
|
|
4273
4477
|
w: "full",
|
|
@@ -4279,7 +4483,7 @@ function ReusableProfile({
|
|
|
4279
4483
|
setProfileView("change-password");
|
|
4280
4484
|
},
|
|
4281
4485
|
children: /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
4282
|
-
|
|
4486
|
+
import_react36.Flex,
|
|
4283
4487
|
{
|
|
4284
4488
|
justify: "space-between",
|
|
4285
4489
|
align: "center",
|
|
@@ -4288,9 +4492,9 @@ function ReusableProfile({
|
|
|
4288
4492
|
borderRadius: "lg",
|
|
4289
4493
|
bg: isDesktop && profileView === "change-password" ? "gray.100" : void 0,
|
|
4290
4494
|
children: [
|
|
4291
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
4495
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react36.Flex, { align: "center", gap: 3, children: [
|
|
4292
4496
|
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4293
|
-
|
|
4497
|
+
import_react36.Box,
|
|
4294
4498
|
{
|
|
4295
4499
|
w: "38px",
|
|
4296
4500
|
h: "38px",
|
|
@@ -4304,9 +4508,9 @@ function ReusableProfile({
|
|
|
4304
4508
|
children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_lu7.LuLock, { size: 16 })
|
|
4305
4509
|
}
|
|
4306
4510
|
),
|
|
4307
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
4308
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4309
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4511
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react36.Box, { children: [
|
|
4512
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react36.Text, { fontSize: "sm", fontWeight: "semibold", children: "Change Password" }),
|
|
4513
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react36.Text, { fontSize: "xs", color: "gray.500", children: "Test locally through the callback prop" })
|
|
4310
4514
|
] })
|
|
4311
4515
|
] }),
|
|
4312
4516
|
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_lu7.LuChevronRight, { size: 16, color: "var(--chakra-colors-gray-400)" })
|
|
@@ -4315,11 +4519,11 @@ function ReusableProfile({
|
|
|
4315
4519
|
)
|
|
4316
4520
|
}
|
|
4317
4521
|
),
|
|
4318
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4319
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
4320
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
4522
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react36.Separator, {}),
|
|
4523
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react36.Flex, { justify: "space-between", align: "center", py: 3, children: [
|
|
4524
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react36.Flex, { align: "center", gap: 3, children: [
|
|
4321
4525
|
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4322
|
-
|
|
4526
|
+
import_react36.Box,
|
|
4323
4527
|
{
|
|
4324
4528
|
w: "38px",
|
|
4325
4529
|
h: "38px",
|
|
@@ -4333,13 +4537,13 @@ function ReusableProfile({
|
|
|
4333
4537
|
children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_lu7.LuShield, { size: 16 })
|
|
4334
4538
|
}
|
|
4335
4539
|
),
|
|
4336
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
4337
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4338
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4540
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react36.Box, { children: [
|
|
4541
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react36.Text, { fontSize: "sm", fontWeight: "semibold", children: "Two Factor Authentication" }),
|
|
4542
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react36.Text, { fontSize: "xs", color: "gray.500", children: twoFactorEnabled ? "Enabled" : "Disabled" })
|
|
4339
4543
|
] })
|
|
4340
4544
|
] }),
|
|
4341
4545
|
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4342
|
-
|
|
4546
|
+
import_react36.Box,
|
|
4343
4547
|
{
|
|
4344
4548
|
role: "switch",
|
|
4345
4549
|
"aria-checked": twoFactorEnabled,
|
|
@@ -4362,7 +4566,7 @@ function ReusableProfile({
|
|
|
4362
4566
|
flexShrink: 0,
|
|
4363
4567
|
outline: "none",
|
|
4364
4568
|
children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4365
|
-
|
|
4569
|
+
import_react36.Box,
|
|
4366
4570
|
{
|
|
4367
4571
|
position: "absolute",
|
|
4368
4572
|
top: "3px",
|
|
@@ -4379,9 +4583,9 @@ function ReusableProfile({
|
|
|
4379
4583
|
)
|
|
4380
4584
|
] })
|
|
4381
4585
|
] }),
|
|
4382
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
4586
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react36.Box, { px: 4, pt: 4, pb: 2, children: [
|
|
4383
4587
|
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4384
|
-
|
|
4588
|
+
import_react36.Text,
|
|
4385
4589
|
{
|
|
4386
4590
|
fontSize: "xs",
|
|
4387
4591
|
fontWeight: "bold",
|
|
@@ -4392,10 +4596,10 @@ function ReusableProfile({
|
|
|
4392
4596
|
children: "Preferences"
|
|
4393
4597
|
}
|
|
4394
4598
|
),
|
|
4395
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
4396
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
4599
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react36.Flex, { justify: "space-between", align: "center", py: 3, children: [
|
|
4600
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react36.Flex, { align: "center", gap: 3, children: [
|
|
4397
4601
|
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4398
|
-
|
|
4602
|
+
import_react36.Box,
|
|
4399
4603
|
{
|
|
4400
4604
|
w: "38px",
|
|
4401
4605
|
h: "38px",
|
|
@@ -4409,15 +4613,15 @@ function ReusableProfile({
|
|
|
4409
4613
|
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 })
|
|
4410
4614
|
}
|
|
4411
4615
|
),
|
|
4412
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
4413
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4414
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4616
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react36.Box, { children: [
|
|
4617
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react36.Text, { fontSize: "sm", fontWeight: "semibold", children: "Appearance" }),
|
|
4618
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react36.Text, { fontSize: "xs", color: "gray.500", children: colorMode === "light" ? "Light mode" : "Dark mode" })
|
|
4415
4619
|
] })
|
|
4416
4620
|
] }),
|
|
4417
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4621
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react36.HStack, { gap: 1.5, children: ["light", "dark"].map((mode) => {
|
|
4418
4622
|
const isActive = colorMode === mode;
|
|
4419
4623
|
return /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
4420
|
-
|
|
4624
|
+
import_react36.Button,
|
|
4421
4625
|
{
|
|
4422
4626
|
size: "sm",
|
|
4423
4627
|
variant: "outline",
|
|
@@ -4434,7 +4638,7 @@ function ReusableProfile({
|
|
|
4434
4638
|
children: [
|
|
4435
4639
|
mode === "light" ? /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_lu7.LuSun, { size: 13 }) : /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_lu7.LuMoon, { size: 13 }),
|
|
4436
4640
|
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4437
|
-
|
|
4641
|
+
import_react36.Text,
|
|
4438
4642
|
{
|
|
4439
4643
|
fontSize: "xs",
|
|
4440
4644
|
textTransform: "capitalize",
|
|
@@ -4448,11 +4652,11 @@ function ReusableProfile({
|
|
|
4448
4652
|
);
|
|
4449
4653
|
}) })
|
|
4450
4654
|
] }),
|
|
4451
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4452
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
4453
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
4655
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react36.Separator, {}),
|
|
4656
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react36.Flex, { justify: "space-between", align: "center", py: 3, children: [
|
|
4657
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react36.Flex, { align: "center", gap: 3, children: [
|
|
4454
4658
|
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4455
|
-
|
|
4659
|
+
import_react36.Box,
|
|
4456
4660
|
{
|
|
4457
4661
|
w: "38px",
|
|
4458
4662
|
h: "38px",
|
|
@@ -4468,15 +4672,15 @@ function ReusableProfile({
|
|
|
4468
4672
|
children: "A"
|
|
4469
4673
|
}
|
|
4470
4674
|
),
|
|
4471
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
4472
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4473
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4675
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react36.Box, { children: [
|
|
4676
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react36.Text, { fontSize: "sm", fontWeight: "semibold", children: "Text Size" }),
|
|
4677
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react36.Text, { fontSize: "xs", color: "gray.500", children: fontSizeLabel })
|
|
4474
4678
|
] })
|
|
4475
4679
|
] }),
|
|
4476
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4680
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react36.HStack, { gap: 1, children: FONT_SIZES.map((option) => {
|
|
4477
4681
|
const isActive = fontSize === option.value;
|
|
4478
4682
|
return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4479
|
-
|
|
4683
|
+
import_react36.Button,
|
|
4480
4684
|
{
|
|
4481
4685
|
size: "sm",
|
|
4482
4686
|
variant: "outline",
|
|
@@ -4492,7 +4696,7 @@ function ReusableProfile({
|
|
|
4492
4696
|
onClick: () => handleFontSize(option.value),
|
|
4493
4697
|
title: option.title,
|
|
4494
4698
|
children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4495
|
-
|
|
4699
|
+
import_react36.Text,
|
|
4496
4700
|
{
|
|
4497
4701
|
fontWeight: isActive ? "bold" : "normal",
|
|
4498
4702
|
style: { fontSize: `${option.scale * 13}px` },
|
|
@@ -4504,9 +4708,9 @@ function ReusableProfile({
|
|
|
4504
4708
|
);
|
|
4505
4709
|
}) })
|
|
4506
4710
|
] }),
|
|
4507
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4711
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react36.Separator, {}),
|
|
4508
4712
|
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4509
|
-
|
|
4713
|
+
import_react36.Box,
|
|
4510
4714
|
{
|
|
4511
4715
|
as: "button",
|
|
4512
4716
|
w: "full",
|
|
@@ -4514,10 +4718,10 @@ function ReusableProfile({
|
|
|
4514
4718
|
_hover: { opacity: 0.7 },
|
|
4515
4719
|
transition: "opacity 0.15s",
|
|
4516
4720
|
onClick: () => setProfileView("navbar-customize"),
|
|
4517
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
4518
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
4721
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react36.Flex, { justify: "space-between", align: "center", py: 3, children: [
|
|
4722
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react36.Flex, { align: "center", gap: 3, children: [
|
|
4519
4723
|
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4520
|
-
|
|
4724
|
+
import_react36.Box,
|
|
4521
4725
|
{
|
|
4522
4726
|
w: "38px",
|
|
4523
4727
|
h: "38px",
|
|
@@ -4531,9 +4735,9 @@ function ReusableProfile({
|
|
|
4531
4735
|
children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_lu7.LuArrowLeftRight, { size: 16 })
|
|
4532
4736
|
}
|
|
4533
4737
|
),
|
|
4534
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
4535
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4536
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
4738
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react36.Box, { children: [
|
|
4739
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react36.Text, { fontSize: "sm", fontWeight: "semibold", children: "Quick Navigation" }),
|
|
4740
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react36.Text, { fontSize: "xs", color: "gray.500", children: [
|
|
4537
4741
|
quickNavHrefs.length,
|
|
4538
4742
|
" of ",
|
|
4539
4743
|
maxQuickNavItems,
|
|
@@ -4546,8 +4750,8 @@ function ReusableProfile({
|
|
|
4546
4750
|
}
|
|
4547
4751
|
)
|
|
4548
4752
|
] }),
|
|
4549
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4550
|
-
|
|
4753
|
+
/* @__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)(
|
|
4754
|
+
import_react36.Button,
|
|
4551
4755
|
{
|
|
4552
4756
|
w: "full",
|
|
4553
4757
|
variant: "outline",
|
|
@@ -4560,9 +4764,9 @@ function ReusableProfile({
|
|
|
4560
4764
|
) }) })
|
|
4561
4765
|
] });
|
|
4562
4766
|
const editAccountContent = /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_jsx_runtime20.Fragment, { children: [
|
|
4563
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4767
|
+
/* @__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: [
|
|
4564
4768
|
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4565
|
-
|
|
4769
|
+
import_react36.IconButton,
|
|
4566
4770
|
{
|
|
4567
4771
|
size: "sm",
|
|
4568
4772
|
variant: "ghost",
|
|
@@ -4572,17 +4776,17 @@ function ReusableProfile({
|
|
|
4572
4776
|
children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_lu7.LuChevronLeft, {})
|
|
4573
4777
|
}
|
|
4574
4778
|
),
|
|
4575
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4779
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react36.Text, { fontWeight: "bold", fontSize: "md", children: "Edit Account" })
|
|
4576
4780
|
] }) }),
|
|
4577
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4578
|
-
user.avatarSrc && /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4579
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4781
|
+
/* @__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: [
|
|
4782
|
+
user.avatarSrc && /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react36.Avatar.Image, { src: user.avatarSrc, alt: editName }),
|
|
4783
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react36.Avatar.Fallback, { name: editName })
|
|
4580
4784
|
] }) }),
|
|
4581
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
4582
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
4583
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4785
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react36.VStack, { gap: 4, px: 4, pb: 10, align: "stretch", children: [
|
|
4786
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react36.Box, { w: "full", children: [
|
|
4787
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react36.Text, { fontSize: "xs", fontWeight: "semibold", color: "gray.500", mb: 1.5, children: "Display Name" }),
|
|
4584
4788
|
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4585
|
-
|
|
4789
|
+
import_react36.Input,
|
|
4586
4790
|
{
|
|
4587
4791
|
value: editName,
|
|
4588
4792
|
onChange: (event) => setEditName(event.target.value),
|
|
@@ -4591,10 +4795,10 @@ function ReusableProfile({
|
|
|
4591
4795
|
}
|
|
4592
4796
|
)
|
|
4593
4797
|
] }),
|
|
4594
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
4595
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4798
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react36.Box, { w: "full", children: [
|
|
4799
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react36.Text, { fontSize: "xs", fontWeight: "semibold", color: "gray.500", mb: 1.5, children: "Email" }),
|
|
4596
4800
|
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4597
|
-
|
|
4801
|
+
import_react36.Input,
|
|
4598
4802
|
{
|
|
4599
4803
|
value: user.email ?? "",
|
|
4600
4804
|
readOnly: true,
|
|
@@ -4604,10 +4808,10 @@ function ReusableProfile({
|
|
|
4604
4808
|
}
|
|
4605
4809
|
)
|
|
4606
4810
|
] }),
|
|
4607
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
4608
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4811
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react36.Box, { w: "full", children: [
|
|
4812
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react36.Text, { fontSize: "xs", fontWeight: "semibold", color: "gray.500", mb: 1.5, children: "Mobile Number" }),
|
|
4609
4813
|
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4610
|
-
|
|
4814
|
+
import_react36.Input,
|
|
4611
4815
|
{
|
|
4612
4816
|
value: user.mobileNumber ?? "",
|
|
4613
4817
|
readOnly: true,
|
|
@@ -4618,7 +4822,7 @@ function ReusableProfile({
|
|
|
4618
4822
|
)
|
|
4619
4823
|
] }),
|
|
4620
4824
|
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4621
|
-
|
|
4825
|
+
import_react36.Button,
|
|
4622
4826
|
{
|
|
4623
4827
|
w: "full",
|
|
4624
4828
|
mt: 2,
|
|
@@ -4633,9 +4837,9 @@ function ReusableProfile({
|
|
|
4633
4837
|
] })
|
|
4634
4838
|
] });
|
|
4635
4839
|
const changePasswordContent = /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_jsx_runtime20.Fragment, { children: [
|
|
4636
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4840
|
+
/* @__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: [
|
|
4637
4841
|
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4638
|
-
|
|
4842
|
+
import_react36.IconButton,
|
|
4639
4843
|
{
|
|
4640
4844
|
size: "sm",
|
|
4641
4845
|
variant: "ghost",
|
|
@@ -4645,16 +4849,16 @@ function ReusableProfile({
|
|
|
4645
4849
|
children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_lu7.LuChevronLeft, {})
|
|
4646
4850
|
}
|
|
4647
4851
|
),
|
|
4648
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4852
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react36.Text, { fontWeight: "bold", fontSize: "md", children: "Change Password" })
|
|
4649
4853
|
] }) }),
|
|
4650
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
4651
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
4652
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4854
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react36.VStack, { gap: 5, px: 4, pt: 6, pb: 10, children: [
|
|
4855
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react36.Box, { w: "full", children: [
|
|
4856
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react36.Text, { fontSize: "xs", fontWeight: "semibold", color: "gray.500", mb: 1.5, children: "Current Password" }),
|
|
4653
4857
|
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4654
|
-
|
|
4858
|
+
import_react36.InputGroup,
|
|
4655
4859
|
{
|
|
4656
4860
|
endElement: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4657
|
-
|
|
4861
|
+
import_react36.IconButton,
|
|
4658
4862
|
{
|
|
4659
4863
|
size: "xs",
|
|
4660
4864
|
variant: "ghost",
|
|
@@ -4665,7 +4869,7 @@ function ReusableProfile({
|
|
|
4665
4869
|
}
|
|
4666
4870
|
),
|
|
4667
4871
|
children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4668
|
-
|
|
4872
|
+
import_react36.Input,
|
|
4669
4873
|
{
|
|
4670
4874
|
type: showCurrentPw ? "text" : "password",
|
|
4671
4875
|
value: currentPw,
|
|
@@ -4677,13 +4881,13 @@ function ReusableProfile({
|
|
|
4677
4881
|
}
|
|
4678
4882
|
)
|
|
4679
4883
|
] }),
|
|
4680
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
4681
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4884
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react36.Box, { w: "full", children: [
|
|
4885
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react36.Text, { fontSize: "xs", fontWeight: "semibold", color: "gray.500", mb: 1.5, children: "New Password" }),
|
|
4682
4886
|
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4683
|
-
|
|
4887
|
+
import_react36.InputGroup,
|
|
4684
4888
|
{
|
|
4685
4889
|
endElement: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4686
|
-
|
|
4890
|
+
import_react36.IconButton,
|
|
4687
4891
|
{
|
|
4688
4892
|
size: "xs",
|
|
4689
4893
|
variant: "ghost",
|
|
@@ -4694,7 +4898,7 @@ function ReusableProfile({
|
|
|
4694
4898
|
}
|
|
4695
4899
|
),
|
|
4696
4900
|
children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4697
|
-
|
|
4901
|
+
import_react36.Input,
|
|
4698
4902
|
{
|
|
4699
4903
|
type: showNewPw ? "text" : "password",
|
|
4700
4904
|
value: newPw,
|
|
@@ -4705,9 +4909,9 @@ function ReusableProfile({
|
|
|
4705
4909
|
)
|
|
4706
4910
|
}
|
|
4707
4911
|
),
|
|
4708
|
-
newPw && /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
4709
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4710
|
-
|
|
4912
|
+
newPw && /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react36.Box, { mt: 2, children: [
|
|
4913
|
+
/* @__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)(
|
|
4914
|
+
import_react36.Box,
|
|
4711
4915
|
{
|
|
4712
4916
|
flex: 1,
|
|
4713
4917
|
h: "3px",
|
|
@@ -4717,16 +4921,16 @@ function ReusableProfile({
|
|
|
4717
4921
|
},
|
|
4718
4922
|
i
|
|
4719
4923
|
)) }),
|
|
4720
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4924
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react36.Text, { fontSize: "xs", color: pwMeta.color, fontWeight: "medium", children: pwMeta.label })
|
|
4721
4925
|
] })
|
|
4722
4926
|
] }),
|
|
4723
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
4724
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4927
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react36.Box, { w: "full", children: [
|
|
4928
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react36.Text, { fontSize: "xs", fontWeight: "semibold", color: "gray.500", mb: 1.5, children: "Confirm New Password" }),
|
|
4725
4929
|
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4726
|
-
|
|
4930
|
+
import_react36.InputGroup,
|
|
4727
4931
|
{
|
|
4728
4932
|
endElement: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4729
|
-
|
|
4933
|
+
import_react36.IconButton,
|
|
4730
4934
|
{
|
|
4731
4935
|
size: "xs",
|
|
4732
4936
|
variant: "ghost",
|
|
@@ -4737,7 +4941,7 @@ function ReusableProfile({
|
|
|
4737
4941
|
}
|
|
4738
4942
|
),
|
|
4739
4943
|
children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4740
|
-
|
|
4944
|
+
import_react36.Input,
|
|
4741
4945
|
{
|
|
4742
4946
|
type: showConfirmPw ? "text" : "password",
|
|
4743
4947
|
value: confirmPw,
|
|
@@ -4748,10 +4952,10 @@ function ReusableProfile({
|
|
|
4748
4952
|
)
|
|
4749
4953
|
}
|
|
4750
4954
|
),
|
|
4751
|
-
confirmPw && confirmPw !== newPw && /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4955
|
+
confirmPw && confirmPw !== newPw && /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react36.Text, { fontSize: "xs", color: "red.500", mt: 1, children: "Passwords do not match" })
|
|
4752
4956
|
] }),
|
|
4753
4957
|
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4754
|
-
|
|
4958
|
+
import_react36.Button,
|
|
4755
4959
|
{
|
|
4756
4960
|
w: "full",
|
|
4757
4961
|
mt: 1,
|
|
@@ -4768,7 +4972,7 @@ function ReusableProfile({
|
|
|
4768
4972
|
] });
|
|
4769
4973
|
const navbarCustomizeContent = /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_jsx_runtime20.Fragment, { children: [
|
|
4770
4974
|
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4771
|
-
|
|
4975
|
+
import_react36.Box,
|
|
4772
4976
|
{
|
|
4773
4977
|
px: 4,
|
|
4774
4978
|
pt: 4,
|
|
@@ -4779,9 +4983,9 @@ function ReusableProfile({
|
|
|
4779
4983
|
top: 0,
|
|
4780
4984
|
bg: "bg",
|
|
4781
4985
|
zIndex: 1,
|
|
4782
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
4986
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react36.Flex, { align: "center", gap: 2, pr: 10, children: [
|
|
4783
4987
|
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4784
|
-
|
|
4988
|
+
import_react36.IconButton,
|
|
4785
4989
|
{
|
|
4786
4990
|
size: "sm",
|
|
4787
4991
|
variant: "ghost",
|
|
@@ -4794,9 +4998,9 @@ function ReusableProfile({
|
|
|
4794
4998
|
children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_lu7.LuChevronLeft, {})
|
|
4795
4999
|
}
|
|
4796
5000
|
),
|
|
4797
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
4798
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4799
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
5001
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react36.Box, { children: [
|
|
5002
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react36.Text, { fontWeight: "bold", fontSize: "md", children: "Quick Navigation" }),
|
|
5003
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react36.Text, { fontSize: "xs", color: "gray.500", children: [
|
|
4800
5004
|
"Choose up to ",
|
|
4801
5005
|
maxQuickNavItems,
|
|
4802
5006
|
" shortcuts for the bottom bar"
|
|
@@ -4805,10 +5009,10 @@ function ReusableProfile({
|
|
|
4805
5009
|
] })
|
|
4806
5010
|
}
|
|
4807
5011
|
),
|
|
4808
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
4809
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
5012
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react36.Box, { px: 4, pt: 5, pb: 2, children: [
|
|
5013
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react36.Flex, { align: "center", justify: "space-between", mb: 3, children: [
|
|
4810
5014
|
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4811
|
-
|
|
5015
|
+
import_react36.Text,
|
|
4812
5016
|
{
|
|
4813
5017
|
fontSize: "xs",
|
|
4814
5018
|
fontWeight: "bold",
|
|
@@ -4819,7 +5023,7 @@ function ReusableProfile({
|
|
|
4819
5023
|
}
|
|
4820
5024
|
),
|
|
4821
5025
|
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
4822
|
-
|
|
5026
|
+
import_react36.Text,
|
|
4823
5027
|
{
|
|
4824
5028
|
fontSize: "xs",
|
|
4825
5029
|
color: quickNavHrefs.length >= maxQuickNavItems ? "orange.500" : "gray.400",
|
|
@@ -4833,7 +5037,7 @@ function ReusableProfile({
|
|
|
4833
5037
|
)
|
|
4834
5038
|
] }),
|
|
4835
5039
|
quickNavHrefs.length === 0 ? /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4836
|
-
|
|
5040
|
+
import_react36.Flex,
|
|
4837
5041
|
{
|
|
4838
5042
|
align: "center",
|
|
4839
5043
|
justify: "center",
|
|
@@ -4842,18 +5046,18 @@ function ReusableProfile({
|
|
|
4842
5046
|
borderWidth: "1px",
|
|
4843
5047
|
borderStyle: "dashed",
|
|
4844
5048
|
borderColor: "gray.200",
|
|
4845
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
5049
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react36.Text, { fontSize: "sm", color: "gray.400", children: "No items pinned \u2014 add from below" })
|
|
4846
5050
|
}
|
|
4847
|
-
) : /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
5051
|
+
) : /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react36.VStack, { gap: 0, children: quickNavHrefs.map((href, idx) => {
|
|
4848
5052
|
const option = availableOptions.find((item) => item.key === href);
|
|
4849
5053
|
if (!option) return null;
|
|
4850
5054
|
const ItemIcon = option.Icon;
|
|
4851
5055
|
const isFirst = idx === 0;
|
|
4852
5056
|
const isLast = idx === quickNavHrefs.length - 1;
|
|
4853
5057
|
const isReplacing = replacingIdx === idx;
|
|
4854
|
-
return /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
5058
|
+
return /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react36.Box, { w: "full", children: [
|
|
4855
5059
|
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
4856
|
-
|
|
5060
|
+
import_react36.Flex,
|
|
4857
5061
|
{
|
|
4858
5062
|
justify: "space-between",
|
|
4859
5063
|
align: "center",
|
|
@@ -4865,9 +5069,9 @@ function ReusableProfile({
|
|
|
4865
5069
|
borderColor: isReplacing ? "orange.200" : void 0,
|
|
4866
5070
|
transition: "all 0.15s",
|
|
4867
5071
|
children: [
|
|
4868
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
5072
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react36.Flex, { align: "center", gap: 3, children: [
|
|
4869
5073
|
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4870
|
-
|
|
5074
|
+
import_react36.Box,
|
|
4871
5075
|
{
|
|
4872
5076
|
w: "36px",
|
|
4873
5077
|
h: "36px",
|
|
@@ -4881,10 +5085,10 @@ function ReusableProfile({
|
|
|
4881
5085
|
children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(ItemIcon, { size: 15 })
|
|
4882
5086
|
}
|
|
4883
5087
|
),
|
|
4884
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
4885
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
5088
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react36.Box, { children: [
|
|
5089
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react36.Text, { fontSize: "sm", fontWeight: "medium", children: option.title }),
|
|
4886
5090
|
isReplacing && /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4887
|
-
|
|
5091
|
+
import_react36.Text,
|
|
4888
5092
|
{
|
|
4889
5093
|
fontSize: "xs",
|
|
4890
5094
|
color: "orange.500",
|
|
@@ -4894,9 +5098,9 @@ function ReusableProfile({
|
|
|
4894
5098
|
)
|
|
4895
5099
|
] })
|
|
4896
5100
|
] }),
|
|
4897
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
5101
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react36.HStack, { gap: 0.5, children: [
|
|
4898
5102
|
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4899
|
-
|
|
5103
|
+
import_react36.IconButton,
|
|
4900
5104
|
{
|
|
4901
5105
|
size: "xs",
|
|
4902
5106
|
variant: "ghost",
|
|
@@ -4908,7 +5112,7 @@ function ReusableProfile({
|
|
|
4908
5112
|
}
|
|
4909
5113
|
),
|
|
4910
5114
|
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4911
|
-
|
|
5115
|
+
import_react36.IconButton,
|
|
4912
5116
|
{
|
|
4913
5117
|
size: "xs",
|
|
4914
5118
|
variant: "ghost",
|
|
@@ -4920,7 +5124,7 @@ function ReusableProfile({
|
|
|
4920
5124
|
}
|
|
4921
5125
|
),
|
|
4922
5126
|
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4923
|
-
|
|
5127
|
+
import_react36.IconButton,
|
|
4924
5128
|
{
|
|
4925
5129
|
size: "xs",
|
|
4926
5130
|
variant: isReplacing ? "solid" : "ghost",
|
|
@@ -4933,7 +5137,7 @@ function ReusableProfile({
|
|
|
4933
5137
|
}
|
|
4934
5138
|
),
|
|
4935
5139
|
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4936
|
-
|
|
5140
|
+
import_react36.IconButton,
|
|
4937
5141
|
{
|
|
4938
5142
|
size: "xs",
|
|
4939
5143
|
variant: "ghost",
|
|
@@ -4949,16 +5153,16 @@ function ReusableProfile({
|
|
|
4949
5153
|
]
|
|
4950
5154
|
}
|
|
4951
5155
|
),
|
|
4952
|
-
!isLast && /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
5156
|
+
!isLast && /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react36.Separator, {})
|
|
4953
5157
|
] }, href);
|
|
4954
5158
|
}) })
|
|
4955
5159
|
] }),
|
|
4956
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4957
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
4958
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
4959
|
-
replacingIdx !== null ? /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
5160
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react36.Separator, { mx: 4, my: 1 }),
|
|
5161
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react36.Box, { px: 4, pt: 4, pb: 10, children: [
|
|
5162
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react36.Flex, { align: "center", justify: "space-between", mb: 3, children: [
|
|
5163
|
+
replacingIdx !== null ? /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react36.Box, { children: [
|
|
4960
5164
|
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4961
|
-
|
|
5165
|
+
import_react36.Text,
|
|
4962
5166
|
{
|
|
4963
5167
|
fontSize: "xs",
|
|
4964
5168
|
fontWeight: "bold",
|
|
@@ -4968,7 +5172,7 @@ function ReusableProfile({
|
|
|
4968
5172
|
children: "Select Replacement"
|
|
4969
5173
|
}
|
|
4970
5174
|
),
|
|
4971
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
5175
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react36.Text, { fontSize: "xs", color: "gray.500", mt: 0.5, children: [
|
|
4972
5176
|
'for "',
|
|
4973
5177
|
availableOptions.find(
|
|
4974
5178
|
(item) => item.key === quickNavHrefs[replacingIdx]
|
|
@@ -4976,7 +5180,7 @@ function ReusableProfile({
|
|
|
4976
5180
|
'"'
|
|
4977
5181
|
] })
|
|
4978
5182
|
] }) : /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4979
|
-
|
|
5183
|
+
import_react36.Text,
|
|
4980
5184
|
{
|
|
4981
5185
|
fontSize: "xs",
|
|
4982
5186
|
fontWeight: "bold",
|
|
@@ -4987,7 +5191,7 @@ function ReusableProfile({
|
|
|
4987
5191
|
}
|
|
4988
5192
|
),
|
|
4989
5193
|
replacingIdx !== null && /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4990
|
-
|
|
5194
|
+
import_react36.Button,
|
|
4991
5195
|
{
|
|
4992
5196
|
size: "xs",
|
|
4993
5197
|
variant: "ghost",
|
|
@@ -4997,17 +5201,17 @@ function ReusableProfile({
|
|
|
4997
5201
|
}
|
|
4998
5202
|
)
|
|
4999
5203
|
] }),
|
|
5000
|
-
unpinnedOptions.length === 0 ? /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
5204
|
+
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) => {
|
|
5001
5205
|
const ItemIcon = option.Icon;
|
|
5002
5206
|
const isLast = idx === unpinnedOptions.length - 1;
|
|
5003
5207
|
const isReplacingMode = replacingIdx !== null;
|
|
5004
5208
|
const canAdd = quickNavHrefs.length < maxQuickNavItems;
|
|
5005
5209
|
const actionEnabled = isReplacingMode || canAdd;
|
|
5006
|
-
return /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
5007
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
5008
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
5210
|
+
return /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react36.Box, { w: "full", children: [
|
|
5211
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react36.Flex, { justify: "space-between", align: "center", py: 2.5, children: [
|
|
5212
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react36.Flex, { align: "center", gap: 3, children: [
|
|
5009
5213
|
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
5010
|
-
|
|
5214
|
+
import_react36.Box,
|
|
5011
5215
|
{
|
|
5012
5216
|
w: "36px",
|
|
5013
5217
|
h: "36px",
|
|
@@ -5022,7 +5226,7 @@ function ReusableProfile({
|
|
|
5022
5226
|
}
|
|
5023
5227
|
),
|
|
5024
5228
|
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
5025
|
-
|
|
5229
|
+
import_react36.Text,
|
|
5026
5230
|
{
|
|
5027
5231
|
fontSize: "sm",
|
|
5028
5232
|
fontWeight: "medium",
|
|
@@ -5032,7 +5236,7 @@ function ReusableProfile({
|
|
|
5032
5236
|
)
|
|
5033
5237
|
] }),
|
|
5034
5238
|
isReplacingMode ? /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
5035
|
-
|
|
5239
|
+
import_react36.IconButton,
|
|
5036
5240
|
{
|
|
5037
5241
|
size: "xs",
|
|
5038
5242
|
variant: "outline",
|
|
@@ -5044,7 +5248,7 @@ function ReusableProfile({
|
|
|
5044
5248
|
children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_lu7.LuArrowLeftRight, { size: 13 })
|
|
5045
5249
|
}
|
|
5046
5250
|
) : /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
5047
|
-
|
|
5251
|
+
import_react36.IconButton,
|
|
5048
5252
|
{
|
|
5049
5253
|
size: "xs",
|
|
5050
5254
|
variant: "outline",
|
|
@@ -5058,7 +5262,7 @@ function ReusableProfile({
|
|
|
5058
5262
|
}
|
|
5059
5263
|
)
|
|
5060
5264
|
] }),
|
|
5061
|
-
!isLast && /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
5265
|
+
!isLast && /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react36.Separator, {})
|
|
5062
5266
|
] }, option.key);
|
|
5063
5267
|
}) })
|
|
5064
5268
|
] })
|
|
@@ -5066,7 +5270,7 @@ function ReusableProfile({
|
|
|
5066
5270
|
const subViewContent = profileView === "edit-account" ? editAccountContent : profileView === "change-password" ? changePasswordContent : profileView === "navbar-customize" ? navbarCustomizeContent : null;
|
|
5067
5271
|
if (isDesktop) {
|
|
5068
5272
|
return /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
5069
|
-
|
|
5273
|
+
import_react36.Flex,
|
|
5070
5274
|
{
|
|
5071
5275
|
maxW: "6xl",
|
|
5072
5276
|
mx: "auto",
|
|
@@ -5077,7 +5281,7 @@ function ReusableProfile({
|
|
|
5077
5281
|
align: "start",
|
|
5078
5282
|
children: [
|
|
5079
5283
|
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
5080
|
-
|
|
5284
|
+
import_react36.Box,
|
|
5081
5285
|
{
|
|
5082
5286
|
w: { md: "300px", lg: "340px" },
|
|
5083
5287
|
flexShrink: 0,
|
|
@@ -5092,7 +5296,7 @@ function ReusableProfile({
|
|
|
5092
5296
|
}
|
|
5093
5297
|
),
|
|
5094
5298
|
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
5095
|
-
|
|
5299
|
+
import_react36.Box,
|
|
5096
5300
|
{
|
|
5097
5301
|
flex: "1",
|
|
5098
5302
|
minW: 0,
|
|
@@ -5103,7 +5307,7 @@ function ReusableProfile({
|
|
|
5103
5307
|
bg: "bg",
|
|
5104
5308
|
minH: "540px",
|
|
5105
5309
|
children: subViewContent ?? /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
5106
|
-
|
|
5310
|
+
import_react36.Flex,
|
|
5107
5311
|
{
|
|
5108
5312
|
direction: "column",
|
|
5109
5313
|
align: "center",
|
|
@@ -5114,7 +5318,7 @@ function ReusableProfile({
|
|
|
5114
5318
|
color: "gray.400",
|
|
5115
5319
|
children: [
|
|
5116
5320
|
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
5117
|
-
|
|
5321
|
+
import_react36.Box,
|
|
5118
5322
|
{
|
|
5119
5323
|
w: "56px",
|
|
5120
5324
|
h: "56px",
|
|
@@ -5127,7 +5331,7 @@ function ReusableProfile({
|
|
|
5127
5331
|
children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_lu7.LuUser, { size: 24 })
|
|
5128
5332
|
}
|
|
5129
5333
|
),
|
|
5130
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
5334
|
+
/* @__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." })
|
|
5131
5335
|
]
|
|
5132
5336
|
}
|
|
5133
5337
|
)
|
|
@@ -5137,7 +5341,7 @@ function ReusableProfile({
|
|
|
5137
5341
|
}
|
|
5138
5342
|
);
|
|
5139
5343
|
}
|
|
5140
|
-
return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
5344
|
+
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 });
|
|
5141
5345
|
}
|
|
5142
5346
|
var UserProfile_default = ReusableProfile;
|
|
5143
5347
|
// Annotate the CommonJS export names for ESM import in node:
|