aq-fe-framework 0.1.178 → 0.1.180

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.
@@ -1,50 +1,50 @@
1
- .header {
2
- position: sticky; /* Giúp header dính trên cùng */
3
- top: 0;
4
- z-index: 1; /* Đảm bảo header nằm trên các thành phần khác */
5
- height: 60px;
6
- background-color: light-dark(var(--mantine-color-white), var(--mantine-color-dark));
7
- padding-left: var(--mantine-spacing-md);
8
- padding-right: var(--mantine-spacing-md);
9
- border-bottom: 1px solid light-dark(var(--mantine-color-gray-3), var(--mantine-color-dark-4));
10
- }
11
-
12
- .link {
13
- display: flex;
14
- align-items: center;
15
- height: 100%;
16
- padding-left: var(--mantine-spacing-md);
17
- padding-right: var(--mantine-spacing-md);
18
- text-decoration: none;
19
- color: light-dark(var(--mantine-color-black), var(--mantine-color-white));
20
- font-weight: 500;
21
- font-size: var(--mantine-font-size-sm);
22
-
23
- @media (max-width: $mantine-breakpoint-sm) {
24
- height: 42px;
25
- width: 100%;
26
- }
27
-
28
- @mixin hover {
29
- background-color: light-dark(var(--mantine-color-gray-0), var(--mantine-color-dark-6));
30
- }
31
- }
32
-
33
- .subLink {
34
- width: 100%;
35
- padding: var(--mantine-spacing-xs) var(--mantine-spacing-md);
36
- border-radius: var(--mantine-radius-md);
37
-
38
- @mixin hover {
39
- background-color: light-dark(var(--mantine-color-gray-0), var(--mantine-color-dark-7));
40
- }
41
- }
42
-
43
- .dropdownFooter {
44
- background-color: light-dark(var(--mantine-color-gray-0), var(--mantine-color-dark-7));
45
- margin: calc(var(--mantine-spacing-md) * -1);
46
- margin-top: var(--mantine-spacing-sm);
47
- padding: var(--mantine-spacing-md) calc(var(--mantine-spacing-md) * 2);
48
- padding-bottom: var(--mantine-spacing-xl);
49
- border-top: 1px solid light-dark(var(--mantine-color-gray-1), var(--mantine-color-dark-5));
50
- }
1
+ .header {
2
+ position: sticky; /* Giúp header dính trên cùng */
3
+ top: 0;
4
+ z-index: 1; /* Đảm bảo header nằm trên các thành phần khác */
5
+ height: 60px;
6
+ background-color: light-dark(var(--mantine-color-white), var(--mantine-color-dark));
7
+ padding-left: var(--mantine-spacing-md);
8
+ padding-right: var(--mantine-spacing-md);
9
+ border-bottom: 1px solid light-dark(var(--mantine-color-gray-3), var(--mantine-color-dark-4));
10
+ }
11
+
12
+ .link {
13
+ display: flex;
14
+ align-items: center;
15
+ height: 100%;
16
+ padding-left: var(--mantine-spacing-md);
17
+ padding-right: var(--mantine-spacing-md);
18
+ text-decoration: none;
19
+ color: light-dark(var(--mantine-color-black), var(--mantine-color-white));
20
+ font-weight: 500;
21
+ font-size: var(--mantine-font-size-sm);
22
+
23
+ @media (max-width: $mantine-breakpoint-sm) {
24
+ height: 42px;
25
+ width: 100%;
26
+ }
27
+
28
+ @mixin hover {
29
+ background-color: light-dark(var(--mantine-color-gray-0), var(--mantine-color-dark-6));
30
+ }
31
+ }
32
+
33
+ .subLink {
34
+ width: 100%;
35
+ padding: var(--mantine-spacing-xs) var(--mantine-spacing-md);
36
+ border-radius: var(--mantine-radius-md);
37
+
38
+ @mixin hover {
39
+ background-color: light-dark(var(--mantine-color-gray-0), var(--mantine-color-dark-7));
40
+ }
41
+ }
42
+
43
+ .dropdownFooter {
44
+ background-color: light-dark(var(--mantine-color-gray-0), var(--mantine-color-dark-7));
45
+ margin: calc(var(--mantine-spacing-md) * -1);
46
+ margin-top: var(--mantine-spacing-sm);
47
+ padding: var(--mantine-spacing-md) calc(var(--mantine-spacing-md) * 2);
48
+ padding-bottom: var(--mantine-spacing-xl);
49
+ border-top: 1px solid light-dark(var(--mantine-color-gray-1), var(--mantine-color-dark-5));
50
+ }
@@ -66,8 +66,8 @@ import {
66
66
  useS_BasicAppShell,
67
67
  useS_ButtonImport,
68
68
  utils_layout_getItemsWithoutLinks
69
- } from "../chunk-RDXGS3O7.mjs";
70
- import "../chunk-Z6OQG54Q.mjs";
69
+ } from "../chunk-SD2FZPOC.mjs";
70
+ import "../chunk-PPIWRJB2.mjs";
71
71
  import "../chunk-Y3YGC5IH.mjs";
