@vitnode/core 1.2.0-canary.21 → 1.2.0-canary.23
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/src/api/models/user/sign-up.d.ts.map +1 -1
- package/dist/src/api/models/user/sign-up.js +1 -2
- package/dist/src/api/models/user.d.ts.map +1 -1
- package/dist/src/api/modules/users/routes/sign-up.route.d.ts +10 -2
- package/dist/src/api/modules/users/routes/sign-up.route.d.ts.map +1 -1
- package/dist/src/api/modules/users/routes/sign-up.route.js +14 -4
- package/dist/src/api/modules/users/users.module.d.ts +10 -2
- package/dist/src/api/modules/users/users.module.d.ts.map +1 -1
- package/dist/src/app_admin/core/users/page.js +1 -1
- package/dist/src/components/form/auto-form.js +1 -1
- package/dist/src/components/form/fields/combobox-async.d.ts +21 -0
- package/dist/src/components/form/fields/combobox-async.d.ts.map +1 -0
- package/dist/src/components/form/fields/combobox-async.js +115 -0
- package/dist/src/components/form/fields/combobox.d.ts +2 -1
- package/dist/src/components/form/fields/combobox.d.ts.map +1 -1
- package/dist/src/components/form/fields/combobox.js +4 -5
- package/dist/src/components/table/content.js +2 -2
- package/dist/src/components/table/order-table-head.js +1 -1
- package/dist/src/components/table/pagination.js +3 -3
- package/dist/src/components/ui/alert-dialog.js +2 -2
- package/dist/src/components/ui/button.d.ts +1 -1
- package/dist/src/components/ui/button.d.ts.map +1 -1
- package/dist/src/components/ui/button.js +1 -0
- package/dist/src/components/ui/dialog.d.ts.map +1 -1
- package/dist/src/components/ui/dialog.js +1 -1
- package/dist/src/lib/fetcher/core.d.ts +15 -0
- package/dist/src/lib/fetcher/core.d.ts.map +1 -0
- package/dist/src/lib/fetcher/core.js +39 -0
- package/dist/src/lib/fetcher/helpers-server.d.ts +3 -0
- package/dist/src/lib/fetcher/helpers-server.d.ts.map +1 -0
- package/dist/src/lib/fetcher/helpers-server.js +18 -0
- package/dist/src/lib/fetcher/helpers.d.ts +0 -1
- package/dist/src/lib/fetcher/helpers.d.ts.map +1 -1
- package/dist/src/lib/fetcher/helpers.js +0 -17
- package/dist/src/lib/fetcher-client.d.ts +8 -0
- package/dist/src/lib/fetcher-client.d.ts.map +1 -0
- package/dist/src/lib/fetcher-client.js +11 -0
- package/dist/src/lib/fetcher.d.ts +2 -1
- package/dist/src/lib/fetcher.d.ts.map +1 -1
- package/dist/src/lib/fetcher.js +14 -33
- package/dist/src/lib/helpers/auto-form.d.ts.map +1 -1
- package/dist/src/lib/helpers/auto-form.js +28 -16
- package/dist/src/lib/helpers/auto-form.test.js +49 -0
- package/dist/src/views/admin/layouts/sidebar/nav/item.d.ts.map +1 -1
- package/dist/src/views/admin/layouts/sidebar/nav/item.js +38 -4
- package/dist/src/views/admin/views/core/dashboard/dashboard-admin-view.js +1 -1
- package/dist/src/views/admin/views/core/test.d.ts.map +1 -1
- package/dist/src/views/admin/views/core/test.js +108 -103
- package/dist/src/views/auth/sign-in/form/form.js +1 -1
- package/dist/src/views/auth/sign-in/form/{hooks/mutation-api.d.ts → mutation-api.d.ts} +1 -1
- package/dist/src/views/auth/sign-in/form/mutation-api.d.ts.map +1 -0
- package/dist/src/views/auth/sign-in/form/{hooks/mutation-api.js → mutation-api.js} +3 -3
- package/dist/src/views/auth/sign-in/form/use-form.d.ts.map +1 -0
- package/dist/src/views/auth/sign-up/email-confirmation-view.d.ts +4 -0
- package/dist/src/views/auth/sign-up/email-confirmation-view.d.ts.map +1 -0
- package/dist/src/views/auth/sign-up/email-confirmation-view.js +55 -0
- package/dist/src/views/auth/sign-up/form/form.js +1 -1
- package/dist/src/views/auth/sign-up/form/mutation-api.d.ts +14 -0
- package/dist/src/views/auth/sign-up/form/mutation-api.d.ts.map +1 -0
- package/dist/src/views/auth/sign-up/form/mutation-api.js +29 -0
- package/dist/src/views/auth/sign-up/form/use-form.d.ts.map +1 -0
- package/dist/src/views/auth/sign-up/form/{hooks/use-form.js → use-form.js} +7 -3
- package/dist/src/views/auth/sign-up/sign-up-view.d.ts.map +1 -1
- package/dist/src/views/auth/sign-up/sign-up-view.js +38 -35
- package/dist/src/views/auth/sign-up/wrapper.d.ts +8 -0
- package/dist/src/views/auth/sign-up/wrapper.d.ts.map +1 -0
- package/dist/src/views/auth/sign-up/wrapper.js +19 -0
- package/dist/src/views/auth/sso/buttons/sso-buttons.d.ts.map +1 -1
- package/dist/src/views/auth/sso/buttons/sso-buttons.js +5 -3
- package/dist/src/views/layouts/theme/header/header.d.ts.map +1 -1
- package/dist/src/views/layouts/theme/header/header.js +24 -21
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +3 -2
- package/src/app_admin/core/users/page.tsx +1 -1
- package/src/locales/en.json +7 -0
- package/dist/src/views/auth/sign-in/form/hooks/mutation-api.d.ts.map +0 -1
- package/dist/src/views/auth/sign-in/form/hooks/use-form.d.ts.map +0 -1
- package/dist/src/views/auth/sign-up/form/hooks/mutation-api.d.ts +0 -6
- package/dist/src/views/auth/sign-up/form/hooks/mutation-api.d.ts.map +0 -1
- package/dist/src/views/auth/sign-up/form/hooks/mutation-api.js +0 -18
- package/dist/src/views/auth/sign-up/form/hooks/use-form.d.ts.map +0 -1
- /package/dist/src/views/auth/sign-in/form/{hooks/use-form.d.ts → use-form.d.ts} +0 -0
- /package/dist/src/views/auth/sign-in/form/{hooks/use-form.js → use-form.js} +0 -0
- /package/dist/src/views/auth/sign-up/form/{hooks/use-form.d.ts → use-form.d.ts} +0 -0
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { BaseBuildModuleReturn, BuildModuleReturn } from '../api/lib/module';
|
|
2
|
+
import type { Route } from '../api/lib/route';
|
|
3
|
+
import type { FetcherParams, GetModulePaths, GetValidMethodForPath, GetValidPathsForModule, InferResponseType } from './fetcher/types';
|
|
4
|
+
export declare function fetcherClient<M extends string, Routes extends Route[], Modules extends BaseBuildModuleReturn[], ModuleName extends GetModulePaths<M, Modules>, SelectedPath extends GetValidPathsForModule<ModuleName, M, Routes, Modules>, Method extends GetValidMethodForPath<ModuleName, SelectedPath, M, Routes, Modules> = GetValidMethodForPath<ModuleName, SelectedPath, M, Routes, Modules>>(moduleReturn: BuildModuleReturn<string, M, Routes, Modules>, { path, method, module, args, options, withPagination, }: FetcherParams<M, Routes, Modules, ModuleName, SelectedPath, Method> & {
|
|
5
|
+
options?: Omit<RequestInit, 'body'>;
|
|
6
|
+
withPagination?: boolean;
|
|
7
|
+
}): Promise<InferResponseType<M, Routes, Modules, ModuleName, SelectedPath, Method>>;
|
|
8
|
+
//# sourceMappingURL=fetcher-client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fetcher-client.d.ts","sourceRoot":"","sources":["../../../src/lib/fetcher-client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,qBAAqB,EACrB,iBAAiB,EAClB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAE7C,OAAO,KAAK,EACV,aAAa,EACb,cAAc,EACd,qBAAqB,EACrB,sBAAsB,EACtB,iBAAiB,EAClB,MAAM,iBAAiB,CAAC;AAIzB,wBAAsB,aAAa,CACjC,CAAC,SAAS,MAAM,EAChB,MAAM,SAAS,KAAK,EAAE,EACtB,OAAO,SAAS,qBAAqB,EAAE,EACvC,UAAU,SAAS,cAAc,CAAC,CAAC,EAAE,OAAO,CAAC,EAC7C,YAAY,SAAS,sBAAsB,CAAC,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAC3E,MAAM,SAAS,qBAAqB,CAClC,UAAU,EACV,YAAY,EACZ,CAAC,EACD,MAAM,EACN,OAAO,CACR,GAAG,qBAAqB,CAAC,UAAU,EAAE,YAAY,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAEvE,YAAY,EAAE,iBAAiB,CAAC,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAC3D,EACE,IAAI,EACJ,MAAM,EACN,MAAM,EACN,IAAI,EACJ,OAAO,EACP,cAAsB,GACvB,EAAE,aAAa,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,CAAC,GAAG;IACvE,OAAO,CAAC,EAAE,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IACpC,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B,GACA,OAAO,CACR,iBAAiB,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,CAAC,CACxE,CASA"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { coreFetcher } from "./fetcher/core.js";
|
|
2
|
+
export async function fetcherClient(moduleReturn, { path, method, module, args, options, withPagination = false }) {
|
|
3
|
+
return coreFetcher(moduleReturn, {
|
|
4
|
+
path,
|
|
5
|
+
method,
|
|
6
|
+
module,
|
|
7
|
+
args,
|
|
8
|
+
options,
|
|
9
|
+
withPagination
|
|
10
|
+
});
|
|
11
|
+
}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
+
import 'server-only';
|
|
1
2
|
import type { BaseBuildModuleReturn, BuildModuleReturn } from '../api/lib/module';
|
|
2
3
|
import type { Route } from '../api/lib/route';
|
|
3
4
|
import type { FetcherParams, GetModulePaths, GetValidMethodForPath, GetValidPathsForModule, InferResponseType } from './fetcher/types';
|
|
4
|
-
export declare function fetcher<M extends string, Routes extends Route[], Modules extends BaseBuildModuleReturn[], ModuleName extends GetModulePaths<M, Modules>, SelectedPath extends GetValidPathsForModule<ModuleName, M, Routes, Modules>, Method extends GetValidMethodForPath<ModuleName, SelectedPath, M, Routes, Modules> = GetValidMethodForPath<ModuleName, SelectedPath, M, Routes, Modules>>(
|
|
5
|
+
export declare function fetcher<M extends string, Routes extends Route[], Modules extends BaseBuildModuleReturn[], ModuleName extends GetModulePaths<M, Modules>, SelectedPath extends GetValidPathsForModule<ModuleName, M, Routes, Modules>, Method extends GetValidMethodForPath<ModuleName, SelectedPath, M, Routes, Modules> = GetValidMethodForPath<ModuleName, SelectedPath, M, Routes, Modules>>(moduleReturn: BuildModuleReturn<string, M, Routes, Modules>, { path, method, module, args, options, allowSaveCookies, withPagination, }: FetcherParams<M, Routes, Modules, ModuleName, SelectedPath, Method> & {
|
|
5
6
|
allowSaveCookies?: boolean;
|
|
6
7
|
options?: Omit<RequestInit, 'body'>;
|
|
7
8
|
withPagination?: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetcher.d.ts","sourceRoot":"","sources":["../../../src/lib/fetcher.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"fetcher.d.ts","sourceRoot":"","sources":["../../../src/lib/fetcher.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,CAAC;AAGrB,OAAO,KAAK,EACV,qBAAqB,EACrB,iBAAiB,EAClB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAE7C,OAAO,KAAK,EACV,aAAa,EACb,cAAc,EACd,qBAAqB,EACrB,sBAAsB,EACtB,iBAAiB,EAClB,MAAM,iBAAiB,CAAC;AAKzB,wBAAsB,OAAO,CAC3B,CAAC,SAAS,MAAM,EAChB,MAAM,SAAS,KAAK,EAAE,EACtB,OAAO,SAAS,qBAAqB,EAAE,EACvC,UAAU,SAAS,cAAc,CAAC,CAAC,EAAE,OAAO,CAAC,EAC7C,YAAY,SAAS,sBAAsB,CAAC,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAC3E,MAAM,SAAS,qBAAqB,CAClC,UAAU,EACV,YAAY,EACZ,CAAC,EACD,MAAM,EACN,OAAO,CACR,GAAG,qBAAqB,CAAC,UAAU,EAAE,YAAY,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAEvE,YAAY,EAAE,iBAAiB,CAAC,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAC3D,EACE,IAAI,EACJ,MAAM,EACN,MAAM,EACN,IAAI,EACJ,OAAO,EACP,gBAAwB,EACxB,cAAsB,GACvB,EAAE,aAAa,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,CAAC,GAAG;IACvE,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,OAAO,CAAC,EAAE,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IACpC,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B,GACA,OAAO,CACR,iBAAiB,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,CAAC,CACxE,CA+BA"}
|
package/dist/src/lib/fetcher.js
CHANGED
|
@@ -1,45 +1,26 @@
|
|
|
1
|
+
import "server-only";
|
|
1
2
|
import { cookies, headers } from "next/headers";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
export async function fetcher(
|
|
5
|
-
let currentPath = path;
|
|
6
|
-
// Replace path parameters
|
|
7
|
-
if (args && 'params' in args && args.params) {
|
|
8
|
-
for (const [key, value] of Object.entries(args.params)){
|
|
9
|
-
currentPath = currentPath.replaceAll(`{${key}}`, String(value));
|
|
10
|
-
}
|
|
11
|
-
}
|
|
12
|
-
// Ensure path starts with a slash
|
|
13
|
-
const formattedPath = currentPath.startsWith('/') ? currentPath : `/${currentPath}`;
|
|
14
|
-
// Construct the base URL
|
|
15
|
-
const url = new URL(`/api/${pluginId}/${module}${formattedPath}`, CONFIG.backend.origin);
|
|
16
|
-
// Add query parameters if they exist
|
|
17
|
-
if (args && 'query' in args && args.query) {
|
|
18
|
-
const queryParams = args.query;
|
|
19
|
-
const searchParams = buildSearchParams({
|
|
20
|
-
...args.query,
|
|
21
|
-
...withPagination && {
|
|
22
|
-
first: !queryParams.last ? queryParams.first ?? '10' : undefined,
|
|
23
|
-
search: queryParams.search ?? ''
|
|
24
|
-
}
|
|
25
|
-
});
|
|
26
|
-
url.search = searchParams.toString();
|
|
27
|
-
}
|
|
3
|
+
import { coreFetcher } from "./fetcher/core.js";
|
|
4
|
+
import { handleSetCookiesFetcher } from "./fetcher/helpers-server.js";
|
|
5
|
+
export async function fetcher(moduleReturn, { path, method, module, args, options, allowSaveCookies = false, withPagination = false }) {
|
|
28
6
|
const [nextInternalHeaders, cookie] = await Promise.all([
|
|
29
7
|
headers(),
|
|
30
8
|
cookies()
|
|
31
9
|
]);
|
|
32
|
-
const response = await
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
10
|
+
const response = await coreFetcher(moduleReturn, {
|
|
11
|
+
path,
|
|
12
|
+
method,
|
|
13
|
+
module,
|
|
14
|
+
args,
|
|
15
|
+
options,
|
|
16
|
+
withPagination,
|
|
17
|
+
additionalHeaders: {
|
|
36
18
|
Cookie: cookie.toString(),
|
|
37
19
|
['user-agent']: nextInternalHeaders.get('user-agent') ?? 'node',
|
|
38
20
|
['x-forwarded-for']: nextInternalHeaders.get('x-forwarded-for') ?? '0.0.0.0'
|
|
39
|
-
}
|
|
40
|
-
body: args && 'body' in args ? JSON.stringify(args.body) : undefined,
|
|
41
|
-
...options
|
|
21
|
+
}
|
|
42
22
|
});
|
|
23
|
+
// Handle cookies on server-side for successful responses
|
|
43
24
|
if (response.status >= 200 && response.status < 300 && allowSaveCookies) {
|
|
44
25
|
await handleSetCookiesFetcher(response);
|
|
45
26
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auto-form.d.ts","sourceRoot":"","sources":["../../../../src/lib/helpers/auto-form.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,kBAAkB,GAC7B,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,EAC7E,IAAI,MAAM,KACT,IAAI,GAAG,CAAC,CAAC,MAMX,CAAC;AAGF,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AAEpD,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,kBAAkB,GAEzB,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,CAUvB;AAMD,wBAAgB,aAAa,CAAC,CAAC,SAAS,CAAC,CAAC,UAAU,EAClD,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAC3B,OAAO,CAAC,EAAE,OAAO,GAChB,IAAI,GAAG,CAAC,CAYV;AAMD,eAAO,MAAM,WAAW,GAAI,QAAQ,CAAC,CAAC,UAAU,KAAG,MAIlD,CAAC;AAKF,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,CAAC,CAAC,UAAU,GAAG,OAAO,
|
|
1
|
+
{"version":3,"file":"auto-form.d.ts","sourceRoot":"","sources":["../../../../src/lib/helpers/auto-form.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,kBAAkB,GAC7B,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,EAC7E,IAAI,MAAM,KACT,IAAI,GAAG,CAAC,CAAC,MAMX,CAAC;AAGF,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AAEpD,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,kBAAkB,GAEzB,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,CAUvB;AAMD,wBAAgB,aAAa,CAAC,CAAC,SAAS,CAAC,CAAC,UAAU,EAClD,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAC3B,OAAO,CAAC,EAAE,OAAO,GAChB,IAAI,GAAG,CAAC,CAYV;AAMD,eAAO,MAAM,WAAW,GAAI,QAAQ,CAAC,CAAC,UAAU,KAAG,MAIlD,CAAC;AAKF,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,CAAC,CAAC,UAAU,GAAG,OAAO,CA2CvE;AAMD,wBAAgB,gBAAgB,CAAC,MAAM,SAAS,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,EACnE,MAAM,EAAE,MAAM,GACb,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CA8B1C"}
|
|
@@ -37,17 +37,33 @@ export function getObjectFormSchema(schema) {
|
|
|
37
37
|
return baseSchema ? baseSchema._def.typeName : '';
|
|
38
38
|
};
|
|
39
39
|
/**
|
|
40
|
-
* Search for a "
|
|
40
|
+
* Search for a "ZodDefault" in the Zod stack and return its value.
|
|
41
41
|
*/ export function getDefaultValueInZodStack(schema) {
|
|
42
|
+
// Check if this is a ZodDefault and return its value
|
|
42
43
|
if (schema._def.typeName === z.ZodFirstPartyTypeKind.ZodDefault) {
|
|
43
|
-
|
|
44
|
+
const defaultValue = schema._def.defaultValue();
|
|
45
|
+
// If defaultValue is a function, call it to get the actual value
|
|
46
|
+
return typeof defaultValue === 'function' ? defaultValue() : defaultValue;
|
|
44
47
|
}
|
|
45
|
-
|
|
46
|
-
|
|
48
|
+
// Traverse through ZodEffects (like refinements) - check this first as it wraps the actual schema
|
|
49
|
+
if (schema._def.typeName === z.ZodFirstPartyTypeKind.ZodEffects) {
|
|
50
|
+
return getDefaultValueInZodStack(schema._def.schema);
|
|
47
51
|
}
|
|
52
|
+
// Traverse through other types that have schema property
|
|
48
53
|
if ('schema' in schema._def) {
|
|
49
54
|
return getDefaultValueInZodStack(schema._def.schema);
|
|
50
55
|
}
|
|
56
|
+
// Traverse through ZodOptional, ZodNullable, etc.
|
|
57
|
+
if ('innerType' in schema._def) {
|
|
58
|
+
return getDefaultValueInZodStack(schema._def.innerType);
|
|
59
|
+
}
|
|
60
|
+
// Traverse through ZodArray's element type
|
|
61
|
+
if ('type' in schema._def && schema._def.typeName === z.ZodFirstPartyTypeKind.ZodArray) {
|
|
62
|
+
const innerDefault = getDefaultValueInZodStack(schema._def.type);
|
|
63
|
+
return innerDefault !== undefined ? [
|
|
64
|
+
innerDefault
|
|
65
|
+
] : undefined;
|
|
66
|
+
}
|
|
51
67
|
return undefined;
|
|
52
68
|
}
|
|
53
69
|
/**
|
|
@@ -59,23 +75,19 @@ export function getDefaultValues(schema) {
|
|
|
59
75
|
if (!shape) return defaultValues;
|
|
60
76
|
for (const key of Object.keys(shape)){
|
|
61
77
|
const item = shape[key];
|
|
62
|
-
|
|
78
|
+
// First, try to get any default value from the current item (including nested defaults)
|
|
79
|
+
const defaultValue = getDefaultValueInZodStack(item);
|
|
80
|
+
if (defaultValue !== undefined) {
|
|
81
|
+
defaultValues[key] = defaultValue;
|
|
82
|
+
} else if (getBaseType(item) === 'ZodObject') {
|
|
83
|
+
// Only recurse into object shape if there's no default value at the current level
|
|
63
84
|
const baseSchema = getBaseSchema(item);
|
|
64
85
|
if (baseSchema && 'shape' in baseSchema._def) {
|
|
65
86
|
const defaultItems = getDefaultValues(baseSchema);
|
|
66
|
-
if (defaultItems
|
|
67
|
-
|
|
68
|
-
for (const defaultItemKey of Object.keys(defaultItems)){
|
|
69
|
-
obj[defaultItemKey] = defaultItems[defaultItemKey];
|
|
70
|
-
defaultValues[key] = obj;
|
|
71
|
-
}
|
|
87
|
+
if (defaultItems && Object.keys(defaultItems).length > 0) {
|
|
88
|
+
defaultValues[key] = defaultItems;
|
|
72
89
|
}
|
|
73
90
|
}
|
|
74
|
-
} else {
|
|
75
|
-
const defaultValue = getDefaultValueInZodStack(item);
|
|
76
|
-
if (defaultValue !== undefined) {
|
|
77
|
-
defaultValues[key] = defaultValue;
|
|
78
|
-
}
|
|
79
91
|
}
|
|
80
92
|
}
|
|
81
93
|
return defaultValues;
|
|
@@ -117,6 +117,55 @@ describe('auto-form helpers', ()=>{
|
|
|
117
117
|
const defaults = getDefaultValues(schema);
|
|
118
118
|
expect(defaults).toEqual({});
|
|
119
119
|
});
|
|
120
|
+
it('should handle complex default values with conditional logic', ()=>{
|
|
121
|
+
const data = {
|
|
122
|
+
category: {
|
|
123
|
+
id: 123,
|
|
124
|
+
title: 'Technology'
|
|
125
|
+
}
|
|
126
|
+
};
|
|
127
|
+
const schema = z.object({
|
|
128
|
+
title: z.string().default('Default Title'),
|
|
129
|
+
categoryId: z.object({
|
|
130
|
+
value: z.string(),
|
|
131
|
+
label: z.string()
|
|
132
|
+
}).default(data?.category ? {
|
|
133
|
+
value: data.category.id.toString(),
|
|
134
|
+
label: data.category.title
|
|
135
|
+
} : {
|
|
136
|
+
value: '',
|
|
137
|
+
label: ''
|
|
138
|
+
})
|
|
139
|
+
});
|
|
140
|
+
const defaults = getDefaultValues(schema);
|
|
141
|
+
expect(defaults).toEqual({
|
|
142
|
+
title: 'Default Title',
|
|
143
|
+
categoryId: {
|
|
144
|
+
value: '123',
|
|
145
|
+
label: 'Technology'
|
|
146
|
+
}
|
|
147
|
+
});
|
|
148
|
+
});
|
|
149
|
+
it('should handle complex default values with falsy data', ()=>{
|
|
150
|
+
// Test with a simpler approach - using a function that returns the default value
|
|
151
|
+
const getDefaultCategoryId = ()=>({
|
|
152
|
+
value: '',
|
|
153
|
+
label: ''
|
|
154
|
+
});
|
|
155
|
+
const schema = z.object({
|
|
156
|
+
categoryId: z.object({
|
|
157
|
+
value: z.string(),
|
|
158
|
+
label: z.string()
|
|
159
|
+
}).default(getDefaultCategoryId())
|
|
160
|
+
});
|
|
161
|
+
const defaults = getDefaultValues(schema);
|
|
162
|
+
expect(defaults).toEqual({
|
|
163
|
+
categoryId: {
|
|
164
|
+
value: '',
|
|
165
|
+
label: ''
|
|
166
|
+
}
|
|
167
|
+
});
|
|
168
|
+
});
|
|
120
169
|
it('should return empty object for schema without shape', ()=>{
|
|
121
170
|
const schema = z.string();
|
|
122
171
|
const defaults = getDefaultValues(schema);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"item.d.ts","sourceRoot":"","sources":["../../../../../../../src/views/admin/layouts/sidebar/nav/item.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"item.d.ts","sourceRoot":"","sources":["../../../../../../../src/views/admin/layouts/sidebar/nav/item.tsx"],"names":[],"mappings":"AAoBA,UAAU,iBAAiB;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,eAAO,MAAM,YAAY,GAAI,+CAM1B,iBAAiB,GAAG;IACrB,KAAK,CAAC,EAAE,IAAI,CAAC,iBAAiB,EAAE,MAAM,CAAC,EAAE,CAAC;CAC3C,4CAuHA,CAAC"}
|
|
@@ -2,11 +2,25 @@
|
|
|
2
2
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
3
3
|
import { ChevronRight, MenuIcon } from "lucide-react";
|
|
4
4
|
import { Collapsible, CollapsibleContent, CollapsibleTrigger } from "../../../../../components/ui/collapsible.js";
|
|
5
|
-
import { SidebarMenuButton } from "../../../../../components/ui/sidebar.js";
|
|
5
|
+
import { SidebarMenuButton, useSidebar } from "../../../../../components/ui/sidebar.js";
|
|
6
6
|
import { SidebarMenuItem, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem } from "../../../../../components/ui/sidebar.js";
|
|
7
|
-
import {
|
|
7
|
+
import { useIsMobile } from "../../../../../hooks/use-mobile.js";
|
|
8
|
+
import { Link, usePathname } from "../../../../../lib/navigation.js";
|
|
8
9
|
import { cn } from "../../../../../lib/utils.js";
|
|
9
10
|
export const ItemNavAdmin = ({ href, title, icon, items = [], isOpenInNewTab })=>{
|
|
11
|
+
const { toggleSidebar } = useSidebar();
|
|
12
|
+
const isMobile = useIsMobile();
|
|
13
|
+
const pathname = usePathname();
|
|
14
|
+
// Helper function to normalize URLs for comparison
|
|
15
|
+
const normalizeUrl = (url)=>{
|
|
16
|
+
return url.endsWith('/') && url.length > 1 ? url.slice(0, -1) : url;
|
|
17
|
+
};
|
|
18
|
+
// Check if current path matches href (with normalization)
|
|
19
|
+
const isActive = normalizeUrl(pathname) === normalizeUrl(href);
|
|
20
|
+
// Check if any child item is active
|
|
21
|
+
const hasActiveChild = items.some((item)=>normalizeUrl(pathname) === normalizeUrl(item.href));
|
|
22
|
+
// Open collapsible by default if has active child
|
|
23
|
+
const defaultOpen = hasActiveChild;
|
|
10
24
|
const content = /*#__PURE__*/ _jsxs(_Fragment, {
|
|
11
25
|
children: [
|
|
12
26
|
icon ?? /*#__PURE__*/ _jsx(MenuIcon, {}),
|
|
@@ -19,9 +33,16 @@ export const ItemNavAdmin = ({ href, title, icon, items = [], isOpenInNewTab })=
|
|
|
19
33
|
return /*#__PURE__*/ _jsx(SidebarMenuItem, {
|
|
20
34
|
children: /*#__PURE__*/ _jsx(SidebarMenuButton, {
|
|
21
35
|
asChild: true,
|
|
36
|
+
isActive: isActive,
|
|
22
37
|
tooltip: title,
|
|
23
38
|
children: /*#__PURE__*/ _jsx(Link, {
|
|
39
|
+
className: cn('relative', isActive && 'before:bg-primary before:absolute before:bottom-1 before:left-0 before:top-1 before:h-auto before:w-1 before:rounded-r-sm'),
|
|
24
40
|
href: href,
|
|
41
|
+
onClick: ()=>{
|
|
42
|
+
if (isMobile) {
|
|
43
|
+
toggleSidebar();
|
|
44
|
+
}
|
|
45
|
+
},
|
|
25
46
|
prefetch: true,
|
|
26
47
|
rel: isOpenInNewTab ? 'noopener noreferrer' : undefined,
|
|
27
48
|
target: isOpenInNewTab ? '_blank' : undefined,
|
|
@@ -33,11 +54,14 @@ export const ItemNavAdmin = ({ href, title, icon, items = [], isOpenInNewTab })=
|
|
|
33
54
|
return /*#__PURE__*/ _jsx(Collapsible, {
|
|
34
55
|
asChild: true,
|
|
35
56
|
className: "group/collapsible",
|
|
57
|
+
defaultOpen: defaultOpen,
|
|
36
58
|
children: /*#__PURE__*/ _jsxs(SidebarMenuItem, {
|
|
37
59
|
children: [
|
|
38
60
|
/*#__PURE__*/ _jsx(CollapsibleTrigger, {
|
|
39
61
|
asChild: true,
|
|
40
62
|
children: /*#__PURE__*/ _jsxs(SidebarMenuButton, {
|
|
63
|
+
className: cn('relative', (isActive || hasActiveChild) && 'before:bg-primary before:absolute before:bottom-1 before:left-0 before:top-1 before:h-auto before:w-1 before:rounded-r-sm'),
|
|
64
|
+
isActive: isActive || hasActiveChild,
|
|
41
65
|
tooltip: title,
|
|
42
66
|
children: [
|
|
43
67
|
content,
|
|
@@ -50,18 +74,28 @@ export const ItemNavAdmin = ({ href, title, icon, items = [], isOpenInNewTab })=
|
|
|
50
74
|
/*#__PURE__*/ _jsx(CollapsibleContent, {
|
|
51
75
|
className: cn('text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 outline-none'),
|
|
52
76
|
children: /*#__PURE__*/ _jsx(SidebarMenuSub, {
|
|
53
|
-
children: items.map((item)
|
|
77
|
+
children: items.map((item)=>{
|
|
78
|
+
const isChildActive = normalizeUrl(pathname) === normalizeUrl(item.href);
|
|
79
|
+
return /*#__PURE__*/ _jsx(SidebarMenuSubItem, {
|
|
54
80
|
children: /*#__PURE__*/ _jsx(SidebarMenuSubButton, {
|
|
55
81
|
asChild: true,
|
|
82
|
+
isActive: isChildActive,
|
|
56
83
|
children: /*#__PURE__*/ _jsx(Link, {
|
|
84
|
+
className: cn('relative', isChildActive && 'before:bg-primary before:absolute before:bottom-1 before:left-0 before:top-1 before:h-auto before:w-1 before:rounded-r-sm'),
|
|
57
85
|
href: item.href,
|
|
86
|
+
onClick: ()=>{
|
|
87
|
+
if (isMobile) {
|
|
88
|
+
toggleSidebar();
|
|
89
|
+
}
|
|
90
|
+
},
|
|
58
91
|
prefetch: true,
|
|
59
92
|
rel: item.isOpenInNewTab ? 'noopener noreferrer' : undefined,
|
|
60
93
|
target: item.isOpenInNewTab ? '_blank' : undefined,
|
|
61
94
|
children: item.title
|
|
62
95
|
})
|
|
63
96
|
})
|
|
64
|
-
}, item.href)
|
|
97
|
+
}, item.href);
|
|
98
|
+
})
|
|
65
99
|
})
|
|
66
100
|
})
|
|
67
101
|
]
|
|
@@ -11,7 +11,7 @@ export const DashboardAdminView = async ()=>{
|
|
|
11
11
|
if (!session) return null;
|
|
12
12
|
const { vitnode_version } = session;
|
|
13
13
|
return /*#__PURE__*/ _jsxs("div", {
|
|
14
|
-
className: "
|
|
14
|
+
className: "p-4",
|
|
15
15
|
children: [
|
|
16
16
|
/*#__PURE__*/ _jsx(HeaderContent, {
|
|
17
17
|
desc: t('version', {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test.d.ts","sourceRoot":"","sources":["../../../../../../src/views/admin/views/core/test.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"test.d.ts","sourceRoot":"","sources":["../../../../../../src/views/admin/views/core/test.tsx"],"names":[],"mappings":"AAcA,eAAO,MAAM,QAAQ,+CA6IpB,CAAC"}
|
|
@@ -9,6 +9,7 @@ import { AutoFormRadioGroup } from "../../../../components/form/fields/radio-gro
|
|
|
9
9
|
import { AutoFormSelect } from "../../../../components/form/fields/select.js";
|
|
10
10
|
import { AutoFormSwitch } from "../../../../components/form/fields/switch.js";
|
|
11
11
|
import { AutoFormTextarea } from "../../../../components/form/fields/textarea.js";
|
|
12
|
+
import { Card } from "../../../../components/ui/card.js";
|
|
12
13
|
export const TestView = ()=>{
|
|
13
14
|
const formSchema = z.object({
|
|
14
15
|
provider: z.string().min(1, {
|
|
@@ -37,110 +38,114 @@ export const TestView = ()=>{
|
|
|
37
38
|
])
|
|
38
39
|
});
|
|
39
40
|
return /*#__PURE__*/ _jsx("div", {
|
|
40
|
-
className: "
|
|
41
|
-
children: /*#__PURE__*/ _jsx(
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
41
|
+
className: "p-4",
|
|
42
|
+
children: /*#__PURE__*/ _jsx(Card, {
|
|
43
|
+
className: "p-6",
|
|
44
|
+
children: /*#__PURE__*/ _jsx(AutoForm, {
|
|
45
|
+
fields: [
|
|
46
|
+
{
|
|
47
|
+
id: 'provider',
|
|
48
|
+
component: (props)=>/*#__PURE__*/ _jsx(AutoFormInput, {
|
|
49
|
+
description: "This is the provider for your application. It should be a valid provider name.",
|
|
50
|
+
label: "Provider",
|
|
51
|
+
...props
|
|
52
|
+
})
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
id: 'client_secret',
|
|
56
|
+
component: (props)=>/*#__PURE__*/ _jsx(AutoFormTextarea, {
|
|
57
|
+
description: "This is the client secret for your application. It should be kept secret and not shared with anyone.",
|
|
58
|
+
label: "Client Secret",
|
|
59
|
+
...props
|
|
60
|
+
})
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
id: 'terms',
|
|
64
|
+
component: (props)=>/*#__PURE__*/ _jsx(AutoFormCheckbox, {
|
|
65
|
+
description: "By checking this box, you agree to the terms and conditions.",
|
|
66
|
+
label: "I agree to the terms and conditions",
|
|
67
|
+
...props
|
|
68
|
+
})
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
id: 'options',
|
|
72
|
+
component: (props)=>/*#__PURE__*/ _jsx(AutoFormRadioGroup, {
|
|
73
|
+
description: "By checking this box, you agree to the terms and conditions.",
|
|
74
|
+
label: "I agree to the terms and conditions",
|
|
75
|
+
labels: [
|
|
76
|
+
{
|
|
77
|
+
value: 'option1',
|
|
78
|
+
label: 'Option 1 with a very long label that should be truncated'
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
value: 'option2',
|
|
82
|
+
label: 'Option 2'
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
value: 'option3',
|
|
86
|
+
label: 'Option 3'
|
|
87
|
+
}
|
|
88
|
+
],
|
|
89
|
+
...props
|
|
90
|
+
})
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
id: 'options_long',
|
|
94
|
+
component: (props)=>/*#__PURE__*/ _jsx(AutoFormSelect, {
|
|
95
|
+
description: "By checking this box, you agree to the terms and conditions.",
|
|
96
|
+
label: "I agree to the terms and conditions",
|
|
97
|
+
labels: [
|
|
98
|
+
{
|
|
99
|
+
value: 'option1',
|
|
100
|
+
label: 'Option 1 with a very long label that should be truncated'
|
|
101
|
+
},
|
|
102
|
+
{
|
|
103
|
+
value: 'option2',
|
|
104
|
+
label: 'Option 2'
|
|
105
|
+
},
|
|
106
|
+
{
|
|
107
|
+
value: 'option3',
|
|
108
|
+
label: 'Option 3'
|
|
109
|
+
}
|
|
110
|
+
],
|
|
111
|
+
placeholder: "Select an option from the list",
|
|
112
|
+
...props
|
|
113
|
+
})
|
|
114
|
+
},
|
|
115
|
+
{
|
|
116
|
+
id: 'switch',
|
|
117
|
+
component: (props)=>/*#__PURE__*/ _jsx(AutoFormSwitch, {
|
|
118
|
+
description: "By checking this box, you agree to the terms and conditions.",
|
|
119
|
+
label: "I agree to the terms and conditions",
|
|
120
|
+
...props
|
|
121
|
+
})
|
|
122
|
+
},
|
|
123
|
+
{
|
|
124
|
+
id: 'type',
|
|
125
|
+
component: (props)=>/*#__PURE__*/ _jsx(AutoFormCombobox, {
|
|
126
|
+
description: "By checking this box, you agree to the terms and conditions.",
|
|
127
|
+
label: "Type",
|
|
128
|
+
labels: [
|
|
129
|
+
{
|
|
130
|
+
value: 'option-one',
|
|
131
|
+
label: 'Option One'
|
|
132
|
+
},
|
|
133
|
+
{
|
|
134
|
+
value: 'option-two',
|
|
135
|
+
label: 'Option Two'
|
|
136
|
+
}
|
|
137
|
+
],
|
|
138
|
+
...props
|
|
139
|
+
})
|
|
140
|
+
}
|
|
141
|
+
],
|
|
142
|
+
formSchema: formSchema,
|
|
143
|
+
onSubmit: async (values)=>{
|
|
144
|
+
// eslint-disable-next-line no-console
|
|
145
|
+
console.log('Form submitted', values);
|
|
146
|
+
await new Promise((resolve)=>setTimeout(resolve, 3000));
|
|
137
147
|
}
|
|
138
|
-
|
|
139
|
-
formSchema: formSchema,
|
|
140
|
-
onSubmit: (values)=>{
|
|
141
|
-
// eslint-disable-next-line no-console
|
|
142
|
-
console.log('Form submitted', values);
|
|
143
|
-
}
|
|
148
|
+
})
|
|
144
149
|
})
|
|
145
150
|
});
|
|
146
151
|
};
|
|
@@ -5,7 +5,7 @@ import { useTranslations } from "next-intl";
|
|
|
5
5
|
import { AutoForm } from "../../../../components/form/auto-form.js";
|
|
6
6
|
import { AutoFormInput } from "../../../../components/form/fields/input.js";
|
|
7
7
|
import { Alert, AlertDescription, AlertTitle } from "../../../../components/ui/alert.js";
|
|
8
|
-
import { useFormSignIn } from "./
|
|
8
|
+
import { useFormSignIn } from "./use-form.js";
|
|
9
9
|
export const FormSignIn = ({ isAdmin })=>{
|
|
10
10
|
const t = useTranslations('core.auth.sign_in');
|
|
11
11
|
const { onSubmit, error, formSchema } = useFormSignIn({
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { z } from 'zod';
|
|
2
|
-
import type { zodSignInSchema } from '
|
|
2
|
+
import type { zodSignInSchema } from '../../../../api/modules/users/routes/sign-in.route';
|
|
3
3
|
export declare const mutationApi: (input: z.infer<typeof zodSignInSchema> & {
|
|
4
4
|
isAdmin?: boolean;
|
|
5
5
|
}) => Promise<{
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mutation-api.d.ts","sourceRoot":"","sources":["../../../../../../src/views/auth/sign-in/form/mutation-api.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAI7B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0CAA0C,CAAC;AAMhF,eAAO,MAAM,WAAW,GACtB,OAAO,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,GAAG;IACvC,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;;;;cA6BF,CAAC"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
'use server';
|
|
2
2
|
import { revalidatePath } from "next/cache";
|
|
3
|
-
import { usersModule } from "
|
|
4
|
-
import { fetcher } from "
|
|
5
|
-
import { redirect } from "
|
|
3
|
+
import { usersModule } from "../../../../api/modules/users/users.module.js";
|
|
4
|
+
import { fetcher } from "../../../../lib/fetcher.js";
|
|
5
|
+
import { redirect } from "../../../../lib/navigation.js";
|
|
6
6
|
export const mutationApi = async (input)=>{
|
|
7
7
|
const res = await fetcher(usersModule, {
|
|
8
8
|
path: '/sign_in',
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-form.d.ts","sourceRoot":"","sources":["../../../../../../src/views/auth/sign-in/form/use-form.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,aAAa,GAAI,aAAa;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE;uBAe9B,CAAC,CAAC,KAAK;;;;;;;;;OAAmB;;;;;;;;;;;;CAiB3D,CAAC"}
|