@opexa/portal-components 0.0.446 → 0.0.448
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.
|
@@ -34,7 +34,11 @@ import { Portal } from '../../ui/Portal/index.js';
|
|
|
34
34
|
import { getQueryClient } from '../../utils/getQueryClient.js';
|
|
35
35
|
import { getAccountQueryKey } from '../../utils/queryKeys.js';
|
|
36
36
|
const accountSchema = z.object({
|
|
37
|
-
name: z
|
|
37
|
+
name: z
|
|
38
|
+
.string()
|
|
39
|
+
.min(1, 'Name is required')
|
|
40
|
+
.max(50, 'Name is too long')
|
|
41
|
+
.regex(/^[a-zA-Z0-9]+$/, 'Username can only contain letters and numbers'),
|
|
38
42
|
});
|
|
39
43
|
export function AccountInfo(props) {
|
|
40
44
|
return (_jsxs("div", { className: twMerge('space-y-3xl', props.className), children: [_jsx(ProfileInfo, {}), _jsx(ContactInfo, {}), _jsx(PersonalInfo, {}), _jsx(SSO, { google: props.googleSso, facebook: props.facebookSso })] }));
|
|
@@ -249,7 +253,7 @@ function UnlinkFacebookAccount() {
|
|
|
249
253
|
});
|
|
250
254
|
if (!account)
|
|
251
255
|
return null;
|
|
252
|
-
return (_jsxs(Dialog.Root, { open: disclosure.open, onOpenChange: (details) => disclosure.setOpen(details.open), lazyMount: true, unmountOnExit: true, closeOnEscape: false, closeOnInteractOutside: false, children: [_jsx(Dialog.Trigger, { className: "font-semibold text-button-tertiary-error-fg text-sm", children: "Disconnect" }), _jsxs(Portal, { children: [_jsx(Dialog.Backdrop, { className: "!z-[calc(var(--z-dialog)+1)]" }), _jsx(Dialog.Positioner, { className: "!z-[calc(var(--z-dialog)+2)] flex items-center justify-center", children: _jsxs(Dialog.Content, { className: "mx-auto min-h-auto max-w-[25rem] overflow-y-auto rounded-xl p-6", children: [_jsx(Dialog.CloseTrigger, { children: _jsx(XIcon, {}) }), _jsxs("div", { className: "flex flex-col
|
|
256
|
+
return (_jsxs(Dialog.Root, { open: disclosure.open, onOpenChange: (details) => disclosure.setOpen(details.open), lazyMount: true, unmountOnExit: true, closeOnEscape: false, closeOnInteractOutside: false, children: [_jsx(Dialog.Trigger, { className: "font-semibold text-button-tertiary-error-fg text-sm", children: "Disconnect" }), _jsxs(Portal, { children: [_jsx(Dialog.Backdrop, { className: "!z-[calc(var(--z-dialog)+1)]" }), _jsx(Dialog.Positioner, { className: "!z-[calc(var(--z-dialog)+2)] flex items-center justify-center", children: _jsxs(Dialog.Content, { className: "mx-auto min-h-auto max-w-[25rem] overflow-y-auto rounded-xl p-6", children: [_jsx(Dialog.CloseTrigger, { children: _jsx(XIcon, {}) }), _jsxs("div", { className: "flex flex-col", children: [_jsx("div", { className: "mx-auto flex size-12 items-center justify-center rounded-full bg-bg-brand-secondary text-text-brand", children: _jsx(LinkBroken02Icon, {}) }), _jsx(Dialog.Title, { className: "mt-4 mb-1 text-center font-semibold text-lg xl:mt-xl", children: "Disconnect Facebook Account" }), _jsx(Dialog.Description, { className: "text-center text-sm text-text-tertiary-600 leading-2xl", children: "Are you sure you want to disconnect your Facebook account? This may affect your ability to log in or sync data." })] }), _jsx(Dialog.Context, { children: (api) => (_jsxs("div", { className: "flex justify-between gap-2 pt-6", children: [_jsx(Button, { variant: "outline", disabled: unlinkFacebookMutation.isPending, onClick: () => api.setOpen(false), children: "Cancel" }), _jsx(Button, { variant: "solid", disabled: unlinkFacebookMutation.isPending, onClick: () => {
|
|
253
257
|
unlinkFacebookMutation.mutate(account.id);
|
|
254
258
|
}, children: "Disconnect" })] })) })] }) })] })] }));
|
|
255
259
|
}
|
|
@@ -292,7 +296,7 @@ function UnlinkGoogleAccount() {
|
|
|
292
296
|
});
|
|
293
297
|
if (!account)
|
|
294
298
|
return null;
|
|
295
|
-
return (_jsxs(Dialog.Root, { open: disclosure.open, onOpenChange: (details) => disclosure.setOpen(details.open), lazyMount: true, unmountOnExit: true, closeOnEscape: false, closeOnInteractOutside: false, children: [_jsx(Dialog.Trigger, { className: "font-semibold text-button-tertiary-error-fg text-sm", children: "Disconnect" }), _jsxs(Portal, { children: [_jsx(Dialog.Backdrop, { className: "!z-[calc(var(--z-dialog)+1)]" }), _jsx(Dialog.Positioner, { className: "!z-[calc(var(--z-dialog)+2)] flex items-center justify-center", children: _jsxs(Dialog.Content, { className: "mx-auto min-h-auto max-w-[25rem] overflow-y-auto rounded-xl p-6", children: [_jsx(Dialog.CloseTrigger, { children: _jsx(XIcon, {}) }), _jsxs("div", { className: "flex flex-col
|
|
299
|
+
return (_jsxs(Dialog.Root, { open: disclosure.open, onOpenChange: (details) => disclosure.setOpen(details.open), lazyMount: true, unmountOnExit: true, closeOnEscape: false, closeOnInteractOutside: false, children: [_jsx(Dialog.Trigger, { className: "font-semibold text-button-tertiary-error-fg text-sm", children: "Disconnect" }), _jsxs(Portal, { children: [_jsx(Dialog.Backdrop, { className: "!z-[calc(var(--z-dialog)+1)]" }), _jsx(Dialog.Positioner, { className: "!z-[calc(var(--z-dialog)+2)] flex items-center justify-center", children: _jsxs(Dialog.Content, { className: "mx-auto min-h-auto max-w-[25rem] overflow-y-auto rounded-xl p-6", children: [_jsx(Dialog.CloseTrigger, { children: _jsx(XIcon, {}) }), _jsxs("div", { className: "flex flex-col", children: [_jsx("div", { className: "mx-auto flex size-12 items-center justify-center rounded-full bg-bg-brand-secondary text-text-brand", children: _jsx(LinkBroken02Icon, {}) }), _jsx(Dialog.Title, { className: "mt-4 mb-1 text-center font-semibold text-lg xl:mt-xl", children: "Disconnect Google Account" }), _jsx(Dialog.Description, { className: "text-center text-sm text-text-tertiary-600 leading-2xl", children: "Are you sure you want to disconnect your Google account? This may affect your ability to log in or sync data." })] }), _jsx(Dialog.Context, { children: (api) => (_jsxs("div", { className: "flex justify-between gap-2 pt-6", children: [_jsx(Button, { variant: "outline", disabled: unlinkGoogleMutation.isPending, onClick: () => api.setOpen(false), children: "Cancel" }), _jsx(Button, { variant: "solid", disabled: unlinkGoogleMutation.isPending, onClick: () => {
|
|
296
300
|
unlinkGoogleMutation.mutate(account.id);
|
|
297
301
|
}, children: "Disconnect" })] })) })] }) })] })] }));
|
|
298
302
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
interface RemainingTimeProps {
|
|
2
2
|
endOfDay?: boolean;
|
|
3
3
|
}
|
|
4
|
-
export declare function RemainingTime({ endOfDay: useEndOfDay }: RemainingTimeProps): import("react/jsx-runtime").JSX.Element;
|
|
4
|
+
export declare function RemainingTime({ endOfDay: useEndOfDay, }: RemainingTimeProps): import("react/jsx-runtime").JSX.Element;
|
|
5
5
|
export {};
|
|
@@ -4,7 +4,7 @@ import { useRemainingTime } from '../../client/hooks/useRemainingTime.js';
|
|
|
4
4
|
import { ClockStopWatchIcon } from '../../icons/ClockStopWatchIcon.js';
|
|
5
5
|
import { Badge } from '../../ui/Badge/index.js';
|
|
6
6
|
import { useQuestContext } from './QuestsContext.js';
|
|
7
|
-
export function RemainingTime({ endOfDay: useEndOfDay = false }) {
|
|
7
|
+
export function RemainingTime({ endOfDay: useEndOfDay = false, }) {
|
|
8
8
|
const quest = useQuestContext();
|
|
9
9
|
const targetDateTime = useEndOfDay
|
|
10
10
|
? endOfDay(new Date(quest.endDateTime)).toISOString()
|
|
@@ -13,11 +13,8 @@ export function RemainingTime({ endOfDay: useEndOfDay = false }) {
|
|
|
13
13
|
if (quest.status === 'COMPLETED') {
|
|
14
14
|
return (_jsx(Badge.Root, { size: "lg", colorScheme: "success", round: false, children: _jsx(Badge.Label, { children: "Completed" }) }));
|
|
15
15
|
}
|
|
16
|
-
if (quest.status === 'FAILED') {
|
|
16
|
+
if (quest.status === 'FAILED' || remainingTime.expired) {
|
|
17
17
|
return (_jsx(Badge.Root, { size: "lg", colorScheme: "danger", round: false, children: _jsx(Badge.Label, { children: "Failed" }) }));
|
|
18
18
|
}
|
|
19
|
-
if (remainingTime.expired) {
|
|
20
|
-
return (_jsx(Badge.Root, { size: "lg", colorScheme: "danger", round: false, children: _jsx(Badge.Label, { children: "Expired" }) }));
|
|
21
|
-
}
|
|
22
19
|
return (_jsxs(Badge.Root, { size: "lg", colorScheme: "brand", round: false, children: [_jsx(Badge.Icon, { children: _jsx(ClockStopWatchIcon, {}) }), _jsx(Badge.Label, { children: remainingTime.toString() })] }));
|
|
23
20
|
}
|