@edu-tosel/design 1.0.154 → 1.0.156
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/asset/SVG.d.ts +11 -9
- package/asset/SVG.js +2 -0
- package/asset/SVG.tsx +4 -2
- package/asset/svg/Eye.d.ts +12 -0
- package/asset/svg/Eye.js +13 -0
- package/asset/svg/Eye.tsx +48 -0
- package/asset/svg/Icon.d.ts +7 -6
- package/asset/svg/Icon.js +10 -10
- package/asset/svg/Icon.tsx +17 -16
- package/card/design/Card.design.js +4 -2
- package/card/design/RollCard.design.js +1 -1
- package/card/template/InfoCard/Finance.js +1 -1
- package/card/template/InfoCard/Student.d.ts +2 -2
- package/card/template/InfoCard/Student.js +6 -11
- package/card/template/NavCard.js +1 -1
- package/card/template/ProgressCard/Large.js +1 -1
- package/interface/Property.d.ts +1 -1
- package/layout/design/Row.design/index.js +1 -0
- package/layout/index.d.ts +1 -0
- package/layout/index.js +1 -0
- package/layout/template/Archive/Header.js +66 -41
- package/layout/template/BbsLayout.js +3 -1
- package/layout/template/Event/One.js +39 -1
- package/layout/template/MonthlyProgressReport/Report.d.ts +36 -0
- package/layout/template/MonthlyProgressReport/Report.js +80 -0
- package/layout/template/MonthlyProgressReport/index.d.ts +5 -0
- package/layout/template/MonthlyProgressReport/index.js +5 -0
- package/layout/template/home/layout/Header.js +72 -15
- package/layout/template/home/layout/Navigation.d.ts +4 -2
- package/layout/template/home/layout/Navigation.js +56 -20
- package/package.json +2 -1
- package/tailwind.config.ts +20 -0
- package/util/compareDates.d.ts +4 -0
- package/util/compareDates.js +32 -0
- package/util/convertDateToString.d.ts +1 -0
- package/util/convertDateToString.js +6 -0
- package/util/index.d.ts +2 -0
- package/util/index.js +2 -0
- package/version.txt +1 -1
- package/widget/template/Input/Form.js +10 -2
- package/widget/template/Select/Select.js +30 -17
package/asset/SVG.d.ts
CHANGED
|
@@ -1,13 +1,11 @@
|
|
|
1
1
|
import Close from "./svg/Close";
|
|
2
2
|
import Direction from "./svg/Direction";
|
|
3
3
|
import Email from "./svg/Email";
|
|
4
|
-
import { IconProps } from "./svg/Icon";
|
|
5
4
|
import Image from "./svg/Image";
|
|
6
5
|
import Notification from "./svg/Notification";
|
|
7
6
|
import Operation from "./svg/Operation";
|
|
8
7
|
import Phone from "./svg/Phone";
|
|
9
8
|
import Profile from "./svg/Profile";
|
|
10
|
-
import { SymbolProps } from "./svg/Symbol";
|
|
11
9
|
import TOSEL from "./svg/TOSEL";
|
|
12
10
|
declare const SVG: {
|
|
13
11
|
TOSEL: typeof TOSEL;
|
|
@@ -17,13 +15,17 @@ declare const SVG: {
|
|
|
17
15
|
Asc: () => import("react/jsx-runtime").JSX.Element;
|
|
18
16
|
Desc: () => import("react/jsx-runtime").JSX.Element;
|
|
19
17
|
};
|
|
18
|
+
Eye: {
|
|
19
|
+
Open: ({ onClick, className }: import("./svg/Eye").EyeProps) => import("react/jsx-runtime").JSX.Element;
|
|
20
|
+
Close: ({ onClick, className }: import("./svg/Eye").EyeProps) => import("react/jsx-runtime").JSX.Element;
|
|
21
|
+
};
|
|
20
22
|
Email: typeof Email;
|
|
21
23
|
Icon: {
|
|
22
|
-
Calendar: ({ onClick }: IconProps) => import("react/jsx-runtime").JSX.Element;
|
|
23
|
-
Notification: ({ onClick }: IconProps) => import("react/jsx-runtime").JSX.Element;
|
|
24
|
-
Search: ({ onClick }: IconProps) => import("react/jsx-runtime").JSX.Element;
|
|
25
|
-
Browser: ({ onClick }: IconProps) => import("react/jsx-runtime").JSX.Element;
|
|
26
|
-
Event: ({ onClick }: IconProps) => import("react/jsx-runtime").JSX.Element;
|
|
24
|
+
Calendar: ({ size, onClick }: import("./svg/Icon").IconProps) => import("react/jsx-runtime").JSX.Element;
|
|
25
|
+
Notification: ({ size, onClick }: import("./svg/Icon").IconProps) => import("react/jsx-runtime").JSX.Element;
|
|
26
|
+
Search: ({ size, onClick }: import("./svg/Icon").IconProps) => import("react/jsx-runtime").JSX.Element;
|
|
27
|
+
Browser: ({ size, onClick }: import("./svg/Icon").IconProps) => import("react/jsx-runtime").JSX.Element;
|
|
28
|
+
Event: ({ size, onClick }: import("./svg/Icon").IconProps) => import("react/jsx-runtime").JSX.Element;
|
|
27
29
|
Document: ({ theme }: {
|
|
28
30
|
theme: "red" | "blue";
|
|
29
31
|
}) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -43,8 +45,8 @@ declare const SVG: {
|
|
|
43
45
|
Phone: typeof Phone;
|
|
44
46
|
Profile: typeof Profile;
|
|
45
47
|
Symbol: {
|
|
46
|
-
LessThan: ({ className, onClick }: SymbolProps) => import("react/jsx-runtime").JSX.Element;
|
|
47
|
-
GreaterThan: ({ className, onClick }: SymbolProps) => import("react/jsx-runtime").JSX.Element;
|
|
48
|
+
LessThan: ({ className, onClick }: import("./svg/Symbol").SymbolProps) => import("react/jsx-runtime").JSX.Element;
|
|
49
|
+
GreaterThan: ({ className, onClick }: import("./svg/Symbol").SymbolProps) => import("react/jsx-runtime").JSX.Element;
|
|
48
50
|
};
|
|
49
51
|
};
|
|
50
52
|
export default SVG;
|
package/asset/SVG.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import Close from "./svg/Close";
|
|
2
2
|
import Direction from "./svg/Direction";
|
|
3
3
|
import Email from "./svg/Email";
|
|
4
|
+
import Eye from "./svg/Eye";
|
|
4
5
|
import Icon from "./svg/Icon";
|
|
5
6
|
import Image from "./svg/Image";
|
|
6
7
|
import Notification from "./svg/Notification";
|
|
@@ -13,6 +14,7 @@ const SVG = {
|
|
|
13
14
|
TOSEL,
|
|
14
15
|
Close,
|
|
15
16
|
Direction,
|
|
17
|
+
Eye,
|
|
16
18
|
Email,
|
|
17
19
|
Icon,
|
|
18
20
|
Image,
|
package/asset/SVG.tsx
CHANGED
|
@@ -1,19 +1,21 @@
|
|
|
1
1
|
import Close from "./svg/Close";
|
|
2
2
|
import Direction from "./svg/Direction";
|
|
3
3
|
import Email from "./svg/Email";
|
|
4
|
-
import
|
|
4
|
+
import Eye from "./svg/Eye";
|
|
5
|
+
import Icon from "./svg/Icon";
|
|
5
6
|
import Image from "./svg/Image";
|
|
6
7
|
import Notification from "./svg/Notification";
|
|
7
8
|
import Operation from "./svg/Operation";
|
|
8
9
|
import Phone from "./svg/Phone";
|
|
9
10
|
import Profile from "./svg/Profile";
|
|
10
|
-
import Symbol
|
|
11
|
+
import Symbol from "./svg/Symbol";
|
|
11
12
|
import TOSEL from "./svg/TOSEL";
|
|
12
13
|
|
|
13
14
|
const SVG = {
|
|
14
15
|
TOSEL,
|
|
15
16
|
Close,
|
|
16
17
|
Direction,
|
|
18
|
+
Eye,
|
|
17
19
|
Email,
|
|
18
20
|
Icon,
|
|
19
21
|
Image,
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { OnClick } from "../../interface";
|
|
2
|
+
export interface EyeProps {
|
|
3
|
+
onClick: OnClick;
|
|
4
|
+
className?: string;
|
|
5
|
+
}
|
|
6
|
+
declare function Open({ onClick, className }: EyeProps): import("react/jsx-runtime").JSX.Element;
|
|
7
|
+
declare function Close({ onClick, className }: EyeProps): import("react/jsx-runtime").JSX.Element;
|
|
8
|
+
declare const Eye: {
|
|
9
|
+
Open: typeof Open;
|
|
10
|
+
Close: typeof Close;
|
|
11
|
+
};
|
|
12
|
+
export default Eye;
|
package/asset/svg/Eye.js
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { cn } from "../../util";
|
|
3
|
+
function Open({ onClick, className = "" }) {
|
|
4
|
+
return (_jsxs("svg", { onClick: onClick, xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", fill: "#7F7F7F", className: cn(className, "size-6"), children: [_jsx("path", { d: "M12 15a3 3 0 1 0 0-6 3 3 0 0 0 0 6Z" }), _jsx("path", { fillRule: "evenodd", d: "M1.323 11.447C2.811 6.976 7.028 3.75 12.001 3.75c4.97 0 9.185 3.223 10.675 7.69.12.362.12.752 0 1.113-1.487 4.471-5.705 7.697-10.677 7.697-4.97 0-9.186-3.223-10.675-7.69a1.762 1.762 0 0 1 0-1.113ZM17.25 12a5.25 5.25 0 1 1-10.5 0 5.25 5.25 0 0 1 10.5 0Z", clipRule: "evenodd" })] }));
|
|
5
|
+
}
|
|
6
|
+
function Close({ onClick, className = "" }) {
|
|
7
|
+
return (_jsxs("svg", { onClick: onClick, xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", fill: "#7F7F7F", className: cn(className, "size-6"), children: [_jsx("path", { d: "M3.53 2.47a.75.75 0 0 0-1.06 1.06l18 18a.75.75 0 1 0 1.06-1.06l-18-18ZM22.676 12.553a11.249 11.249 0 0 1-2.631 4.31l-3.099-3.099a5.25 5.25 0 0 0-6.71-6.71L7.759 4.577a11.217 11.217 0 0 1 4.242-.827c4.97 0 9.185 3.223 10.675 7.69.12.362.12.752 0 1.113Z" }), _jsx("path", { d: "M15.75 12c0 .18-.013.357-.037.53l-4.244-4.243A3.75 3.75 0 0 1 15.75 12ZM12.53 15.713l-4.243-4.244a3.75 3.75 0 0 0 4.244 4.243Z" }), _jsx("path", { d: "M6.75 12c0-.619.107-1.213.304-1.764l-3.1-3.1a11.25 11.25 0 0 0-2.63 4.31c-.12.362-.12.752 0 1.114 1.489 4.467 5.704 7.69 10.675 7.69 1.5 0 2.933-.294 4.242-.827l-2.477-2.477A5.25 5.25 0 0 1 6.75 12Z" })] }));
|
|
8
|
+
}
|
|
9
|
+
const Eye = {
|
|
10
|
+
Open,
|
|
11
|
+
Close,
|
|
12
|
+
};
|
|
13
|
+
export default Eye;
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { OnClick } from "../../interface";
|
|
2
|
+
import { cn } from "../../util";
|
|
3
|
+
|
|
4
|
+
export interface EyeProps {
|
|
5
|
+
onClick: OnClick;
|
|
6
|
+
className?: string;
|
|
7
|
+
}
|
|
8
|
+
function Open({ onClick, className = "" }: EyeProps) {
|
|
9
|
+
return (
|
|
10
|
+
<svg
|
|
11
|
+
onClick={onClick}
|
|
12
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
13
|
+
viewBox="0 0 24 24"
|
|
14
|
+
fill="#7F7F7F"
|
|
15
|
+
className={cn(className, "size-6")}
|
|
16
|
+
>
|
|
17
|
+
<path d="M12 15a3 3 0 1 0 0-6 3 3 0 0 0 0 6Z" />
|
|
18
|
+
<path
|
|
19
|
+
fillRule="evenodd"
|
|
20
|
+
d="M1.323 11.447C2.811 6.976 7.028 3.75 12.001 3.75c4.97 0 9.185 3.223 10.675 7.69.12.362.12.752 0 1.113-1.487 4.471-5.705 7.697-10.677 7.697-4.97 0-9.186-3.223-10.675-7.69a1.762 1.762 0 0 1 0-1.113ZM17.25 12a5.25 5.25 0 1 1-10.5 0 5.25 5.25 0 0 1 10.5 0Z"
|
|
21
|
+
clipRule="evenodd"
|
|
22
|
+
/>
|
|
23
|
+
</svg>
|
|
24
|
+
);
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
function Close({ onClick, className = "" }: EyeProps) {
|
|
28
|
+
return (
|
|
29
|
+
<svg
|
|
30
|
+
onClick={onClick}
|
|
31
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
32
|
+
viewBox="0 0 24 24"
|
|
33
|
+
fill="#7F7F7F"
|
|
34
|
+
className={cn(className, "size-6")}
|
|
35
|
+
>
|
|
36
|
+
<path d="M3.53 2.47a.75.75 0 0 0-1.06 1.06l18 18a.75.75 0 1 0 1.06-1.06l-18-18ZM22.676 12.553a11.249 11.249 0 0 1-2.631 4.31l-3.099-3.099a5.25 5.25 0 0 0-6.71-6.71L7.759 4.577a11.217 11.217 0 0 1 4.242-.827c4.97 0 9.185 3.223 10.675 7.69.12.362.12.752 0 1.113Z" />
|
|
37
|
+
<path d="M15.75 12c0 .18-.013.357-.037.53l-4.244-4.243A3.75 3.75 0 0 1 15.75 12ZM12.53 15.713l-4.243-4.244a3.75 3.75 0 0 0 4.244 4.243Z" />
|
|
38
|
+
<path d="M6.75 12c0-.619.107-1.213.304-1.764l-3.1-3.1a11.25 11.25 0 0 0-2.63 4.31c-.12.362-.12.752 0 1.114 1.489 4.467 5.704 7.69 10.675 7.69 1.5 0 2.933-.294 4.242-.827l-2.477-2.477A5.25 5.25 0 0 1 6.75 12Z" />
|
|
39
|
+
</svg>
|
|
40
|
+
);
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
const Eye = {
|
|
44
|
+
Open,
|
|
45
|
+
Close,
|
|
46
|
+
};
|
|
47
|
+
|
|
48
|
+
export default Eye;
|
package/asset/svg/Icon.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { OnClick } from "../../interface";
|
|
1
|
+
import { OnClick, Size } from "../../interface";
|
|
2
2
|
export interface IconProps {
|
|
3
|
+
size?: Size;
|
|
3
4
|
onClick?: OnClick;
|
|
4
5
|
}
|
|
5
6
|
declare const Icon: {
|
|
@@ -11,11 +12,11 @@ declare const Icon: {
|
|
|
11
12
|
Document: typeof Document;
|
|
12
13
|
};
|
|
13
14
|
export default Icon;
|
|
14
|
-
declare function Calendar({ onClick }: IconProps): import("react/jsx-runtime").JSX.Element;
|
|
15
|
-
declare function Notification({ onClick }: IconProps): import("react/jsx-runtime").JSX.Element;
|
|
16
|
-
declare function Search({ onClick }: IconProps): import("react/jsx-runtime").JSX.Element;
|
|
17
|
-
declare function Browser({ onClick }: IconProps): import("react/jsx-runtime").JSX.Element;
|
|
18
|
-
declare function Event({ onClick }: IconProps): import("react/jsx-runtime").JSX.Element;
|
|
15
|
+
declare function Calendar({ size, onClick }: IconProps): import("react/jsx-runtime").JSX.Element;
|
|
16
|
+
declare function Notification({ size, onClick }: IconProps): import("react/jsx-runtime").JSX.Element;
|
|
17
|
+
declare function Search({ size, onClick }: IconProps): import("react/jsx-runtime").JSX.Element;
|
|
18
|
+
declare function Browser({ size, onClick }: IconProps): import("react/jsx-runtime").JSX.Element;
|
|
19
|
+
declare function Event({ size, onClick }: IconProps): import("react/jsx-runtime").JSX.Element;
|
|
19
20
|
declare function Document({ theme }: {
|
|
20
21
|
theme: "blue" | "red";
|
|
21
22
|
}): import("react/jsx-runtime").JSX.Element;
|
package/asset/svg/Icon.js
CHANGED
|
@@ -8,20 +8,20 @@ const Icon = {
|
|
|
8
8
|
Document,
|
|
9
9
|
};
|
|
10
10
|
export default Icon;
|
|
11
|
-
function Calendar({ onClick }) {
|
|
12
|
-
return (_jsx("svg", { onClick: onClick, xmlns: "http://www.w3.org/2000/svg", width: "24
|
|
11
|
+
function Calendar({ size = "md", onClick }) {
|
|
12
|
+
return (_jsx("svg", { onClick: onClick, xmlns: "http://www.w3.org/2000/svg", width: size === "lg" ? 36 : 24, height: size === "lg" ? 36 : 24, viewBox: "0 0 24 24", fill: "none", children: _jsx("path", { d: "M6.75 3V5.25M17.25 3V5.25M3 18.75V7.5C3 6.90326 3.23705 6.33097 3.65901 5.90901C4.08097 5.48705 4.65326 5.25 5.25 5.25H18.75C19.3467 5.25 19.919 5.48705 20.341 5.90901C20.7629 6.33097 21 6.90326 21 7.5V18.75M3 18.75C3 19.3467 3.23705 19.919 3.65901 20.341C4.08097 20.7629 4.65326 21 5.25 21H18.75C19.3467 21 19.919 20.7629 20.341 20.341C20.7629 19.919 21 19.3467 21 18.75M3 18.75V11.25C3 10.6533 3.23705 10.081 3.65901 9.65901C4.08097 9.23705 4.65326 9 5.25 9H18.75C19.3467 9 19.919 9.23705 20.341 9.65901C20.7629 10.081 21 10.6533 21 11.25V18.75", stroke: "white", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round" }) }));
|
|
13
13
|
}
|
|
14
|
-
function Notification({ onClick }) {
|
|
15
|
-
return (_jsx("svg", { onClick: onClick, xmlns: "http://www.w3.org/2000/svg", width: "24
|
|
14
|
+
function Notification({ size = "md", onClick }) {
|
|
15
|
+
return (_jsx("svg", { onClick: onClick, xmlns: "http://www.w3.org/2000/svg", width: size === "lg" ? 36 : 24, height: size === "lg" ? 36 : 24, viewBox: "0 0 24 24", fill: "none", children: _jsx("path", { d: "M14.8565 17.082C16.7197 16.8614 18.5504 16.4217 20.3105 15.772C18.8199 14.1208 17.9962 11.9745 17.9995 9.75V9C17.9995 7.4087 17.3674 5.88258 16.2421 4.75736C15.1169 3.63214 13.5908 3 11.9995 3C10.4082 3 8.88208 3.63214 7.75686 4.75736C6.63164 5.88258 5.9995 7.4087 5.9995 9V9.75C6.00252 11.9746 5.17849 14.121 3.6875 15.772C5.4205 16.412 7.2475 16.857 9.1425 17.082M14.8565 17.082C12.9585 17.3071 11.0405 17.3071 9.1425 17.082M14.8565 17.082C15.0006 17.5319 15.0364 18.0094 14.9611 18.4757C14.8857 18.942 14.7013 19.384 14.4229 19.7656C14.1444 20.1472 13.7798 20.4576 13.3587 20.6716C12.9376 20.8856 12.4719 20.9972 11.9995 20.9972C11.5271 20.9972 11.0614 20.8856 10.6403 20.6716C10.2192 20.4576 9.85457 20.1472 9.57612 19.7656C9.29767 19.384 9.11326 18.942 9.03791 18.4757C8.96256 18.0094 8.9984 17.5319 9.1425 17.082", stroke: "white", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round" }) }));
|
|
16
16
|
}
|
|
17
|
-
function Search({ onClick }) {
|
|
18
|
-
return (_jsx("svg", { onClick: onClick, xmlns: "http://www.w3.org/2000/svg", width: "24
|
|
17
|
+
function Search({ size = "md", onClick }) {
|
|
18
|
+
return (_jsx("svg", { onClick: onClick, xmlns: "http://www.w3.org/2000/svg", width: size === "lg" ? 36 : 24, height: size === "lg" ? 36 : 24, viewBox: "0 0 24 24", fill: "none", children: _jsx("path", { d: "M21.0008 21L15.8038 15.803M15.8038 15.803C17.2104 14.3965 18.0006 12.4887 18.0006 10.4995C18.0006 8.51035 17.2104 6.60262 15.8038 5.19605C14.3972 3.78947 12.4895 2.99927 10.5003 2.99927C8.51108 2.99927 6.60336 3.78947 5.19678 5.19605C3.79021 6.60262 3 8.51035 3 10.4995C3 12.4887 3.79021 14.3965 5.19678 15.803C6.60336 17.2096 8.51108 17.9998 10.5003 17.9998C12.4895 17.9998 14.3972 17.2096 15.8038 15.803Z", stroke: "white", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round" }) }));
|
|
19
19
|
}
|
|
20
|
-
function Browser({ onClick }) {
|
|
21
|
-
return (_jsx("svg", { onClick: onClick, xmlns: "http://www.w3.org/2000/svg", width: "24
|
|
20
|
+
function Browser({ size = "md", onClick }) {
|
|
21
|
+
return (_jsx("svg", { onClick: onClick, xmlns: "http://www.w3.org/2000/svg", width: size === "lg" ? 36 : 24, height: size === "lg" ? 36 : 24, viewBox: "0 0 24 24", fill: "none", children: _jsx("path", { d: "M3 8.25V18C3 18.5967 3.23705 19.169 3.65901 19.591C4.08097 20.0129 4.65326 20.25 5.25 20.25H18.75C19.3467 20.25 19.919 20.0129 20.341 19.591C20.7629 19.169 21 18.5967 21 18V8.25M3 8.25V6C3 5.40326 3.23705 4.83097 3.65901 4.40901C4.08097 3.98705 4.65326 3.75 5.25 3.75H18.75C19.3467 3.75 19.919 3.98705 20.341 4.40901C20.7629 4.83097 21 5.40326 21 6V8.25M3 8.25H21M5.25 6H5.258V6.008H5.25V6ZM7.5 6H7.508V6.008H7.5V6ZM9.75 6H9.758V6.008H9.75V6Z", stroke: "white", "stroke-width": "1.5", "stroke-linecap": "round", "stroke-linejoin": "round" }) }));
|
|
22
22
|
}
|
|
23
|
-
function Event({ onClick }) {
|
|
24
|
-
return (_jsx("svg", { onClick: onClick, xmlns: "http://www.w3.org/2000/svg", width: "24
|
|
23
|
+
function Event({ size = "md", onClick }) {
|
|
24
|
+
return (_jsx("svg", { onClick: onClick, xmlns: "http://www.w3.org/2000/svg", width: size === "lg" ? 36 : 24, height: size === "lg" ? 36 : 24, viewBox: "0 0 24 24", fill: "none", children: _jsx("path", { d: "M21 11.25V19.5C21 19.8978 20.842 20.2794 20.5607 20.5607C20.2794 20.842 19.8978 21 19.5 21H5.25C4.85218 21 4.47064 20.842 4.18934 20.5607C3.90804 20.2794 3.75 19.8978 3.75 19.5V11.25M12 4.875C12 4.35583 11.846 3.84831 11.5576 3.41663C11.2692 2.98495 10.8592 2.6485 10.3795 2.44982C9.89989 2.25114 9.37209 2.19915 8.86289 2.30044C8.35369 2.40173 7.88596 2.65173 7.51884 3.01885C7.15173 3.38596 6.90172 3.85369 6.80044 4.36289C6.69915 4.87209 6.75114 5.39989 6.94982 5.87954C7.1485 6.3592 7.48495 6.76917 7.91663 7.05761C8.34831 7.34605 8.85582 7.5 9.375 7.5H12M12 4.875V7.5M12 4.875C12 4.35583 12.154 3.84831 12.4424 3.41663C12.7308 2.98495 13.1408 2.6485 13.6205 2.44982C14.1001 2.25114 14.6279 2.19915 15.1371 2.30044C15.6463 2.40173 16.114 2.65173 16.4812 3.01885C16.8483 3.38596 17.0983 3.85369 17.1996 4.36289C17.3008 4.87209 17.2489 5.39989 17.0502 5.87954C16.8515 6.3592 16.5151 6.76917 16.0834 7.05761C15.6517 7.34605 15.1442 7.5 14.625 7.5H12M12 7.5V21M3.375 11.25H21.375C21.996 11.25 22.5 10.746 22.5 10.125V8.625C22.5 8.004 21.996 7.5 21.375 7.5H3.375C2.754 7.5 2.25 8.004 2.25 8.625V10.125C2.25 10.746 2.754 11.25 3.375 11.25Z", stroke: "white", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round" }) }));
|
|
25
25
|
}
|
|
26
26
|
function Document({ theme }) {
|
|
27
27
|
const color = {
|
package/asset/svg/Icon.tsx
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import { OnClick } from "../../interface";
|
|
1
|
+
import { OnClick, Size } from "../../interface";
|
|
2
2
|
import { cn } from "../../util";
|
|
3
3
|
|
|
4
4
|
export interface IconProps {
|
|
5
|
+
size?: Size;
|
|
5
6
|
onClick?: OnClick;
|
|
6
7
|
}
|
|
7
8
|
|
|
@@ -16,13 +17,13 @@ const Icon = {
|
|
|
16
17
|
|
|
17
18
|
export default Icon;
|
|
18
19
|
|
|
19
|
-
function Calendar({ onClick }: IconProps) {
|
|
20
|
+
function Calendar({ size = "md", onClick }: IconProps) {
|
|
20
21
|
return (
|
|
21
22
|
<svg
|
|
22
23
|
onClick={onClick}
|
|
23
24
|
xmlns="http://www.w3.org/2000/svg"
|
|
24
|
-
width="24
|
|
25
|
-
height="24
|
|
25
|
+
width={size === "lg" ? 36 : 24}
|
|
26
|
+
height={size === "lg" ? 36 : 24}
|
|
26
27
|
viewBox="0 0 24 24"
|
|
27
28
|
fill="none"
|
|
28
29
|
>
|
|
@@ -37,13 +38,13 @@ function Calendar({ onClick }: IconProps) {
|
|
|
37
38
|
);
|
|
38
39
|
}
|
|
39
40
|
|
|
40
|
-
function Notification({ onClick }: IconProps) {
|
|
41
|
+
function Notification({ size = "md", onClick }: IconProps) {
|
|
41
42
|
return (
|
|
42
43
|
<svg
|
|
43
44
|
onClick={onClick}
|
|
44
45
|
xmlns="http://www.w3.org/2000/svg"
|
|
45
|
-
width="24
|
|
46
|
-
height="24
|
|
46
|
+
width={size === "lg" ? 36 : 24}
|
|
47
|
+
height={size === "lg" ? 36 : 24}
|
|
47
48
|
viewBox="0 0 24 24"
|
|
48
49
|
fill="none"
|
|
49
50
|
>
|
|
@@ -58,13 +59,13 @@ function Notification({ onClick }: IconProps) {
|
|
|
58
59
|
);
|
|
59
60
|
}
|
|
60
61
|
|
|
61
|
-
function Search({ onClick }: IconProps) {
|
|
62
|
+
function Search({ size = "md", onClick }: IconProps) {
|
|
62
63
|
return (
|
|
63
64
|
<svg
|
|
64
65
|
onClick={onClick}
|
|
65
66
|
xmlns="http://www.w3.org/2000/svg"
|
|
66
|
-
width="24
|
|
67
|
-
height="24
|
|
67
|
+
width={size === "lg" ? 36 : 24}
|
|
68
|
+
height={size === "lg" ? 36 : 24}
|
|
68
69
|
viewBox="0 0 24 24"
|
|
69
70
|
fill="none"
|
|
70
71
|
>
|
|
@@ -79,13 +80,13 @@ function Search({ onClick }: IconProps) {
|
|
|
79
80
|
);
|
|
80
81
|
}
|
|
81
82
|
|
|
82
|
-
function Browser({ onClick }: IconProps) {
|
|
83
|
+
function Browser({ size = "md", onClick }: IconProps) {
|
|
83
84
|
return (
|
|
84
85
|
<svg
|
|
85
86
|
onClick={onClick}
|
|
86
87
|
xmlns="http://www.w3.org/2000/svg"
|
|
87
|
-
width="24
|
|
88
|
-
height="24
|
|
88
|
+
width={size === "lg" ? 36 : 24}
|
|
89
|
+
height={size === "lg" ? 36 : 24}
|
|
89
90
|
viewBox="0 0 24 24"
|
|
90
91
|
fill="none"
|
|
91
92
|
>
|
|
@@ -100,13 +101,13 @@ function Browser({ onClick }: IconProps) {
|
|
|
100
101
|
);
|
|
101
102
|
}
|
|
102
103
|
|
|
103
|
-
function Event({ onClick }: IconProps) {
|
|
104
|
+
function Event({ size = "md", onClick }: IconProps) {
|
|
104
105
|
return (
|
|
105
106
|
<svg
|
|
106
107
|
onClick={onClick}
|
|
107
108
|
xmlns="http://www.w3.org/2000/svg"
|
|
108
|
-
width="24
|
|
109
|
-
height="24
|
|
109
|
+
width={size === "lg" ? 36 : 24}
|
|
110
|
+
height={size === "lg" ? 36 : 24}
|
|
110
111
|
viewBox="0 0 24 24"
|
|
111
112
|
fill="none"
|
|
112
113
|
>
|
|
@@ -13,8 +13,10 @@ const widthSize = {
|
|
|
13
13
|
sm: "w-full md:w-90",
|
|
14
14
|
md: "w-full md:w-112.5", // 450px
|
|
15
15
|
lg: "w-full lg:w-127.5", // 510px
|
|
16
|
-
xl: "w-full lg:w-
|
|
17
|
-
"2xl": "w-full lg:w-
|
|
16
|
+
xl: "w-full lg:w-156",
|
|
17
|
+
"2xl": "w-full lg:w-187.5",
|
|
18
|
+
"3xl": "w-full lg:w-247.5",
|
|
19
|
+
"4xl": "w-full lg:w-247.5",
|
|
18
20
|
full: "w-full",
|
|
19
21
|
auto: "w-auto",
|
|
20
22
|
};
|
|
@@ -25,7 +25,7 @@ export default function RollCardDesign({ titles, state, disabled, isFixed, child
|
|
|
25
25
|
};
|
|
26
26
|
const isMobile = useMobile();
|
|
27
27
|
return (_jsxs(Card, { option: {
|
|
28
|
-
width: "
|
|
28
|
+
width: "3xl",
|
|
29
29
|
height: !isMobile ? (!isFixed && isOpen ? "2xs" : "4xs") : "2xs",
|
|
30
30
|
background: isDisabled || flag ? "bg-green-dark/10" : "bg-white",
|
|
31
31
|
className: "p-7.5 flex flex-col gap-y-6",
|
|
@@ -12,7 +12,7 @@ export default function Finance({ titles, data, }) {
|
|
|
12
12
|
subtitle: titles.subtitle,
|
|
13
13
|
}, option: {
|
|
14
14
|
titleBorder: "border-green-dark",
|
|
15
|
-
width: "
|
|
15
|
+
width: "3xl",
|
|
16
16
|
height: "xl",
|
|
17
17
|
}, topRight: _jsxs("div", { className: "flex items-center gap-2.5 text-xs ", children: [_jsx("button", { onClick: () => setTaxOn(!taxOn), className: cn("w-4 h-4 rounded-md", taxOn ? "bg-green-dark" : "border-1") }), _jsxs("div", { children: ["\uC0AC\uC5C5\uC18C\uB4DD\uC138 ", taxRate, "%"] })] }), children: _jsxs("div", { className: "flex flex-col", children: [_jsx("div", { className: "flex gap-7.5 mt-4.25 border-b-1 border-green-dark pb-2.5 ", children: dataSets?.map(({ title, sum, tax, total, rate, amount, number, result }, index) => (_jsxs("div", { className: "flex flex-col gap-2.5", children: [_jsx("div", { className: "font-pretendard-bold text-green-dark", children: title }), _jsxs("div", { className: "flex gap-2.5", children: [_jsxs("div", { className: "flex flex-col justify-between w-20", children: [number && (_jsx(Numbers, { title: number.title, dataSet: number.dataSet, dataField: number.dataField })), _jsx(Result, { title: "\uBE44\uC728", amount: `${rate}%` })] }), amount && (_jsxs("div", { className: "flex flex-col", children: [_jsx(Amount, { title: amount.title, dataSet: amount.dataSet, dataField: amount.dataField }), _jsxs("div", { className: "flex flex-col gap-1.5 mt-2.5", children: [_jsx(Result, { title: "\uD569\uACC4", amount: sum, cnTitle: "text-gray-dim" }), _jsx(Result, { title: "\uC0AC\uC5C5\uC18C\uB4DD\uC138", amount: `${typeof tax === "number" && tax ? "-" : ""}${tax.toLocaleString()}`, cnTitle: "text-gray-dim", cnAmount: "text-crimson-burgundy" }), _jsx(Result, { title: "\uCD1D\uACC4", amount: total, background: "bg-green-dark/10", cnTitle: "font-pretendard-bold" })] }), _jsx(Result, { title: "\uC9C0\uAE09\uBD84", amount: result, background: "bg-green-dark", cnTitle: "font-pretendard-bold text-white", className: "text-white mt-5" })] }))] })] }, id + index))) }), _jsx("div", { className: "flex items-center w-full h-15.5", children: _jsxs("div", { className: "flex w-full justify-between items-end", children: [_jsx("div", { className: "w-45 h-10 bg-gray-light rounded-md flex justify-center items-center text-sm font-pretendard-bold text-green-dark", children: data.result }), _jsxs("div", { className: "flex items-center gap-2.5", children: [_jsxs("div", { className: "text-xs text-gray-dim", children: ["\uB9C8\uC9C0\uB9C9 \uB2E4\uC6B4\uB85C\uB4DC: ", data.latestDownloadDate] }), _jsx("button", { onClick: data.refresh, className: "w-6.25 h-6.25 rounded-md box-shadow flex justify-center items-center", children: _jsx("svg", { xmlns: "http://www.w3.org/2000/svg", width: "20", height: "20", viewBox: "0 0 20 20", fill: "none", children: _jsx("path", { d: "M13.3526 7.78995H17.5126L14.8618 5.13745C14.0084 4.28401 12.9453 3.67028 11.7795 3.35795C10.6137 3.04563 9.38616 3.04572 8.22037 3.35822C7.05459 3.67072 5.99162 4.28461 5.13832 5.13817C4.28501 5.99174 3.67145 7.0549 3.35932 8.22078M2.48765 16.3699V12.2099M2.48765 12.2099H6.64765M2.48765 12.2099L5.13765 14.8624C5.99108 15.7159 7.05414 16.3296 8.21997 16.6419C9.3858 16.9543 10.6133 16.9542 11.7791 16.6417C12.9449 16.3292 14.0078 15.7153 14.8611 14.8617C15.7145 14.0082 16.328 12.945 16.6402 11.7791M17.5126 3.62995V7.78828", stroke: "#105652", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round" }) }) }), _jsx("button", { className: "bg-green-dark text-white w-22.5 h-6.25 text-xs rounded-md", onClick: data.download, children: "\uC5D1\uC140 \uB2E4\uC6B4\uB85C\uB4DC" }), _jsx(Toggle, { labels: [
|
|
18
18
|
[true, "잠금"],
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { InfoCardProps, OnClick } from "./../../../interface";
|
|
2
2
|
interface Data {
|
|
3
3
|
belong: string;
|
|
4
|
-
|
|
4
|
+
academy: string;
|
|
5
5
|
}
|
|
6
6
|
interface StudentInfo extends Omit<InfoCardProps, "children"> {
|
|
7
7
|
data: Partial<Data>;
|
|
8
8
|
onClick?: OnClick;
|
|
9
9
|
}
|
|
10
|
-
export default function Student({ titles, image, data,
|
|
10
|
+
export default function Student({ titles, image, data, option, }: StudentInfo): import("react/jsx-runtime").JSX.Element;
|
|
11
11
|
export {};
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { jsx as _jsx,
|
|
2
|
-
import { Label } from "../../../widget";
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
2
|
import { cn } from "../../../util";
|
|
4
3
|
import { InfoCardDesign } from "../../design/InfoCard.design";
|
|
5
|
-
|
|
6
|
-
|
|
4
|
+
export default function Student({ titles, image, data,
|
|
5
|
+
// onClick,
|
|
6
|
+
option, }) {
|
|
7
7
|
const container = {
|
|
8
8
|
positions: "relative",
|
|
9
9
|
displays: "flex flex-col justify-between mt-2.5",
|
|
@@ -18,11 +18,6 @@ export default function Student({ titles, image, data, onClick }) {
|
|
|
18
18
|
titleBorder: "border-blue-navy",
|
|
19
19
|
width: "sm",
|
|
20
20
|
height: "xs",
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
height: "xs",
|
|
24
|
-
text: "text-white hover:text-blue-navy",
|
|
25
|
-
background: "bg-blue-navy hover:bg-gray-light",
|
|
26
|
-
className: cn(label),
|
|
27
|
-
} })] }) }));
|
|
21
|
+
...option,
|
|
22
|
+
}, children: _jsx("div", { className: cn(container), children: _jsxs("div", { className: "flex flex-col", children: [_jsx("span", { className: "text-sm", children: data.academy }), _jsx("span", { className: "text-sm", children: data.belong })] }) }) }));
|
|
28
23
|
}
|
package/card/template/NavCard.js
CHANGED
|
@@ -3,7 +3,7 @@ import NavCardDesign from "../design/NavCard.design";
|
|
|
3
3
|
function Banner({ titles, option }) {
|
|
4
4
|
return (_jsx(NavCardDesign, { titles: titles, option: {
|
|
5
5
|
...option,
|
|
6
|
-
width: option?.width ?? "
|
|
6
|
+
width: option?.width ?? "2xl",
|
|
7
7
|
height: option?.height ?? "sm",
|
|
8
8
|
image: option?.image && {
|
|
9
9
|
...option?.image,
|
|
@@ -35,7 +35,7 @@ export default function ProgressCardLG({ titles, checks, displays, theme, option
|
|
|
35
35
|
const occupied = Math.round((checks.filter((value) => !!value).length / displays.length) * 100);
|
|
36
36
|
return (_jsxs(CardDesign, { option: {
|
|
37
37
|
...option,
|
|
38
|
-
width: "
|
|
38
|
+
width: "3xl",
|
|
39
39
|
height: "2xs",
|
|
40
40
|
}, children: [_jsx("div", { className: cn(progressBox), children: displays.map(({ title }, index) => (_jsxs("div", { className: cn(stepBox(checks[index])), children: [_jsx("div", { children: title }), _jsx(SVG.Operation.Checked, { flag: checks[index], size: 25, theme: theme })] }, title))) }), _jsxs("div", { className: cn(titleBox), children: [_jsx("div", { className: `text-xl leading-none font-pretendard-bold ${text[theme ?? "green"]}`, children: titles.title }), _jsx("div", { className: "text-base leading-none", children: titles.subtitle })] }), _jsx("div", { className: "absolute bottom-0 left-0 bg-gray-light w-full h-2.5", children: _jsx("div", { className: `h-full ${widthSizes[occupied]} ${bg[theme ?? "green"]}` }) })] }));
|
|
41
41
|
}
|
package/interface/Property.d.ts
CHANGED
|
@@ -31,7 +31,7 @@ export type State<T> = [T, StateAction<T>];
|
|
|
31
31
|
* @property {"full"} full - Full size
|
|
32
32
|
* @property {"full"} full - Full size
|
|
33
33
|
*/
|
|
34
|
-
export type Size = "xxxs" | "xxs" | "mmd" | "xm" | "ml" | "5xs" | "4xs" | "3xs" | "2xs" | "xs" | "sm" | "md" | "lg" | "xl" | "2xl" | "3xl" | "full" | "auto";
|
|
34
|
+
export type Size = "xxxs" | "xxs" | "mmd" | "xm" | "ml" | "5xs" | "4xs" | "3xs" | "2xs" | "xs" | "sm" | "md" | "lg" | "xl" | "2xl" | "3xl" | "4xl" | "5xl" | "full" | "auto";
|
|
35
35
|
/**
|
|
36
36
|
* Image size type
|
|
37
37
|
* @enum {string}
|
package/layout/index.d.ts
CHANGED
|
@@ -19,3 +19,4 @@ export { default as OlympiadLayout } from "./template/Olympiad/Olympiad.layout";
|
|
|
19
19
|
export { default as Gomito } from "./template/Gomito";
|
|
20
20
|
export { default as RegexamLayout } from "./template/Regexam/Regexam.layout";
|
|
21
21
|
export { default as LegacyLayout } from "./template/Legacy/Legacy.layout";
|
|
22
|
+
export { default as MonthlyProgressReport } from "./template/MonthlyProgressReport";
|
package/layout/index.js
CHANGED
|
@@ -19,3 +19,4 @@ export { default as OlympiadLayout } from "./template/Olympiad/Olympiad.layout";
|
|
|
19
19
|
export { default as Gomito } from "./template/Gomito";
|
|
20
20
|
export { default as RegexamLayout } from "./template/Regexam/Regexam.layout";
|
|
21
21
|
export { default as LegacyLayout } from "./template/Legacy/Legacy.layout";
|
|
22
|
+
export { default as MonthlyProgressReport } from "./template/MonthlyProgressReport";
|
|
@@ -4,62 +4,87 @@ import { Input, Select } from "../../../widget";
|
|
|
4
4
|
import { useResponsive } from "../../../hook";
|
|
5
5
|
export default function Header({ state, seriesState, levelState, }) {
|
|
6
6
|
const container = {
|
|
7
|
-
displays: "flex justify-between items-start",
|
|
8
|
-
sizes: "w-full h-
|
|
7
|
+
displays: "flex justify-between items-start flex-wrap flex-none gap-y-5 gap-x-5",
|
|
8
|
+
sizes: "w-full h-fit",
|
|
9
9
|
boundaries: "px-5 pb-5",
|
|
10
10
|
};
|
|
11
|
+
const selectWrapper = {
|
|
12
|
+
display: "flex flex-row gap-3.5",
|
|
13
|
+
};
|
|
14
|
+
const ghostSelect = {
|
|
15
|
+
sizes: "w-[152px], h-[36px] relative",
|
|
16
|
+
};
|
|
11
17
|
const res = useResponsive();
|
|
12
|
-
return (_jsxs("div", { className: cn(container), children: [
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
18
|
+
return (_jsxs("div", { className: cn(container), children: [_jsx(Input, { state: state, placeholder: res ? "키워드를 입력하세요" : "", option: {
|
|
19
|
+
width: "md",
|
|
20
|
+
} }), _jsxs("div", { className: cn(selectWrapper), children: [_jsx("div", { className: cn(ghostSelect), children: _jsx(Select, { selectOptions: [
|
|
21
|
+
["TOSEL VOCA Series", "Voca Series"],
|
|
22
|
+
["Story Series", "Story Series"],
|
|
23
|
+
["Listening Series", "Listening Series"],
|
|
24
|
+
["Speaking Series", "Speaking Series"],
|
|
25
|
+
["실전문제집1", "실전문제집1"],
|
|
26
|
+
["TOSEL 실전문제집2", "실전문제집2"],
|
|
27
|
+
["유형분석집", "유형분석집1"],
|
|
28
|
+
["유형분석집2", "유형분석집2"],
|
|
29
|
+
["예상문제집", "예상문제집"],
|
|
30
|
+
["심화문제집", "심화문제집"],
|
|
31
|
+
["기출연습", "기출연습"],
|
|
32
|
+
["기출모의고사", "기출모의고사"],
|
|
33
|
+
], state: seriesState, placeholder: "\uC2DC\uB9AC\uC988" }) }), _jsx("div", { className: cn(ghostSelect), children: _jsx(Select, { selectOptions: [
|
|
34
|
+
{
|
|
35
|
+
title: "Pre-Starter",
|
|
36
|
+
value: "PS",
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
title: "Starter",
|
|
40
|
+
value: "ST",
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
title: "Basic",
|
|
44
|
+
value: "BA",
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
title: "Junior",
|
|
48
|
+
value: "JR",
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
title: "High Junior",
|
|
52
|
+
value: "HJ",
|
|
53
|
+
},
|
|
54
|
+
], state: levelState, placeholder: "\uB808\uBCA8" }) })] }), _jsx(ContentBox, { contents: [
|
|
49
55
|
{
|
|
50
56
|
title: "교재 음원",
|
|
51
57
|
onClick: () => { },
|
|
58
|
+
disabled: false,
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
title: "정오표",
|
|
62
|
+
onClick: () => { },
|
|
63
|
+
disabled: true,
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
title: "홍보자료",
|
|
67
|
+
onClick: () => { },
|
|
68
|
+
disabled: true,
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
title: "기타 자료",
|
|
72
|
+
onClick: () => { },
|
|
73
|
+
disabled: true,
|
|
52
74
|
},
|
|
53
75
|
] })] }));
|
|
54
76
|
}
|
|
55
77
|
function ContentBox({ contents }) {
|
|
56
78
|
const container = {
|
|
57
|
-
sizes: "
|
|
79
|
+
sizes: "flex flex-1 flex-nowrap flex-row items-center justify-start w-fit flex-none",
|
|
58
80
|
};
|
|
59
81
|
const buttonBox = {
|
|
82
|
+
displays: "flex flex-none",
|
|
60
83
|
boundaries: "p-3 rounded-[8px]",
|
|
61
84
|
fonts: "leading-none text-[12px]",
|
|
62
|
-
|
|
85
|
+
other: contents.map((content) => content.disabled)
|
|
86
|
+
? "bg-green-dark/10 text-green-dark"
|
|
87
|
+
: "bg-none text-gray-medium",
|
|
63
88
|
};
|
|
64
89
|
return (_jsx("div", { className: cn(container), children: contents.map((content) => (_jsx("button", { className: cn(buttonBox), children: content.title }, content.title))) }));
|
|
65
90
|
}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useActionStore } from "../../store";
|
|
2
3
|
import { cn } from "../../util";
|
|
3
4
|
export default function BbsLayout({ title, icon, topRight, children, }) {
|
|
5
|
+
const { setFlag } = useActionStore();
|
|
4
6
|
const container = {
|
|
5
7
|
displays: "flex flex-col items-center",
|
|
6
8
|
sizes: "w-full min-h-screen",
|
|
@@ -14,5 +16,5 @@ export default function BbsLayout({ title, icon, topRight, children, }) {
|
|
|
14
16
|
sizes: "w-full h-[188px]",
|
|
15
17
|
boundaries: "px-12 pb-10",
|
|
16
18
|
};
|
|
17
|
-
return (_jsx("div", { className: cn(container), children: _jsxs("div", { className: cn(body), children: [_jsxs("div", { className: cn(header), children: [_jsxs("div", { className: "flex gap-x-5 items-center", children: [icon, _jsx("div", { className: "text-[40px] leading-none font-pretendard-bold text-green-dark", children: title })] }), topRight] }), children] }) }));
|
|
19
|
+
return (_jsx("div", { className: cn(container), onClick: setFlag, children: _jsxs("div", { className: cn(body), children: [_jsxs("div", { className: cn(header), children: [_jsxs("div", { className: "flex gap-x-5 items-center", children: [icon, _jsx("div", { className: "text-[40px] leading-none font-pretendard-bold text-green-dark", children: title })] }), topRight] }), children] }) }));
|
|
18
20
|
}
|