72
72
  import "../chunk-5U2JSHSJ.mjs";
73
73
  import "../chunk-7ZCOFATU.mjs";
@@ -1,11 +1,8 @@
1
1
  import {
2
2
  useQ_AQ_GetAQModule
3
- } from "../chunk-Z6OQG54Q.mjs";
3
+ } from "../chunk-PPIWRJB2.mjs";
4
4
  import "../chunk-7ZCOFATU.mjs";
5
5
  import "../chunk-FWCSY2DS.mjs";
6
-
7
- // src/hooks/custom-hooks/useC_MutationAction.tsx
8
- import { useQueryClient } from "@tanstack/react-query";
9
6
  export {
10
7
  useQ_AQ_GetAQModule
11
8
  };
@@ -1,4 +1,4 @@
1
- .title {
2
- font-family: Greycliff CF, var(--mantine-font-family);
3
- font-weight: 900;
4
- }
1
+ .title {
2
+ font-family: Greycliff CF, var(--mantine-font-family);
3
+ font-weight: 900;
4
+ }
@@ -93,7 +93,7 @@
93
93
  border-top: 1px solid var(--mantine-color-dark-5);
94
94
  }
95
95
 
96
- /* src/modules-features/authenticate/F_Authenticate_Login/css.module.css */
96
+ /* src/modules-features/authenticate/F_authenticate_Login/css.module.css */
97
97
  .title {
98
98
  font-family: Greycliff CF, var(--mantine-font-family);
99
99
  font-weight: 900;
@@ -22,13 +22,14 @@ import {
22
22
  MyTextInput,
23
23
  OBJECT_COlORS,
24
24
  groupToTwoLevels,
25
+ useS_BasicAppShell,
25
26
  useS_authenticate,
26
27
  utils_layout_getItemsWithoutLinks
27
- } from "../chunk-RDXGS3O7.mjs";
28
+ } from "../chunk-SD2FZPOC.mjs";
28
29
  import {
29
30
  baseAxios_default,
30
31
  useQ_AQ_GetAQModule
31
- } from "../chunk-Z6OQG54Q.mjs";
32
+ } from "../chunk-PPIWRJB2.mjs";
32
33
  import {
33
34
  createGenericStore
34
35
  } from "../chunk-Y3YGC5IH.mjs";
