@edu-tosel/design 1.0.266 → 1.0.267
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 +4 -0
- package/asset/SVG.js +4 -0
- package/asset/SVG.tsx +4 -0
- package/asset/svg/MiniClose.d.ts +4 -0
- package/asset/svg/MiniClose.js +4 -0
- package/asset/svg/MiniClose.tsx +19 -0
- package/asset/svg/Search.d.ts +1 -0
- package/asset/svg/Search.js +4 -0
- package/asset/svg/Search.tsx +24 -0
- package/board/design/Header.design.d.ts +1 -1
- package/board/design/Header.design.js +12 -3
- package/globals.css +7 -2
- package/interface/Board.d.ts +11 -1
- package/layout/design/Shelf.design.js +2 -2
- package/layout/index.d.ts +0 -9
- package/layout/index.js +0 -9
- package/layout/template/home/Promotion.js +1 -0
- package/layout/template/home/Service.js +1 -0
- package/layout/template/home/layout/Carousel.js +27 -8
- package/layout/template/home/layout/Navigation.js +86 -12
- package/package.json +2 -2
- package/util/createSearch.d.ts +4 -7
- package/util/createSearch.js +208 -24
- package/util/index.d.ts +1 -1
- package/util/index.js +1 -1
- package/version.txt +1 -1
- package/widget/template/Input/index.js +8 -0
- package/layout/template/About/SectionA.d.ts +0 -1
- package/layout/template/About/SectionA.js +0 -51
- package/layout/template/About/SectionB.d.ts +0 -2
- package/layout/template/About/SectionB.js +0 -55
- package/layout/template/About/SectionC.d.ts +0 -1
- package/layout/template/About/SectionC.js +0 -35
- package/layout/template/About/SectionCCards.d.ts +0 -13
- package/layout/template/About/SectionCCards.js +0 -13
- package/layout/template/About/SectionCD.d.ts +0 -1
- package/layout/template/About/SectionCD.js +0 -15
- package/layout/template/About/SectionCLeaf.d.ts +0 -15
- package/layout/template/About/SectionCLeaf.js +0 -104
- package/layout/template/About/SectionD.d.ts +0 -1
- package/layout/template/About/SectionD.js +0 -131
- package/layout/template/About/SectionE.d.ts +0 -1
- package/layout/template/About/SectionE.js +0 -7
- package/layout/template/About/SectionECards.d.ts +0 -1
- package/layout/template/About/SectionECards.js +0 -79
- package/layout/template/About/SectionF.d.ts +0 -1
- package/layout/template/About/SectionF.js +0 -4
- package/layout/template/About/SectionG.d.ts +0 -10
- package/layout/template/About/SectionG.js +0 -27
- package/layout/template/About/index.d.ts +0 -19
- package/layout/template/About/index.js +0 -19
- package/layout/template/Books/Books.layout.d.ts +0 -1
- package/layout/template/Books/Books.layout.js +0 -13
- package/layout/template/Books/SectionA.d.ts +0 -2
- package/layout/template/Books/SectionA.js +0 -430
- package/layout/template/Books/index.d.ts +0 -5
- package/layout/template/Books/index.js +0 -5
- package/layout/template/MonthlyProgressReport/Layout.d.ts +0 -4
- package/layout/template/MonthlyProgressReport/Layout.js +0 -52
- package/layout/template/MonthlyProgressReport/Report.d.ts +0 -46
- package/layout/template/MonthlyProgressReport/Report.js +0 -124
- package/layout/template/MonthlyProgressReport/index.d.ts +0 -8
- package/layout/template/MonthlyProgressReport/index.js +0 -7
- package/layout/template/Olympiad/Banner.d.ts +0 -1
- package/layout/template/Olympiad/Banner.js +0 -31
- package/layout/template/Olympiad/Conditions.d.ts +0 -1
- package/layout/template/Olympiad/Conditions.js +0 -168
- package/layout/template/Olympiad/Features.d.ts +0 -1
- package/layout/template/Olympiad/Features.js +0 -44
- package/layout/template/Olympiad/Olympiad.layout.d.ts +0 -1
- package/layout/template/Olympiad/Olympiad.layout.js +0 -19
- package/layout/template/Olympiad/Prizes.d.ts +0 -1
- package/layout/template/Olympiad/Prizes.js +0 -49
- package/layout/template/Olympiad/Sponsors.d.ts +0 -1
- package/layout/template/Olympiad/Sponsors.js +0 -31
- package/layout/template/Olympiad/Videoset.d.ts +0 -1
- package/layout/template/Olympiad/Videoset.js +0 -71
- package/layout/template/Olympiad/index.d.ts +0 -15
- package/layout/template/Olympiad/index.js +0 -15
- package/layout/template/Regexam/Banner.d.ts +0 -1
- package/layout/template/Regexam/Banner.js +0 -183
- package/layout/template/Regexam/Evaluation.d.ts +0 -3
- package/layout/template/Regexam/Evaluation.js +0 -132
- package/layout/template/Regexam/OfflineExam.d.ts +0 -4
- package/layout/template/Regexam/OfflineExam.js +0 -204
- package/layout/template/Regexam/Regexam.layout.d.ts +0 -1
- package/layout/template/Regexam/Regexam.layout.js +0 -13
- package/layout/template/Regexam/Types.d.ts +0 -1
- package/layout/template/Regexam/Types.js +0 -294
- package/layout/template/Regexam/index.d.ts +0 -11
- package/layout/template/Regexam/index.js +0 -11
- package/layout/template/Transcript/Layout.d.ts +0 -6
- package/layout/template/Transcript/Layout.js +0 -52
- package/layout/template/Transcript/design/Transcript.d.ts +0 -228
- package/layout/template/Transcript/design/Transcript.design.d.ts +0 -13
- package/layout/template/Transcript/design/Transcript.design.js +0 -58
- package/layout/template/Transcript/design/Transcript.js +0 -181
- package/layout/template/Transcript/design/TranscriptAdvanced.design.d.ts +0 -5
- package/layout/template/Transcript/design/TranscriptAdvanced.design.js +0 -55
- package/layout/template/Transcript/design/atom/CardTitle.d.ts +0 -5
- package/layout/template/Transcript/design/atom/CardTitle.js +0 -13
- package/layout/template/Transcript/design/atom/CardTitleDivided.d.ts +0 -0
- package/layout/template/Transcript/design/atom/CardTitleDivided.js +0 -1
- package/layout/template/Transcript/design/atom/GetPartDescriptionFromLevel.d.ts +0 -3
- package/layout/template/Transcript/design/atom/GetPartDescriptionFromLevel.js +0 -4
- package/layout/template/Transcript/design/atom/GetPartTitleFromLevel.d.ts +0 -3
- package/layout/template/Transcript/design/atom/GetPartTitleFromLevel.js +0 -4
- package/layout/template/Transcript/design/atom/GetStyleFromLevel.d.ts +0 -2
- package/layout/template/Transcript/design/atom/GetStyleFromLevel.js +0 -4
- package/layout/template/Transcript/design/atom/LevelToPartDescriptionMap.d.ts +0 -6
- package/layout/template/Transcript/design/atom/LevelToPartDescriptionMap.js +0 -95
- package/layout/template/Transcript/design/atom/LevelToPartTitleMap.d.ts +0 -6
- package/layout/template/Transcript/design/atom/LevelToPartTitleMap.js +0 -95
- package/layout/template/Transcript/design/atom/LevelToStyleMap.d.ts +0 -6
- package/layout/template/Transcript/design/atom/LevelToStyleMap.js +0 -42
- package/layout/template/Transcript/design/atom/PrintBoxStyles.d.ts +0 -4
- package/layout/template/Transcript/design/atom/PrintBoxStyles.js +0 -4
- package/layout/template/Transcript/design/molecule/BarGraph.d.ts +0 -11
- package/layout/template/Transcript/design/molecule/BarGraph.js +0 -81
- package/layout/template/Transcript/design/molecule/BarGraphDuo.d.ts +0 -10
- package/layout/template/Transcript/design/molecule/BarGraphDuo.js +0 -6
- package/layout/template/Transcript/design/molecule/BarGraphMulti.d.ts +0 -11
- package/layout/template/Transcript/design/molecule/BarGraphMulti.js +0 -9
- package/layout/template/Transcript/design/molecule/CircularGauge.d.ts +0 -10
- package/layout/template/Transcript/design/molecule/CircularGauge.js +0 -68
- package/layout/template/Transcript/design/molecule/LSWRChart.d.ts +0 -11
- package/layout/template/Transcript/design/molecule/LSWRChart.js +0 -44
- package/layout/template/Transcript/design/molecule/LevelIndex.d.ts +0 -3
- package/layout/template/Transcript/design/molecule/LevelIndex.js +0 -14
- package/layout/template/Transcript/design/molecule/MIChart.d.ts +0 -1
- package/layout/template/Transcript/design/molecule/MIChart.js +0 -51
- package/layout/template/Transcript/design/molecule/OCIChart.d.ts +0 -1
- package/layout/template/Transcript/design/molecule/OCIChart.js +0 -60
- package/layout/template/Transcript/design/molecule/RadarGraph.d.ts +0 -10
- package/layout/template/Transcript/design/molecule/RadarGraph.js +0 -5
- package/layout/template/Transcript/design/organism/BarCardCol.d.ts +0 -8
- package/layout/template/Transcript/design/organism/BarCardCol.js +0 -30
- package/layout/template/Transcript/design/organism/BarCardRow.d.ts +0 -8
- package/layout/template/Transcript/design/organism/BarCardRow.js +0 -30
- package/layout/template/Transcript/design/organism/HonorCard.d.ts +0 -4
- package/layout/template/Transcript/design/organism/HonorCard.js +0 -16
- package/layout/template/Transcript/design/organism/IdCard.d.ts +0 -8
- package/layout/template/Transcript/design/organism/IdCard.js +0 -64
- package/layout/template/Transcript/design/organism/IntelligenceCard.d.ts +0 -12
- package/layout/template/Transcript/design/organism/IntelligenceCard.js +0 -39
- package/layout/template/Transcript/design/organism/NationalPositionCard.d.ts +0 -4
- package/layout/template/Transcript/design/organism/NationalPositionCard.js +0 -14
- package/layout/template/Transcript/design/organism/OCICard.d.ts +0 -4
- package/layout/template/Transcript/design/organism/OCICard.js +0 -17
- package/layout/template/Transcript/design/organism/PerformanceCard.d.ts +0 -5
- package/layout/template/Transcript/design/organism/PerformanceCard.js +0 -25
- package/layout/template/Transcript/design/organism/RadarCard.d.ts +0 -7
- package/layout/template/Transcript/design/organism/RadarCard.js +0 -54
- package/layout/template/Transcript/design/organism/ResultGaugeCard.d.ts +0 -7
- package/layout/template/Transcript/design/organism/ResultGaugeCard.js +0 -19
- package/layout/template/Transcript/design/organism/ScoreCard.d.ts +0 -4
- package/layout/template/Transcript/design/organism/ScoreCard.js +0 -11
- package/layout/template/Transcript/design/organism/SectionRadarCard.d.ts +0 -8
- package/layout/template/Transcript/design/organism/SectionRadarCard.js +0 -42
- package/layout/template/Transcript/index.d.ts +0 -11
- package/layout/template/Transcript/index.js +0 -9
- package/layout/template/Transcript/interface.d.ts +0 -50
- package/layout/template/Transcript/interface.js +0 -1
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import Banner from "./Banner";
|
|
2
|
-
import Sponsors from "./Sponsors";
|
|
3
|
-
import Features from "./Features";
|
|
4
|
-
import Prizes from "./Prizes";
|
|
5
|
-
import Videoset from "./Videoset";
|
|
6
|
-
import Conditions from "./Conditions";
|
|
7
|
-
const Olympiad = {
|
|
8
|
-
Banner,
|
|
9
|
-
Sponsors,
|
|
10
|
-
Features,
|
|
11
|
-
Prizes,
|
|
12
|
-
Conditions,
|
|
13
|
-
Videoset,
|
|
14
|
-
};
|
|
15
|
-
export default Olympiad;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export default function Banner(): import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,183 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { cn } from "../../../util";
|
|
3
|
-
import { useState, useEffect } from "react";
|
|
4
|
-
import urlAsset from "../../../asset/url";
|
|
5
|
-
export default function Banner() {
|
|
6
|
-
const [isHidden, setIsHidden] = useState(false);
|
|
7
|
-
useEffect(() => {
|
|
8
|
-
const handleScroll = () => {
|
|
9
|
-
if (window.scrollY > 50) {
|
|
10
|
-
setIsHidden(true);
|
|
11
|
-
}
|
|
12
|
-
else {
|
|
13
|
-
setIsHidden(false);
|
|
14
|
-
}
|
|
15
|
-
};
|
|
16
|
-
window.addEventListener("scroll", handleScroll);
|
|
17
|
-
return () => {
|
|
18
|
-
window.removeEventListener("scroll", handleScroll);
|
|
19
|
-
};
|
|
20
|
-
}, []);
|
|
21
|
-
const handleScroll = () => {
|
|
22
|
-
window.scrollBy({
|
|
23
|
-
top: window.innerHeight,
|
|
24
|
-
behavior: "smooth",
|
|
25
|
-
});
|
|
26
|
-
};
|
|
27
|
-
const container = {
|
|
28
|
-
sizes: "relative w-full md:h-screen",
|
|
29
|
-
displays: "flex justify-center items-center flex-col",
|
|
30
|
-
spacings: "md:px-10 md:pt-0 px-5 pt-5",
|
|
31
|
-
textstyles: "antialiased font-pretendard-var",
|
|
32
|
-
backgrounds: "bg-white bg-cover bg-center",
|
|
33
|
-
};
|
|
34
|
-
const brandTextCore = {
|
|
35
|
-
spacings: "mb-6",
|
|
36
|
-
sizes: "xm:h-20 h-12",
|
|
37
|
-
animations: "duration-300",
|
|
38
|
-
};
|
|
39
|
-
const brandTextSub = {
|
|
40
|
-
textstyles: "text-lg lg:text-xl font-pretendard-bold text-gray-dark",
|
|
41
|
-
animations: "duration-300",
|
|
42
|
-
};
|
|
43
|
-
const explainer = {
|
|
44
|
-
textstyles: "lg:text-lg font-medium text-gray-dark text-base",
|
|
45
|
-
};
|
|
46
|
-
//button styling
|
|
47
|
-
const AdvertButton = {
|
|
48
|
-
displays: "relative overflow-hidden flex justify-center items-center",
|
|
49
|
-
sizes: "h-fit w-full xxxs:w-fit rounded-lg",
|
|
50
|
-
textstyles: "text-lg font-pretendard-medium text-center text-crimson-burgundy hover:text-white",
|
|
51
|
-
spacings: "px-3 py-2 md:mt-16 mt-10",
|
|
52
|
-
animations: "group duration-300",
|
|
53
|
-
};
|
|
54
|
-
//before hover gradient
|
|
55
|
-
const buttonBackground1 = {
|
|
56
|
-
displays: "absolute inset-0",
|
|
57
|
-
backgrounds: "bg-gradient-to-r from-crimson-burgundy/10 to-green-dark/10",
|
|
58
|
-
};
|
|
59
|
-
//after hover gradient
|
|
60
|
-
const buttonBackground2 = {
|
|
61
|
-
displays: "absolute inset-0",
|
|
62
|
-
backgrounds: "bg-gradient-to-r from-crimson-burgundy to-green-dark",
|
|
63
|
-
animation: "transition-opacity duration-300 opacity-0 group-hover:opacity-100",
|
|
64
|
-
};
|
|
65
|
-
const buttonText = {
|
|
66
|
-
textstyles: "text-lg font-pretendard-medium text-center relative z-10",
|
|
67
|
-
};
|
|
68
|
-
const carouselWrapper = {
|
|
69
|
-
sizes: "ml:w-200 md:w-[calc(100vw-376px)] w-full md:h-full h-fit xxs:max-h-80 rounded-lg flex",
|
|
70
|
-
spacings: "md:mt-0 mt-20 md:m-0 mb-5",
|
|
71
|
-
};
|
|
72
|
-
const scrollGuideWrapper = {
|
|
73
|
-
display: "absolute hidden md:flex flex-col justify-center items-center",
|
|
74
|
-
sizes: "w-full",
|
|
75
|
-
spacings: "bottom-0 mb-10",
|
|
76
|
-
scrollAction: `transition-opacity duration-500 ${isHidden ? "opacity-0" : "opacity-100"}`,
|
|
77
|
-
};
|
|
78
|
-
const scrollGuideText = {
|
|
79
|
-
sizes: "w-full",
|
|
80
|
-
textstyles: "font-medium text-green-dark text-base",
|
|
81
|
-
spacings: "text-center",
|
|
82
|
-
};
|
|
83
|
-
const scrollGuideButton = {
|
|
84
|
-
sizes: "w-10 h-10 mt-10",
|
|
85
|
-
backgrounds: "bg-white group hover:bg-green-dark",
|
|
86
|
-
other: "animate-bounce bg-white p-1 w-10 h-10 ring-1 ring-slate-900/5 shadow-lg rounded-full flex items-center justify-center",
|
|
87
|
-
};
|
|
88
|
-
return (_jsxs("div", { className: cn(container), children: [_jsxs("div", { className: "flex flex-col md:flex-row w-full max-w-6xl justify-between items-center", children: [_jsxs("div", { className: "flex flex-col w-full md:w-fit h-full shrink-0 justify-start", children: [_jsx("div", { className: cn(brandTextSub), children: "about" }), _jsx("div", { className: cn(brandTextCore), children: _jsx("img", { src: "/images/logos/logo-tosel-main.svg", alt: "", className: "h-full" }) }), _jsxs("div", { className: cn(explainer), children: ["29,000\uC5EC\uAC1C\uC758 \uD559\uAD50\uC640 \uD559\uC6D0\uC774 \uC120\uD0DD\uD55C ", _jsx("br", {}), "\uB300\uD55C\uBBFC\uAD6D \uB300\uD45C \uC601\uC5B4 \uC778\uC99D\uC2DC\uD5D8"] }), _jsxs("div", { onClick: () => (window.location.href = urlAsset.homepage("/dashboard")), className: cn(AdvertButton), children: [_jsx("div", { className: cn(buttonBackground1) }), _jsx("div", { className: cn(buttonBackground2) }), _jsx("div", { className: cn(buttonText), children: "\uC9C0\uAE08 \uC811\uC218\uD558\uAE30" })] })] }), _jsx("div", { className: cn(carouselWrapper), children: _jsx(InfiniteCarousel, {}) })] }), _jsxs("div", { className: cn(scrollGuideWrapper), children: [_jsx("div", { className: cn(scrollGuideText), children: "\uC790\uC138\uD55C \uB0B4\uC6A9\uC744 \uBCF4\uB824\uBA74 \uC544\uB798\uB85C \uC2A4\uD06C\uB864 \uD574\uBCF4\uC138\uC694" }), _jsx("div", { className: cn(scrollGuideButton), onClick: handleScroll, children: _jsx("svg", { className: "w-6 h-6 text-green-dark group-hover:text-white", fill: "none", "stroke-linecap": "round", "stroke-linejoin": "round", "stroke-width": "2", viewBox: "0 0 24 24", stroke: "currentColor", children: _jsx("path", { d: "M19 14l-7 7m0 0l-7-7m7 7V3" }) }) })] })] }));
|
|
89
|
-
}
|
|
90
|
-
const InfiniteCarousel = () => {
|
|
91
|
-
const slides = [
|
|
92
|
-
{
|
|
93
|
-
title: "Cocoon",
|
|
94
|
-
subtitle: "영어를 시작하는 단계",
|
|
95
|
-
img: "https://resource.tosel.co.kr/images/img-character-co.png",
|
|
96
|
-
colorT: "text-co-green",
|
|
97
|
-
colorB: "bg-co-green-light",
|
|
98
|
-
},
|
|
99
|
-
{
|
|
100
|
-
title: "Pre-Starter",
|
|
101
|
-
subtitle: "영어를 시작하는 단계",
|
|
102
|
-
img: "https://resource.tosel.co.kr/images/img-character-ps.png",
|
|
103
|
-
colorT: "text-ps-pink",
|
|
104
|
-
colorB: "bg-ps-pink/10",
|
|
105
|
-
},
|
|
106
|
-
{
|
|
107
|
-
title: "Starter",
|
|
108
|
-
subtitle: "밑바탕을 다지는 단계",
|
|
109
|
-
img: "https://resource.tosel.co.kr/images/img-character-st.png",
|
|
110
|
-
colorT: "text-st-orange",
|
|
111
|
-
colorB: "bg-st-orange/10",
|
|
112
|
-
},
|
|
113
|
-
{
|
|
114
|
-
title: "Basic",
|
|
115
|
-
subtitle: "영어실력의 도전 단계",
|
|
116
|
-
img: "https://resource.tosel.co.kr/images/img-character-ba.png",
|
|
117
|
-
colorT: "text-ba-yellow",
|
|
118
|
-
colorB: "bg-ba-yellow/10",
|
|
119
|
-
},
|
|
120
|
-
{
|
|
121
|
-
title: "Junior",
|
|
122
|
-
subtitle: "영어의 실전 단계",
|
|
123
|
-
img: "https://resource.tosel.co.kr/images/img-character-jr.png",
|
|
124
|
-
colorT: "text-jr-blue",
|
|
125
|
-
colorB: "bg-jr-blue/10",
|
|
126
|
-
},
|
|
127
|
-
{
|
|
128
|
-
title: "High Junior",
|
|
129
|
-
subtitle: "영어의 고급화 단계",
|
|
130
|
-
img: "https://resource.tosel.co.kr/images/img-character-hj.png",
|
|
131
|
-
colorT: "text-hj-blue",
|
|
132
|
-
colorB: "bg-hj-blue/10",
|
|
133
|
-
},
|
|
134
|
-
{
|
|
135
|
-
title: "Advanced",
|
|
136
|
-
subtitle: "영어의 고급화 단계",
|
|
137
|
-
img: "https://resource.tosel.co.kr/images/img-character-adv.png",
|
|
138
|
-
colorT: "text-gray-dark",
|
|
139
|
-
colorB: "bg-white",
|
|
140
|
-
},
|
|
141
|
-
];
|
|
142
|
-
const [currentIndex, setCurrentIndex] = useState(0);
|
|
143
|
-
const totalSlides = slides.length;
|
|
144
|
-
const nextSlide = () => {
|
|
145
|
-
setCurrentIndex((prevIndex) => (prevIndex + 1) % totalSlides);
|
|
146
|
-
};
|
|
147
|
-
const prevSlide = () => {
|
|
148
|
-
setCurrentIndex((prevIndex) => (prevIndex - 1 + totalSlides) % totalSlides);
|
|
149
|
-
};
|
|
150
|
-
useEffect(() => {
|
|
151
|
-
const interval = setInterval(nextSlide, 3000);
|
|
152
|
-
return () => clearInterval(interval);
|
|
153
|
-
}, []);
|
|
154
|
-
const card = {
|
|
155
|
-
displays: "flex items-center",
|
|
156
|
-
sizes: "w-full h-full md:max-h-80",
|
|
157
|
-
spacings: "p-5",
|
|
158
|
-
};
|
|
159
|
-
const title = {
|
|
160
|
-
textStyles: "font-bold sm:text-xl text-lg",
|
|
161
|
-
};
|
|
162
|
-
const subTitle = {
|
|
163
|
-
textStyles: "font-medium sm:text-sm text-xs text-gray-medium",
|
|
164
|
-
};
|
|
165
|
-
const levelBar = {
|
|
166
|
-
displays: "flex flex-row justify-start",
|
|
167
|
-
sizes: "w-full h-4 rounded-full",
|
|
168
|
-
backgroudns: "bg-white shadow-main",
|
|
169
|
-
spacings: "mt-10",
|
|
170
|
-
};
|
|
171
|
-
const levelFill = {
|
|
172
|
-
sizes: "h-full rounded-full",
|
|
173
|
-
backgrounds: "bg-gradient-to-r from-crimson-burgundy to-green-dark",
|
|
174
|
-
};
|
|
175
|
-
return (_jsx("div", { className: "w-full h-full xs:max-h-80 overflow-hidden rounded-lg shadow-main", children: _jsx("div", { className: "flex w-full xs:max-h-80 transition-transform duration-500", style: {
|
|
176
|
-
transform: `translateX(-${currentIndex * 100}%)`,
|
|
177
|
-
}, children: slides.map((slide, index) => {
|
|
178
|
-
const widthPercentage = ((index + 1) / slides.length) * 100;
|
|
179
|
-
return (_jsx("div", { className: cn(card, `${slide.colorB}`), style: { flex: "0 0 100%" }, children: _jsxs("div", { className: "flex xxs:flex-row flex-col-reverse items-center justify-center h-full w-full", children: [_jsxs("div", { className: "flex flex-col justify-center items-start w-full p-5", children: [_jsx("div", { className: "text-xl font-black text-crimson-burgundy mb-6", children: index + 1 }), _jsx("div", { className: cn(title, `${slide.colorT}`), children: slide.title }), _jsx("div", { className: cn(subTitle), children: slide.subtitle }), _jsx("div", { className: cn(levelBar), children: _jsx("div", { className: cn(levelFill), style: {
|
|
180
|
-
width: `${widthPercentage}%`,
|
|
181
|
-
} }) })] }), _jsx("div", { className: "w-9/12 md:w-full h-full max-h-80", children: _jsx("img", { src: slide.img, alt: "" }) })] }) }, index));
|
|
182
|
-
}) }) }));
|
|
183
|
-
};
|
|
@@ -1,132 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { cn } from "../../../util";
|
|
3
|
-
export default function Evaluation() {
|
|
4
|
-
const container = {
|
|
5
|
-
displays: "flex flex-col justify-center items-center",
|
|
6
|
-
sizes: "w-full h-fit",
|
|
7
|
-
spacings: "pt-20 md:px-10 px-5 pb-20",
|
|
8
|
-
};
|
|
9
|
-
//controlls max-w
|
|
10
|
-
const mainWrapper = {
|
|
11
|
-
displays: "flex flex-col",
|
|
12
|
-
sizes: "w-full max-w-6xl",
|
|
13
|
-
};
|
|
14
|
-
const titleWrapper = {
|
|
15
|
-
displays: "flex flex-col gap-0",
|
|
16
|
-
sizes: "w-full h-fit",
|
|
17
|
-
spacings: "pb-8",
|
|
18
|
-
};
|
|
19
|
-
const sectionTitle = {
|
|
20
|
-
sizes: "w-full h-fit",
|
|
21
|
-
textStyles: "font-bold text-crimson-burgundy text-xl xxs:text-2xl lg:text-3xl",
|
|
22
|
-
};
|
|
23
|
-
const sectionSubTitle = {
|
|
24
|
-
sizes: "w-full h-fit",
|
|
25
|
-
textStyles: "font-medium text-gray-medium text-sm md:text-base",
|
|
26
|
-
};
|
|
27
|
-
const grayBox = {
|
|
28
|
-
sizes: "w-full h-fit rounded-2xl",
|
|
29
|
-
spacings: "p-5 xxs:p-8 md:p-10 my-0 xs:my-10",
|
|
30
|
-
backgrounds: "bg-gray-light/50",
|
|
31
|
-
textstyles: "font-medium text-gray-dark text-base md:text-lg leading-loose",
|
|
32
|
-
};
|
|
33
|
-
const explainBoxWrapper = {
|
|
34
|
-
displays: "flex flex-col md:flex-row",
|
|
35
|
-
sizes: "w-full",
|
|
36
|
-
spacings: "gap-10 mt-10",
|
|
37
|
-
};
|
|
38
|
-
const explainBox = {
|
|
39
|
-
displays: "flex flex-col",
|
|
40
|
-
sizes: "w-full",
|
|
41
|
-
};
|
|
42
|
-
return (_jsx("div", { className: cn(container), children: _jsxs("div", { className: cn(mainWrapper), children: [_jsxs("div", { className: cn(titleWrapper), children: [_jsx("div", { className: cn(sectionTitle), children: "\uD1A0\uC140\uC758 \uD3C9\uAC00\uBC29\uC2DD" }), _jsx("div", { className: cn(sectionSubTitle), children: "TOSEL\uC740 PBT\uB97C \uD1B5\uD574 \uAC04\uC811/\uC9C1\uC811\uD3C9\uAC00\uB97C \uBAA8\uB450 \uC2E4\uC2DC\uD569\uB2C8\uB2E4." })] }), _jsx("div", { className: cn(grayBox), children: "TOSEL\uC740 \uAC01\uAE09 \uD559\uAD50 \uAD50\uACFC\uACFC\uC815\uACFC \uC5F0\uB839\uBCC4 \uC778\uC9C0\uB2E8\uACC4\uB97C \uACE0\uB824\uD558\uC5EC \uB2E8\uACC4\uBCC4 \uB09C\uC774\uB3C4\uC640 \uBB38\uD56D\uC73C\uB85C \uC601\uC5B4 \uC219\uB2EC \uC815\uB3C4\uB97C \uCE21\uC815\uD558\uB294 \uC601\uC5B4 \uC0AC\uC6A9\uC790 \uC911\uC2EC\uC758 \uB9DE\uCDA4\uC2DD \uC601\uC5B4\uB2A5\uB825\uC778\uC99D \uC2DC\uD5D8\uC81C\uB3C4\uB85C, \uC778\uC9C0\uC801-\uD559\uBB38\uC801 \uC5B8\uC5B4 \uC0AC\uC6A9\uC758 \uC720\uCC3D\uC131 (Congnitive-Academic Language Proficientcy, CALP)\uACFC \uAE30\uBCF8\uC801-\uAC1C\uC778\uC801 \uC758\uC0AC\uC18C\uD1B5\uB2A5\uB825 (Basic Interpersonal Communication Skill, BICS)\uC744 \uC5C4\uBC00\uD788 \uAD6C\uBD84\uD558\uC5EC \uC218\uD5D8\uC790\uC758 \uC5B8\uC5B4\uB2A5\uB825\uC744 \uAC00\uC7A5 \uCE5C\uBC00\uD558\uAC8C \uD3C9\uAC00\uD558\uB294 \uC2DC\uD5D8\uC785\uB2C8\uB2E4." }), _jsxs("div", { className: cn(explainBoxWrapper), children: [_jsxs("div", { className: cn(explainBox), children: [_jsx("div", { className: "font-bold text-gray-dark text-xl", children: "\uC778\uC9C0\uB2E8\uACC4\uB97C \uACE0\uB824\uD55C \uD3C9\uAC00" }), _jsx("div", { className: "w-full h-0.5 bg-gradient-to-r from-crimson-burgundy to-green-dark mt-1" }), _jsx("div", { className: "mt-5 font-medium text-gray-dark text-base md:text-lg leading-normal", children: "TOSEL\uC740 \uC5F0\uB839\uBCC4 \uC778\uC9C0 \uB2E8\uACC4\uB97C \uACE0\uB824\uD558\uC5EC 7\uB2E8\uACC4\uB85C \uC138\uBD84\uD654\uB418\uC5B4 \uC788\uC2B5\uB2C8\uB2E4. \uC218\uB2A5 \uCD9C\uC81C\uC704\uC6D0\uC774 \uC9C1\uC811 \uAC1C\uBC1C\uD55C \uC9C1\uC811\uD3C9\uAC00 \uBC0F \uAC04\uC811\uD3C9\uAC00 \uBC29\uC2DD\uC73C\uB85C, \uC5B8\uC5B4\uC758 4\uC694\uC18C \uBAA8\uB450\uB97C \uD3C9\uAC00\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4." }), _jsx(GaugeTest, {})] }), _jsxs("div", { className: cn(explainBox), children: [_jsx("div", { className: "font-bold text-gray-dark text-xl", children: "\uC5B8\uC5B4\uC758 \uB124\uAC00\uC9C0 \uC694\uC18C \uD3C9\uAC00" }), _jsx("div", { className: "w-full h-0.5 bg-gradient-to-r from-crimson-burgundy to-green-dark mt-1" }), _jsx("div", { className: "mt-5 font-medium text-gray-dark text-base md:text-lg leading-normal", children: "TOSEL\uC740 \uC5B8\uC5B4\uC758 \uB124 \uAC00\uC9C0 \uC694\uC18C\uC778 \uC77D\uAE30, \uB4E3\uAE30, \uB9D0\uD558\uAE30, \uC4F0\uAE30 \uC601\uC5ED\uC744 \uBAA8\uB450 \uD3C9\uAC00\uD569\uB2C8\uB2E4." }), _jsx(FourSection, {})] })] })] }) }));
|
|
43
|
-
}
|
|
44
|
-
import { useState, useRef } from 'react';
|
|
45
|
-
const snapPoints = [10, 25, 40, 55, 70, 85, 100];
|
|
46
|
-
const contentMap = {
|
|
47
|
-
10: { name: "Cocoon", age: "3-5세의 미취학 아동 대상", code: "K5-K7", detail: "기본적인 의사소통 능력" },
|
|
48
|
-
25: { name: "Pre-Starter", age: "초등학교 1-2학년 대상", code: "P1-P2", detail: "친숙한 주제에 대한 단어, 짧은 대화, 기본 표현 능력" },
|
|
49
|
-
40: { name: "Starter", age: "초등학교 3-4학년 대상", code: "P3-P4", detail: "흔히 접하는 주제에 대한 짧은 문장 이해, 실질적인 영어 기초 의사소통 능력" },
|
|
50
|
-
55: { name: "Basic", age: "초등학교 5-6학년 대상", code: "P5-P6", detail: "개인정보, 일상활동, 미래계획, 과거경험에 대한 구어/문어 형태의 의사소통 능력" },
|
|
51
|
-
70: { name: "Junior", age: "중학생 대상", code: "M1-M3", detail: "일반적인 주제에 대한 실용문, 짧은 단락 이해, 일상대화 관련 의사소통 능력" },
|
|
52
|
-
85: { name: "High-Junior", age: "고등학생 대상", code: "H1-H3", detail: "넓은 범위의 사회/학문 분야 중문과 복잡한 문장 등의 다양한 문장구조의 사용 능력" },
|
|
53
|
-
100: { name: "Advanced", age: "대학생, 성인 대상", code: "Adult", detail: "대학/대학원에서의 수학능력 및 취업, 직업근무환경에 필요한 실용영어능력에 대한 평가" },
|
|
54
|
-
};
|
|
55
|
-
export function GaugeTest() {
|
|
56
|
-
const [value, setValue] = useState(10);
|
|
57
|
-
const [isDragging, setIsDragging] = useState(false);
|
|
58
|
-
const gaugeRef = useRef(null);
|
|
59
|
-
const handleDrag = (clientX) => {
|
|
60
|
-
if (gaugeRef.current) {
|
|
61
|
-
const rect = gaugeRef.current.getBoundingClientRect();
|
|
62
|
-
const offsetX = clientX - rect.left;
|
|
63
|
-
let newValue = Math.round((offsetX / rect.width) * 100);
|
|
64
|
-
newValue = Math.max(10, Math.min(newValue, 100));
|
|
65
|
-
newValue = snapPoints.reduce((prev, curr) => Math.abs(curr - newValue) < Math.abs(prev - newValue) ? curr : prev);
|
|
66
|
-
setValue(newValue);
|
|
67
|
-
}
|
|
68
|
-
};
|
|
69
|
-
const handleMouseMove = (e) => {
|
|
70
|
-
if (isDragging) {
|
|
71
|
-
handleDrag(e.clientX);
|
|
72
|
-
}
|
|
73
|
-
};
|
|
74
|
-
const handleTouchMove = (e) => {
|
|
75
|
-
if (isDragging) {
|
|
76
|
-
handleDrag(e.touches[0].clientX);
|
|
77
|
-
}
|
|
78
|
-
};
|
|
79
|
-
const handleMouseDown = () => {
|
|
80
|
-
setIsDragging(true);
|
|
81
|
-
};
|
|
82
|
-
const handleMouseUp = () => {
|
|
83
|
-
setIsDragging(false);
|
|
84
|
-
};
|
|
85
|
-
const handleTouchStart = () => {
|
|
86
|
-
setIsDragging(true);
|
|
87
|
-
};
|
|
88
|
-
const handleTouchEnd = () => {
|
|
89
|
-
setIsDragging(false);
|
|
90
|
-
};
|
|
91
|
-
const displayContent = () => {
|
|
92
|
-
const content = contentMap[value];
|
|
93
|
-
return content ? (_jsxs("div", { className: "flex flex-col w-full justify-center items-start", children: [_jsx("div", { className: "font-bold text-xl text-crimson-burgundy w-full", children: content.name }), _jsxs("div", { className: "font-medium text-sm text-crimson-burgundy", children: [content.age, " / ", content.code] }), _jsx("div", { className: "w-full text-sm xs:text-base font-medium mt-5 text-gray-dark", children: content.detail })] })) : null;
|
|
94
|
-
};
|
|
95
|
-
const container = {
|
|
96
|
-
displays: "flex flex-col items-center",
|
|
97
|
-
sizes: "gap-y-4 rounded-lg xs:p-8 p-4",
|
|
98
|
-
bacgrounds: "shadow-main bg-white",
|
|
99
|
-
spacings: "mt-8"
|
|
100
|
-
};
|
|
101
|
-
return (_jsxs("div", { className: cn(container), children: [_jsx("div", { className: "w-full flex justify-center items-center font-medium text-green-dark text-xs", children: "\uC544\uB798\uC758 \uAC8C\uC774\uC9C0\uB97C \uC6C0\uC9C1\uC5EC\uBCF4\uC138\uC694" }), _jsx("div", { className: "w-full max-w-xl p-1 rounded-full bg-gray-light", children: _jsxs("div", { ref: gaugeRef, className: "relative w-full h-8 bg-gray-light rounded-full cursor-pointer", onMouseMove: handleMouseMove, onMouseDown: handleMouseDown, onMouseUp: handleMouseUp, onClick: (e) => handleDrag(e.clientX), onTouchMove: handleTouchMove, onTouchStart: handleTouchStart, onTouchEnd: handleTouchEnd, children: [snapPoints.map((point) => (_jsx("div", { className: "absolute w-1 h-1 bg-gray-medium rounded-full top-4", style: { left: `${point - 3}%`, transform: 'translate(-50%, -50%)' } }, point))), _jsx("div", { className: "shadow-green absolute top-0 h-full bg-gradient-to-r from-green-dark to-crimson-burgundy rounded-full transition-all duration-300", style: { width: `${value}%` } }), _jsx("div", { className: "absolute top-1/2 left-0 transform -translate-x-1/2 -translate-y-1/2 xs:w-6 xs:h-6 w-3 h-3 bg-white rounded-full transition-all duration-300", style: { left: `${value}%`, marginLeft: "-16px" } })] }) }), _jsx("div", { className: "text-lg font-bold w-full mt-5", children: displayContent() })] }));
|
|
102
|
-
}
|
|
103
|
-
export function FourSection() {
|
|
104
|
-
const graphWrapper = {
|
|
105
|
-
sizes: "relative w-full h-fit overflow-visible mt-8",
|
|
106
|
-
};
|
|
107
|
-
const xExplainer = {
|
|
108
|
-
displays: "absolute flex flex-row top-0 ml-6",
|
|
109
|
-
sizes: "w-[calc(100%-24px)] h-6",
|
|
110
|
-
};
|
|
111
|
-
const yExplainer = {
|
|
112
|
-
displays: "absolute flex flex-col top-6",
|
|
113
|
-
sizes: "h-[calc(100%-24px)] w-6",
|
|
114
|
-
};
|
|
115
|
-
const graphContainer = {
|
|
116
|
-
sizes: "w-[calc(100%-24px)] h-fit rounded-lg",
|
|
117
|
-
displays: "grid grid-cols-2 relative",
|
|
118
|
-
backgrounds: "bg-gradient-to-r from-crimson-burgundy/10 to-green-dark/10 hover:shadow-main duration-300",
|
|
119
|
-
spacings: "mt-6 ml-6",
|
|
120
|
-
};
|
|
121
|
-
const cell = {
|
|
122
|
-
displays: "flex flex-col gap-1 justify-center items-center",
|
|
123
|
-
spacings: "py-4",
|
|
124
|
-
};
|
|
125
|
-
const title = {
|
|
126
|
-
textstyles: "font-bold text-lg text-gray-dark",
|
|
127
|
-
};
|
|
128
|
-
const subtitle = {
|
|
129
|
-
textstyles: "font-medium text-base text-gray-medium",
|
|
130
|
-
};
|
|
131
|
-
return (_jsxs("div", { className: cn(graphWrapper), children: [_jsxs("div", { className: cn(graphContainer), children: [_jsxs("div", { className: cn(cell), children: [_jsx("div", { className: cn(title), children: "\uC4F0\uAE30" }), _jsx("div", { className: cn(subtitle), children: "Writing" })] }), _jsxs("div", { className: cn(cell), children: [_jsx("div", { className: cn(title), children: "\uB9D0\uD558\uAE30" }), _jsx("div", { className: cn(subtitle), children: "Speaking" })] }), _jsxs("div", { className: cn(cell), children: [_jsx("div", { className: cn(title), children: "\uC77D\uAE30" }), _jsx("div", { className: cn(subtitle), children: "Reading" })] }), _jsxs("div", { className: cn(cell), children: [_jsx("div", { className: cn(title), children: "\uB4E3\uAE30" }), _jsx("div", { className: cn(subtitle), children: "Listening" })] }), _jsx("div", { className: "absolute w-full h-full top-0 bottom-0", children: _jsx("div", { className: "h-full w-[1px] m-auto bg-white" }) }), _jsx("div", { className: "absolute flex w-full h-full top-0 bottom-0 justify-center items-center", children: _jsx("div", { className: "w-full h-[1px] my-auto bg-white" }) })] }), _jsxs("div", { className: cn(xExplainer), children: [_jsx("div", { className: "w-full h-full flex font-medium text-xs text-gray-medium text-center items-center justify-center", children: "\uBB38\uC790\uC5B8\uC5B4" }), _jsx("div", { className: "w-full h-full flex font-medium text-xs text-gray-medium text-center items-center justify-center", children: "\uC74C\uC131\uC5B8\uC5B4" })] }), _jsxs("div", { className: cn(yExplainer), children: [_jsx("div", { className: "w-full h-full flex font-medium text-xs text-gray-medium text-center items-center justify-center", children: _jsx("div", { className: "rotate-[270deg]", children: "\uAC04\uC811\uD3C9\uAC00" }) }), _jsx("div", { className: "w-full h-full flex font-medium text-xs text-gray-medium text-center items-center justify-center", children: _jsx("div", { className: "rotate-[270deg]", children: "\uC9C1\uC811\uD3C9\uAC00" }) })] })] }));
|
|
132
|
-
}
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
export default function OfflineExam(): import("react/jsx-runtime").JSX.Element;
|
|
2
|
-
export declare function TableComponent(): import("react/jsx-runtime").JSX.Element;
|
|
3
|
-
export declare function AnnualTableComponent(): import("react/jsx-runtime").JSX.Element;
|
|
4
|
-
export declare function TimeTableComponent(): import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,204 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { useEffect, useRef } from "react";
|
|
3
|
-
import { gsap } from "gsap";
|
|
4
|
-
import { ScrollTrigger } from "gsap/ScrollTrigger";
|
|
5
|
-
import { cn } from "../../../util";
|
|
6
|
-
import { useResponsive } from "../../../hook";
|
|
7
|
-
import urlAsset from "../../../asset/url";
|
|
8
|
-
gsap.registerPlugin(ScrollTrigger);
|
|
9
|
-
export default function OfflineExam() {
|
|
10
|
-
const isMD = useResponsive("md");
|
|
11
|
-
const scrollWrapperRef = useRef(null);
|
|
12
|
-
useEffect(() => {
|
|
13
|
-
//stop scroll action while mobile
|
|
14
|
-
if (!isMD)
|
|
15
|
-
return;
|
|
16
|
-
const ctx = gsap.context(() => {
|
|
17
|
-
const scrollWrapper = scrollWrapperRef.current;
|
|
18
|
-
if (scrollWrapper) {
|
|
19
|
-
const scrollTrigger = ScrollTrigger.create({
|
|
20
|
-
trigger: scrollWrapper,
|
|
21
|
-
start: "top-=80 top",
|
|
22
|
-
end: "bottom+=80 bottom",
|
|
23
|
-
pin: true,
|
|
24
|
-
markers: false,
|
|
25
|
-
onLeave: () => {
|
|
26
|
-
console.log("Scroll completed, navigate to the next component");
|
|
27
|
-
},
|
|
28
|
-
});
|
|
29
|
-
return () => {
|
|
30
|
-
scrollTrigger.kill();
|
|
31
|
-
};
|
|
32
|
-
}
|
|
33
|
-
});
|
|
34
|
-
return () => ctx.revert();
|
|
35
|
-
}, [isMD]);
|
|
36
|
-
const container = {
|
|
37
|
-
displays: "flex flex-col justify-center items-center",
|
|
38
|
-
sizes: "w-full h-fit min-h-screen",
|
|
39
|
-
spacings: "pt-44 md:px-10 px-5 pb-20",
|
|
40
|
-
backgrounds: "bg-gray-light/50",
|
|
41
|
-
};
|
|
42
|
-
//controlls max-w
|
|
43
|
-
const mainWrapper = {
|
|
44
|
-
displays: "flex flex-col md:flex-row",
|
|
45
|
-
sizes: "w-full max-w-6xl",
|
|
46
|
-
};
|
|
47
|
-
const titleWrapper = {
|
|
48
|
-
displays: "flex flex-col gap-0",
|
|
49
|
-
sizes: "w-full h-auto",
|
|
50
|
-
spacings: "mb-5 md:mb-0",
|
|
51
|
-
};
|
|
52
|
-
const sectionTitle = {
|
|
53
|
-
sizes: "w-full h-fit",
|
|
54
|
-
textStyles: "font-bold text-crimson-burgundy text-xl xxs:text-2xl lg:text-3xl",
|
|
55
|
-
};
|
|
56
|
-
const sectionSubTitle = {
|
|
57
|
-
sizes: "w-full h-fit",
|
|
58
|
-
textStyles: "font-medium text-gray-medium text-sm md:text-base",
|
|
59
|
-
};
|
|
60
|
-
//button styling
|
|
61
|
-
const AdvertButton = {
|
|
62
|
-
displays: "relative overflow-hidden flex justify-center items-center",
|
|
63
|
-
sizes: "h-fit w-full md:w-fit rounded-lg",
|
|
64
|
-
textstyles: "text-lg font-pretendard-medium text-center text-green-dark hover:text-white",
|
|
65
|
-
spacings: "px-3 py-2 md:mt-16 mt-10",
|
|
66
|
-
animations: "group duration-300",
|
|
67
|
-
};
|
|
68
|
-
//before hover gradient
|
|
69
|
-
const buttonBackground1 = {
|
|
70
|
-
displays: "absolute inset-0",
|
|
71
|
-
backgrounds: "bg-green-dark/10",
|
|
72
|
-
};
|
|
73
|
-
//after hover gradient
|
|
74
|
-
const buttonBackground2 = {
|
|
75
|
-
displays: "absolute inset-0",
|
|
76
|
-
backgrounds: "bg-gradient-to-r from-crimson-burgundy to-green-dark",
|
|
77
|
-
animation: "transition-opacity duration-300 opacity-0 group-hover:opacity-100",
|
|
78
|
-
};
|
|
79
|
-
const buttonText = {
|
|
80
|
-
textstyles: "text-lg font-pretendard-medium text-center relative z-10",
|
|
81
|
-
};
|
|
82
|
-
const scrollWrapper = {
|
|
83
|
-
displays: "flex flex-col flex-shrink-0",
|
|
84
|
-
sizes: "md:w-[calc(100vw-376px)] ml:w-[calc(100%-472px)] w-full",
|
|
85
|
-
spacings: "gap-10",
|
|
86
|
-
};
|
|
87
|
-
const miniBox = {
|
|
88
|
-
displays: "flex flex-col",
|
|
89
|
-
sizes: "w-full h-fit rounded-lg p-5",
|
|
90
|
-
backgrounds: "bg-gray-light",
|
|
91
|
-
};
|
|
92
|
-
const miniTitle = {
|
|
93
|
-
textStyles: "font-bold text-gray-dark text-lg xxs:text-xl",
|
|
94
|
-
};
|
|
95
|
-
const miniDivider = {
|
|
96
|
-
sizes: "w-full h-0.5 mt-1",
|
|
97
|
-
colors: "bg-gradient-to-r from-crimson-burgundy to-green-dark flex-shrink-0",
|
|
98
|
-
};
|
|
99
|
-
return (_jsx("div", { className: cn(container), children: _jsxs("div", { className: cn(mainWrapper), children: [_jsxs("div", { className: cn(titleWrapper), ref: scrollWrapperRef, children: [_jsx("div", { className: cn(sectionTitle), children: "\uC815\uAE30\uC2DC\uD5D8 \uC548\uB0B4" }), _jsx("div", { className: cn(sectionSubTitle), children: "\uC5F0 4\uD68C, \uC624\uD504\uB77C\uC778\uC73C\uB85C \uAC1C\uCD5C\uB418\uB294 \uD1A0\uC140 \uC815\uAE30\uC2DC\uD5D8\uC785\uB2C8\uB2E4." }), isMD && (_jsxs("div", { onClick: () => (window.location.href = urlAsset.homepage("/dashboard")), className: cn(AdvertButton), children: [_jsx("div", { className: cn(buttonBackground1) }), _jsx("div", { className: cn(buttonBackground2) }), _jsx("div", { className: cn(buttonText), children: "\uC9C0\uAE08 \uC811\uC218\uD558\uAE30" })] }))] }), _jsxs("div", { className: cn(scrollWrapper), children: [_jsxs("div", { className: cn(miniBox), children: [_jsx("div", { className: cn(miniTitle), children: "\uC2DC\uD5D8\uAD6C\uC131" }), _jsx("div", { className: cn(miniDivider) }), _jsx("div", { className: "h-full w-full mt-5", children: _jsx(TableComponent, {}) })] }), _jsxs("div", { className: cn(miniBox), children: [_jsx("div", { className: cn(miniTitle), children: "\uC5F0\uAC04 \uC2DC\uD5D8 \uC77C\uC815" }), _jsx("div", { className: cn(miniDivider) }), _jsx("div", { className: "h-full w-full mt-5", children: _jsx(AnnualTableComponent, {}) })] }), _jsxs("div", { className: cn(miniBox), children: [_jsx("div", { className: cn(miniTitle), children: "\uB2F9\uC77C \uC138\uBD80\uC77C\uC815" }), _jsx("div", { className: cn(miniDivider) }), _jsx("div", { className: "h-full w-full mt-5", children: _jsx(TimeTableComponent, {}) }), _jsxs("div", { className: "flex flex-col mt-4", children: [_jsx("div", { className: "text-gray-medium font-medium text-sm", children: "*\uACE0\uC0AC\uC7A5 \uB0B4\uBD80\uC5D0\uB294 \uD559\uBD80\uBAA8\uC758 \uCD9C\uC785\uC774 \uC81C\uD55C\uB429\uB2C8\uB2E4." }), _jsx("div", { className: "text-gray-medium font-medium text-sm", children: "*\uC785\uC2E4\uB9C8\uAC10(13\uC2DC 10\uBD84)\uC2DC\uAC04\uC744 \uC900\uC218\uD574\uC8FC\uC2DC\uAE30 \uBC14\uB78D\uB2C8\uB2E4." })] })] })] }), !isMD && (_jsxs("div", { onClick: () => (window.location.href = urlAsset.homepage("/dashboard")), className: cn(AdvertButton), children: [_jsx("div", { className: cn(buttonBackground1) }), _jsx("div", { className: cn(buttonBackground2) }), _jsx("div", { className: cn(buttonText), children: "\uC9C0\uAE08 \uC811\uC218\uD558\uAE30" })] }))] }) }));
|
|
100
|
-
}
|
|
101
|
-
export function TableComponent() {
|
|
102
|
-
const data = [
|
|
103
|
-
{
|
|
104
|
-
id: 1,
|
|
105
|
-
level: "Cocoon",
|
|
106
|
-
age: "미취학 아동, 5-7세",
|
|
107
|
-
info1: "Section1: 15문항/15분",
|
|
108
|
-
info2: "Section2: 15문항/15분",
|
|
109
|
-
totalScore: "100점",
|
|
110
|
-
},
|
|
111
|
-
{
|
|
112
|
-
id: 2,
|
|
113
|
-
level: "Pre-Starter",
|
|
114
|
-
age: "초등학교 1-2학년",
|
|
115
|
-
info1: "Section1: 15문항/15분",
|
|
116
|
-
info2: "Section2: 20문항/25분",
|
|
117
|
-
totalScore: "100점",
|
|
118
|
-
},
|
|
119
|
-
{
|
|
120
|
-
id: 3,
|
|
121
|
-
level: "Starter",
|
|
122
|
-
age: "초등학교 3-4학년",
|
|
123
|
-
info1: "Section1: 20문항/15분",
|
|
124
|
-
info2: "Section2: 20문항/25분",
|
|
125
|
-
totalScore: "100점",
|
|
126
|
-
},
|
|
127
|
-
{
|
|
128
|
-
id: 4,
|
|
129
|
-
level: "Basic",
|
|
130
|
-
age: "초등학교 5-6학년",
|
|
131
|
-
info1: "Section1: 30문항/20분",
|
|
132
|
-
info2: "Section2: 30문항/30분",
|
|
133
|
-
totalScore: "100점",
|
|
134
|
-
},
|
|
135
|
-
{
|
|
136
|
-
id: 5,
|
|
137
|
-
level: "Junior",
|
|
138
|
-
age: "중학생",
|
|
139
|
-
info1: "Section1: 30문항/20분",
|
|
140
|
-
info2: "Section2: 30문항/30분",
|
|
141
|
-
totalScore: "100점",
|
|
142
|
-
},
|
|
143
|
-
{
|
|
144
|
-
id: 6,
|
|
145
|
-
level: "High Junior",
|
|
146
|
-
age: "고등학생",
|
|
147
|
-
info1: "Section1: 30문항/25분",
|
|
148
|
-
info2: "Section2: 35문항/35분",
|
|
149
|
-
totalScore: "100점",
|
|
150
|
-
},
|
|
151
|
-
{
|
|
152
|
-
id: 7,
|
|
153
|
-
level: "Advanced",
|
|
154
|
-
age: "대학생 및 성인",
|
|
155
|
-
info1: "Section1: 70문항/45분",
|
|
156
|
-
info2: "Section2: 70문항/55분",
|
|
157
|
-
totalScore: "990점",
|
|
158
|
-
},
|
|
159
|
-
];
|
|
160
|
-
return (_jsx("div", { className: "overflow-auto w-full scrollbar-hidden rounded-lg", children: _jsxs("div", { className: "min-w-[640px] w-full", children: [_jsxs("div", { className: "flex bg-gradient-to-r from-green-dark to-crimson-burgundy text-white font-semibold text-sm", children: [_jsx("div", { className: "sticky left-0 bg-green-dark p-2 flex-[1] shadow-main", children: "\uB808\uBCA8" }), _jsx("div", { className: "p-2 flex-[2]", children: "\uCD9C\uC81C\uC218\uC900" }), _jsx("div", { className: "p-2 flex-[3]", children: "\uBB38\uD56D \uC218, \uC2DC\uAC04" }), _jsx("div", { className: "p-2 flex-[1]", children: "\uCD1D\uC810" })] }), data.map((item) => (_jsxs("div", { className: "flex bg-white/60 font-medium text-sm text-gray-medium ", children: [_jsx("div", { className: "sticky left-0 bg-white/90 p-2 flex-[1] text-gray-dark border-green-dark border-r-1", children: item.level }), _jsx("div", { className: "p-2 flex-[2]", children: item.age }), _jsxs("div", { className: "p-2 flex-[3] flex-col", children: [_jsx("div", { children: item.info1 }), _jsx("div", { children: item.info2 })] }), _jsx("div", { className: "p-2 flex-[1]", children: item.totalScore })] }, item.id)))] }) }));
|
|
161
|
-
}
|
|
162
|
-
export function AnnualTableComponent() {
|
|
163
|
-
const data = [
|
|
164
|
-
{
|
|
165
|
-
examNumber: "86",
|
|
166
|
-
dDay: "24.11.16",
|
|
167
|
-
regStartDay: "24.08.19",
|
|
168
|
-
regEndDay: "24.10.29",
|
|
169
|
-
resultDay: "24.12.05",
|
|
170
|
-
},
|
|
171
|
-
{
|
|
172
|
-
examNumber: "87",
|
|
173
|
-
dDay: "25.02.15",
|
|
174
|
-
regStartDay: "24.11.18",
|
|
175
|
-
regEndDay: "25.01.28",
|
|
176
|
-
resultDay: "25.03.06",
|
|
177
|
-
},
|
|
178
|
-
{
|
|
179
|
-
examNumber: "88",
|
|
180
|
-
dDay: "25.05.17",
|
|
181
|
-
regStartDay: "25.02.17",
|
|
182
|
-
regEndDay: "25.04.29",
|
|
183
|
-
resultDay: "25.06.05",
|
|
184
|
-
},
|
|
185
|
-
{
|
|
186
|
-
examNumber: "89",
|
|
187
|
-
dDay: "25.08.23",
|
|
188
|
-
regStartDay: "25.05.19",
|
|
189
|
-
regEndDay: "25.07.29",
|
|
190
|
-
resultDay: "25.09.11",
|
|
191
|
-
},
|
|
192
|
-
{
|
|
193
|
-
examNumber: "90",
|
|
194
|
-
dDay: "25.11.15",
|
|
195
|
-
regStartDay: "25.08.25",
|
|
196
|
-
regEndDay: "25.10.28",
|
|
197
|
-
resultDay: "25.12.04",
|
|
198
|
-
},
|
|
199
|
-
];
|
|
200
|
-
return (_jsx("div", { className: "overflow-auto w-full scrollbar-hidden rounded-lg", children: _jsxs("div", { className: "min-w-[480px] w-full", children: [_jsxs("div", { className: "flex bg-gradient-to-r from-green-dark to-crimson-burgundy text-white font-semibold text-sm", children: [_jsx("div", { className: "sticky left-0 bg-green-dark p-2 flex-[1] shadow-main", children: "\uD68C\uCC28" }), _jsx("div", { className: "p-2 flex-[2]", children: "\uC2DC\uD5D8\uC77C\uC790" }), _jsx("div", { className: "p-2 flex-[3]", children: "\uC811\uC218\uAE30\uAC04" }), _jsx("div", { className: "p-2 flex-[2]", children: "\uC131\uC801\uBC1C\uD45C" })] }), data.map((item) => (_jsxs("div", { className: "flex bg-white/60 font-medium text-sm text-gray-medium ", children: [_jsxs("div", { className: "sticky left-0 bg-white/90 p-2 flex-[1] text-gray-dark border-green-dark border-r-1", children: [item.examNumber, "\uD68C"] }), _jsx("div", { className: "p-2 flex-[2] text-green-dark font-bold", children: item.dDay }), _jsxs("div", { className: "p-2 flex-[3] flex-col", children: [item.regStartDay, " ~ ", item.regEndDay] }), _jsx("div", { className: "p-2 flex-[2]", children: item.resultDay })] }, item.examNumber)))] }) }));
|
|
201
|
-
}
|
|
202
|
-
export function TimeTableComponent() {
|
|
203
|
-
return (_jsx("div", { className: "overflow-auto w-full scrollbar-hidden", children: _jsxs("div", { className: "min-w-[600px] w-full", children: [_jsxs("div", { className: "flex text-green-dark font-bold text-xs", children: [_jsx("div", { className: "sticky left-0 rounded-md p-2 flex-[2] text-xs" }), _jsx("div", { className: "p-2 flex-[1]" }), _jsx("div", { className: "p-2 flex-[4]", children: "13:10" }), _jsx("div", { className: "p-2 flex-[1]", children: "13:35" }), _jsx("div", { className: "p-2 flex-[2]", children: "13:40" }), _jsx("div", { className: "p-2 flex-[1]", children: "14:20" })] }), _jsxs("div", { className: "flex bg-white/50 text-gray-dark font-semibold text-xs rounded-md", children: [_jsxs("div", { className: "sticky left-0 bg-white/90 rounded-md p-2 flex-[2]", children: ["Pre-Starter ", _jsx("br", {}), " Starter"] }), _jsx("div", { className: "p-2 flex-[1] border-green-dark border-r-1 border-dashed", children: "\uC785\uC2E4" }), _jsx("div", { className: "p-2 flex-[4] border-green-dark border-r-1 border-dashed", children: "\uC2DC\uD5D8\uC9C0 \uBC30\uBD80" }), _jsx("div", { className: "p-2 flex-[1] border-green-dark border-r-1 border-dashed", children: "\uB300\uAE30" }), _jsx("div", { className: "p-2 flex-[2] border-green-dark border-r-1 border-dashed bg-green-light text-green-dark", children: "\uC2DC\uD5D8\uC9C4\uD589 / 40\uBD84" }), _jsx("div", { className: "p-2 flex-[1]" })] }), _jsxs("div", { className: "flex text-green-dark font-bold text-xs mt-4", children: [_jsx("div", { className: "sticky left-0 rounded-md p-2 flex-[2] text-lg" }), _jsx("div", { className: "p-2 flex-[1]" }), _jsx("div", { className: "p-2 flex-[2]", children: "13:10" }), _jsx("div", { className: "p-2 flex-[1]", children: "13:25" }), _jsx("div", { className: "p-2 flex-[4]", children: "13:30" }), _jsx("div", { className: "p-2 flex-[1]", children: "14:20" })] }), _jsxs("div", { className: "flex bg-white/50 text-gray-dark font-semibold text-xs rounded-md", children: [_jsxs("div", { className: "sticky left-0 bg-white/90 rounded-md p-2 flex-[2]", children: ["Basic ", _jsx("br", {}), " Junior"] }), _jsx("div", { className: "p-2 flex-[1] border-green-dark border-r-1 border-dashed", children: "\uC785\uC2E4" }), _jsx("div", { className: "p-2 flex-[2] border-green-dark border-r-1 border-dashed", children: "\uC2DC\uD5D8\uC9C0 \uBC30\uBD80" }), _jsx("div", { className: "p-2 flex-[1] border-green-dark border-r-1 border-dashed", children: "\uB300\uAE30" }), _jsx("div", { className: "p-2 flex-[4] border-green-dark border-r-1 border-dashed bg-green-light text-green-dark", children: "\uC2DC\uD5D8\uC9C4\uD589 / 50\uBD84" }), _jsx("div", { className: "p-2 flex-[1] bg" })] }), _jsxs("div", { className: "flex text-green-dark font-bold text-xs mt-4", children: [_jsx("div", { className: "sticky left-0 rounded-md p-2 flex-[2] text-lg" }), _jsx("div", { className: "p-2 flex-[1]" }), _jsx("div", { className: "p-2 flex-[2]", children: "13:10" }), _jsx("div", { className: "p-2 flex-[1]", children: "13:25" }), _jsx("div", { className: "p-2 flex-[4]", children: "13:30" }), _jsx("div", { className: "p-2 flex-[1] text-right", children: "14:30" })] }), _jsxs("div", { className: "flex bg-white/50 text-gray-dark font-semibold text-xs rounded-md", children: [_jsx("div", { className: "sticky left-0 bg-white/90 rounded-md p-2 flex-[2]", children: "High-Junior" }), _jsx("div", { className: "p-2 flex-[1] border-green-dark border-r-1 border-dashed", children: "\uC785\uC2E4" }), _jsx("div", { className: "p-2 flex-[2] border-green-dark border-r-1 border-dashed", children: "\uC2DC\uD5D8\uC9C0 \uBC30\uBD80" }), _jsx("div", { className: "p-2 flex-[1] border-green-dark border-r-1 border-dashed", children: "\uB300\uAE30" }), _jsx("div", { className: "p-2 flex-[4] bg-green-light text-green-dark", children: "\uC2DC\uD5D8\uC9C4\uD589 / 60\uBD84" }), _jsx("div", { className: "p-2 flex-[1] bg-green-light border-green-dark border-r-1 border-dashed" })] })] }) }));
|
|
204
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export default function RegexamLayout(): import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { useRef } from "react";
|
|
3
|
-
import { Regexam } from "../../../layout";
|
|
4
|
-
import { cn } from "../../../util";
|
|
5
|
-
export default function RegexamLayout() {
|
|
6
|
-
const ref = useRef(null);
|
|
7
|
-
const container = {
|
|
8
|
-
sizes: "min-h-screen w-full",
|
|
9
|
-
textoptions: "break-keep antialiased",
|
|
10
|
-
cursor: "cursor-default",
|
|
11
|
-
};
|
|
12
|
-
return (_jsxs("div", { className: cn(container), children: [_jsx(Regexam.Banner, {}), _jsx(Regexam.Evaluation, {}), _jsx(Regexam.OfflineExam, {}), _jsx(Regexam.Types, {})] }));
|
|
13
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export default function Types(): import("react/jsx-runtime").JSX.Element;
|