@@ -2071,7 +2072,7 @@ function F_core47643() {
2071
2072
  import { useEffect as useEffect5 } from "react";
2072
2073
 
2073
2074
  // src/modules-features/admin/core/core60524/F_core60524_Form.tsx
2074
- import { Grid as Grid3, Paper as Paper6 } from "@mantine/core";
2075
+ import { Center, Grid as Grid3, Image, Paper as Paper6 } from "@mantine/core";
2075
2076
  import { useForm as useForm14 } from "@mantine/form";
2076
2077
  import { useEffect as useEffect4 } from "react";
2077
2078
 
@@ -2135,6 +2136,7 @@ function F_core60524_Save({
2135
2136
  // src/modules-features/admin/core/core60524/F_core60524_Form.tsx
2136
2137
  import { jsx as jsx41, jsxs as jsxs28 } from "react/jsx-runtime";
2137
2138
  function F_core60524_Form() {
2139
+ var _a, _b, _c, _d;
2138
2140
  const query = useQ_AQ_GetAQModule();
2139
2141
  const form = useForm14({
2140
2142
  mode: "uncontrolled",
@@ -2143,8 +2145,9 @@ function F_core60524_Form() {
2143
2145
  logoFileDetail: (value) => value ? null : "Kh\xF4ng \u0111\u01B0\u1EE3c \u0111\u1EC3 tr\u1ED1ng"
2144
2146
  }
2145
2147
  });
2148
+ const basicAppShell_store = useS_BasicAppShell();
2146
2149
  useEffect4(() => {
2147
- var _a, _b;
2150
+ var _a2, _b2;
2148
2151
  if (!query.data) return;
2149
2152
  const values = {
2150
2153
  code: query.data.code || "",
@@ -2156,8 +2159,8 @@ function F_core60524_Form() {
2156
2159
  limiteDate: new Date(query.data.limiteDate) || /* @__PURE__ */ new Date(),
2157
2160
  faviconPath: query.data.faviconPath || "",
2158
2161
  logoPath: query.data.logoPath || "",
2159
- faviconFile: new File([], (_a = query.data.faviconFileDetail) == null ? void 0 : _a.fileName),
2160
- logoFile: new File([], (_b = query.data.logoFileDetail) == null ? void 0 : _b.fileName),
2162
+ faviconFile: new File([], (_a2 = query.data.faviconFileDetail) == null ? void 0 : _a2.fileName),
2163
+ logoFile: new File([], (_b2 = query.data.logoFileDetail) == null ? void 0 : _b2.fileName),
2161
2164
  faviconFileDetail: query.data.faviconFileDetail,
2162
2165
  logoFileDetail: query.data.logoFileDetail
2163
2166
  };
@@ -2187,30 +2190,58 @@ function F_core60524_Form() {
2187
2190
  label: "Ng\xE0y h\u1EBFt h\u1EA1n"
2188
2191
  }
2189
2192
  ) }),
2190
- /* @__PURE__ */ jsx41(Grid3.Col, { span: { base: 12, md: 6 }, children: /* @__PURE__ */ jsx41(
2191
- MyFileInput,
2192
- {
2193
- accept: "image/png,image/jpeg",
2194
- label: "Favicon (16px x 16px)",
2195
- value: form.getValues().faviconFile,
2196
- onChange: async (e) => {
2197
- form.setFieldValue("faviconFile", e);
2198
- form.setFieldValue("faviconFileDetail", await utils_file_fileToAQDocumentType(e));
2193
+ /* @__PURE__ */ jsx41(Grid3.Col, { span: { base: 12, md: 6 }, children: /* @__PURE__ */ jsxs28(MyFlexColumn, { children: [
2194
+ /* @__PURE__ */ jsx41(
2195
+ MyFileInput,
2196
+ {
2197
+ accept: "image/png,image/jpeg",
2198
+ label: "Favicon (16px x 16px)",
2199
+ value: form.getValues().faviconFile,
2200
+ onChange: async (e) => {
2201
+ form.setFieldValue("faviconFile", e);
2202
+ form.setFieldValue("faviconFileDetail", await utils_file_fileToAQDocumentType(e));
2203
+ }
2199
2204
  }
2200
- }
2201
- ) }),
2202
- /* @__PURE__ */ jsx41(Grid3.Col, { span: { base: 12, md: 6 }, children: /* @__PURE__ */ jsx41(
2203
- MyFileInput,
2204
- {
2205
- accept: "image/png,image/jpeg",
2206
- label: "Logo (330px x 115px)",
2207
- value: form.getValues().logoFile,
2208
- onChange: async (e) => {
2209
- form.setFieldValue("logoFile", e);
2210
- form.setFieldValue("logoFileDetail", await utils_file_fileToAQDocumentType(e));
2205
+ ),
2206
+ /* @__PURE__ */ jsx41(Paper6, { w: "100%", children: /* @__PURE__ */ jsx41(Center, { children: /* @__PURE__ */ jsx41(
2207
+ Image,
2208
+ {
2209
+ fit: "contain",
2210
+ src: `data:image/${(_a = basicAppShell_store.state.faviconFileDetail) == null ? void 0 : _a.fileExtension};base64,
2211
+ ${(_b = basicAppShell_store.state.faviconFileDetail) == null ? void 0 : _b.fileBase64String}`,
2212
+ h: "115px",
2213
+ fallbackSrc: "https://placehold.co/600x400?text=Placeholder",
2214
+ alt: "Main logo",
2215
+ w: "330px"
2211
2216
  }
2212
- }
2213
- ) })
2217
+ ) }) })
2218
+ ] }) }),
2219
+ /* @__PURE__ */ jsx41(Grid3.Col, { span: { base: 12, md: 6 }, children: /* @__PURE__ */ jsxs28(MyFlexColumn, { children: [
2220
+ /* @__PURE__ */ jsx41(
2221
+ MyFileInput,
2222
+ {
2223
+ accept: "image/png,image/jpeg",
2224
+ label: "Logo (330px x 115px)",
2225
+ value: form.getValues().logoFile,
2226
+ onChange: async (e) => {
2227
+ form.setFieldValue("logoFile", e);
2228
+ form.setFieldValue("logoFileDetail", await utils_file_fileToAQDocumentType(e));
2229
+ }
2230
+ }
2231
+ ),
2232
+ /* @__PURE__ */ jsx41(Paper6, { children: /* @__PURE__ */ jsx41(Center, { children: /* @__PURE__ */ jsx41(
2233
+ Image,
2234
+ {
2235
+ fit: "contain",
2236
+ src: `data:image/${(_c = basicAppShell_store.state.logoFileDetail) == null ? void 0 : _c.fileExtension};base64,
2237
+ ${(_d = basicAppShell_store.state.logoFileDetail) == null ? void 0 : _d.fileBase64String}`,
2238
+ h: "115px",
2239
+ fallbackSrc: "https://placehold.co/600x400?text=Placeholder",
2240
+ alt: "Main logo",
2241
+ w: "330px"
2242
+ }
2243
+ ) }) })
2244
+ ] }) })
2214
2245
  ] }),
2215
2246
  /* @__PURE__ */ jsx41(MyFlexEnd, { children: /* @__PURE__ */ jsx41(F_core60524_Save, { form }) })
2216
2247
  ] });
@@ -3303,7 +3334,7 @@ import { Group as Group13, Paper as Paper17, Text as Text12 } from "@mantine/cor
3303
3334
  import { Fragment as Fragment8, jsx as jsx71, jsxs as jsxs49 } from "react/jsx-runtime";
3304
3335
 
3305
3336
  // src/modules-features/admin/core/MainDashboard/ViewDiscountStat.tsx
3306
- import { Center, Progress, Space as Space5, Text as Text13 } from "@mantine/core";
3337
+ import { Center as Center2, Progress, Space as Space5, Text as Text13 } from "@mantine/core";
3307
3338
  import { PieChart } from "@mantine/charts";
3308
3339
  import { useMemo as useMemo14 } from "react";
3309
3340
  import { Fragment as Fragment9, jsx as jsx72, jsxs as jsxs50 } from "react/jsx-runtime";
@@ -3499,7 +3530,7 @@ function PieChart_DiscountUsedPercentage() {
3499
3530
  header: "%",
3500
3531
  accessorKey: "used",
3501
3532
  accessorFn(originalRow) {
3502
- return /* @__PURE__ */ jsx72(Fragment9, { children: /* @__PURE__ */ jsx72(Center, { children: /* @__PURE__ */ jsxs50(Text13, { children: [
3533
+ return /* @__PURE__ */ jsx72(Fragment9, { children: /* @__PURE__ */ jsx72(Center2, { children: /* @__PURE__ */ jsxs50(Text13, { children: [
3503
3534
  (originalRow.used / totalDisountCode * 100).toFixed(0),
3504
3535
  "%"
3505
3536
  ] }) }) });
@@ -3515,7 +3546,7 @@ function PieChart_DiscountUsedPercentage() {
3515
3546
  },
3516
3547
  Cell: ({ row }) => {
3517
3548
  return /* @__PURE__ */ jsxs50(Fragment9, { children: [
3518
- /* @__PURE__ */ jsx72(Center, { children: /* @__PURE__ */ jsxs50(Text13, { children: [
3549
+ /* @__PURE__ */ jsx72(Center2, { children: /* @__PURE__ */ jsxs50(Text13, { children: [
3519
3550
  "\u0110\xE3 s\u1EED d\u1EE5ng: ",
3520
3551
  /* @__PURE__ */ jsxs50("strong", { children: [
3521
3552
  row.original.used,
@@ -3537,7 +3568,7 @@ function PieChart_DiscountUsedPercentage() {
3537
3568
  );
3538
3569
  return /* @__PURE__ */ jsx72(Fragment9, { children: /* @__PURE__ */ jsxs50(MyFlexColumn, { children: [
3539
3570
  /* @__PURE__ */ jsx72(Text13, { mb: "20", children: "Bi\u1EC3u \u0111\u1ED3 ph\u1EA7n tr\u0103m s\u1EED d\u1EE5ng chi\u1EBFt kh\u1EA5u h\u1ECDc vi\xEAn trong 60 ng\xE0y qua" }),
3540
- /* @__PURE__ */ jsx72(Center, { children: /* @__PURE__ */ jsx72(
3571
+ /* @__PURE__ */ jsx72(Center2, { children: /* @__PURE__ */ jsx72(
3541
3572
  PieChart,
3542
3573
  {
3543
3574
  startAngle: 90,
@@ -3566,7 +3597,7 @@ function PieChart_DiscountUsedPercentage() {
3566
3597
  }
3567
3598
 
3568
3599
  // src/modules-features/admin/core/MainDashboard/ViewVoucherStat.tsx
3569
- import { Center as Center2, Progress as Progress2, Space as Space6, Text as Text14 } from "@mantine/core";
3600
+ import { Center as Center3, Progress as Progress2, Space as Space6, Text as Text14 } from "@mantine/core";
3570
3601
  import { PieChart as PieChart2 } from "@mantine/charts";
3571
3602
  import { useMemo as useMemo15 } from "react";
3572
3603
  import { Fragment as Fragment10, jsx as jsx73, jsxs as jsxs51 } from "react/jsx-runtime";
@@ -3762,7 +3793,7 @@ function PieChart_VoucherUsedPercentage() {
3762
3793
  header: "%",
3763
3794
  accessorKey: "used",
3764
3795
  accessorFn(originalRow) {
3765
- return /* @__PURE__ */ jsx73(Fragment10, { children: /* @__PURE__ */ jsx73(Center2, { children: /* @__PURE__ */ jsxs51(Text14, { children: [
3796
+ return /* @__PURE__ */ jsx73(Fragment10, { children: /* @__PURE__ */ jsx73(Center3, { children: /* @__PURE__ */ jsxs51(Text14, { children: [
3766
3797
  (originalRow.used / totalVoucherCode * 100).toFixed(0),
3767
3798
  "%"
3768
3799
  ] }) }) });
@@ -3778,7 +3809,7 @@ function PieChart_VoucherUsedPercentage() {
3778
3809
  },
3779
3810
  Cell: ({ row }) => {
3780
3811
  return /* @__PURE__ */ jsxs51(Fragment10, { children: [
3781
- /* @__PURE__ */ jsx73(Center2, { children: /* @__PURE__ */ jsxs51(Text14, { children: [
3812
+ /* @__PURE__ */ jsx73(Center3, { children: /* @__PURE__ */ jsxs51(Text14, { children: [
3782
3813
  "\u0110\xE3 s\u1EED d\u1EE5ng: ",
3783
3814
  /* @__PURE__ */ jsxs51("strong", { children: [
3784
3815
  row.original.used,
@@ -3800,7 +3831,7 @@ function PieChart_VoucherUsedPercentage() {
3800
3831
  );
3801
3832
  return /* @__PURE__ */ jsx73(Fragment10, { children: /* @__PURE__ */ jsxs51(MyFlexColumn, { children: [
3802
3833
  /* @__PURE__ */ jsx73(Text14, { mb: "20", children: "Bi\u1EC3u \u0111\u1ED3 ph\u1EA7n tr\u0103m s\u1EED d\u1EE5ng m\xE3 gi\u1EA3m gi\xE1 h\u1ECDc vi\xEAn trong 60 ng\xE0y qua" }),
3803
- /* @__PURE__ */ jsx73(Center2, { children: /* @__PURE__ */ jsx73(
3834
+ /* @__PURE__ */ jsx73(Center3, { children: /* @__PURE__ */ jsx73(
3804
3835
  PieChart2,
3805
3836
  {
3806
3837
  startAngle: 90,
@@ -3845,12 +3876,12 @@ function F_authenticate_SplashPage() {
3845
3876
  return /* @__PURE__ */ jsx74(MyBoxesBackground, { title: "H\u1EC7 th\u1ED1ng th\xF4ng tin qu\u1EA3n l\xED \u0111\xE0o t\u1EA1o ng\u1EAFn h\u1EA1n" });
3846
3877
  }
3847
3878
 
3848
- // src/modules-features/authenticate/F_Authenticate_Login/F_authenticate_Login.tsx
3879
+ // src/modules-features/authenticate/F_authenticate_Login/F_authenticate_Login.tsx
3849
3880
  import {
3850
3881
  Anchor,
3851
3882
  BackgroundImage,
3852
3883
  Button as Button3,
3853
- Center as Center3,
3884
+ Center as Center4,
3854
3885
  Checkbox as Checkbox3,
3855
3886
  Flex as Flex3,
3856
3887
  Group as Group14,
@@ -3867,10 +3898,10 @@ import Link from "next/link";
3867
3898
  import { useRouter as useRouter3 } from "next/navigation";
3868
3899
  import { useState as useState9 } from "react";
3869
3900
 
3870
- // src/modules-features/authenticate/F_Authenticate_Login/css.module.css
3901
+ // src/modules-features/authenticate/F_authenticate_Login/css.module.css
3871
3902
  var css_default = {};
3872
3903
 
3873
- // src/modules-features/authenticate/F_Authenticate_Login/F_authenticate_Login.tsx
3904
+ // src/modules-features/authenticate/F_authenticate_Login/F_authenticate_Login.tsx
3874
3905
  import { jsx as jsx75, jsxs as jsxs52 } from "react/jsx-runtime";
3875
3906
  function F_authenticate_Login({
3876
3907
  loginInfo,
@@ -3929,7 +3960,7 @@ function F_authenticate_Login({
3929
3960
  {
3930
3961
  src: backgroundImage,
3931
3962
  h: "100vh",
3932
- children: /* @__PURE__ */ jsx75(Center3, { h: "100vh", children: /* @__PURE__ */ jsxs52(Paper18, { withBorder: true, w: 400, m: "md", shadow: "md", p: 30, mt: 30, radius: "md", children: [
3963
+ children: /* @__PURE__ */ jsx75(Center4, { h: "100vh", children: /* @__PURE__ */ jsxs52(Paper18, { withBorder: true, w: 400, m: "md", shadow: "md", p: 30, mt: 30, radius: "md", children: [
3933
3964
  /* @__PURE__ */ jsxs52(Flex3, { direction: "column", mb: "md", children: [
3934
3965
  /* @__PURE__ */ jsx75(Title, { ta: "center", className: css_default.title, children: "\u0110\u0103ng nh\u1EADp!" }),
3935
3966
  /* @__PURE__ */ jsxs52(Text15, { c: "dimmed", size: "sm", ta: "center", mt: 5, children: [
@@ -1,21 +1,21 @@
1
- .input {
2
- &[data-variant="underline"] {
3
- border: 2px solid transparent;
4
- border-radius: 5px;
5
- padding-left: 8px;
6
- padding-right: 8px;
7
- background-color: white;
8
-
9
- &:focus,
10
- &:focus-visible {
11
- border-color: var(--mantine-color-gray-5);
12
- outline: none;
13
- }
14
-
15
- &:active {
16
- border-color: var(--mantine-color-gray-5);
17
- }
18
-
19
- transition: border-color 0.2s ease-in-out;
20
- }
21
- }
1
+ .input {
2
+ &[data-variant="underline"] {
3
+ border: 2px solid transparent;
4
+ border-radius: 5px;
5
+ padding-left: 8px;
6
+ padding-right: 8px;
7
+ background-color: white;
8
+
9
+ &:focus,
10
+ &:focus-visible {
11
+ border-color: var(--mantine-color-gray-5);
12
+ outline: none;
13
+ }
14
+
15
+ &:active {
16
+ border-color: var(--mantine-color-gray-5);
17
+ }
18
+
19
+ transition: border-color 0.2s ease-in-out;
20
+ }
21
+ }