11
@@ -4,7 +4,7 @@
|
|||||||
<div class="footer-info">
|
<div class="footer-info">
|
||||||
<h4 class="footer-brand">{{ siteName }}</h4>
|
<h4 class="footer-brand">{{ siteName }}</h4>
|
||||||
<p class="footer-meta">
|
<p class="footer-meta">
|
||||||
전국 초·중·고 1:1 맞춤 방문과외 및 실시간 화상코칭 서비스 | 대표번호: 1588-0000<br />
|
전국 초·중·고 1:1 맞춤 방문과외 및 실시간 화상코칭 서비스 | 대표번호: 010-5961-5807<br />
|
||||||
사업자등록번호: 123-45-67890 | 통신판매업신고: 제2026-서울강남-0123호 | 개인정보관리책임자: 교육연구소<br />
|
사업자등록번호: 123-45-67890 | 통신판매업신고: 제2026-서울강남-0123호 | 개인정보관리책임자: 교육연구소<br />
|
||||||
주소: 서울특별시 강남구 테헤란로 123 에듀빌딩 4층
|
주소: 서울특별시 강남구 테헤란로 123 에듀빌딩 4층
|
||||||
</p>
|
</p>
|
||||||
|
|||||||
@@ -110,7 +110,7 @@
|
|||||||
<span v-if="loading">문의 전송 중...</span>
|
<span v-if="loading">문의 전송 중...</span>
|
||||||
<span v-else>문의 보내기</span>
|
<span v-else>문의 보내기</span>
|
||||||
</button>
|
</button>
|
||||||
<a href="tel:1588-0000" class="btn-call">
|
<a href="tel:010-5961-5807" class="btn-call">
|
||||||
전화로 바로 상담
|
전화로 바로 상담
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -22,7 +22,7 @@
|
|||||||
</a>
|
</a>
|
||||||
<div class="hero-call-info">
|
<div class="hero-call-info">
|
||||||
<span class="call-icon"></span>
|
<span class="call-icon"></span>
|
||||||
<span class="call-text">실시간 학습상담 <strong>1588-0000</strong></span>
|
<span class="call-text">실시간 학습상담 <strong>010-5961-5807</strong></span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
@@ -3,10 +3,10 @@ version: '3.8'
|
|||||||
services:
|
services:
|
||||||
app:
|
app:
|
||||||
build: .
|
build: .
|
||||||
container_name: saesoledu_site2
|
container_name: aeseo_shop_frontend
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
ports:
|
ports:
|
||||||
- "3012:3000"
|
- "80:3000"
|
||||||
environment:
|
environment:
|
||||||
- NODE_ENV=production
|
- NODE_ENV=production
|
||||||
- SITE_DOMAIN=https://aeseo.shop
|
- SITE_DOMAIN=https://aeseo.shop
|
||||||
|
|||||||
@@ -0,0 +1,38 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="500" height="500" viewBox="0 0 500 500">
|
||||||
|
<defs>
|
||||||
|
<linearGradient id="grad" x1="0%" y1="0%" x2="100%" y2="100%">
|
||||||
|
<stop offset="0%" stop-color="#0284c7"/>
|
||||||
|
<stop offset="100%" stop-color="#0369a1"/>
|
||||||
|
</linearGradient>
|
||||||
|
<radialGradient id="glow" cx="50%" cy="30%" r="50%">
|
||||||
|
<stop offset="0%" stop-color="#ffffff" stop-opacity="0.25"/>
|
||||||
|
<stop offset="100%" stop-color="#ffffff" stop-opacity="0"/>
|
||||||
|
</radialGradient>
|
||||||
|
</defs>
|
||||||
|
|
||||||
|
<!-- 배경 -->
|
||||||
|
<rect width="500" height="500" rx="32" fill="url(#grad)"/>
|
||||||
|
<rect width="500" height="500" rx="32" fill="url(#glow)"/>
|
||||||
|
|
||||||
|
<!-- 장식 원형 패턴 -->
|
||||||
|
<circle cx="430" cy="80" r="100" fill="#ffffff" opacity="0.05"/>
|
||||||
|
<circle cx="70" cy="420" r="80" fill="#ffffff" opacity="0.04"/>
|
||||||
|
|
||||||
|
<!-- 상단 뱃지 -->
|
||||||
|
<rect x="50" y="45" width="140" height="38" rx="19" fill="#ffffff" opacity="0.2"/>
|
||||||
|
<text x="120" y="70" font-family="'Pretendard', sans-serif" font-size="16" font-weight="700" fill="#ffffff" text-anchor="middle" letter-spacing="-0.3">초등 집중 1단계</text>
|
||||||
|
|
||||||
|
<!-- 중앙 아이콘 -->
|
||||||
|
<g>
|
||||||
|
<path d="M170 200 C210 185 240 185 250 195 C260 185 290 185 330 200 L330 290 C290 275 260 275 250 285 C240 275 210 275 170 290 Z" fill="none" stroke="#ffffff" stroke-width="12" stroke-linecap="round" stroke-linejoin="round"/>
|
||||||
|
<line x1="250" y1="195" x2="250" y2="285" stroke="#ffffff" stroke-width="10" stroke-linecap="round"/>
|
||||||
|
</g>
|
||||||
|
|
||||||
|
<!-- 하단 텍스트 영역 -->
|
||||||
|
<text x="250" y="380" font-family="'Pretendard', sans-serif" font-size="34" font-weight="900" fill="#ffffff" text-anchor="middle" letter-spacing="-0.8">기초학습</text>
|
||||||
|
<text x="250" y="420" font-family="'Pretendard', sans-serif" font-size="18" font-weight="600" fill="#ffffff" opacity="0.85" text-anchor="middle" letter-spacing="-0.5">개념 이해와 튼튼한 연산 기본기</text>
|
||||||
|
|
||||||
|
<!-- 하단 액션 텍스트 -->
|
||||||
|
<rect x="175" y="445" width="150" height="28" rx="14" fill="#ffffff" opacity="0.25"/>
|
||||||
|
<text x="250" y="464" font-family="'Pretendard', sans-serif" font-size="13" font-weight="700" fill="#ffffff" text-anchor="middle">1:1 맞춤 클리닉</text>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 2.2 KiB |
@@ -0,0 +1,43 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="500" height="500" viewBox="0 0 500 500">
|
||||||
|
<defs>
|
||||||
|
<linearGradient id="grad" x1="0%" y1="0%" x2="100%" y2="100%">
|
||||||
|
<stop offset="0%" stop-color="#059669"/>
|
||||||
|
<stop offset="100%" stop-color="#047857"/>
|
||||||
|
</linearGradient>
|
||||||
|
<radialGradient id="glow" cx="50%" cy="30%" r="50%">
|
||||||
|
<stop offset="0%" stop-color="#ffffff" stop-opacity="0.25"/>
|
||||||
|
<stop offset="100%" stop-color="#ffffff" stop-opacity="0"/>
|
||||||
|
</radialGradient>
|
||||||
|
</defs>
|
||||||
|
|
||||||
|
<!-- 배경 -->
|
||||||
|
<rect width="500" height="500" rx="32" fill="url(#grad)"/>
|
||||||
|
<rect width="500" height="500" rx="32" fill="url(#glow)"/>
|
||||||
|
|
||||||
|
<!-- 장식 원형 패턴 -->
|
||||||
|
<circle cx="430" cy="80" r="100" fill="#ffffff" opacity="0.05"/>
|
||||||
|
<circle cx="70" cy="420" r="80" fill="#ffffff" opacity="0.04"/>
|
||||||
|
|
||||||
|
<!-- 상단 뱃지 -->
|
||||||
|
<rect x="50" y="45" width="140" height="38" rx="19" fill="#ffffff" opacity="0.2"/>
|
||||||
|
<text x="120" y="70" font-family="'Pretendard', sans-serif" font-size="16" font-weight="700" fill="#ffffff" text-anchor="middle" letter-spacing="-0.3">초등 집중 2단계</text>
|
||||||
|
|
||||||
|
<!-- 중앙 아이콘 -->
|
||||||
|
<g>
|
||||||
|
<circle cx="250" cy="240" r="60" fill="none" stroke="#ffffff" stroke-width="10"/>
|
||||||
|
<circle cx="250" cy="240" r="38" fill="none" stroke="#ffffff" stroke-width="8"/>
|
||||||
|
<circle cx="250" cy="240" r="16" fill="#ffffff"/>
|
||||||
|
<line x1="250" y1="165" x2="250" y2="185" stroke="#ffffff" stroke-width="8" stroke-linecap="round"/>
|
||||||
|
<line x1="250" y1="295" x2="250" y2="315" stroke="#ffffff" stroke-width="8" stroke-linecap="round"/>
|
||||||
|
<line x1="175" y1="240" x2="195" y2="240" stroke="#ffffff" stroke-width="8" stroke-linecap="round"/>
|
||||||
|
<line x1="305" y1="240" x2="325" y2="240" stroke="#ffffff" stroke-width="8" stroke-linecap="round"/>
|
||||||
|
</g>
|
||||||
|
|
||||||
|
<!-- 하단 텍스트 영역 -->
|
||||||
|
<text x="250" y="380" font-family="'Pretendard', sans-serif" font-size="34" font-weight="900" fill="#ffffff" text-anchor="middle" letter-spacing="-0.8">공부방법</text>
|
||||||
|
<text x="250" y="420" font-family="'Pretendard', sans-serif" font-size="18" font-weight="600" fill="#ffffff" opacity="0.85" text-anchor="middle" letter-spacing="-0.5">스스로 이해하는 올바른 학습 원리</text>
|
||||||
|
|
||||||
|
<!-- 하단 액션 텍스트 -->
|
||||||
|
<rect x="175" y="445" width="150" height="28" rx="14" fill="#ffffff" opacity="0.25"/>
|
||||||
|
<text x="250" y="464" font-family="'Pretendard', sans-serif" font-size="13" font-weight="700" fill="#ffffff" text-anchor="middle">1:1 맞춤 클리닉</text>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 2.5 KiB |
@@ -0,0 +1,38 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="500" height="500" viewBox="0 0 500 500">
|
||||||
|
<defs>
|
||||||
|
<linearGradient id="grad" x1="0%" y1="0%" x2="100%" y2="100%">
|
||||||
|
<stop offset="0%" stop-color="#d97706"/>
|
||||||
|
<stop offset="100%" stop-color="#b45309"/>
|
||||||
|
</linearGradient>
|
||||||
|
<radialGradient id="glow" cx="50%" cy="30%" r="50%">
|
||||||
|
<stop offset="0%" stop-color="#ffffff" stop-opacity="0.25"/>
|
||||||
|
<stop offset="100%" stop-color="#ffffff" stop-opacity="0"/>
|
||||||
|
</radialGradient>
|
||||||
|
</defs>
|
||||||
|
|
||||||
|
<!-- 배경 -->
|
||||||
|
<rect width="500" height="500" rx="32" fill="url(#grad)"/>
|
||||||
|
<rect width="500" height="500" rx="32" fill="url(#glow)"/>
|
||||||
|
|
||||||
|
<!-- 장식 원형 패턴 -->
|
||||||
|
<circle cx="430" cy="80" r="100" fill="#ffffff" opacity="0.05"/>
|
||||||
|
<circle cx="70" cy="420" r="80" fill="#ffffff" opacity="0.04"/>
|
||||||
|
|
||||||
|
<!-- 상단 뱃지 -->
|
||||||
|
<rect x="50" y="45" width="140" height="38" rx="19" fill="#ffffff" opacity="0.2"/>
|
||||||
|
<text x="120" y="70" font-family="'Pretendard', sans-serif" font-size="16" font-weight="700" fill="#ffffff" text-anchor="middle" letter-spacing="-0.3">초등 집중 3단계</text>
|
||||||
|
|
||||||
|
<!-- 중앙 아이콘 -->
|
||||||
|
<g>
|
||||||
|
<rect x="185" y="180" width="130" height="130" rx="16" fill="none" stroke="#ffffff" stroke-width="10"/>
|
||||||
|
<path d="M215 245 L238 268 L285 215" fill="none" stroke="#ffffff" stroke-width="12" stroke-linecap="round" stroke-linejoin="round"/>
|
||||||
|
</g>
|
||||||
|
|
||||||
|
<!-- 하단 텍스트 영역 -->
|
||||||
|
<text x="250" y="380" font-family="'Pretendard', sans-serif" font-size="34" font-weight="900" fill="#ffffff" text-anchor="middle" letter-spacing="-0.8">숙제검사</text>
|
||||||
|
<text x="250" y="420" font-family="'Pretendard', sans-serif" font-size="18" font-weight="600" fill="#ffffff" opacity="0.85" text-anchor="middle" letter-spacing="-0.5">매일 1:1 오답 점검과 꼼꼼한 피드백</text>
|
||||||
|
|
||||||
|
<!-- 하단 액션 텍스트 -->
|
||||||
|
<rect x="175" y="445" width="150" height="28" rx="14" fill="#ffffff" opacity="0.25"/>
|
||||||
|
<text x="250" y="464" font-family="'Pretendard', sans-serif" font-size="13" font-weight="700" fill="#ffffff" text-anchor="middle">1:1 맞춤 클리닉</text>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 2.1 KiB |
@@ -0,0 +1,42 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="500" height="500" viewBox="0 0 500 500">
|
||||||
|
<defs>
|
||||||
|
<linearGradient id="grad" x1="0%" y1="0%" x2="100%" y2="100%">
|
||||||
|
<stop offset="0%" stop-color="#7c3aed"/>
|
||||||
|
<stop offset="100%" stop-color="#6d28d9"/>
|
||||||
|
</linearGradient>
|
||||||
|
<radialGradient id="glow" cx="50%" cy="30%" r="50%">
|
||||||
|
<stop offset="0%" stop-color="#ffffff" stop-opacity="0.25"/>
|
||||||
|
<stop offset="100%" stop-color="#ffffff" stop-opacity="0"/>
|
||||||
|
</radialGradient>
|
||||||
|
</defs>
|
||||||
|
|
||||||
|
<!-- 배경 -->
|
||||||
|
<rect width="500" height="500" rx="32" fill="url(#grad)"/>
|
||||||
|
<rect width="500" height="500" rx="32" fill="url(#glow)"/>
|
||||||
|
|
||||||
|
<!-- 장식 원형 패턴 -->
|
||||||
|
<circle cx="430" cy="80" r="100" fill="#ffffff" opacity="0.05"/>
|
||||||
|
<circle cx="70" cy="420" r="80" fill="#ffffff" opacity="0.04"/>
|
||||||
|
|
||||||
|
<!-- 상단 뱃지 -->
|
||||||
|
<rect x="50" y="45" width="140" height="38" rx="19" fill="#ffffff" opacity="0.2"/>
|
||||||
|
<text x="120" y="70" font-family="'Pretendard', sans-serif" font-size="16" font-weight="700" fill="#ffffff" text-anchor="middle" letter-spacing="-0.3">초등 집중 4단계</text>
|
||||||
|
|
||||||
|
<!-- 중앙 아이콘 -->
|
||||||
|
<g>
|
||||||
|
<line x1="170" y1="310" x2="330" y2="310" stroke="#ffffff" stroke-width="8" stroke-linecap="round"/>
|
||||||
|
<rect x="190" y="245" width="26" height="65" rx="4" fill="#ffffff" opacity="0.6"/>
|
||||||
|
<rect x="237" y="215" width="26" height="95" rx="4" fill="#ffffff" opacity="0.8"/>
|
||||||
|
<rect x="284" y="175" width="26" height="135" rx="4" fill="#ffffff"/>
|
||||||
|
<path d="M195 230 L245 190 L295 155" fill="none" stroke="#fcd34d" stroke-width="8" stroke-linecap="round" stroke-linejoin="round"/>
|
||||||
|
<polygon points="295,145 310,158 290,165" fill="#fcd34d"/>
|
||||||
|
</g>
|
||||||
|
|
||||||
|
<!-- 하단 텍스트 영역 -->
|
||||||
|
<text x="250" y="380" font-family="'Pretendard', sans-serif" font-size="34" font-weight="900" fill="#ffffff" text-anchor="middle" letter-spacing="-0.8">공부습관</text>
|
||||||
|
<text x="250" y="420" font-family="'Pretendard', sans-serif" font-size="18" font-weight="600" fill="#ffffff" opacity="0.85" text-anchor="middle" letter-spacing="-0.5">매일 정해진 시간 몰입하는 자기주도력</text>
|
||||||
|
|
||||||
|
<!-- 하단 액션 텍스트 -->
|
||||||
|
<rect x="175" y="445" width="150" height="28" rx="14" fill="#ffffff" opacity="0.25"/>
|
||||||
|
<text x="250" y="464" font-family="'Pretendard', sans-serif" font-size="13" font-weight="700" fill="#ffffff" text-anchor="middle">1:1 맞춤 클리닉</text>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 2.4 KiB |
@@ -0,0 +1,41 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="500" height="500" viewBox="0 0 500 500">
|
||||||
|
<defs>
|
||||||
|
<linearGradient id="grad" x1="0%" y1="0%" x2="100%" y2="100%">
|
||||||
|
<stop offset="0%" stop-color="#e11d48"/>
|
||||||
|
<stop offset="100%" stop-color="#be123c"/>
|
||||||
|
</linearGradient>
|
||||||
|
<radialGradient id="glow" cx="50%" cy="30%" r="50%">
|
||||||
|
<stop offset="0%" stop-color="#ffffff" stop-opacity="0.25"/>
|
||||||
|
<stop offset="100%" stop-color="#ffffff" stop-opacity="0"/>
|
||||||
|
</radialGradient>
|
||||||
|
</defs>
|
||||||
|
|
||||||
|
<!-- 배경 -->
|
||||||
|
<rect width="500" height="500" rx="32" fill="url(#grad)"/>
|
||||||
|
<rect width="500" height="500" rx="32" fill="url(#glow)"/>
|
||||||
|
|
||||||
|
<!-- 장식 원형 패턴 -->
|
||||||
|
<circle cx="430" cy="80" r="100" fill="#ffffff" opacity="0.05"/>
|
||||||
|
<circle cx="70" cy="420" r="80" fill="#ffffff" opacity="0.04"/>
|
||||||
|
|
||||||
|
<!-- 상단 뱃지 -->
|
||||||
|
<rect x="50" y="45" width="140" height="38" rx="19" fill="#ffffff" opacity="0.2"/>
|
||||||
|
<text x="120" y="70" font-family="'Pretendard', sans-serif" font-size="16" font-weight="700" fill="#ffffff" text-anchor="middle" letter-spacing="-0.3">초등 집중 5단계</text>
|
||||||
|
|
||||||
|
<!-- 중앙 아이콘 -->
|
||||||
|
<g>
|
||||||
|
<path d="M190 190 L310 190 L300 250 C290 280 270 290 250 290 C230 290 210 280 200 250 Z" fill="none" stroke="#ffffff" stroke-width="10" stroke-linejoin="round"/>
|
||||||
|
<line x1="250" y1="290" x2="250" y2="320" stroke="#ffffff" stroke-width="12" stroke-linecap="round"/>
|
||||||
|
<line x1="215" y1="320" x2="285" y2="320" stroke="#ffffff" stroke-width="12" stroke-linecap="round"/>
|
||||||
|
<path d="M190 205 C170 205 160 220 160 235 C160 250 175 255 195 255" fill="none" stroke="#ffffff" stroke-width="8" stroke-linecap="round"/>
|
||||||
|
<path d="M310 205 C330 205 340 220 340 235 C340 250 325 255 305 255" fill="none" stroke="#ffffff" stroke-width="8" stroke-linecap="round"/>
|
||||||
|
</g>
|
||||||
|
|
||||||
|
<!-- 하단 텍스트 영역 -->
|
||||||
|
<text x="250" y="380" font-family="'Pretendard', sans-serif" font-size="34" font-weight="900" fill="#ffffff" text-anchor="middle" letter-spacing="-0.8">중등대비</text>
|
||||||
|
<text x="250" y="420" font-family="'Pretendard', sans-serif" font-size="18" font-weight="600" fill="#ffffff" opacity="0.85" text-anchor="middle" letter-spacing="-0.5">중학교 내신 서술형과 심화 선행</text>
|
||||||
|
|
||||||
|
<!-- 하단 액션 텍스트 -->
|
||||||
|
<rect x="175" y="445" width="150" height="28" rx="14" fill="#ffffff" opacity="0.25"/>
|
||||||
|
<text x="250" y="464" font-family="'Pretendard', sans-serif" font-size="13" font-weight="700" fill="#ffffff" text-anchor="middle">1:1 맞춤 클리닉</text>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 2.5 KiB |
@@ -0,0 +1,43 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="500" height="500" viewBox="0 0 500 500">
|
||||||
|
<defs>
|
||||||
|
<linearGradient id="grad" x1="0%" y1="0%" x2="100%" y2="100%">
|
||||||
|
<stop offset="0%" stop-color="#2563eb"/>
|
||||||
|
<stop offset="100%" stop-color="#1d4ed8"/>
|
||||||
|
</linearGradient>
|
||||||
|
<radialGradient id="glow" cx="50%" cy="30%" r="50%">
|
||||||
|
<stop offset="0%" stop-color="#ffffff" stop-opacity="0.25"/>
|
||||||
|
<stop offset="100%" stop-color="#ffffff" stop-opacity="0"/>
|
||||||
|
</radialGradient>
|
||||||
|
</defs>
|
||||||
|
|
||||||
|
<!-- 배경 -->
|
||||||
|
<rect width="500" height="500" rx="32" fill="url(#grad)"/>
|
||||||
|
<rect width="500" height="500" rx="32" fill="url(#glow)"/>
|
||||||
|
|
||||||
|
<!-- 장식 원형 패턴 -->
|
||||||
|
<circle cx="430" cy="80" r="100" fill="#ffffff" opacity="0.05"/>
|
||||||
|
<circle cx="70" cy="420" r="80" fill="#ffffff" opacity="0.04"/>
|
||||||
|
|
||||||
|
<!-- 상단 뱃지 -->
|
||||||
|
<rect x="50" y="45" width="140" height="38" rx="19" fill="#ffffff" opacity="0.2"/>
|
||||||
|
<text x="120" y="70" font-family="'Pretendard', sans-serif" font-size="16" font-weight="700" fill="#ffffff" text-anchor="middle" letter-spacing="-0.3">실전 시험 대비</text>
|
||||||
|
|
||||||
|
<!-- 중앙 아이콘 -->
|
||||||
|
<g>
|
||||||
|
<circle cx="250" cy="240" r="60" fill="none" stroke="#ffffff" stroke-width="10"/>
|
||||||
|
<circle cx="250" cy="240" r="38" fill="none" stroke="#ffffff" stroke-width="8"/>
|
||||||
|
<circle cx="250" cy="240" r="16" fill="#ffffff"/>
|
||||||
|
<line x1="250" y1="165" x2="250" y2="185" stroke="#ffffff" stroke-width="8" stroke-linecap="round"/>
|
||||||
|
<line x1="250" y1="295" x2="250" y2="315" stroke="#ffffff" stroke-width="8" stroke-linecap="round"/>
|
||||||
|
<line x1="175" y1="240" x2="195" y2="240" stroke="#ffffff" stroke-width="8" stroke-linecap="round"/>
|
||||||
|
<line x1="305" y1="240" x2="325" y2="240" stroke="#ffffff" stroke-width="8" stroke-linecap="round"/>
|
||||||
|
</g>
|
||||||
|
|
||||||
|
<!-- 하단 텍스트 영역 -->
|
||||||
|
<text x="250" y="380" font-family="'Pretendard', sans-serif" font-size="34" font-weight="900" fill="#ffffff" text-anchor="middle" letter-spacing="-0.8">중간고사 수학과외</text>
|
||||||
|
<text x="250" y="420" font-family="'Pretendard', sans-serif" font-size="18" font-weight="600" fill="#ffffff" opacity="0.85" text-anchor="middle" letter-spacing="-0.5">학교별 기출 족보 및 서술형 킬러 대비</text>
|
||||||
|
|
||||||
|
<!-- 하단 액션 텍스트 -->
|
||||||
|
<rect x="175" y="445" width="150" height="28" rx="14" fill="#ffffff" opacity="0.25"/>
|
||||||
|
<text x="250" y="464" font-family="'Pretendard', sans-serif" font-size="13" font-weight="700" fill="#ffffff" text-anchor="middle">1:1 맞춤 클리닉</text>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 2.5 KiB |
@@ -0,0 +1,38 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="500" height="500" viewBox="0 0 500 500">
|
||||||
|
<defs>
|
||||||
|
<linearGradient id="grad" x1="0%" y1="0%" x2="100%" y2="100%">
|
||||||
|
<stop offset="0%" stop-color="#0d9488"/>
|
||||||
|
<stop offset="100%" stop-color="#0f766e"/>
|
||||||
|
</linearGradient>
|
||||||
|
<radialGradient id="glow" cx="50%" cy="30%" r="50%">
|
||||||
|
<stop offset="0%" stop-color="#ffffff" stop-opacity="0.25"/>
|
||||||
|
<stop offset="100%" stop-color="#ffffff" stop-opacity="0"/>
|
||||||
|
</radialGradient>
|
||||||
|
</defs>
|
||||||
|
|
||||||
|
<!-- 배경 -->
|
||||||
|
<rect width="500" height="500" rx="32" fill="url(#grad)"/>
|
||||||
|
<rect width="500" height="500" rx="32" fill="url(#glow)"/>
|
||||||
|
|
||||||
|
<!-- 장식 원형 패턴 -->
|
||||||
|
<circle cx="430" cy="80" r="100" fill="#ffffff" opacity="0.05"/>
|
||||||
|
<circle cx="70" cy="420" r="80" fill="#ffffff" opacity="0.04"/>
|
||||||
|
|
||||||
|
<!-- 상단 뱃지 -->
|
||||||
|
<rect x="50" y="45" width="140" height="38" rx="19" fill="#ffffff" opacity="0.2"/>
|
||||||
|
<text x="120" y="70" font-family="'Pretendard', sans-serif" font-size="16" font-weight="700" fill="#ffffff" text-anchor="middle" letter-spacing="-0.3">학기말 총정리</text>
|
||||||
|
|
||||||
|
<!-- 중앙 아이콘 -->
|
||||||
|
<g>
|
||||||
|
<rect x="185" y="180" width="130" height="130" rx="16" fill="none" stroke="#ffffff" stroke-width="10"/>
|
||||||
|
<path d="M215 245 L238 268 L285 215" fill="none" stroke="#ffffff" stroke-width="12" stroke-linecap="round" stroke-linejoin="round"/>
|
||||||
|
</g>
|
||||||
|
|
||||||
|
<!-- 하단 텍스트 영역 -->
|
||||||
|
<text x="250" y="380" font-family="'Pretendard', sans-serif" font-size="34" font-weight="900" fill="#ffffff" text-anchor="middle" letter-spacing="-0.8">기말고사 수학과외</text>
|
||||||
|
<text x="250" y="420" font-family="'Pretendard', sans-serif" font-size="18" font-weight="600" fill="#ffffff" opacity="0.85" text-anchor="middle" letter-spacing="-0.5">전 범위 오답 분석 및 약점 완벽 클리닉</text>
|
||||||
|
|
||||||
|
<!-- 하단 액션 텍스트 -->
|
||||||
|
<rect x="175" y="445" width="150" height="28" rx="14" fill="#ffffff" opacity="0.25"/>
|
||||||
|
<text x="250" y="464" font-family="'Pretendard', sans-serif" font-size="13" font-weight="700" fill="#ffffff" text-anchor="middle">1:1 맞춤 클리닉</text>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 2.1 KiB |
@@ -0,0 +1,42 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="500" height="500" viewBox="0 0 500 500">
|
||||||
|
<defs>
|
||||||
|
<linearGradient id="grad" x1="0%" y1="0%" x2="100%" y2="100%">
|
||||||
|
<stop offset="0%" stop-color="#4f46e5"/>
|
||||||
|
<stop offset="100%" stop-color="#4338ca"/>
|
||||||
|
</linearGradient>
|
||||||
|
<radialGradient id="glow" cx="50%" cy="30%" r="50%">
|
||||||
|
<stop offset="0%" stop-color="#ffffff" stop-opacity="0.25"/>
|
||||||
|
<stop offset="100%" stop-color="#ffffff" stop-opacity="0"/>
|
||||||
|
</radialGradient>
|
||||||
|
</defs>
|
||||||
|
|
||||||
|
<!-- 배경 -->
|
||||||
|
<rect width="500" height="500" rx="32" fill="url(#grad)"/>
|
||||||
|
<rect width="500" height="500" rx="32" fill="url(#glow)"/>
|
||||||
|
|
||||||
|
<!-- 장식 원형 패턴 -->
|
||||||
|
<circle cx="430" cy="80" r="100" fill="#ffffff" opacity="0.05"/>
|
||||||
|
<circle cx="70" cy="420" r="80" fill="#ffffff" opacity="0.04"/>
|
||||||
|
|
||||||
|
<!-- 상단 뱃지 -->
|
||||||
|
<rect x="50" y="45" width="140" height="38" rx="19" fill="#ffffff" opacity="0.2"/>
|
||||||
|
<text x="120" y="70" font-family="'Pretendard', sans-serif" font-size="16" font-weight="700" fill="#ffffff" text-anchor="middle" letter-spacing="-0.3">수능·전국연합</text>
|
||||||
|
|
||||||
|
<!-- 중앙 아이콘 -->
|
||||||
|
<g>
|
||||||
|
<line x1="170" y1="310" x2="330" y2="310" stroke="#ffffff" stroke-width="8" stroke-linecap="round"/>
|
||||||
|
<rect x="190" y="245" width="26" height="65" rx="4" fill="#ffffff" opacity="0.6"/>
|
||||||
|
<rect x="237" y="215" width="26" height="95" rx="4" fill="#ffffff" opacity="0.8"/>
|
||||||
|
<rect x="284" y="175" width="26" height="135" rx="4" fill="#ffffff"/>
|
||||||
|
<path d="M195 230 L245 190 L295 155" fill="none" stroke="#fcd34d" stroke-width="8" stroke-linecap="round" stroke-linejoin="round"/>
|
||||||
|
<polygon points="295,145 310,158 290,165" fill="#fcd34d"/>
|
||||||
|
</g>
|
||||||
|
|
||||||
|
<!-- 하단 텍스트 영역 -->
|
||||||
|
<text x="250" y="380" font-family="'Pretendard', sans-serif" font-size="34" font-weight="900" fill="#ffffff" text-anchor="middle" letter-spacing="-0.8">모의고사 수학과외</text>
|
||||||
|
<text x="250" y="420" font-family="'Pretendard', sans-serif" font-size="18" font-weight="600" fill="#ffffff" opacity="0.85" text-anchor="middle" letter-spacing="-0.5">수능형 사고력 확장 및 시간관리 특훈</text>
|
||||||
|
|
||||||
|
<!-- 하단 액션 텍스트 -->
|
||||||
|
<rect x="175" y="445" width="150" height="28" rx="14" fill="#ffffff" opacity="0.25"/>
|
||||||
|
<text x="250" y="464" font-family="'Pretendard', sans-serif" font-size="13" font-weight="700" fill="#ffffff" text-anchor="middle">1:1 맞춤 클리닉</text>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 2.4 KiB |
@@ -0,0 +1,38 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="500" height="500" viewBox="0 0 500 500">
|
||||||
|
<defs>
|
||||||
|
<linearGradient id="grad" x1="0%" y1="0%" x2="100%" y2="100%">
|
||||||
|
<stop offset="0%" stop-color="#ea580c"/>
|
||||||
|
<stop offset="100%" stop-color="#c2410c"/>
|
||||||
|
</linearGradient>
|
||||||
|
<radialGradient id="glow" cx="50%" cy="30%" r="50%">
|
||||||
|
<stop offset="0%" stop-color="#ffffff" stop-opacity="0.25"/>
|
||||||
|
<stop offset="100%" stop-color="#ffffff" stop-opacity="0"/>
|
||||||
|
</radialGradient>
|
||||||
|
</defs>
|
||||||
|
|
||||||
|
<!-- 배경 -->
|
||||||
|
<rect width="500" height="500" rx="32" fill="url(#grad)"/>
|
||||||
|
<rect width="500" height="500" rx="32" fill="url(#glow)"/>
|
||||||
|
|
||||||
|
<!-- 장식 원형 패턴 -->
|
||||||
|
<circle cx="430" cy="80" r="100" fill="#ffffff" opacity="0.05"/>
|
||||||
|
<circle cx="70" cy="420" r="80" fill="#ffffff" opacity="0.04"/>
|
||||||
|
|
||||||
|
<!-- 상단 뱃지 -->
|
||||||
|
<rect x="50" y="45" width="140" height="38" rx="19" fill="#ffffff" opacity="0.2"/>
|
||||||
|
<text x="120" y="70" font-family="'Pretendard', sans-serif" font-size="16" font-weight="700" fill="#ffffff" text-anchor="middle" letter-spacing="-0.3">서술형·과제</text>
|
||||||
|
|
||||||
|
<!-- 중앙 아이콘 -->
|
||||||
|
<g>
|
||||||
|
<path d="M170 200 C210 185 240 185 250 195 C260 185 290 185 330 200 L330 290 C290 275 260 275 250 285 C240 275 210 275 170 290 Z" fill="none" stroke="#ffffff" stroke-width="12" stroke-linecap="round" stroke-linejoin="round"/>
|
||||||
|
<line x1="250" y1="195" x2="250" y2="285" stroke="#ffffff" stroke-width="10" stroke-linecap="round"/>
|
||||||
|
</g>
|
||||||
|
|
||||||
|
<!-- 하단 텍스트 영역 -->
|
||||||
|
<text x="250" y="380" font-family="'Pretendard', sans-serif" font-size="34" font-weight="900" fill="#ffffff" text-anchor="middle" letter-spacing="-0.8">수행평가 수학과외</text>
|
||||||
|
<text x="250" y="420" font-family="'Pretendard', sans-serif" font-size="18" font-weight="600" fill="#ffffff" opacity="0.85" text-anchor="middle" letter-spacing="-0.5">조건 감점 0점화 및 탐구보고서 세특</text>
|
||||||
|
|
||||||
|
<!-- 하단 액션 텍스트 -->
|
||||||
|
<rect x="175" y="445" width="150" height="28" rx="14" fill="#ffffff" opacity="0.25"/>
|
||||||
|
<text x="250" y="464" font-family="'Pretendard', sans-serif" font-size="13" font-weight="700" fill="#ffffff" text-anchor="middle">1:1 맞춤 클리닉</text>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 2.2 KiB |
@@ -0,0 +1,41 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="500" height="500" viewBox="0 0 500 500">
|
||||||
|
<defs>
|
||||||
|
<linearGradient id="grad" x1="0%" y1="0%" x2="100%" y2="100%">
|
||||||
|
<stop offset="0%" stop-color="#be123c"/>
|
||||||
|
<stop offset="100%" stop-color="#9f1239"/>
|
||||||
|
</linearGradient>
|
||||||
|
<radialGradient id="glow" cx="50%" cy="30%" r="50%">
|
||||||
|
<stop offset="0%" stop-color="#ffffff" stop-opacity="0.25"/>
|
||||||
|
<stop offset="100%" stop-color="#ffffff" stop-opacity="0"/>
|
||||||
|
</radialGradient>
|
||||||
|
</defs>
|
||||||
|
|
||||||
|
<!-- 배경 -->
|
||||||
|
<rect width="500" height="500" rx="32" fill="url(#grad)"/>
|
||||||
|
<rect width="500" height="500" rx="32" fill="url(#glow)"/>
|
||||||
|
|
||||||
|
<!-- 장식 원형 패턴 -->
|
||||||
|
<circle cx="430" cy="80" r="100" fill="#ffffff" opacity="0.05"/>
|
||||||
|
<circle cx="70" cy="420" r="80" fill="#ffffff" opacity="0.04"/>
|
||||||
|
|
||||||
|
<!-- 상단 뱃지 -->
|
||||||
|
<rect x="50" y="45" width="140" height="38" rx="19" fill="#ffffff" opacity="0.2"/>
|
||||||
|
<text x="120" y="70" font-family="'Pretendard', sans-serif" font-size="16" font-weight="700" fill="#ffffff" text-anchor="middle" letter-spacing="-0.3">1등급 집중공략</text>
|
||||||
|
|
||||||
|
<!-- 중앙 아이콘 -->
|
||||||
|
<g>
|
||||||
|
<path d="M190 190 L310 190 L300 250 C290 280 270 290 250 290 C230 290 210 280 200 250 Z" fill="none" stroke="#ffffff" stroke-width="10" stroke-linejoin="round"/>
|
||||||
|
<line x1="250" y1="290" x2="250" y2="320" stroke="#ffffff" stroke-width="12" stroke-linecap="round"/>
|
||||||
|
<line x1="215" y1="320" x2="285" y2="320" stroke="#ffffff" stroke-width="12" stroke-linecap="round"/>
|
||||||
|
<path d="M190 205 C170 205 160 220 160 235 C160 250 175 255 195 255" fill="none" stroke="#ffffff" stroke-width="8" stroke-linecap="round"/>
|
||||||
|
<path d="M310 205 C330 205 340 220 340 235 C340 250 325 255 305 255" fill="none" stroke="#ffffff" stroke-width="8" stroke-linecap="round"/>
|
||||||
|
</g>
|
||||||
|
|
||||||
|
<!-- 하단 텍스트 영역 -->
|
||||||
|
<text x="250" y="380" font-family="'Pretendard', sans-serif" font-size="34" font-weight="900" fill="#ffffff" text-anchor="middle" letter-spacing="-0.8">내신대비 수학과외</text>
|
||||||
|
<text x="250" y="420" font-family="'Pretendard', sans-serif" font-size="18" font-weight="600" fill="#ffffff" opacity="0.85" text-anchor="middle" letter-spacing="-0.5">관내 교과서·부교재 적중 1:1 맞춤 지도</text>
|
||||||
|
|
||||||
|
<!-- 하단 액션 텍스트 -->
|
||||||
|
<rect x="175" y="445" width="150" height="28" rx="14" fill="#ffffff" opacity="0.25"/>
|
||||||
|
<text x="250" y="464" font-family="'Pretendard', sans-serif" font-size="13" font-weight="700" fill="#ffffff" text-anchor="middle">1:1 맞춤 클리닉</text>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 2.5 KiB |
@@ -13,5 +13,5 @@
|
|||||||
<text x="80" y="420" font-family="'Pretendard', sans-serif" font-size="30" font-weight="500" fill="#e0e7ff">국어 · 영어 · 수학 · 과학 · 사회 · 수행평가 세특</text>
|
<text x="80" y="420" font-family="'Pretendard', sans-serif" font-size="30" font-weight="500" fill="#e0e7ff">국어 · 영어 · 수학 · 과학 · 사회 · 수행평가 세특</text>
|
||||||
<text x="80" y="480" font-family="'Pretendard', sans-serif" font-size="28" font-weight="700" fill="#ffffff">전국 568개 동 학교별 기출 족보 완벽 분석</text>
|
<text x="80" y="480" font-family="'Pretendard', sans-serif" font-size="28" font-weight="700" fill="#ffffff">전국 568개 동 학교별 기출 족보 완벽 분석</text>
|
||||||
<rect x="80" y="530" width="340" height="50" rx="25" fill="#10b981"/>
|
<rect x="80" y="530" width="340" height="50" rx="25" fill="#10b981"/>
|
||||||
<text x="250" y="563" font-family="'Pretendard', sans-serif" font-size="24" font-weight="700" fill="#ffffff" text-anchor="middle">1회 무료 상담: 1588-0909</text>
|
<text x="250" y="563" font-family="'Pretendard', sans-serif" font-size="24" font-weight="700" fill="#ffffff" text-anchor="middle">1회 무료 상담: 010-5961-5807</text>
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.5 KiB |
@@ -4,7 +4,7 @@
|
|||||||
<div class="footer-info">
|
<div class="footer-info">
|
||||||
<h4 class="footer-brand">{{ siteName }}</h4>
|
<h4 class="footer-brand">{{ siteName }}</h4>
|
||||||
<p class="footer-meta">
|
<p class="footer-meta">
|
||||||
전국 초·중·고 1:1 맞춤 방문과외 및 실시간 화상코칭 서비스 | 대표번호: 1588-0000<br />
|
전국 초·중·고 1:1 맞춤 방문과외 및 실시간 화상코칭 서비스 | 대표번호: 010-5961-5807<br />
|
||||||
사업자등록번호: 123-45-67890 | 통신판매업신고: 제2026-서울강남-0123호 | 개인정보관리책임자: 교육연구소<br />
|
사업자등록번호: 123-45-67890 | 통신판매업신고: 제2026-서울강남-0123호 | 개인정보관리책임자: 교육연구소<br />
|
||||||
주소: 서울특별시 강남구 테헤란로 123 에듀빌딩 4층
|
주소: 서울특별시 강남구 테헤란로 123 에듀빌딩 4층
|
||||||
</p>
|
</p>
|
||||||
|
|||||||
@@ -110,7 +110,7 @@
|
|||||||
<span v-if="loading">문의 전송 중...</span>
|
<span v-if="loading">문의 전송 중...</span>
|
||||||
<span v-else>문의 보내기</span>
|
<span v-else>문의 보내기</span>
|
||||||
</button>
|
</button>
|
||||||
<a href="tel:1588-0000" class="btn-call">
|
<a href="tel:010-5961-5807" class="btn-call">
|
||||||
전화로 바로 상담
|
전화로 바로 상담
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -22,7 +22,7 @@
|
|||||||
</a>
|
</a>
|
||||||
<div class="hero-call-info">
|
<div class="hero-call-info">
|
||||||
<span class="call-icon"></span>
|
<span class="call-icon"></span>
|
||||||
<span class="call-text">실시간 학습상담 <strong>1588-0000</strong></span>
|
<span class="call-text">실시간 학습상담 <strong>010-5961-5807</strong></span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
@@ -3,10 +3,10 @@ version: '3.8'
|
|||||||
services:
|
services:
|
||||||
app:
|
app:
|
||||||
build: .
|
build: .
|
||||||
container_name: technova_site3
|
container_name: aeseo_site_frontend
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
ports:
|
ports:
|
||||||
- "3013:3000"
|
- "80:3000"
|
||||||
environment:
|
environment:
|
||||||
- NODE_ENV=production
|
- NODE_ENV=production
|
||||||
- SITE_DOMAIN=https://aeseo.site
|
- SITE_DOMAIN=https://aeseo.site
|
||||||
|
|||||||
@@ -0,0 +1,38 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="500" height="500" viewBox="0 0 500 500">
|
||||||
|
<defs>
|
||||||
|
<linearGradient id="grad" x1="0%" y1="0%" x2="100%" y2="100%">
|
||||||
|
<stop offset="0%" stop-color="#0284c7"/>
|
||||||
|
<stop offset="100%" stop-color="#0369a1"/>
|
||||||
|
</linearGradient>
|
||||||
|
<radialGradient id="glow" cx="50%" cy="30%" r="50%">
|
||||||
|
<stop offset="0%" stop-color="#ffffff" stop-opacity="0.25"/>
|
||||||
|
<stop offset="100%" stop-color="#ffffff" stop-opacity="0"/>
|
||||||
|
</radialGradient>
|
||||||
|
</defs>
|
||||||
|
|
||||||
|
<!-- 배경 -->
|
||||||
|
<rect width="500" height="500" rx="32" fill="url(#grad)"/>
|
||||||
|
<rect width="500" height="500" rx="32" fill="url(#glow)"/>
|
||||||
|
|
||||||
|
<!-- 장식 원형 패턴 -->
|
||||||
|
<circle cx="430" cy="80" r="100" fill="#ffffff" opacity="0.05"/>
|
||||||
|
<circle cx="70" cy="420" r="80" fill="#ffffff" opacity="0.04"/>
|
||||||
|
|
||||||
|
<!-- 상단 뱃지 -->
|
||||||
|
<rect x="50" y="45" width="140" height="38" rx="19" fill="#ffffff" opacity="0.2"/>
|
||||||
|
<text x="120" y="70" font-family="'Pretendard', sans-serif" font-size="16" font-weight="700" fill="#ffffff" text-anchor="middle" letter-spacing="-0.3">초등 집중 1단계</text>
|
||||||
|
|
||||||
|
<!-- 중앙 아이콘 -->
|
||||||
|
<g>
|
||||||
|
<path d="M170 200 C210 185 240 185 250 195 C260 185 290 185 330 200 L330 290 C290 275 260 275 250 285 C240 275 210 275 170 290 Z" fill="none" stroke="#ffffff" stroke-width="12" stroke-linecap="round" stroke-linejoin="round"/>
|
||||||
|
<line x1="250" y1="195" x2="250" y2="285" stroke="#ffffff" stroke-width="10" stroke-linecap="round"/>
|
||||||
|
</g>
|
||||||
|
|
||||||
|
<!-- 하단 텍스트 영역 -->
|
||||||
|
<text x="250" y="380" font-family="'Pretendard', sans-serif" font-size="34" font-weight="900" fill="#ffffff" text-anchor="middle" letter-spacing="-0.8">기초학습</text>
|
||||||
|
<text x="250" y="420" font-family="'Pretendard', sans-serif" font-size="18" font-weight="600" fill="#ffffff" opacity="0.85" text-anchor="middle" letter-spacing="-0.5">개념 이해와 튼튼한 연산 기본기</text>
|
||||||
|
|
||||||
|
<!-- 하단 액션 텍스트 -->
|
||||||
|
<rect x="175" y="445" width="150" height="28" rx="14" fill="#ffffff" opacity="0.25"/>
|
||||||
|
<text x="250" y="464" font-family="'Pretendard', sans-serif" font-size="13" font-weight="700" fill="#ffffff" text-anchor="middle">1:1 맞춤 클리닉</text>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 2.2 KiB |
@@ -0,0 +1,43 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="500" height="500" viewBox="0 0 500 500">
|
||||||
|
<defs>
|
||||||
|
<linearGradient id="grad" x1="0%" y1="0%" x2="100%" y2="100%">
|
||||||
|
<stop offset="0%" stop-color="#059669"/>
|
||||||
|
<stop offset="100%" stop-color="#047857"/>
|
||||||
|
</linearGradient>
|
||||||
|
<radialGradient id="glow" cx="50%" cy="30%" r="50%">
|
||||||
|
<stop offset="0%" stop-color="#ffffff" stop-opacity="0.25"/>
|
||||||
|
<stop offset="100%" stop-color="#ffffff" stop-opacity="0"/>
|
||||||
|
</radialGradient>
|
||||||
|
</defs>
|
||||||
|
|
||||||
|
<!-- 배경 -->
|
||||||
|
<rect width="500" height="500" rx="32" fill="url(#grad)"/>
|
||||||
|
<rect width="500" height="500" rx="32" fill="url(#glow)"/>
|
||||||
|
|
||||||
|
<!-- 장식 원형 패턴 -->
|
||||||
|
<circle cx="430" cy="80" r="100" fill="#ffffff" opacity="0.05"/>
|
||||||
|
<circle cx="70" cy="420" r="80" fill="#ffffff" opacity="0.04"/>
|
||||||
|
|
||||||
|
<!-- 상단 뱃지 -->
|
||||||
|
<rect x="50" y="45" width="140" height="38" rx="19" fill="#ffffff" opacity="0.2"/>
|
||||||
|
<text x="120" y="70" font-family="'Pretendard', sans-serif" font-size="16" font-weight="700" fill="#ffffff" text-anchor="middle" letter-spacing="-0.3">초등 집중 2단계</text>
|
||||||
|
|
||||||
|
<!-- 중앙 아이콘 -->
|
||||||
|
<g>
|
||||||
|
<circle cx="250" cy="240" r="60" fill="none" stroke="#ffffff" stroke-width="10"/>
|
||||||
|
<circle cx="250" cy="240" r="38" fill="none" stroke="#ffffff" stroke-width="8"/>
|
||||||
|
<circle cx="250" cy="240" r="16" fill="#ffffff"/>
|
||||||
|
<line x1="250" y1="165" x2="250" y2="185" stroke="#ffffff" stroke-width="8" stroke-linecap="round"/>
|
||||||
|
<line x1="250" y1="295" x2="250" y2="315" stroke="#ffffff" stroke-width="8" stroke-linecap="round"/>
|
||||||
|
<line x1="175" y1="240" x2="195" y2="240" stroke="#ffffff" stroke-width="8" stroke-linecap="round"/>
|
||||||
|
<line x1="305" y1="240" x2="325" y2="240" stroke="#ffffff" stroke-width="8" stroke-linecap="round"/>
|
||||||
|
</g>
|
||||||
|
|
||||||
|
<!-- 하단 텍스트 영역 -->
|
||||||
|
<text x="250" y="380" font-family="'Pretendard', sans-serif" font-size="34" font-weight="900" fill="#ffffff" text-anchor="middle" letter-spacing="-0.8">공부방법</text>
|
||||||
|
<text x="250" y="420" font-family="'Pretendard', sans-serif" font-size="18" font-weight="600" fill="#ffffff" opacity="0.85" text-anchor="middle" letter-spacing="-0.5">스스로 이해하는 올바른 학습 원리</text>
|
||||||
|
|
||||||
|
<!-- 하단 액션 텍스트 -->
|
||||||
|
<rect x="175" y="445" width="150" height="28" rx="14" fill="#ffffff" opacity="0.25"/>
|
||||||
|
<text x="250" y="464" font-family="'Pretendard', sans-serif" font-size="13" font-weight="700" fill="#ffffff" text-anchor="middle">1:1 맞춤 클리닉</text>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 2.5 KiB |
@@ -0,0 +1,38 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="500" height="500" viewBox="0 0 500 500">
|
||||||
|
<defs>
|
||||||
|
<linearGradient id="grad" x1="0%" y1="0%" x2="100%" y2="100%">
|
||||||
|
<stop offset="0%" stop-color="#d97706"/>
|
||||||
|
<stop offset="100%" stop-color="#b45309"/>
|
||||||
|
</linearGradient>
|
||||||
|
<radialGradient id="glow" cx="50%" cy="30%" r="50%">
|
||||||
|
<stop offset="0%" stop-color="#ffffff" stop-opacity="0.25"/>
|
||||||
|
<stop offset="100%" stop-color="#ffffff" stop-opacity="0"/>
|
||||||
|
</radialGradient>
|
||||||
|
</defs>
|
||||||
|
|
||||||
|
<!-- 배경 -->
|
||||||
|
<rect width="500" height="500" rx="32" fill="url(#grad)"/>
|
||||||
|
<rect width="500" height="500" rx="32" fill="url(#glow)"/>
|
||||||
|
|
||||||
|
<!-- 장식 원형 패턴 -->
|
||||||
|
<circle cx="430" cy="80" r="100" fill="#ffffff" opacity="0.05"/>
|
||||||
|
<circle cx="70" cy="420" r="80" fill="#ffffff" opacity="0.04"/>
|
||||||
|
|
||||||
|
<!-- 상단 뱃지 -->
|
||||||
|
<rect x="50" y="45" width="140" height="38" rx="19" fill="#ffffff" opacity="0.2"/>
|
||||||
|
<text x="120" y="70" font-family="'Pretendard', sans-serif" font-size="16" font-weight="700" fill="#ffffff" text-anchor="middle" letter-spacing="-0.3">초등 집중 3단계</text>
|
||||||
|
|
||||||
|
<!-- 중앙 아이콘 -->
|
||||||
|
<g>
|
||||||
|
<rect x="185" y="180" width="130" height="130" rx="16" fill="none" stroke="#ffffff" stroke-width="10"/>
|
||||||
|
<path d="M215 245 L238 268 L285 215" fill="none" stroke="#ffffff" stroke-width="12" stroke-linecap="round" stroke-linejoin="round"/>
|
||||||
|
</g>
|
||||||
|
|
||||||
|
<!-- 하단 텍스트 영역 -->
|
||||||
|
<text x="250" y="380" font-family="'Pretendard', sans-serif" font-size="34" font-weight="900" fill="#ffffff" text-anchor="middle" letter-spacing="-0.8">숙제검사</text>
|
||||||
|
<text x="250" y="420" font-family="'Pretendard', sans-serif" font-size="18" font-weight="600" fill="#ffffff" opacity="0.85" text-anchor="middle" letter-spacing="-0.5">매일 1:1 오답 점검과 꼼꼼한 피드백</text>
|
||||||
|
|
||||||
|
<!-- 하단 액션 텍스트 -->
|
||||||
|
<rect x="175" y="445" width="150" height="28" rx="14" fill="#ffffff" opacity="0.25"/>
|
||||||
|
<text x="250" y="464" font-family="'Pretendard', sans-serif" font-size="13" font-weight="700" fill="#ffffff" text-anchor="middle">1:1 맞춤 클리닉</text>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 2.1 KiB |
@@ -0,0 +1,42 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="500" height="500" viewBox="0 0 500 500">
|
||||||
|
<defs>
|
||||||
|
<linearGradient id="grad" x1="0%" y1="0%" x2="100%" y2="100%">
|
||||||
|
<stop offset="0%" stop-color="#7c3aed"/>
|
||||||
|
<stop offset="100%" stop-color="#6d28d9"/>
|
||||||
|
</linearGradient>
|
||||||
|
<radialGradient id="glow" cx="50%" cy="30%" r="50%">
|
||||||
|
<stop offset="0%" stop-color="#ffffff" stop-opacity="0.25"/>
|
||||||
|
<stop offset="100%" stop-color="#ffffff" stop-opacity="0"/>
|
||||||
|
</radialGradient>
|
||||||
|
</defs>
|
||||||
|
|
||||||
|
<!-- 배경 -->
|
||||||
|
<rect width="500" height="500" rx="32" fill="url(#grad)"/>
|
||||||
|
<rect width="500" height="500" rx="32" fill="url(#glow)"/>
|
||||||
|
|
||||||
|
<!-- 장식 원형 패턴 -->
|
||||||
|
<circle cx="430" cy="80" r="100" fill="#ffffff" opacity="0.05"/>
|
||||||
|
<circle cx="70" cy="420" r="80" fill="#ffffff" opacity="0.04"/>
|
||||||
|
|
||||||
|
<!-- 상단 뱃지 -->
|
||||||
|
<rect x="50" y="45" width="140" height="38" rx="19" fill="#ffffff" opacity="0.2"/>
|
||||||
|
<text x="120" y="70" font-family="'Pretendard', sans-serif" font-size="16" font-weight="700" fill="#ffffff" text-anchor="middle" letter-spacing="-0.3">초등 집중 4단계</text>
|
||||||
|
|
||||||
|
<!-- 중앙 아이콘 -->
|
||||||
|
<g>
|
||||||
|
<line x1="170" y1="310" x2="330" y2="310" stroke="#ffffff" stroke-width="8" stroke-linecap="round"/>
|
||||||
|
<rect x="190" y="245" width="26" height="65" rx="4" fill="#ffffff" opacity="0.6"/>
|
||||||
|
<rect x="237" y="215" width="26" height="95" rx="4" fill="#ffffff" opacity="0.8"/>
|
||||||
|
<rect x="284" y="175" width="26" height="135" rx="4" fill="#ffffff"/>
|
||||||
|
<path d="M195 230 L245 190 L295 155" fill="none" stroke="#fcd34d" stroke-width="8" stroke-linecap="round" stroke-linejoin="round"/>
|
||||||
|
<polygon points="295,145 310,158 290,165" fill="#fcd34d"/>
|
||||||
|
</g>
|
||||||
|
|
||||||
|
<!-- 하단 텍스트 영역 -->
|
||||||
|
<text x="250" y="380" font-family="'Pretendard', sans-serif" font-size="34" font-weight="900" fill="#ffffff" text-anchor="middle" letter-spacing="-0.8">공부습관</text>
|
||||||
|
<text x="250" y="420" font-family="'Pretendard', sans-serif" font-size="18" font-weight="600" fill="#ffffff" opacity="0.85" text-anchor="middle" letter-spacing="-0.5">매일 정해진 시간 몰입하는 자기주도력</text>
|
||||||
|
|
||||||
|
<!-- 하단 액션 텍스트 -->
|
||||||
|
<rect x="175" y="445" width="150" height="28" rx="14" fill="#ffffff" opacity="0.25"/>
|
||||||
|
<text x="250" y="464" font-family="'Pretendard', sans-serif" font-size="13" font-weight="700" fill="#ffffff" text-anchor="middle">1:1 맞춤 클리닉</text>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 2.4 KiB |
@@ -0,0 +1,41 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="500" height="500" viewBox="0 0 500 500">
|
||||||
|
<defs>
|
||||||
|
<linearGradient id="grad" x1="0%" y1="0%" x2="100%" y2="100%">
|
||||||
|
<stop offset="0%" stop-color="#e11d48"/>
|
||||||
|
<stop offset="100%" stop-color="#be123c"/>
|
||||||
|
</linearGradient>
|
||||||
|
<radialGradient id="glow" cx="50%" cy="30%" r="50%">
|
||||||
|
<stop offset="0%" stop-color="#ffffff" stop-opacity="0.25"/>
|
||||||
|
<stop offset="100%" stop-color="#ffffff" stop-opacity="0"/>
|
||||||
|
</radialGradient>
|
||||||
|
</defs>
|
||||||
|
|
||||||
|
<!-- 배경 -->
|
||||||
|
<rect width="500" height="500" rx="32" fill="url(#grad)"/>
|
||||||
|
<rect width="500" height="500" rx="32" fill="url(#glow)"/>
|
||||||
|
|
||||||
|
<!-- 장식 원형 패턴 -->
|
||||||
|
<circle cx="430" cy="80" r="100" fill="#ffffff" opacity="0.05"/>
|
||||||
|
<circle cx="70" cy="420" r="80" fill="#ffffff" opacity="0.04"/>
|
||||||
|
|
||||||
|
<!-- 상단 뱃지 -->
|
||||||
|
<rect x="50" y="45" width="140" height="38" rx="19" fill="#ffffff" opacity="0.2"/>
|
||||||
|
<text x="120" y="70" font-family="'Pretendard', sans-serif" font-size="16" font-weight="700" fill="#ffffff" text-anchor="middle" letter-spacing="-0.3">초등 집중 5단계</text>
|
||||||
|
|
||||||
|
<!-- 중앙 아이콘 -->
|
||||||
|
<g>
|
||||||
|
<path d="M190 190 L310 190 L300 250 C290 280 270 290 250 290 C230 290 210 280 200 250 Z" fill="none" stroke="#ffffff" stroke-width="10" stroke-linejoin="round"/>
|
||||||
|
<line x1="250" y1="290" x2="250" y2="320" stroke="#ffffff" stroke-width="12" stroke-linecap="round"/>
|
||||||
|
<line x1="215" y1="320" x2="285" y2="320" stroke="#ffffff" stroke-width="12" stroke-linecap="round"/>
|
||||||
|
<path d="M190 205 C170 205 160 220 160 235 C160 250 175 255 195 255" fill="none" stroke="#ffffff" stroke-width="8" stroke-linecap="round"/>
|
||||||
|
<path d="M310 205 C330 205 340 220 340 235 C340 250 325 255 305 255" fill="none" stroke="#ffffff" stroke-width="8" stroke-linecap="round"/>
|
||||||
|
</g>
|
||||||
|
|
||||||
|
<!-- 하단 텍스트 영역 -->
|
||||||
|
<text x="250" y="380" font-family="'Pretendard', sans-serif" font-size="34" font-weight="900" fill="#ffffff" text-anchor="middle" letter-spacing="-0.8">중등대비</text>
|
||||||
|
<text x="250" y="420" font-family="'Pretendard', sans-serif" font-size="18" font-weight="600" fill="#ffffff" opacity="0.85" text-anchor="middle" letter-spacing="-0.5">중학교 내신 서술형과 심화 선행</text>
|
||||||
|
|
||||||
|
<!-- 하단 액션 텍스트 -->
|
||||||
|
<rect x="175" y="445" width="150" height="28" rx="14" fill="#ffffff" opacity="0.25"/>
|
||||||
|
<text x="250" y="464" font-family="'Pretendard', sans-serif" font-size="13" font-weight="700" fill="#ffffff" text-anchor="middle">1:1 맞춤 클리닉</text>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 2.5 KiB |
@@ -0,0 +1,43 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="500" height="500" viewBox="0 0 500 500">
|
||||||
|
<defs>
|
||||||
|
<linearGradient id="grad" x1="0%" y1="0%" x2="100%" y2="100%">
|
||||||
|
<stop offset="0%" stop-color="#2563eb"/>
|
||||||
|
<stop offset="100%" stop-color="#1d4ed8"/>
|
||||||
|
</linearGradient>
|
||||||
|
<radialGradient id="glow" cx="50%" cy="30%" r="50%">
|
||||||
|
<stop offset="0%" stop-color="#ffffff" stop-opacity="0.25"/>
|
||||||
|
<stop offset="100%" stop-color="#ffffff" stop-opacity="0"/>
|
||||||
|
</radialGradient>
|
||||||
|
</defs>
|
||||||
|
|
||||||
|
<!-- 배경 -->
|
||||||
|
<rect width="500" height="500" rx="32" fill="url(#grad)"/>
|
||||||
|
<rect width="500" height="500" rx="32" fill="url(#glow)"/>
|
||||||
|
|
||||||
|
<!-- 장식 원형 패턴 -->
|
||||||
|
<circle cx="430" cy="80" r="100" fill="#ffffff" opacity="0.05"/>
|
||||||
|
<circle cx="70" cy="420" r="80" fill="#ffffff" opacity="0.04"/>
|
||||||
|
|
||||||
|
<!-- 상단 뱃지 -->
|
||||||
|
<rect x="50" y="45" width="140" height="38" rx="19" fill="#ffffff" opacity="0.2"/>
|
||||||
|
<text x="120" y="70" font-family="'Pretendard', sans-serif" font-size="16" font-weight="700" fill="#ffffff" text-anchor="middle" letter-spacing="-0.3">실전 시험 대비</text>
|
||||||
|
|
||||||
|
<!-- 중앙 아이콘 -->
|
||||||
|
<g>
|
||||||
|
<circle cx="250" cy="240" r="60" fill="none" stroke="#ffffff" stroke-width="10"/>
|
||||||
|
<circle cx="250" cy="240" r="38" fill="none" stroke="#ffffff" stroke-width="8"/>
|
||||||
|
<circle cx="250" cy="240" r="16" fill="#ffffff"/>
|
||||||
|
<line x1="250" y1="165" x2="250" y2="185" stroke="#ffffff" stroke-width="8" stroke-linecap="round"/>
|
||||||
|
<line x1="250" y1="295" x2="250" y2="315" stroke="#ffffff" stroke-width="8" stroke-linecap="round"/>
|
||||||
|
<line x1="175" y1="240" x2="195" y2="240" stroke="#ffffff" stroke-width="8" stroke-linecap="round"/>
|
||||||
|
<line x1="305" y1="240" x2="325" y2="240" stroke="#ffffff" stroke-width="8" stroke-linecap="round"/>
|
||||||
|
</g>
|
||||||
|
|
||||||
|
<!-- 하단 텍스트 영역 -->
|
||||||
|
<text x="250" y="380" font-family="'Pretendard', sans-serif" font-size="34" font-weight="900" fill="#ffffff" text-anchor="middle" letter-spacing="-0.8">중간고사 수학과외</text>
|
||||||
|
<text x="250" y="420" font-family="'Pretendard', sans-serif" font-size="18" font-weight="600" fill="#ffffff" opacity="0.85" text-anchor="middle" letter-spacing="-0.5">학교별 기출 족보 및 서술형 킬러 대비</text>
|
||||||
|
|
||||||
|
<!-- 하단 액션 텍스트 -->
|
||||||
|
<rect x="175" y="445" width="150" height="28" rx="14" fill="#ffffff" opacity="0.25"/>
|
||||||
|
<text x="250" y="464" font-family="'Pretendard', sans-serif" font-size="13" font-weight="700" fill="#ffffff" text-anchor="middle">1:1 맞춤 클리닉</text>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 2.5 KiB |
@@ -0,0 +1,38 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="500" height="500" viewBox="0 0 500 500">
|
||||||
|
<defs>
|
||||||
|
<linearGradient id="grad" x1="0%" y1="0%" x2="100%" y2="100%">
|
||||||
|
<stop offset="0%" stop-color="#0d9488"/>
|
||||||
|
<stop offset="100%" stop-color="#0f766e"/>
|
||||||
|
</linearGradient>
|
||||||
|
<radialGradient id="glow" cx="50%" cy="30%" r="50%">
|
||||||
|
<stop offset="0%" stop-color="#ffffff" stop-opacity="0.25"/>
|
||||||
|
<stop offset="100%" stop-color="#ffffff" stop-opacity="0"/>
|
||||||
|
</radialGradient>
|
||||||
|
</defs>
|
||||||
|
|
||||||
|
<!-- 배경 -->
|
||||||
|
<rect width="500" height="500" rx="32" fill="url(#grad)"/>
|
||||||
|
<rect width="500" height="500" rx="32" fill="url(#glow)"/>
|
||||||
|
|
||||||
|
<!-- 장식 원형 패턴 -->
|
||||||
|
<circle cx="430" cy="80" r="100" fill="#ffffff" opacity="0.05"/>
|
||||||
|
<circle cx="70" cy="420" r="80" fill="#ffffff" opacity="0.04"/>
|
||||||
|
|
||||||
|
<!-- 상단 뱃지 -->
|
||||||
|
<rect x="50" y="45" width="140" height="38" rx="19" fill="#ffffff" opacity="0.2"/>
|
||||||
|
<text x="120" y="70" font-family="'Pretendard', sans-serif" font-size="16" font-weight="700" fill="#ffffff" text-anchor="middle" letter-spacing="-0.3">학기말 총정리</text>
|
||||||
|
|
||||||
|
<!-- 중앙 아이콘 -->
|
||||||
|
<g>
|
||||||
|
<rect x="185" y="180" width="130" height="130" rx="16" fill="none" stroke="#ffffff" stroke-width="10"/>
|
||||||
|
<path d="M215 245 L238 268 L285 215" fill="none" stroke="#ffffff" stroke-width="12" stroke-linecap="round" stroke-linejoin="round"/>
|
||||||
|
</g>
|
||||||
|
|
||||||
|
<!-- 하단 텍스트 영역 -->
|
||||||
|
<text x="250" y="380" font-family="'Pretendard', sans-serif" font-size="34" font-weight="900" fill="#ffffff" text-anchor="middle" letter-spacing="-0.8">기말고사 수학과외</text>
|
||||||
|
<text x="250" y="420" font-family="'Pretendard', sans-serif" font-size="18" font-weight="600" fill="#ffffff" opacity="0.85" text-anchor="middle" letter-spacing="-0.5">전 범위 오답 분석 및 약점 완벽 클리닉</text>
|
||||||
|
|
||||||
|
<!-- 하단 액션 텍스트 -->
|
||||||
|
<rect x="175" y="445" width="150" height="28" rx="14" fill="#ffffff" opacity="0.25"/>
|
||||||
|
<text x="250" y="464" font-family="'Pretendard', sans-serif" font-size="13" font-weight="700" fill="#ffffff" text-anchor="middle">1:1 맞춤 클리닉</text>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 2.1 KiB |
@@ -0,0 +1,42 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="500" height="500" viewBox="0 0 500 500">
|
||||||
|
<defs>
|
||||||
|
<linearGradient id="grad" x1="0%" y1="0%" x2="100%" y2="100%">
|
||||||
|
<stop offset="0%" stop-color="#4f46e5"/>
|
||||||
|
<stop offset="100%" stop-color="#4338ca"/>
|
||||||
|
</linearGradient>
|
||||||
|
<radialGradient id="glow" cx="50%" cy="30%" r="50%">
|
||||||
|
<stop offset="0%" stop-color="#ffffff" stop-opacity="0.25"/>
|
||||||
|
<stop offset="100%" stop-color="#ffffff" stop-opacity="0"/>
|
||||||
|
</radialGradient>
|
||||||
|
</defs>
|
||||||
|
|
||||||
|
<!-- 배경 -->
|
||||||
|
<rect width="500" height="500" rx="32" fill="url(#grad)"/>
|
||||||
|
<rect width="500" height="500" rx="32" fill="url(#glow)"/>
|
||||||
|
|
||||||
|
<!-- 장식 원형 패턴 -->
|
||||||
|
<circle cx="430" cy="80" r="100" fill="#ffffff" opacity="0.05"/>
|
||||||
|
<circle cx="70" cy="420" r="80" fill="#ffffff" opacity="0.04"/>
|
||||||
|
|
||||||
|
<!-- 상단 뱃지 -->
|
||||||
|
<rect x="50" y="45" width="140" height="38" rx="19" fill="#ffffff" opacity="0.2"/>
|
||||||
|
<text x="120" y="70" font-family="'Pretendard', sans-serif" font-size="16" font-weight="700" fill="#ffffff" text-anchor="middle" letter-spacing="-0.3">수능·전국연합</text>
|
||||||
|
|
||||||
|
<!-- 중앙 아이콘 -->
|
||||||
|
<g>
|
||||||
|
<line x1="170" y1="310" x2="330" y2="310" stroke="#ffffff" stroke-width="8" stroke-linecap="round"/>
|
||||||
|
<rect x="190" y="245" width="26" height="65" rx="4" fill="#ffffff" opacity="0.6"/>
|
||||||
|
<rect x="237" y="215" width="26" height="95" rx="4" fill="#ffffff" opacity="0.8"/>
|
||||||
|
<rect x="284" y="175" width="26" height="135" rx="4" fill="#ffffff"/>
|
||||||
|
<path d="M195 230 L245 190 L295 155" fill="none" stroke="#fcd34d" stroke-width="8" stroke-linecap="round" stroke-linejoin="round"/>
|
||||||
|
<polygon points="295,145 310,158 290,165" fill="#fcd34d"/>
|
||||||
|
</g>
|
||||||
|
|
||||||
|
<!-- 하단 텍스트 영역 -->
|
||||||
|
<text x="250" y="380" font-family="'Pretendard', sans-serif" font-size="34" font-weight="900" fill="#ffffff" text-anchor="middle" letter-spacing="-0.8">모의고사 수학과외</text>
|
||||||
|
<text x="250" y="420" font-family="'Pretendard', sans-serif" font-size="18" font-weight="600" fill="#ffffff" opacity="0.85" text-anchor="middle" letter-spacing="-0.5">수능형 사고력 확장 및 시간관리 특훈</text>
|
||||||
|
|
||||||
|
<!-- 하단 액션 텍스트 -->
|
||||||
|
<rect x="175" y="445" width="150" height="28" rx="14" fill="#ffffff" opacity="0.25"/>
|
||||||
|
<text x="250" y="464" font-family="'Pretendard', sans-serif" font-size="13" font-weight="700" fill="#ffffff" text-anchor="middle">1:1 맞춤 클리닉</text>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 2.4 KiB |
@@ -0,0 +1,38 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="500" height="500" viewBox="0 0 500 500">
|
||||||
|
<defs>
|
||||||
|
<linearGradient id="grad" x1="0%" y1="0%" x2="100%" y2="100%">
|
||||||
|
<stop offset="0%" stop-color="#ea580c"/>
|
||||||
|
<stop offset="100%" stop-color="#c2410c"/>
|
||||||
|
</linearGradient>
|
||||||
|
<radialGradient id="glow" cx="50%" cy="30%" r="50%">
|
||||||
|
<stop offset="0%" stop-color="#ffffff" stop-opacity="0.25"/>
|
||||||
|
<stop offset="100%" stop-color="#ffffff" stop-opacity="0"/>
|
||||||
|
</radialGradient>
|
||||||
|
</defs>
|
||||||
|
|
||||||
|
<!-- 배경 -->
|
||||||
|
<rect width="500" height="500" rx="32" fill="url(#grad)"/>
|
||||||
|
<rect width="500" height="500" rx="32" fill="url(#glow)"/>
|
||||||
|
|
||||||
|
<!-- 장식 원형 패턴 -->
|
||||||
|
<circle cx="430" cy="80" r="100" fill="#ffffff" opacity="0.05"/>
|
||||||
|
<circle cx="70" cy="420" r="80" fill="#ffffff" opacity="0.04"/>
|
||||||
|
|
||||||
|
<!-- 상단 뱃지 -->
|
||||||
|
<rect x="50" y="45" width="140" height="38" rx="19" fill="#ffffff" opacity="0.2"/>
|
||||||
|
<text x="120" y="70" font-family="'Pretendard', sans-serif" font-size="16" font-weight="700" fill="#ffffff" text-anchor="middle" letter-spacing="-0.3">서술형·과제</text>
|
||||||
|
|
||||||
|
<!-- 중앙 아이콘 -->
|
||||||
|
<g>
|
||||||
|
<path d="M170 200 C210 185 240 185 250 195 C260 185 290 185 330 200 L330 290 C290 275 260 275 250 285 C240 275 210 275 170 290 Z" fill="none" stroke="#ffffff" stroke-width="12" stroke-linecap="round" stroke-linejoin="round"/>
|
||||||
|
<line x1="250" y1="195" x2="250" y2="285" stroke="#ffffff" stroke-width="10" stroke-linecap="round"/>
|
||||||
|
</g>
|
||||||
|
|
||||||
|
<!-- 하단 텍스트 영역 -->
|
||||||
|
<text x="250" y="380" font-family="'Pretendard', sans-serif" font-size="34" font-weight="900" fill="#ffffff" text-anchor="middle" letter-spacing="-0.8">수행평가 수학과외</text>
|
||||||
|
<text x="250" y="420" font-family="'Pretendard', sans-serif" font-size="18" font-weight="600" fill="#ffffff" opacity="0.85" text-anchor="middle" letter-spacing="-0.5">조건 감점 0점화 및 탐구보고서 세특</text>
|
||||||
|
|
||||||
|
<!-- 하단 액션 텍스트 -->
|
||||||
|
<rect x="175" y="445" width="150" height="28" rx="14" fill="#ffffff" opacity="0.25"/>
|
||||||
|
<text x="250" y="464" font-family="'Pretendard', sans-serif" font-size="13" font-weight="700" fill="#ffffff" text-anchor="middle">1:1 맞춤 클리닉</text>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 2.2 KiB |
@@ -0,0 +1,41 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="500" height="500" viewBox="0 0 500 500">
|
||||||
|
<defs>
|
||||||
|
<linearGradient id="grad" x1="0%" y1="0%" x2="100%" y2="100%">
|
||||||
|
<stop offset="0%" stop-color="#be123c"/>
|
||||||
|
<stop offset="100%" stop-color="#9f1239"/>
|
||||||
|
</linearGradient>
|
||||||
|
<radialGradient id="glow" cx="50%" cy="30%" r="50%">
|
||||||
|
<stop offset="0%" stop-color="#ffffff" stop-opacity="0.25"/>
|
||||||
|
<stop offset="100%" stop-color="#ffffff" stop-opacity="0"/>
|
||||||
|
</radialGradient>
|
||||||
|
</defs>
|
||||||
|
|
||||||
|
<!-- 배경 -->
|
||||||
|
<rect width="500" height="500" rx="32" fill="url(#grad)"/>
|
||||||
|
<rect width="500" height="500" rx="32" fill="url(#glow)"/>
|
||||||
|
|
||||||
|
<!-- 장식 원형 패턴 -->
|
||||||
|
<circle cx="430" cy="80" r="100" fill="#ffffff" opacity="0.05"/>
|
||||||
|
<circle cx="70" cy="420" r="80" fill="#ffffff" opacity="0.04"/>
|
||||||
|
|
||||||
|
<!-- 상단 뱃지 -->
|
||||||
|
<rect x="50" y="45" width="140" height="38" rx="19" fill="#ffffff" opacity="0.2"/>
|
||||||
|
<text x="120" y="70" font-family="'Pretendard', sans-serif" font-size="16" font-weight="700" fill="#ffffff" text-anchor="middle" letter-spacing="-0.3">1등급 집중공략</text>
|
||||||
|
|
||||||
|
<!-- 중앙 아이콘 -->
|
||||||
|
<g>
|
||||||
|
<path d="M190 190 L310 190 L300 250 C290 280 270 290 250 290 C230 290 210 280 200 250 Z" fill="none" stroke="#ffffff" stroke-width="10" stroke-linejoin="round"/>
|
||||||
|
<line x1="250" y1="290" x2="250" y2="320" stroke="#ffffff" stroke-width="12" stroke-linecap="round"/>
|
||||||
|
<line x1="215" y1="320" x2="285" y2="320" stroke="#ffffff" stroke-width="12" stroke-linecap="round"/>
|
||||||
|
<path d="M190 205 C170 205 160 220 160 235 C160 250 175 255 195 255" fill="none" stroke="#ffffff" stroke-width="8" stroke-linecap="round"/>
|
||||||
|
<path d="M310 205 C330 205 340 220 340 235 C340 250 325 255 305 255" fill="none" stroke="#ffffff" stroke-width="8" stroke-linecap="round"/>
|
||||||
|
</g>
|
||||||
|
|
||||||
|
<!-- 하단 텍스트 영역 -->
|
||||||
|
<text x="250" y="380" font-family="'Pretendard', sans-serif" font-size="34" font-weight="900" fill="#ffffff" text-anchor="middle" letter-spacing="-0.8">내신대비 수학과외</text>
|
||||||
|
<text x="250" y="420" font-family="'Pretendard', sans-serif" font-size="18" font-weight="600" fill="#ffffff" opacity="0.85" text-anchor="middle" letter-spacing="-0.5">관내 교과서·부교재 적중 1:1 맞춤 지도</text>
|
||||||
|
|
||||||
|
<!-- 하단 액션 텍스트 -->
|
||||||
|
<rect x="175" y="445" width="150" height="28" rx="14" fill="#ffffff" opacity="0.25"/>
|
||||||
|
<text x="250" y="464" font-family="'Pretendard', sans-serif" font-size="13" font-weight="700" fill="#ffffff" text-anchor="middle">1:1 맞춤 클리닉</text>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 2.5 KiB |
@@ -13,5 +13,5 @@
|
|||||||
<text x="80" y="420" font-family="'Pretendard', sans-serif" font-size="30" font-weight="500" fill="#e0e7ff">국어 · 영어 · 수학 · 과학 · 사회 · 수행평가 세특</text>
|
<text x="80" y="420" font-family="'Pretendard', sans-serif" font-size="30" font-weight="500" fill="#e0e7ff">국어 · 영어 · 수학 · 과학 · 사회 · 수행평가 세특</text>
|
||||||
<text x="80" y="480" font-family="'Pretendard', sans-serif" font-size="28" font-weight="700" fill="#ffffff">전국 568개 동 학교별 기출 족보 완벽 분석</text>
|
<text x="80" y="480" font-family="'Pretendard', sans-serif" font-size="28" font-weight="700" fill="#ffffff">전국 568개 동 학교별 기출 족보 완벽 분석</text>
|
||||||
<rect x="80" y="530" width="340" height="50" rx="25" fill="#10b981"/>
|
<rect x="80" y="530" width="340" height="50" rx="25" fill="#10b981"/>
|
||||||
<text x="250" y="563" font-family="'Pretendard', sans-serif" font-size="24" font-weight="700" fill="#ffffff" text-anchor="middle">1회 무료 상담: 1588-0909</text>
|
<text x="250" y="563" font-family="'Pretendard', sans-serif" font-size="24" font-weight="700" fill="#ffffff" text-anchor="middle">1회 무료 상담: 010-5961-5807</text>
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.5 KiB |
@@ -4,7 +4,7 @@
|
|||||||
<div class="footer-info">
|
<div class="footer-info">
|
||||||
<h4 class="footer-brand">{{ siteName }}</h4>
|
<h4 class="footer-brand">{{ siteName }}</h4>
|
||||||
<p class="footer-meta">
|
<p class="footer-meta">
|
||||||
전국 초·중·고 1:1 맞춤 방문과외 및 실시간 화상코칭 서비스 | 대표번호: 1588-0000<br />
|
전국 초·중·고 1:1 맞춤 방문과외 및 실시간 화상코칭 서비스 | 대표번호: 010-5961-5807<br />
|
||||||
사업자등록번호: 123-45-67890 | 통신판매업신고: 제2026-서울강남-0123호 | 개인정보관리책임자: 교육연구소<br />
|
사업자등록번호: 123-45-67890 | 통신판매업신고: 제2026-서울강남-0123호 | 개인정보관리책임자: 교육연구소<br />
|
||||||
주소: 서울특별시 강남구 테헤란로 123 에듀빌딩 4층
|
주소: 서울특별시 강남구 테헤란로 123 에듀빌딩 4층
|
||||||
</p>
|
</p>
|
||||||
|
|||||||
@@ -110,7 +110,7 @@
|
|||||||
<span v-if="loading">문의 전송 중...</span>
|
<span v-if="loading">문의 전송 중...</span>
|
||||||
<span v-else>문의 보내기</span>
|
<span v-else>문의 보내기</span>
|
||||||
</button>
|
</button>
|
||||||
<a href="tel:1588-0000" class="btn-call">
|
<a href="tel:010-5961-5807" class="btn-call">
|
||||||
전화로 바로 상담
|
전화로 바로 상담
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -22,7 +22,7 @@
|
|||||||
</a>
|
</a>
|
||||||
<div class="hero-call-info">
|
<div class="hero-call-info">
|
||||||
<span class="call-icon"></span>
|
<span class="call-icon"></span>
|
||||||
<span class="call-text">실시간 학습상담 <strong>1588-0000</strong></span>
|
<span class="call-text">실시간 학습상담 <strong>010-5961-5807</strong></span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
@@ -3,10 +3,10 @@ version: '3.8'
|
|||||||
services:
|
services:
|
||||||
app:
|
app:
|
||||||
build: .
|
build: .
|
||||||
container_name: passfinder_site4
|
container_name: aeseo_store_frontend
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
ports:
|
ports:
|
||||||
- "3014:3000"
|
- "80:3000"
|
||||||
environment:
|
environment:
|
||||||
- NODE_ENV=production
|
- NODE_ENV=production
|
||||||
- SITE_DOMAIN=https://aeseo.store
|
- SITE_DOMAIN=https://aeseo.store
|
||||||
|
|||||||
@@ -0,0 +1,38 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="500" height="500" viewBox="0 0 500 500">
|
||||||
|
<defs>
|
||||||
|
<linearGradient id="grad" x1="0%" y1="0%" x2="100%" y2="100%">
|
||||||
|
<stop offset="0%" stop-color="#0284c7"/>
|
||||||
|
<stop offset="100%" stop-color="#0369a1"/>
|
||||||
|
</linearGradient>
|
||||||
|
<radialGradient id="glow" cx="50%" cy="30%" r="50%">
|
||||||
|
<stop offset="0%" stop-color="#ffffff" stop-opacity="0.25"/>
|
||||||
|
<stop offset="100%" stop-color="#ffffff" stop-opacity="0"/>
|
||||||
|
</radialGradient>
|
||||||
|
</defs>
|
||||||
|
|
||||||
|
<!-- 배경 -->
|
||||||
|
<rect width="500" height="500" rx="32" fill="url(#grad)"/>
|
||||||
|
<rect width="500" height="500" rx="32" fill="url(#glow)"/>
|
||||||
|
|
||||||
|
<!-- 장식 원형 패턴 -->
|
||||||
|
<circle cx="430" cy="80" r="100" fill="#ffffff" opacity="0.05"/>
|
||||||
|
<circle cx="70" cy="420" r="80" fill="#ffffff" opacity="0.04"/>
|
||||||
|
|
||||||
|
<!-- 상단 뱃지 -->
|
||||||
|
<rect x="50" y="45" width="140" height="38" rx="19" fill="#ffffff" opacity="0.2"/>
|
||||||
|
<text x="120" y="70" font-family="'Pretendard', sans-serif" font-size="16" font-weight="700" fill="#ffffff" text-anchor="middle" letter-spacing="-0.3">초등 집중 1단계</text>
|
||||||
|
|
||||||
|
<!-- 중앙 아이콘 -->
|
||||||
|
<g>
|
||||||
|
<path d="M170 200 C210 185 240 185 250 195 C260 185 290 185 330 200 L330 290 C290 275 260 275 250 285 C240 275 210 275 170 290 Z" fill="none" stroke="#ffffff" stroke-width="12" stroke-linecap="round" stroke-linejoin="round"/>
|
||||||
|
<line x1="250" y1="195" x2="250" y2="285" stroke="#ffffff" stroke-width="10" stroke-linecap="round"/>
|
||||||
|
</g>
|
||||||
|
|
||||||
|
<!-- 하단 텍스트 영역 -->
|
||||||
|
<text x="250" y="380" font-family="'Pretendard', sans-serif" font-size="34" font-weight="900" fill="#ffffff" text-anchor="middle" letter-spacing="-0.8">기초학습</text>
|
||||||
|
<text x="250" y="420" font-family="'Pretendard', sans-serif" font-size="18" font-weight="600" fill="#ffffff" opacity="0.85" text-anchor="middle" letter-spacing="-0.5">개념 이해와 튼튼한 연산 기본기</text>
|
||||||
|
|
||||||
|
<!-- 하단 액션 텍스트 -->
|
||||||
|
<rect x="175" y="445" width="150" height="28" rx="14" fill="#ffffff" opacity="0.25"/>
|
||||||
|
<text x="250" y="464" font-family="'Pretendard', sans-serif" font-size="13" font-weight="700" fill="#ffffff" text-anchor="middle">1:1 맞춤 클리닉</text>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 2.2 KiB |
@@ -0,0 +1,43 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="500" height="500" viewBox="0 0 500 500">
|
||||||
|
<defs>
|
||||||
|
<linearGradient id="grad" x1="0%" y1="0%" x2="100%" y2="100%">
|
||||||
|
<stop offset="0%" stop-color="#059669"/>
|
||||||
|
<stop offset="100%" stop-color="#047857"/>
|
||||||
|
</linearGradient>
|
||||||
|
<radialGradient id="glow" cx="50%" cy="30%" r="50%">
|
||||||
|
<stop offset="0%" stop-color="#ffffff" stop-opacity="0.25"/>
|
||||||
|
<stop offset="100%" stop-color="#ffffff" stop-opacity="0"/>
|
||||||
|
</radialGradient>
|
||||||
|
</defs>
|
||||||
|
|
||||||
|
<!-- 배경 -->
|
||||||
|
<rect width="500" height="500" rx="32" fill="url(#grad)"/>
|
||||||
|
<rect width="500" height="500" rx="32" fill="url(#glow)"/>
|
||||||
|
|
||||||
|
<!-- 장식 원형 패턴 -->
|
||||||
|
<circle cx="430" cy="80" r="100" fill="#ffffff" opacity="0.05"/>
|
||||||
|
<circle cx="70" cy="420" r="80" fill="#ffffff" opacity="0.04"/>
|
||||||
|
|
||||||
|
<!-- 상단 뱃지 -->
|
||||||
|
<rect x="50" y="45" width="140" height="38" rx="19" fill="#ffffff" opacity="0.2"/>
|
||||||
|
<text x="120" y="70" font-family="'Pretendard', sans-serif" font-size="16" font-weight="700" fill="#ffffff" text-anchor="middle" letter-spacing="-0.3">초등 집중 2단계</text>
|
||||||
|
|
||||||
|
<!-- 중앙 아이콘 -->
|
||||||
|
<g>
|
||||||
|
<circle cx="250" cy="240" r="60" fill="none" stroke="#ffffff" stroke-width="10"/>
|
||||||
|
<circle cx="250" cy="240" r="38" fill="none" stroke="#ffffff" stroke-width="8"/>
|
||||||
|
<circle cx="250" cy="240" r="16" fill="#ffffff"/>
|
||||||
|
<line x1="250" y1="165" x2="250" y2="185" stroke="#ffffff" stroke-width="8" stroke-linecap="round"/>
|
||||||
|
<line x1="250" y1="295" x2="250" y2="315" stroke="#ffffff" stroke-width="8" stroke-linecap="round"/>
|
||||||
|
<line x1="175" y1="240" x2="195" y2="240" stroke="#ffffff" stroke-width="8" stroke-linecap="round"/>
|
||||||
|
<line x1="305" y1="240" x2="325" y2="240" stroke="#ffffff" stroke-width="8" stroke-linecap="round"/>
|
||||||
|
</g>
|
||||||
|
|
||||||
|
<!-- 하단 텍스트 영역 -->
|
||||||
|
<text x="250" y="380" font-family="'Pretendard', sans-serif" font-size="34" font-weight="900" fill="#ffffff" text-anchor="middle" letter-spacing="-0.8">공부방법</text>
|
||||||
|
<text x="250" y="420" font-family="'Pretendard', sans-serif" font-size="18" font-weight="600" fill="#ffffff" opacity="0.85" text-anchor="middle" letter-spacing="-0.5">스스로 이해하는 올바른 학습 원리</text>
|
||||||
|
|
||||||
|
<!-- 하단 액션 텍스트 -->
|
||||||
|
<rect x="175" y="445" width="150" height="28" rx="14" fill="#ffffff" opacity="0.25"/>
|
||||||
|
<text x="250" y="464" font-family="'Pretendard', sans-serif" font-size="13" font-weight="700" fill="#ffffff" text-anchor="middle">1:1 맞춤 클리닉</text>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 2.5 KiB |
@@ -0,0 +1,38 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="500" height="500" viewBox="0 0 500 500">
|
||||||
|
<defs>
|
||||||
|
<linearGradient id="grad" x1="0%" y1="0%" x2="100%" y2="100%">
|
||||||
|
<stop offset="0%" stop-color="#d97706"/>
|
||||||
|
<stop offset="100%" stop-color="#b45309"/>
|
||||||
|
</linearGradient>
|
||||||
|
<radialGradient id="glow" cx="50%" cy="30%" r="50%">
|
||||||
|
<stop offset="0%" stop-color="#ffffff" stop-opacity="0.25"/>
|
||||||
|
<stop offset="100%" stop-color="#ffffff" stop-opacity="0"/>
|
||||||
|
</radialGradient>
|
||||||
|
</defs>
|
||||||
|
|
||||||
|
<!-- 배경 -->
|
||||||
|
<rect width="500" height="500" rx="32" fill="url(#grad)"/>
|
||||||
|
<rect width="500" height="500" rx="32" fill="url(#glow)"/>
|
||||||
|
|
||||||
|
<!-- 장식 원형 패턴 -->
|
||||||
|
<circle cx="430" cy="80" r="100" fill="#ffffff" opacity="0.05"/>
|
||||||
|
<circle cx="70" cy="420" r="80" fill="#ffffff" opacity="0.04"/>
|
||||||
|
|
||||||
|
<!-- 상단 뱃지 -->
|
||||||
|
<rect x="50" y="45" width="140" height="38" rx="19" fill="#ffffff" opacity="0.2"/>
|
||||||
|
<text x="120" y="70" font-family="'Pretendard', sans-serif" font-size="16" font-weight="700" fill="#ffffff" text-anchor="middle" letter-spacing="-0.3">초등 집중 3단계</text>
|
||||||
|
|
||||||
|
<!-- 중앙 아이콘 -->
|
||||||
|
<g>
|
||||||
|
<rect x="185" y="180" width="130" height="130" rx="16" fill="none" stroke="#ffffff" stroke-width="10"/>
|
||||||
|
<path d="M215 245 L238 268 L285 215" fill="none" stroke="#ffffff" stroke-width="12" stroke-linecap="round" stroke-linejoin="round"/>
|
||||||
|
</g>
|
||||||
|
|
||||||
|
<!-- 하단 텍스트 영역 -->
|
||||||
|
<text x="250" y="380" font-family="'Pretendard', sans-serif" font-size="34" font-weight="900" fill="#ffffff" text-anchor="middle" letter-spacing="-0.8">숙제검사</text>
|
||||||
|
<text x="250" y="420" font-family="'Pretendard', sans-serif" font-size="18" font-weight="600" fill="#ffffff" opacity="0.85" text-anchor="middle" letter-spacing="-0.5">매일 1:1 오답 점검과 꼼꼼한 피드백</text>
|
||||||
|
|
||||||
|
<!-- 하단 액션 텍스트 -->
|
||||||
|
<rect x="175" y="445" width="150" height="28" rx="14" fill="#ffffff" opacity="0.25"/>
|
||||||
|
<text x="250" y="464" font-family="'Pretendard', sans-serif" font-size="13" font-weight="700" fill="#ffffff" text-anchor="middle">1:1 맞춤 클리닉</text>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 2.1 KiB |
@@ -0,0 +1,42 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="500" height="500" viewBox="0 0 500 500">
|
||||||
|
<defs>
|
||||||
|
<linearGradient id="grad" x1="0%" y1="0%" x2="100%" y2="100%">
|
||||||
|
<stop offset="0%" stop-color="#7c3aed"/>
|
||||||
|
<stop offset="100%" stop-color="#6d28d9"/>
|
||||||
|
</linearGradient>
|
||||||
|
<radialGradient id="glow" cx="50%" cy="30%" r="50%">
|
||||||
|
<stop offset="0%" stop-color="#ffffff" stop-opacity="0.25"/>
|
||||||
|
<stop offset="100%" stop-color="#ffffff" stop-opacity="0"/>
|
||||||
|
</radialGradient>
|
||||||
|
</defs>
|
||||||
|
|
||||||
|
<!-- 배경 -->
|
||||||
|
<rect width="500" height="500" rx="32" fill="url(#grad)"/>
|
||||||
|
<rect width="500" height="500" rx="32" fill="url(#glow)"/>
|
||||||
|
|
||||||
|
<!-- 장식 원형 패턴 -->
|
||||||
|
<circle cx="430" cy="80" r="100" fill="#ffffff" opacity="0.05"/>
|
||||||
|
<circle cx="70" cy="420" r="80" fill="#ffffff" opacity="0.04"/>
|
||||||
|
|
||||||
|
<!-- 상단 뱃지 -->
|
||||||
|
<rect x="50" y="45" width="140" height="38" rx="19" fill="#ffffff" opacity="0.2"/>
|
||||||
|
<text x="120" y="70" font-family="'Pretendard', sans-serif" font-size="16" font-weight="700" fill="#ffffff" text-anchor="middle" letter-spacing="-0.3">초등 집중 4단계</text>
|
||||||
|
|
||||||
|
<!-- 중앙 아이콘 -->
|
||||||
|
<g>
|
||||||
|
<line x1="170" y1="310" x2="330" y2="310" stroke="#ffffff" stroke-width="8" stroke-linecap="round"/>
|
||||||
|
<rect x="190" y="245" width="26" height="65" rx="4" fill="#ffffff" opacity="0.6"/>
|
||||||
|
<rect x="237" y="215" width="26" height="95" rx="4" fill="#ffffff" opacity="0.8"/>
|
||||||
|
<rect x="284" y="175" width="26" height="135" rx="4" fill="#ffffff"/>
|
||||||
|
<path d="M195 230 L245 190 L295 155" fill="none" stroke="#fcd34d" stroke-width="8" stroke-linecap="round" stroke-linejoin="round"/>
|
||||||
|
<polygon points="295,145 310,158 290,165" fill="#fcd34d"/>
|
||||||
|
</g>
|
||||||
|
|
||||||
|
<!-- 하단 텍스트 영역 -->
|
||||||
|
<text x="250" y="380" font-family="'Pretendard', sans-serif" font-size="34" font-weight="900" fill="#ffffff" text-anchor="middle" letter-spacing="-0.8">공부습관</text>
|
||||||
|
<text x="250" y="420" font-family="'Pretendard', sans-serif" font-size="18" font-weight="600" fill="#ffffff" opacity="0.85" text-anchor="middle" letter-spacing="-0.5">매일 정해진 시간 몰입하는 자기주도력</text>
|
||||||
|
|
||||||
|
<!-- 하단 액션 텍스트 -->
|
||||||
|
<rect x="175" y="445" width="150" height="28" rx="14" fill="#ffffff" opacity="0.25"/>
|
||||||
|
<text x="250" y="464" font-family="'Pretendard', sans-serif" font-size="13" font-weight="700" fill="#ffffff" text-anchor="middle">1:1 맞춤 클리닉</text>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 2.4 KiB |
@@ -0,0 +1,41 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="500" height="500" viewBox="0 0 500 500">
|
||||||
|
<defs>
|
||||||
|
<linearGradient id="grad" x1="0%" y1="0%" x2="100%" y2="100%">
|
||||||
|
<stop offset="0%" stop-color="#e11d48"/>
|
||||||
|
<stop offset="100%" stop-color="#be123c"/>
|
||||||
|
</linearGradient>
|
||||||
|
<radialGradient id="glow" cx="50%" cy="30%" r="50%">
|
||||||
|
<stop offset="0%" stop-color="#ffffff" stop-opacity="0.25"/>
|
||||||
|
<stop offset="100%" stop-color="#ffffff" stop-opacity="0"/>
|
||||||
|
</radialGradient>
|
||||||
|
</defs>
|
||||||
|
|
||||||
|
<!-- 배경 -->
|
||||||
|
<rect width="500" height="500" rx="32" fill="url(#grad)"/>
|
||||||
|
<rect width="500" height="500" rx="32" fill="url(#glow)"/>
|
||||||
|
|
||||||
|
<!-- 장식 원형 패턴 -->
|
||||||
|
<circle cx="430" cy="80" r="100" fill="#ffffff" opacity="0.05"/>
|
||||||
|
<circle cx="70" cy="420" r="80" fill="#ffffff" opacity="0.04"/>
|
||||||
|
|
||||||
|
<!-- 상단 뱃지 -->
|
||||||
|
<rect x="50" y="45" width="140" height="38" rx="19" fill="#ffffff" opacity="0.2"/>
|
||||||
|
<text x="120" y="70" font-family="'Pretendard', sans-serif" font-size="16" font-weight="700" fill="#ffffff" text-anchor="middle" letter-spacing="-0.3">초등 집중 5단계</text>
|
||||||
|
|
||||||
|
<!-- 중앙 아이콘 -->
|
||||||
|
<g>
|
||||||
|
<path d="M190 190 L310 190 L300 250 C290 280 270 290 250 290 C230 290 210 280 200 250 Z" fill="none" stroke="#ffffff" stroke-width="10" stroke-linejoin="round"/>
|
||||||
|
<line x1="250" y1="290" x2="250" y2="320" stroke="#ffffff" stroke-width="12" stroke-linecap="round"/>
|
||||||
|
<line x1="215" y1="320" x2="285" y2="320" stroke="#ffffff" stroke-width="12" stroke-linecap="round"/>
|
||||||
|
<path d="M190 205 C170 205 160 220 160 235 C160 250 175 255 195 255" fill="none" stroke="#ffffff" stroke-width="8" stroke-linecap="round"/>
|
||||||
|
<path d="M310 205 C330 205 340 220 340 235 C340 250 325 255 305 255" fill="none" stroke="#ffffff" stroke-width="8" stroke-linecap="round"/>
|
||||||
|
</g>
|
||||||
|
|
||||||
|
<!-- 하단 텍스트 영역 -->
|
||||||
|
<text x="250" y="380" font-family="'Pretendard', sans-serif" font-size="34" font-weight="900" fill="#ffffff" text-anchor="middle" letter-spacing="-0.8">중등대비</text>
|
||||||
|
<text x="250" y="420" font-family="'Pretendard', sans-serif" font-size="18" font-weight="600" fill="#ffffff" opacity="0.85" text-anchor="middle" letter-spacing="-0.5">중학교 내신 서술형과 심화 선행</text>
|
||||||
|
|
||||||
|
<!-- 하단 액션 텍스트 -->
|
||||||
|
<rect x="175" y="445" width="150" height="28" rx="14" fill="#ffffff" opacity="0.25"/>
|
||||||
|
<text x="250" y="464" font-family="'Pretendard', sans-serif" font-size="13" font-weight="700" fill="#ffffff" text-anchor="middle">1:1 맞춤 클리닉</text>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 2.5 KiB |
@@ -0,0 +1,43 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="500" height="500" viewBox="0 0 500 500">
|
||||||
|
<defs>
|
||||||
|
<linearGradient id="grad" x1="0%" y1="0%" x2="100%" y2="100%">
|
||||||
|
<stop offset="0%" stop-color="#2563eb"/>
|
||||||
|
<stop offset="100%" stop-color="#1d4ed8"/>
|
||||||
|
</linearGradient>
|
||||||
|
<radialGradient id="glow" cx="50%" cy="30%" r="50%">
|
||||||
|
<stop offset="0%" stop-color="#ffffff" stop-opacity="0.25"/>
|
||||||
|
<stop offset="100%" stop-color="#ffffff" stop-opacity="0"/>
|
||||||
|
</radialGradient>
|
||||||
|
</defs>
|
||||||
|
|
||||||
|
<!-- 배경 -->
|
||||||
|
<rect width="500" height="500" rx="32" fill="url(#grad)"/>
|
||||||
|
<rect width="500" height="500" rx="32" fill="url(#glow)"/>
|
||||||
|
|
||||||
|
<!-- 장식 원형 패턴 -->
|
||||||
|
<circle cx="430" cy="80" r="100" fill="#ffffff" opacity="0.05"/>
|
||||||
|
<circle cx="70" cy="420" r="80" fill="#ffffff" opacity="0.04"/>
|
||||||
|
|
||||||
|
<!-- 상단 뱃지 -->
|
||||||
|
<rect x="50" y="45" width="140" height="38" rx="19" fill="#ffffff" opacity="0.2"/>
|
||||||
|
<text x="120" y="70" font-family="'Pretendard', sans-serif" font-size="16" font-weight="700" fill="#ffffff" text-anchor="middle" letter-spacing="-0.3">실전 시험 대비</text>
|
||||||
|
|
||||||
|
<!-- 중앙 아이콘 -->
|
||||||
|
<g>
|
||||||
|
<circle cx="250" cy="240" r="60" fill="none" stroke="#ffffff" stroke-width="10"/>
|
||||||
|
<circle cx="250" cy="240" r="38" fill="none" stroke="#ffffff" stroke-width="8"/>
|
||||||
|
<circle cx="250" cy="240" r="16" fill="#ffffff"/>
|
||||||
|
<line x1="250" y1="165" x2="250" y2="185" stroke="#ffffff" stroke-width="8" stroke-linecap="round"/>
|
||||||
|
<line x1="250" y1="295" x2="250" y2="315" stroke="#ffffff" stroke-width="8" stroke-linecap="round"/>
|
||||||
|
<line x1="175" y1="240" x2="195" y2="240" stroke="#ffffff" stroke-width="8" stroke-linecap="round"/>
|
||||||
|
<line x1="305" y1="240" x2="325" y2="240" stroke="#ffffff" stroke-width="8" stroke-linecap="round"/>
|
||||||
|
</g>
|
||||||
|
|
||||||
|
<!-- 하단 텍스트 영역 -->
|
||||||
|
<text x="250" y="380" font-family="'Pretendard', sans-serif" font-size="34" font-weight="900" fill="#ffffff" text-anchor="middle" letter-spacing="-0.8">중간고사 수학과외</text>
|
||||||
|
<text x="250" y="420" font-family="'Pretendard', sans-serif" font-size="18" font-weight="600" fill="#ffffff" opacity="0.85" text-anchor="middle" letter-spacing="-0.5">학교별 기출 족보 및 서술형 킬러 대비</text>
|
||||||
|
|
||||||
|
<!-- 하단 액션 텍스트 -->
|
||||||
|
<rect x="175" y="445" width="150" height="28" rx="14" fill="#ffffff" opacity="0.25"/>
|
||||||
|
<text x="250" y="464" font-family="'Pretendard', sans-serif" font-size="13" font-weight="700" fill="#ffffff" text-anchor="middle">1:1 맞춤 클리닉</text>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 2.5 KiB |
@@ -0,0 +1,38 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="500" height="500" viewBox="0 0 500 500">
|
||||||
|
<defs>
|
||||||
|
<linearGradient id="grad" x1="0%" y1="0%" x2="100%" y2="100%">
|
||||||
|
<stop offset="0%" stop-color="#0d9488"/>
|
||||||
|
<stop offset="100%" stop-color="#0f766e"/>
|
||||||
|
</linearGradient>
|
||||||
|
<radialGradient id="glow" cx="50%" cy="30%" r="50%">
|
||||||
|
<stop offset="0%" stop-color="#ffffff" stop-opacity="0.25"/>
|
||||||
|
<stop offset="100%" stop-color="#ffffff" stop-opacity="0"/>
|
||||||
|
</radialGradient>
|
||||||
|
</defs>
|
||||||
|
|
||||||
|
<!-- 배경 -->
|
||||||
|
<rect width="500" height="500" rx="32" fill="url(#grad)"/>
|
||||||
|
<rect width="500" height="500" rx="32" fill="url(#glow)"/>
|
||||||
|
|
||||||
|
<!-- 장식 원형 패턴 -->
|
||||||
|
<circle cx="430" cy="80" r="100" fill="#ffffff" opacity="0.05"/>
|
||||||
|
<circle cx="70" cy="420" r="80" fill="#ffffff" opacity="0.04"/>
|
||||||
|
|
||||||
|
<!-- 상단 뱃지 -->
|
||||||
|
<rect x="50" y="45" width="140" height="38" rx="19" fill="#ffffff" opacity="0.2"/>
|
||||||
|
<text x="120" y="70" font-family="'Pretendard', sans-serif" font-size="16" font-weight="700" fill="#ffffff" text-anchor="middle" letter-spacing="-0.3">학기말 총정리</text>
|
||||||
|
|
||||||
|
<!-- 중앙 아이콘 -->
|
||||||
|
<g>
|
||||||
|
<rect x="185" y="180" width="130" height="130" rx="16" fill="none" stroke="#ffffff" stroke-width="10"/>
|
||||||
|
<path d="M215 245 L238 268 L285 215" fill="none" stroke="#ffffff" stroke-width="12" stroke-linecap="round" stroke-linejoin="round"/>
|
||||||
|
</g>
|
||||||
|
|
||||||
|
<!-- 하단 텍스트 영역 -->
|
||||||
|
<text x="250" y="380" font-family="'Pretendard', sans-serif" font-size="34" font-weight="900" fill="#ffffff" text-anchor="middle" letter-spacing="-0.8">기말고사 수학과외</text>
|
||||||
|
<text x="250" y="420" font-family="'Pretendard', sans-serif" font-size="18" font-weight="600" fill="#ffffff" opacity="0.85" text-anchor="middle" letter-spacing="-0.5">전 범위 오답 분석 및 약점 완벽 클리닉</text>
|
||||||
|
|
||||||
|
<!-- 하단 액션 텍스트 -->
|
||||||
|
<rect x="175" y="445" width="150" height="28" rx="14" fill="#ffffff" opacity="0.25"/>
|
||||||
|
<text x="250" y="464" font-family="'Pretendard', sans-serif" font-size="13" font-weight="700" fill="#ffffff" text-anchor="middle">1:1 맞춤 클리닉</text>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 2.1 KiB |
@@ -0,0 +1,42 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="500" height="500" viewBox="0 0 500 500">
|
||||||
|
<defs>
|
||||||
|
<linearGradient id="grad" x1="0%" y1="0%" x2="100%" y2="100%">
|
||||||
|
<stop offset="0%" stop-color="#4f46e5"/>
|
||||||
|
<stop offset="100%" stop-color="#4338ca"/>
|
||||||
|
</linearGradient>
|
||||||
|
<radialGradient id="glow" cx="50%" cy="30%" r="50%">
|
||||||
|
<stop offset="0%" stop-color="#ffffff" stop-opacity="0.25"/>
|
||||||
|
<stop offset="100%" stop-color="#ffffff" stop-opacity="0"/>
|
||||||
|
</radialGradient>
|
||||||
|
</defs>
|
||||||
|
|
||||||
|
<!-- 배경 -->
|
||||||
|
<rect width="500" height="500" rx="32" fill="url(#grad)"/>
|
||||||
|
<rect width="500" height="500" rx="32" fill="url(#glow)"/>
|
||||||
|
|
||||||
|
<!-- 장식 원형 패턴 -->
|
||||||
|
<circle cx="430" cy="80" r="100" fill="#ffffff" opacity="0.05"/>
|
||||||
|
<circle cx="70" cy="420" r="80" fill="#ffffff" opacity="0.04"/>
|
||||||
|
|
||||||
|
<!-- 상단 뱃지 -->
|
||||||
|
<rect x="50" y="45" width="140" height="38" rx="19" fill="#ffffff" opacity="0.2"/>
|
||||||
|
<text x="120" y="70" font-family="'Pretendard', sans-serif" font-size="16" font-weight="700" fill="#ffffff" text-anchor="middle" letter-spacing="-0.3">수능·전국연합</text>
|
||||||
|
|
||||||
|
<!-- 중앙 아이콘 -->
|
||||||
|
<g>
|
||||||
|
<line x1="170" y1="310" x2="330" y2="310" stroke="#ffffff" stroke-width="8" stroke-linecap="round"/>
|
||||||
|
<rect x="190" y="245" width="26" height="65" rx="4" fill="#ffffff" opacity="0.6"/>
|
||||||
|
<rect x="237" y="215" width="26" height="95" rx="4" fill="#ffffff" opacity="0.8"/>
|
||||||
|
<rect x="284" y="175" width="26" height="135" rx="4" fill="#ffffff"/>
|
||||||
|
<path d="M195 230 L245 190 L295 155" fill="none" stroke="#fcd34d" stroke-width="8" stroke-linecap="round" stroke-linejoin="round"/>
|
||||||
|
<polygon points="295,145 310,158 290,165" fill="#fcd34d"/>
|
||||||
|
</g>
|
||||||
|
|
||||||
|
<!-- 하단 텍스트 영역 -->
|
||||||
|
<text x="250" y="380" font-family="'Pretendard', sans-serif" font-size="34" font-weight="900" fill="#ffffff" text-anchor="middle" letter-spacing="-0.8">모의고사 수학과외</text>
|
||||||
|
<text x="250" y="420" font-family="'Pretendard', sans-serif" font-size="18" font-weight="600" fill="#ffffff" opacity="0.85" text-anchor="middle" letter-spacing="-0.5">수능형 사고력 확장 및 시간관리 특훈</text>
|
||||||
|
|
||||||
|
<!-- 하단 액션 텍스트 -->
|
||||||
|
<rect x="175" y="445" width="150" height="28" rx="14" fill="#ffffff" opacity="0.25"/>
|
||||||
|
<text x="250" y="464" font-family="'Pretendard', sans-serif" font-size="13" font-weight="700" fill="#ffffff" text-anchor="middle">1:1 맞춤 클리닉</text>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 2.4 KiB |
@@ -0,0 +1,38 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="500" height="500" viewBox="0 0 500 500">
|
||||||
|
<defs>
|
||||||
|
<linearGradient id="grad" x1="0%" y1="0%" x2="100%" y2="100%">
|
||||||
|
<stop offset="0%" stop-color="#ea580c"/>
|
||||||
|
<stop offset="100%" stop-color="#c2410c"/>
|
||||||
|
</linearGradient>
|
||||||
|
<radialGradient id="glow" cx="50%" cy="30%" r="50%">
|
||||||
|
<stop offset="0%" stop-color="#ffffff" stop-opacity="0.25"/>
|
||||||
|
<stop offset="100%" stop-color="#ffffff" stop-opacity="0"/>
|
||||||
|
</radialGradient>
|
||||||
|
</defs>
|
||||||
|
|
||||||
|
<!-- 배경 -->
|
||||||
|
<rect width="500" height="500" rx="32" fill="url(#grad)"/>
|
||||||
|
<rect width="500" height="500" rx="32" fill="url(#glow)"/>
|
||||||
|
|
||||||
|
<!-- 장식 원형 패턴 -->
|
||||||
|
<circle cx="430" cy="80" r="100" fill="#ffffff" opacity="0.05"/>
|
||||||
|
<circle cx="70" cy="420" r="80" fill="#ffffff" opacity="0.04"/>
|
||||||
|
|
||||||
|
<!-- 상단 뱃지 -->
|
||||||
|
<rect x="50" y="45" width="140" height="38" rx="19" fill="#ffffff" opacity="0.2"/>
|
||||||
|
<text x="120" y="70" font-family="'Pretendard', sans-serif" font-size="16" font-weight="700" fill="#ffffff" text-anchor="middle" letter-spacing="-0.3">서술형·과제</text>
|
||||||
|
|
||||||
|
<!-- 중앙 아이콘 -->
|
||||||
|
<g>
|
||||||
|
<path d="M170 200 C210 185 240 185 250 195 C260 185 290 185 330 200 L330 290 C290 275 260 275 250 285 C240 275 210 275 170 290 Z" fill="none" stroke="#ffffff" stroke-width="12" stroke-linecap="round" stroke-linejoin="round"/>
|
||||||
|
<line x1="250" y1="195" x2="250" y2="285" stroke="#ffffff" stroke-width="10" stroke-linecap="round"/>
|
||||||
|
</g>
|
||||||
|
|
||||||
|
<!-- 하단 텍스트 영역 -->
|
||||||
|
<text x="250" y="380" font-family="'Pretendard', sans-serif" font-size="34" font-weight="900" fill="#ffffff" text-anchor="middle" letter-spacing="-0.8">수행평가 수학과외</text>
|
||||||
|
<text x="250" y="420" font-family="'Pretendard', sans-serif" font-size="18" font-weight="600" fill="#ffffff" opacity="0.85" text-anchor="middle" letter-spacing="-0.5">조건 감점 0점화 및 탐구보고서 세특</text>
|
||||||
|
|
||||||
|
<!-- 하단 액션 텍스트 -->
|
||||||
|
<rect x="175" y="445" width="150" height="28" rx="14" fill="#ffffff" opacity="0.25"/>
|
||||||
|
<text x="250" y="464" font-family="'Pretendard', sans-serif" font-size="13" font-weight="700" fill="#ffffff" text-anchor="middle">1:1 맞춤 클리닉</text>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 2.2 KiB |
@@ -0,0 +1,41 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="500" height="500" viewBox="0 0 500 500">
|
||||||
|
<defs>
|
||||||
|
<linearGradient id="grad" x1="0%" y1="0%" x2="100%" y2="100%">
|
||||||
|
<stop offset="0%" stop-color="#be123c"/>
|
||||||
|
<stop offset="100%" stop-color="#9f1239"/>
|
||||||
|
</linearGradient>
|
||||||
|
<radialGradient id="glow" cx="50%" cy="30%" r="50%">
|
||||||
|
<stop offset="0%" stop-color="#ffffff" stop-opacity="0.25"/>
|
||||||
|
<stop offset="100%" stop-color="#ffffff" stop-opacity="0"/>
|
||||||
|
</radialGradient>
|
||||||
|
</defs>
|
||||||
|
|
||||||
|
<!-- 배경 -->
|
||||||
|
<rect width="500" height="500" rx="32" fill="url(#grad)"/>
|
||||||
|
<rect width="500" height="500" rx="32" fill="url(#glow)"/>
|
||||||
|
|
||||||
|
<!-- 장식 원형 패턴 -->
|
||||||
|
<circle cx="430" cy="80" r="100" fill="#ffffff" opacity="0.05"/>
|
||||||
|
<circle cx="70" cy="420" r="80" fill="#ffffff" opacity="0.04"/>
|
||||||
|
|
||||||
|
<!-- 상단 뱃지 -->
|
||||||
|
<rect x="50" y="45" width="140" height="38" rx="19" fill="#ffffff" opacity="0.2"/>
|
||||||
|
<text x="120" y="70" font-family="'Pretendard', sans-serif" font-size="16" font-weight="700" fill="#ffffff" text-anchor="middle" letter-spacing="-0.3">1등급 집중공략</text>
|
||||||
|
|
||||||
|
<!-- 중앙 아이콘 -->
|
||||||
|
<g>
|
||||||
|
<path d="M190 190 L310 190 L300 250 C290 280 270 290 250 290 C230 290 210 280 200 250 Z" fill="none" stroke="#ffffff" stroke-width="10" stroke-linejoin="round"/>
|
||||||
|
<line x1="250" y1="290" x2="250" y2="320" stroke="#ffffff" stroke-width="12" stroke-linecap="round"/>
|
||||||
|
<line x1="215" y1="320" x2="285" y2="320" stroke="#ffffff" stroke-width="12" stroke-linecap="round"/>
|
||||||
|
<path d="M190 205 C170 205 160 220 160 235 C160 250 175 255 195 255" fill="none" stroke="#ffffff" stroke-width="8" stroke-linecap="round"/>
|
||||||
|
<path d="M310 205 C330 205 340 220 340 235 C340 250 325 255 305 255" fill="none" stroke="#ffffff" stroke-width="8" stroke-linecap="round"/>
|
||||||
|
</g>
|
||||||
|
|
||||||
|
<!-- 하단 텍스트 영역 -->
|
||||||
|
<text x="250" y="380" font-family="'Pretendard', sans-serif" font-size="34" font-weight="900" fill="#ffffff" text-anchor="middle" letter-spacing="-0.8">내신대비 수학과외</text>
|
||||||
|
<text x="250" y="420" font-family="'Pretendard', sans-serif" font-size="18" font-weight="600" fill="#ffffff" opacity="0.85" text-anchor="middle" letter-spacing="-0.5">관내 교과서·부교재 적중 1:1 맞춤 지도</text>
|
||||||
|
|
||||||
|
<!-- 하단 액션 텍스트 -->
|
||||||
|
<rect x="175" y="445" width="150" height="28" rx="14" fill="#ffffff" opacity="0.25"/>
|
||||||
|
<text x="250" y="464" font-family="'Pretendard', sans-serif" font-size="13" font-weight="700" fill="#ffffff" text-anchor="middle">1:1 맞춤 클리닉</text>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 2.5 KiB |
@@ -13,5 +13,5 @@
|
|||||||
<text x="80" y="420" font-family="'Pretendard', sans-serif" font-size="30" font-weight="500" fill="#e0e7ff">국어 · 영어 · 수학 · 과학 · 사회 · 수행평가 세특</text>
|
<text x="80" y="420" font-family="'Pretendard', sans-serif" font-size="30" font-weight="500" fill="#e0e7ff">국어 · 영어 · 수학 · 과학 · 사회 · 수행평가 세특</text>
|
||||||
<text x="80" y="480" font-family="'Pretendard', sans-serif" font-size="28" font-weight="700" fill="#ffffff">전국 568개 동 학교별 기출 족보 완벽 분석</text>
|
<text x="80" y="480" font-family="'Pretendard', sans-serif" font-size="28" font-weight="700" fill="#ffffff">전국 568개 동 학교별 기출 족보 완벽 분석</text>
|
||||||
<rect x="80" y="530" width="340" height="50" rx="25" fill="#10b981"/>
|
<rect x="80" y="530" width="340" height="50" rx="25" fill="#10b981"/>
|
||||||
<text x="250" y="563" font-family="'Pretendard', sans-serif" font-size="24" font-weight="700" fill="#ffffff" text-anchor="middle">1회 무료 상담: 1588-0909</text>
|
<text x="250" y="563" font-family="'Pretendard', sans-serif" font-size="24" font-weight="700" fill="#ffffff" text-anchor="middle">1회 무료 상담: 010-5961-5807</text>
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.5 KiB |
@@ -4,7 +4,7 @@
|
|||||||
<div class="footer-info">
|
<div class="footer-info">
|
||||||
<h4 class="footer-brand">{{ siteName }}</h4>
|
<h4 class="footer-brand">{{ siteName }}</h4>
|
||||||
<p class="footer-meta">
|
<p class="footer-meta">
|
||||||
전국 초·중·고 1:1 맞춤 방문과외 및 실시간 화상코칭 서비스 | 대표번호: 1588-0000<br />
|
전국 초·중·고 1:1 맞춤 방문과외 및 실시간 화상코칭 서비스 | 대표번호: 010-5961-5807<br />
|
||||||
사업자등록번호: 123-45-67890 | 통신판매업신고: 제2026-서울강남-0123호 | 개인정보관리책임자: 교육연구소<br />
|
사업자등록번호: 123-45-67890 | 통신판매업신고: 제2026-서울강남-0123호 | 개인정보관리책임자: 교육연구소<br />
|
||||||
주소: 서울특별시 강남구 테헤란로 123 에듀빌딩 4층
|
주소: 서울특별시 강남구 테헤란로 123 에듀빌딩 4층
|
||||||
</p>
|
</p>
|
||||||
|
|||||||
@@ -110,7 +110,7 @@
|
|||||||
<span v-if="loading">문의 전송 중...</span>
|
<span v-if="loading">문의 전송 중...</span>
|
||||||
<span v-else>문의 보내기</span>
|
<span v-else>문의 보내기</span>
|
||||||
</button>
|
</button>
|
||||||
<a href="tel:1588-0000" class="btn-call">
|
<a href="tel:010-5961-5807" class="btn-call">
|
||||||
전화로 바로 상담
|
전화로 바로 상담
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -22,7 +22,7 @@
|
|||||||
</a>
|
</a>
|
||||||
<div class="hero-call-info">
|
<div class="hero-call-info">
|
||||||
<span class="call-icon"></span>
|
<span class="call-icon"></span>
|
||||||
<span class="call-text">실시간 학습상담 <strong>1588-0000</strong></span>
|
<span class="call-text">실시간 학습상담 <strong>010-5961-5807</strong></span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
@@ -3,10 +3,10 @@ version: '3.8'
|
|||||||
services:
|
services:
|
||||||
app:
|
app:
|
||||||
build: .
|
build: .
|
||||||
container_name: classicuni_site5
|
container_name: soohyun_cloud_frontend
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
ports:
|
ports:
|
||||||
- "3015:3000"
|
- "80:3000"
|
||||||
environment:
|
environment:
|
||||||
- NODE_ENV=production
|
- NODE_ENV=production
|
||||||
- SITE_DOMAIN=https://soohyun.cloud
|
- SITE_DOMAIN=https://soohyun.cloud
|
||||||
|
|||||||
@@ -0,0 +1,38 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="500" height="500" viewBox="0 0 500 500">
|
||||||
|
<defs>
|
||||||
|
<linearGradient id="grad" x1="0%" y1="0%" x2="100%" y2="100%">
|
||||||
|
<stop offset="0%" stop-color="#0284c7"/>
|
||||||
|
<stop offset="100%" stop-color="#0369a1"/>
|
||||||
|
</linearGradient>
|
||||||
|
<radialGradient id="glow" cx="50%" cy="30%" r="50%">
|
||||||
|
<stop offset="0%" stop-color="#ffffff" stop-opacity="0.25"/>
|
||||||
|
<stop offset="100%" stop-color="#ffffff" stop-opacity="0"/>
|
||||||
|
</radialGradient>
|
||||||
|
</defs>
|
||||||
|
|
||||||
|
<!-- 배경 -->
|
||||||
|
<rect width="500" height="500" rx="32" fill="url(#grad)"/>
|
||||||
|
<rect width="500" height="500" rx="32" fill="url(#glow)"/>
|
||||||
|
|
||||||
|
<!-- 장식 원형 패턴 -->
|
||||||
|
<circle cx="430" cy="80" r="100" fill="#ffffff" opacity="0.05"/>
|
||||||
|
<circle cx="70" cy="420" r="80" fill="#ffffff" opacity="0.04"/>
|
||||||
|
|
||||||
|
<!-- 상단 뱃지 -->
|
||||||
|
<rect x="50" y="45" width="140" height="38" rx="19" fill="#ffffff" opacity="0.2"/>
|
||||||
|
<text x="120" y="70" font-family="'Pretendard', sans-serif" font-size="16" font-weight="700" fill="#ffffff" text-anchor="middle" letter-spacing="-0.3">초등 집중 1단계</text>
|
||||||
|
|
||||||
|
<!-- 중앙 아이콘 -->
|
||||||
|
<g>
|
||||||
|
<path d="M170 200 C210 185 240 185 250 195 C260 185 290 185 330 200 L330 290 C290 275 260 275 250 285 C240 275 210 275 170 290 Z" fill="none" stroke="#ffffff" stroke-width="12" stroke-linecap="round" stroke-linejoin="round"/>
|
||||||
|
<line x1="250" y1="195" x2="250" y2="285" stroke="#ffffff" stroke-width="10" stroke-linecap="round"/>
|
||||||
|
</g>
|
||||||
|
|
||||||
|
<!-- 하단 텍스트 영역 -->
|
||||||
|
<text x="250" y="380" font-family="'Pretendard', sans-serif" font-size="34" font-weight="900" fill="#ffffff" text-anchor="middle" letter-spacing="-0.8">기초학습</text>
|
||||||
|
<text x="250" y="420" font-family="'Pretendard', sans-serif" font-size="18" font-weight="600" fill="#ffffff" opacity="0.85" text-anchor="middle" letter-spacing="-0.5">개념 이해와 튼튼한 연산 기본기</text>
|
||||||
|
|
||||||
|
<!-- 하단 액션 텍스트 -->
|
||||||
|
<rect x="175" y="445" width="150" height="28" rx="14" fill="#ffffff" opacity="0.25"/>
|
||||||
|
<text x="250" y="464" font-family="'Pretendard', sans-serif" font-size="13" font-weight="700" fill="#ffffff" text-anchor="middle">1:1 맞춤 클리닉</text>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 2.2 KiB |
@@ -0,0 +1,43 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="500" height="500" viewBox="0 0 500 500">
|
||||||
|
<defs>
|
||||||
|
<linearGradient id="grad" x1="0%" y1="0%" x2="100%" y2="100%">
|
||||||
|
<stop offset="0%" stop-color="#059669"/>
|
||||||
|
<stop offset="100%" stop-color="#047857"/>
|
||||||
|
</linearGradient>
|
||||||
|
<radialGradient id="glow" cx="50%" cy="30%" r="50%">
|
||||||
|
<stop offset="0%" stop-color="#ffffff" stop-opacity="0.25"/>
|
||||||
|
<stop offset="100%" stop-color="#ffffff" stop-opacity="0"/>
|
||||||
|
</radialGradient>
|
||||||
|
</defs>
|
||||||
|
|
||||||
|
<!-- 배경 -->
|
||||||
|
<rect width="500" height="500" rx="32" fill="url(#grad)"/>
|
||||||
|
<rect width="500" height="500" rx="32" fill="url(#glow)"/>
|
||||||
|
|
||||||
|
<!-- 장식 원형 패턴 -->
|
||||||
|
<circle cx="430" cy="80" r="100" fill="#ffffff" opacity="0.05"/>
|
||||||
|
<circle cx="70" cy="420" r="80" fill="#ffffff" opacity="0.04"/>
|
||||||
|
|
||||||
|
<!-- 상단 뱃지 -->
|
||||||
|
<rect x="50" y="45" width="140" height="38" rx="19" fill="#ffffff" opacity="0.2"/>
|
||||||
|
<text x="120" y="70" font-family="'Pretendard', sans-serif" font-size="16" font-weight="700" fill="#ffffff" text-anchor="middle" letter-spacing="-0.3">초등 집중 2단계</text>
|
||||||
|
|
||||||
|
<!-- 중앙 아이콘 -->
|
||||||
|
<g>
|
||||||
|
<circle cx="250" cy="240" r="60" fill="none" stroke="#ffffff" stroke-width="10"/>
|
||||||
|
<circle cx="250" cy="240" r="38" fill="none" stroke="#ffffff" stroke-width="8"/>
|
||||||
|
<circle cx="250" cy="240" r="16" fill="#ffffff"/>
|
||||||
|
<line x1="250" y1="165" x2="250" y2="185" stroke="#ffffff" stroke-width="8" stroke-linecap="round"/>
|
||||||
|
<line x1="250" y1="295" x2="250" y2="315" stroke="#ffffff" stroke-width="8" stroke-linecap="round"/>
|
||||||
|
<line x1="175" y1="240" x2="195" y2="240" stroke="#ffffff" stroke-width="8" stroke-linecap="round"/>
|
||||||
|
<line x1="305" y1="240" x2="325" y2="240" stroke="#ffffff" stroke-width="8" stroke-linecap="round"/>
|
||||||
|
</g>
|
||||||
|
|
||||||
|
<!-- 하단 텍스트 영역 -->
|
||||||
|
<text x="250" y="380" font-family="'Pretendard', sans-serif" font-size="34" font-weight="900" fill="#ffffff" text-anchor="middle" letter-spacing="-0.8">공부방법</text>
|
||||||
|
<text x="250" y="420" font-family="'Pretendard', sans-serif" font-size="18" font-weight="600" fill="#ffffff" opacity="0.85" text-anchor="middle" letter-spacing="-0.5">스스로 이해하는 올바른 학습 원리</text>
|
||||||
|
|
||||||
|
<!-- 하단 액션 텍스트 -->
|
||||||
|
<rect x="175" y="445" width="150" height="28" rx="14" fill="#ffffff" opacity="0.25"/>
|
||||||
|
<text x="250" y="464" font-family="'Pretendard', sans-serif" font-size="13" font-weight="700" fill="#ffffff" text-anchor="middle">1:1 맞춤 클리닉</text>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 2.5 KiB |
@@ -0,0 +1,38 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="500" height="500" viewBox="0 0 500 500">
|
||||||
|
<defs>
|
||||||
|
<linearGradient id="grad" x1="0%" y1="0%" x2="100%" y2="100%">
|
||||||
|
<stop offset="0%" stop-color="#d97706"/>
|
||||||
|
<stop offset="100%" stop-color="#b45309"/>
|
||||||
|
</linearGradient>
|
||||||
|
<radialGradient id="glow" cx="50%" cy="30%" r="50%">
|
||||||
|
<stop offset="0%" stop-color="#ffffff" stop-opacity="0.25"/>
|
||||||
|
<stop offset="100%" stop-color="#ffffff" stop-opacity="0"/>
|
||||||
|
</radialGradient>
|
||||||
|
</defs>
|
||||||
|
|
||||||
|
<!-- 배경 -->
|
||||||
|
<rect width="500" height="500" rx="32" fill="url(#grad)"/>
|
||||||
|
<rect width="500" height="500" rx="32" fill="url(#glow)"/>
|
||||||
|
|
||||||
|
<!-- 장식 원형 패턴 -->
|
||||||
|
<circle cx="430" cy="80" r="100" fill="#ffffff" opacity="0.05"/>
|
||||||
|
<circle cx="70" cy="420" r="80" fill="#ffffff" opacity="0.04"/>
|
||||||
|
|
||||||
|
<!-- 상단 뱃지 -->
|
||||||
|
<rect x="50" y="45" width="140" height="38" rx="19" fill="#ffffff" opacity="0.2"/>
|
||||||
|
<text x="120" y="70" font-family="'Pretendard', sans-serif" font-size="16" font-weight="700" fill="#ffffff" text-anchor="middle" letter-spacing="-0.3">초등 집중 3단계</text>
|
||||||
|
|
||||||
|
<!-- 중앙 아이콘 -->
|
||||||
|
<g>
|
||||||
|
<rect x="185" y="180" width="130" height="130" rx="16" fill="none" stroke="#ffffff" stroke-width="10"/>
|
||||||
|
<path d="M215 245 L238 268 L285 215" fill="none" stroke="#ffffff" stroke-width="12" stroke-linecap="round" stroke-linejoin="round"/>
|
||||||
|
</g>
|
||||||
|
|
||||||
|
<!-- 하단 텍스트 영역 -->
|
||||||
|
<text x="250" y="380" font-family="'Pretendard', sans-serif" font-size="34" font-weight="900" fill="#ffffff" text-anchor="middle" letter-spacing="-0.8">숙제검사</text>
|
||||||
|
<text x="250" y="420" font-family="'Pretendard', sans-serif" font-size="18" font-weight="600" fill="#ffffff" opacity="0.85" text-anchor="middle" letter-spacing="-0.5">매일 1:1 오답 점검과 꼼꼼한 피드백</text>
|
||||||
|
|
||||||
|
<!-- 하단 액션 텍스트 -->
|
||||||
|
<rect x="175" y="445" width="150" height="28" rx="14" fill="#ffffff" opacity="0.25"/>
|
||||||
|
<text x="250" y="464" font-family="'Pretendard', sans-serif" font-size="13" font-weight="700" fill="#ffffff" text-anchor="middle">1:1 맞춤 클리닉</text>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 2.1 KiB |
@@ -0,0 +1,42 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="500" height="500" viewBox="0 0 500 500">
|
||||||
|
<defs>
|
||||||
|
<linearGradient id="grad" x1="0%" y1="0%" x2="100%" y2="100%">
|
||||||
|
<stop offset="0%" stop-color="#7c3aed"/>
|
||||||
|
<stop offset="100%" stop-color="#6d28d9"/>
|
||||||
|
</linearGradient>
|
||||||
|
<radialGradient id="glow" cx="50%" cy="30%" r="50%">
|
||||||
|
<stop offset="0%" stop-color="#ffffff" stop-opacity="0.25"/>
|
||||||
|
<stop offset="100%" stop-color="#ffffff" stop-opacity="0"/>
|
||||||
|
</radialGradient>
|
||||||
|
</defs>
|
||||||
|
|
||||||
|
<!-- 배경 -->
|
||||||
|
<rect width="500" height="500" rx="32" fill="url(#grad)"/>
|
||||||
|
<rect width="500" height="500" rx="32" fill="url(#glow)"/>
|
||||||
|
|
||||||
|
<!-- 장식 원형 패턴 -->
|
||||||
|
<circle cx="430" cy="80" r="100" fill="#ffffff" opacity="0.05"/>
|
||||||
|
<circle cx="70" cy="420" r="80" fill="#ffffff" opacity="0.04"/>
|
||||||
|
|
||||||
|
<!-- 상단 뱃지 -->
|
||||||
|
<rect x="50" y="45" width="140" height="38" rx="19" fill="#ffffff" opacity="0.2"/>
|
||||||
|
<text x="120" y="70" font-family="'Pretendard', sans-serif" font-size="16" font-weight="700" fill="#ffffff" text-anchor="middle" letter-spacing="-0.3">초등 집중 4단계</text>
|
||||||
|
|
||||||
|
<!-- 중앙 아이콘 -->
|
||||||
|
<g>
|
||||||
|
<line x1="170" y1="310" x2="330" y2="310" stroke="#ffffff" stroke-width="8" stroke-linecap="round"/>
|
||||||
|
<rect x="190" y="245" width="26" height="65" rx="4" fill="#ffffff" opacity="0.6"/>
|
||||||
|
<rect x="237" y="215" width="26" height="95" rx="4" fill="#ffffff" opacity="0.8"/>
|
||||||
|
<rect x="284" y="175" width="26" height="135" rx="4" fill="#ffffff"/>
|
||||||
|
<path d="M195 230 L245 190 L295 155" fill="none" stroke="#fcd34d" stroke-width="8" stroke-linecap="round" stroke-linejoin="round"/>
|
||||||
|
<polygon points="295,145 310,158 290,165" fill="#fcd34d"/>
|
||||||
|
</g>
|
||||||
|
|
||||||
|
<!-- 하단 텍스트 영역 -->
|
||||||
|
<text x="250" y="380" font-family="'Pretendard', sans-serif" font-size="34" font-weight="900" fill="#ffffff" text-anchor="middle" letter-spacing="-0.8">공부습관</text>
|
||||||
|
<text x="250" y="420" font-family="'Pretendard', sans-serif" font-size="18" font-weight="600" fill="#ffffff" opacity="0.85" text-anchor="middle" letter-spacing="-0.5">매일 정해진 시간 몰입하는 자기주도력</text>
|
||||||
|
|
||||||
|
<!-- 하단 액션 텍스트 -->
|
||||||
|
<rect x="175" y="445" width="150" height="28" rx="14" fill="#ffffff" opacity="0.25"/>
|
||||||
|
<text x="250" y="464" font-family="'Pretendard', sans-serif" font-size="13" font-weight="700" fill="#ffffff" text-anchor="middle">1:1 맞춤 클리닉</text>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 2.4 KiB |
@@ -0,0 +1,41 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="500" height="500" viewBox="0 0 500 500">
|
||||||
|
<defs>
|
||||||
|
<linearGradient id="grad" x1="0%" y1="0%" x2="100%" y2="100%">
|
||||||
|
<stop offset="0%" stop-color="#e11d48"/>
|
||||||
|
<stop offset="100%" stop-color="#be123c"/>
|
||||||
|
</linearGradient>
|
||||||
|
<radialGradient id="glow" cx="50%" cy="30%" r="50%">
|
||||||
|
<stop offset="0%" stop-color="#ffffff" stop-opacity="0.25"/>
|
||||||
|
<stop offset="100%" stop-color="#ffffff" stop-opacity="0"/>
|
||||||
|
</radialGradient>
|
||||||
|
</defs>
|
||||||
|
|
||||||
|
<!-- 배경 -->
|
||||||
|
<rect width="500" height="500" rx="32" fill="url(#grad)"/>
|
||||||
|
<rect width="500" height="500" rx="32" fill="url(#glow)"/>
|
||||||
|
|
||||||
|
<!-- 장식 원형 패턴 -->
|
||||||
|
<circle cx="430" cy="80" r="100" fill="#ffffff" opacity="0.05"/>
|
||||||
|
<circle cx="70" cy="420" r="80" fill="#ffffff" opacity="0.04"/>
|
||||||
|
|
||||||
|
<!-- 상단 뱃지 -->
|
||||||
|
<rect x="50" y="45" width="140" height="38" rx="19" fill="#ffffff" opacity="0.2"/>
|
||||||
|
<text x="120" y="70" font-family="'Pretendard', sans-serif" font-size="16" font-weight="700" fill="#ffffff" text-anchor="middle" letter-spacing="-0.3">초등 집중 5단계</text>
|
||||||
|
|
||||||
|
<!-- 중앙 아이콘 -->
|
||||||
|
<g>
|
||||||
|
<path d="M190 190 L310 190 L300 250 C290 280 270 290 250 290 C230 290 210 280 200 250 Z" fill="none" stroke="#ffffff" stroke-width="10" stroke-linejoin="round"/>
|
||||||
|
<line x1="250" y1="290" x2="250" y2="320" stroke="#ffffff" stroke-width="12" stroke-linecap="round"/>
|
||||||
|
<line x1="215" y1="320" x2="285" y2="320" stroke="#ffffff" stroke-width="12" stroke-linecap="round"/>
|
||||||
|
<path d="M190 205 C170 205 160 220 160 235 C160 250 175 255 195 255" fill="none" stroke="#ffffff" stroke-width="8" stroke-linecap="round"/>
|
||||||
|
<path d="M310 205 C330 205 340 220 340 235 C340 250 325 255 305 255" fill="none" stroke="#ffffff" stroke-width="8" stroke-linecap="round"/>
|
||||||
|
</g>
|
||||||
|
|
||||||
|
<!-- 하단 텍스트 영역 -->
|
||||||
|
<text x="250" y="380" font-family="'Pretendard', sans-serif" font-size="34" font-weight="900" fill="#ffffff" text-anchor="middle" letter-spacing="-0.8">중등대비</text>
|
||||||
|
<text x="250" y="420" font-family="'Pretendard', sans-serif" font-size="18" font-weight="600" fill="#ffffff" opacity="0.85" text-anchor="middle" letter-spacing="-0.5">중학교 내신 서술형과 심화 선행</text>
|
||||||
|
|
||||||
|
<!-- 하단 액션 텍스트 -->
|
||||||
|
<rect x="175" y="445" width="150" height="28" rx="14" fill="#ffffff" opacity="0.25"/>
|
||||||
|
<text x="250" y="464" font-family="'Pretendard', sans-serif" font-size="13" font-weight="700" fill="#ffffff" text-anchor="middle">1:1 맞춤 클리닉</text>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 2.5 KiB |
@@ -0,0 +1,43 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="500" height="500" viewBox="0 0 500 500">
|
||||||
|
<defs>
|
||||||
|
<linearGradient id="grad" x1="0%" y1="0%" x2="100%" y2="100%">
|
||||||
|
<stop offset="0%" stop-color="#2563eb"/>
|
||||||
|
<stop offset="100%" stop-color="#1d4ed8"/>
|
||||||
|
</linearGradient>
|
||||||
|
<radialGradient id="glow" cx="50%" cy="30%" r="50%">
|
||||||
|
<stop offset="0%" stop-color="#ffffff" stop-opacity="0.25"/>
|
||||||
|
<stop offset="100%" stop-color="#ffffff" stop-opacity="0"/>
|
||||||
|
</radialGradient>
|
||||||
|
</defs>
|
||||||
|
|
||||||
|
<!-- 배경 -->
|
||||||
|
<rect width="500" height="500" rx="32" fill="url(#grad)"/>
|
||||||
|
<rect width="500" height="500" rx="32" fill="url(#glow)"/>
|
||||||
|
|
||||||
|
<!-- 장식 원형 패턴 -->
|
||||||
|
<circle cx="430" cy="80" r="100" fill="#ffffff" opacity="0.05"/>
|
||||||
|
<circle cx="70" cy="420" r="80" fill="#ffffff" opacity="0.04"/>
|
||||||
|
|
||||||
|
<!-- 상단 뱃지 -->
|
||||||
|
<rect x="50" y="45" width="140" height="38" rx="19" fill="#ffffff" opacity="0.2"/>
|
||||||
|
<text x="120" y="70" font-family="'Pretendard', sans-serif" font-size="16" font-weight="700" fill="#ffffff" text-anchor="middle" letter-spacing="-0.3">실전 시험 대비</text>
|
||||||
|
|
||||||
|
<!-- 중앙 아이콘 -->
|
||||||
|
<g>
|
||||||
|
<circle cx="250" cy="240" r="60" fill="none" stroke="#ffffff" stroke-width="10"/>
|
||||||
|
<circle cx="250" cy="240" r="38" fill="none" stroke="#ffffff" stroke-width="8"/>
|
||||||
|
<circle cx="250" cy="240" r="16" fill="#ffffff"/>
|
||||||
|
<line x1="250" y1="165" x2="250" y2="185" stroke="#ffffff" stroke-width="8" stroke-linecap="round"/>
|
||||||
|
<line x1="250" y1="295" x2="250" y2="315" stroke="#ffffff" stroke-width="8" stroke-linecap="round"/>
|
||||||
|
<line x1="175" y1="240" x2="195" y2="240" stroke="#ffffff" stroke-width="8" stroke-linecap="round"/>
|
||||||
|
<line x1="305" y1="240" x2="325" y2="240" stroke="#ffffff" stroke-width="8" stroke-linecap="round"/>
|
||||||
|
</g>
|
||||||
|
|
||||||
|
<!-- 하단 텍스트 영역 -->
|
||||||
|
<text x="250" y="380" font-family="'Pretendard', sans-serif" font-size="34" font-weight="900" fill="#ffffff" text-anchor="middle" letter-spacing="-0.8">중간고사 수학과외</text>
|
||||||
|
<text x="250" y="420" font-family="'Pretendard', sans-serif" font-size="18" font-weight="600" fill="#ffffff" opacity="0.85" text-anchor="middle" letter-spacing="-0.5">학교별 기출 족보 및 서술형 킬러 대비</text>
|
||||||
|
|
||||||
|
<!-- 하단 액션 텍스트 -->
|
||||||
|
<rect x="175" y="445" width="150" height="28" rx="14" fill="#ffffff" opacity="0.25"/>
|
||||||
|
<text x="250" y="464" font-family="'Pretendard', sans-serif" font-size="13" font-weight="700" fill="#ffffff" text-anchor="middle">1:1 맞춤 클리닉</text>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 2.5 KiB |
@@ -0,0 +1,38 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="500" height="500" viewBox="0 0 500 500">
|
||||||
|
<defs>
|
||||||
|
<linearGradient id="grad" x1="0%" y1="0%" x2="100%" y2="100%">
|
||||||
|
<stop offset="0%" stop-color="#0d9488"/>
|
||||||
|
<stop offset="100%" stop-color="#0f766e"/>
|
||||||
|
</linearGradient>
|
||||||
|
<radialGradient id="glow" cx="50%" cy="30%" r="50%">
|
||||||
|
<stop offset="0%" stop-color="#ffffff" stop-opacity="0.25"/>
|
||||||
|
<stop offset="100%" stop-color="#ffffff" stop-opacity="0"/>
|
||||||
|
</radialGradient>
|
||||||
|
</defs>
|
||||||
|
|
||||||
|
<!-- 배경 -->
|
||||||
|
<rect width="500" height="500" rx="32" fill="url(#grad)"/>
|
||||||
|
<rect width="500" height="500" rx="32" fill="url(#glow)"/>
|
||||||
|
|
||||||
|
<!-- 장식 원형 패턴 -->
|
||||||
|
<circle cx="430" cy="80" r="100" fill="#ffffff" opacity="0.05"/>
|
||||||
|
<circle cx="70" cy="420" r="80" fill="#ffffff" opacity="0.04"/>
|
||||||
|
|
||||||
|
<!-- 상단 뱃지 -->
|
||||||
|
<rect x="50" y="45" width="140" height="38" rx="19" fill="#ffffff" opacity="0.2"/>
|
||||||
|
<text x="120" y="70" font-family="'Pretendard', sans-serif" font-size="16" font-weight="700" fill="#ffffff" text-anchor="middle" letter-spacing="-0.3">학기말 총정리</text>
|
||||||
|
|
||||||
|
<!-- 중앙 아이콘 -->
|
||||||
|
<g>
|
||||||
|
<rect x="185" y="180" width="130" height="130" rx="16" fill="none" stroke="#ffffff" stroke-width="10"/>
|
||||||
|
<path d="M215 245 L238 268 L285 215" fill="none" stroke="#ffffff" stroke-width="12" stroke-linecap="round" stroke-linejoin="round"/>
|
||||||
|
</g>
|
||||||
|
|
||||||
|
<!-- 하단 텍스트 영역 -->
|
||||||
|
<text x="250" y="380" font-family="'Pretendard', sans-serif" font-size="34" font-weight="900" fill="#ffffff" text-anchor="middle" letter-spacing="-0.8">기말고사 수학과외</text>
|
||||||
|
<text x="250" y="420" font-family="'Pretendard', sans-serif" font-size="18" font-weight="600" fill="#ffffff" opacity="0.85" text-anchor="middle" letter-spacing="-0.5">전 범위 오답 분석 및 약점 완벽 클리닉</text>
|
||||||
|
|
||||||
|
<!-- 하단 액션 텍스트 -->
|
||||||
|
<rect x="175" y="445" width="150" height="28" rx="14" fill="#ffffff" opacity="0.25"/>
|
||||||
|
<text x="250" y="464" font-family="'Pretendard', sans-serif" font-size="13" font-weight="700" fill="#ffffff" text-anchor="middle">1:1 맞춤 클리닉</text>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 2.1 KiB |
@@ -0,0 +1,42 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="500" height="500" viewBox="0 0 500 500">
|
||||||
|
<defs>
|
||||||
|
<linearGradient id="grad" x1="0%" y1="0%" x2="100%" y2="100%">
|
||||||
|
<stop offset="0%" stop-color="#4f46e5"/>
|
||||||
|
<stop offset="100%" stop-color="#4338ca"/>
|
||||||
|
</linearGradient>
|
||||||
|
<radialGradient id="glow" cx="50%" cy="30%" r="50%">
|
||||||
|
<stop offset="0%" stop-color="#ffffff" stop-opacity="0.25"/>
|
||||||
|
<stop offset="100%" stop-color="#ffffff" stop-opacity="0"/>
|
||||||
|
</radialGradient>
|
||||||
|
</defs>
|
||||||
|
|
||||||
|
<!-- 배경 -->
|
||||||
|
<rect width="500" height="500" rx="32" fill="url(#grad)"/>
|
||||||
|
<rect width="500" height="500" rx="32" fill="url(#glow)"/>
|
||||||
|
|
||||||
|
<!-- 장식 원형 패턴 -->
|
||||||
|
<circle cx="430" cy="80" r="100" fill="#ffffff" opacity="0.05"/>
|
||||||
|
<circle cx="70" cy="420" r="80" fill="#ffffff" opacity="0.04"/>
|
||||||
|
|
||||||
|
<!-- 상단 뱃지 -->
|
||||||
|
<rect x="50" y="45" width="140" height="38" rx="19" fill="#ffffff" opacity="0.2"/>
|
||||||
|
<text x="120" y="70" font-family="'Pretendard', sans-serif" font-size="16" font-weight="700" fill="#ffffff" text-anchor="middle" letter-spacing="-0.3">수능·전국연합</text>
|
||||||
|
|
||||||
|
<!-- 중앙 아이콘 -->
|
||||||
|
<g>
|
||||||
|
<line x1="170" y1="310" x2="330" y2="310" stroke="#ffffff" stroke-width="8" stroke-linecap="round"/>
|
||||||
|
<rect x="190" y="245" width="26" height="65" rx="4" fill="#ffffff" opacity="0.6"/>
|
||||||
|
<rect x="237" y="215" width="26" height="95" rx="4" fill="#ffffff" opacity="0.8"/>
|
||||||
|
<rect x="284" y="175" width="26" height="135" rx="4" fill="#ffffff"/>
|
||||||
|
<path d="M195 230 L245 190 L295 155" fill="none" stroke="#fcd34d" stroke-width="8" stroke-linecap="round" stroke-linejoin="round"/>
|
||||||
|
<polygon points="295,145 310,158 290,165" fill="#fcd34d"/>
|
||||||
|
</g>
|
||||||
|
|
||||||
|
<!-- 하단 텍스트 영역 -->
|
||||||
|
<text x="250" y="380" font-family="'Pretendard', sans-serif" font-size="34" font-weight="900" fill="#ffffff" text-anchor="middle" letter-spacing="-0.8">모의고사 수학과외</text>
|
||||||
|
<text x="250" y="420" font-family="'Pretendard', sans-serif" font-size="18" font-weight="600" fill="#ffffff" opacity="0.85" text-anchor="middle" letter-spacing="-0.5">수능형 사고력 확장 및 시간관리 특훈</text>
|
||||||
|
|
||||||
|
<!-- 하단 액션 텍스트 -->
|
||||||
|
<rect x="175" y="445" width="150" height="28" rx="14" fill="#ffffff" opacity="0.25"/>
|
||||||
|
<text x="250" y="464" font-family="'Pretendard', sans-serif" font-size="13" font-weight="700" fill="#ffffff" text-anchor="middle">1:1 맞춤 클리닉</text>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 2.4 KiB |
@@ -0,0 +1,38 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="500" height="500" viewBox="0 0 500 500">
|
||||||
|
<defs>
|
||||||
|
<linearGradient id="grad" x1="0%" y1="0%" x2="100%" y2="100%">
|
||||||
|
<stop offset="0%" stop-color="#ea580c"/>
|
||||||
|
<stop offset="100%" stop-color="#c2410c"/>
|
||||||
|
</linearGradient>
|
||||||
|
<radialGradient id="glow" cx="50%" cy="30%" r="50%">
|
||||||
|
<stop offset="0%" stop-color="#ffffff" stop-opacity="0.25"/>
|
||||||
|
<stop offset="100%" stop-color="#ffffff" stop-opacity="0"/>
|
||||||
|
</radialGradient>
|
||||||
|
</defs>
|
||||||
|
|
||||||
|
<!-- 배경 -->
|
||||||
|
<rect width="500" height="500" rx="32" fill="url(#grad)"/>
|
||||||
|
<rect width="500" height="500" rx="32" fill="url(#glow)"/>
|
||||||
|
|
||||||
|
<!-- 장식 원형 패턴 -->
|
||||||
|
<circle cx="430" cy="80" r="100" fill="#ffffff" opacity="0.05"/>
|
||||||
|
<circle cx="70" cy="420" r="80" fill="#ffffff" opacity="0.04"/>
|
||||||
|
|
||||||
|
<!-- 상단 뱃지 -->
|
||||||
|
<rect x="50" y="45" width="140" height="38" rx="19" fill="#ffffff" opacity="0.2"/>
|
||||||
|
<text x="120" y="70" font-family="'Pretendard', sans-serif" font-size="16" font-weight="700" fill="#ffffff" text-anchor="middle" letter-spacing="-0.3">서술형·과제</text>
|
||||||
|
|
||||||
|
<!-- 중앙 아이콘 -->
|
||||||
|
<g>
|
||||||
|
<path d="M170 200 C210 185 240 185 250 195 C260 185 290 185 330 200 L330 290 C290 275 260 275 250 285 C240 275 210 275 170 290 Z" fill="none" stroke="#ffffff" stroke-width="12" stroke-linecap="round" stroke-linejoin="round"/>
|
||||||
|
<line x1="250" y1="195" x2="250" y2="285" stroke="#ffffff" stroke-width="10" stroke-linecap="round"/>
|
||||||
|
</g>
|
||||||
|
|
||||||
|
<!-- 하단 텍스트 영역 -->
|
||||||
|
<text x="250" y="380" font-family="'Pretendard', sans-serif" font-size="34" font-weight="900" fill="#ffffff" text-anchor="middle" letter-spacing="-0.8">수행평가 수학과외</text>
|
||||||
|
<text x="250" y="420" font-family="'Pretendard', sans-serif" font-size="18" font-weight="600" fill="#ffffff" opacity="0.85" text-anchor="middle" letter-spacing="-0.5">조건 감점 0점화 및 탐구보고서 세특</text>
|
||||||
|
|
||||||
|
<!-- 하단 액션 텍스트 -->
|
||||||
|
<rect x="175" y="445" width="150" height="28" rx="14" fill="#ffffff" opacity="0.25"/>
|
||||||
|
<text x="250" y="464" font-family="'Pretendard', sans-serif" font-size="13" font-weight="700" fill="#ffffff" text-anchor="middle">1:1 맞춤 클리닉</text>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 2.2 KiB |
@@ -0,0 +1,41 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="500" height="500" viewBox="0 0 500 500">
|
||||||
|
<defs>
|
||||||
|
<linearGradient id="grad" x1="0%" y1="0%" x2="100%" y2="100%">
|
||||||
|
<stop offset="0%" stop-color="#be123c"/>
|
||||||
|
<stop offset="100%" stop-color="#9f1239"/>
|
||||||
|
</linearGradient>
|
||||||
|
<radialGradient id="glow" cx="50%" cy="30%" r="50%">
|
||||||
|
<stop offset="0%" stop-color="#ffffff" stop-opacity="0.25"/>
|
||||||
|
<stop offset="100%" stop-color="#ffffff" stop-opacity="0"/>
|
||||||
|
</radialGradient>
|
||||||
|
</defs>
|
||||||
|
|
||||||
|
<!-- 배경 -->
|
||||||
|
<rect width="500" height="500" rx="32" fill="url(#grad)"/>
|
||||||
|
<rect width="500" height="500" rx="32" fill="url(#glow)"/>
|
||||||
|
|
||||||
|
<!-- 장식 원형 패턴 -->
|
||||||
|
<circle cx="430" cy="80" r="100" fill="#ffffff" opacity="0.05"/>
|
||||||
|
<circle cx="70" cy="420" r="80" fill="#ffffff" opacity="0.04"/>
|
||||||
|
|
||||||
|
<!-- 상단 뱃지 -->
|
||||||
|
<rect x="50" y="45" width="140" height="38" rx="19" fill="#ffffff" opacity="0.2"/>
|
||||||
|
<text x="120" y="70" font-family="'Pretendard', sans-serif" font-size="16" font-weight="700" fill="#ffffff" text-anchor="middle" letter-spacing="-0.3">1등급 집중공략</text>
|
||||||
|
|
||||||
|
<!-- 중앙 아이콘 -->
|
||||||
|
<g>
|
||||||
|
<path d="M190 190 L310 190 L300 250 C290 280 270 290 250 290 C230 290 210 280 200 250 Z" fill="none" stroke="#ffffff" stroke-width="10" stroke-linejoin="round"/>
|
||||||
|
<line x1="250" y1="290" x2="250" y2="320" stroke="#ffffff" stroke-width="12" stroke-linecap="round"/>
|
||||||
|
<line x1="215" y1="320" x2="285" y2="320" stroke="#ffffff" stroke-width="12" stroke-linecap="round"/>
|
||||||
|
<path d="M190 205 C170 205 160 220 160 235 C160 250 175 255 195 255" fill="none" stroke="#ffffff" stroke-width="8" stroke-linecap="round"/>
|
||||||
|
<path d="M310 205 C330 205 340 220 340 235 C340 250 325 255 305 255" fill="none" stroke="#ffffff" stroke-width="8" stroke-linecap="round"/>
|
||||||
|
</g>
|
||||||
|
|
||||||
|
<!-- 하단 텍스트 영역 -->
|
||||||
|
<text x="250" y="380" font-family="'Pretendard', sans-serif" font-size="34" font-weight="900" fill="#ffffff" text-anchor="middle" letter-spacing="-0.8">내신대비 수학과외</text>
|
||||||
|
<text x="250" y="420" font-family="'Pretendard', sans-serif" font-size="18" font-weight="600" fill="#ffffff" opacity="0.85" text-anchor="middle" letter-spacing="-0.5">관내 교과서·부교재 적중 1:1 맞춤 지도</text>
|
||||||
|
|
||||||
|
<!-- 하단 액션 텍스트 -->
|
||||||
|
<rect x="175" y="445" width="150" height="28" rx="14" fill="#ffffff" opacity="0.25"/>
|
||||||
|
<text x="250" y="464" font-family="'Pretendard', sans-serif" font-size="13" font-weight="700" fill="#ffffff" text-anchor="middle">1:1 맞춤 클리닉</text>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 2.5 KiB |
@@ -13,5 +13,5 @@
|
|||||||
<text x="80" y="420" font-family="'Pretendard', sans-serif" font-size="30" font-weight="500" fill="#e0e7ff">국어 · 영어 · 수학 · 과학 · 사회 · 수행평가 세특</text>
|
<text x="80" y="420" font-family="'Pretendard', sans-serif" font-size="30" font-weight="500" fill="#e0e7ff">국어 · 영어 · 수학 · 과학 · 사회 · 수행평가 세특</text>
|
||||||
<text x="80" y="480" font-family="'Pretendard', sans-serif" font-size="28" font-weight="700" fill="#ffffff">전국 568개 동 학교별 기출 족보 완벽 분석</text>
|
<text x="80" y="480" font-family="'Pretendard', sans-serif" font-size="28" font-weight="700" fill="#ffffff">전국 568개 동 학교별 기출 족보 완벽 분석</text>
|
||||||
<rect x="80" y="530" width="340" height="50" rx="25" fill="#10b981"/>
|
<rect x="80" y="530" width="340" height="50" rx="25" fill="#10b981"/>
|
||||||
<text x="250" y="563" font-family="'Pretendard', sans-serif" font-size="24" font-weight="700" fill="#ffffff" text-anchor="middle">1회 무료 상담: 1588-0909</text>
|
<text x="250" y="563" font-family="'Pretendard', sans-serif" font-size="24" font-weight="700" fill="#ffffff" text-anchor="middle">1회 무료 상담: 010-5961-5807</text>
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.5 KiB |
@@ -4,7 +4,7 @@
|
|||||||
<div class="footer-info">
|
<div class="footer-info">
|
||||||
<h4 class="footer-brand">{{ siteName }}</h4>
|
<h4 class="footer-brand">{{ siteName }}</h4>
|
||||||
<p class="footer-meta">
|
<p class="footer-meta">
|
||||||
전국 초·중·고 1:1 맞춤 방문과외 및 실시간 화상코칭 서비스 | 대표번호: 1588-0000<br />
|
전국 초·중·고 1:1 맞춤 방문과외 및 실시간 화상코칭 서비스 | 대표번호: 010-5961-5807<br />
|
||||||
사업자등록번호: 123-45-67890 | 통신판매업신고: 제2026-서울강남-0123호 | 개인정보관리책임자: 교육연구소<br />
|
사업자등록번호: 123-45-67890 | 통신판매업신고: 제2026-서울강남-0123호 | 개인정보관리책임자: 교육연구소<br />
|
||||||
주소: 서울특별시 강남구 테헤란로 123 에듀빌딩 4층
|
주소: 서울특별시 강남구 테헤란로 123 에듀빌딩 4층
|
||||||
</p>
|
</p>
|
||||||
|
|||||||
@@ -110,7 +110,7 @@
|
|||||||
<span v-if="loading">문의 전송 중...</span>
|
<span v-if="loading">문의 전송 중...</span>
|
||||||
<span v-else>문의 보내기</span>
|
<span v-else>문의 보내기</span>
|
||||||
</button>
|
</button>
|
||||||
<a href="tel:1588-0000" class="btn-call">
|
<a href="tel:010-5961-5807" class="btn-call">
|
||||||
전화로 바로 상담
|
전화로 바로 상담
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -22,7 +22,7 @@
|
|||||||
</a>
|
</a>
|
||||||
<div class="hero-call-info">
|
<div class="hero-call-info">
|
||||||
<span class="call-icon"></span>
|
<span class="call-icon"></span>
|
||||||
<span class="call-text">실시간 학습상담 <strong>1588-0000</strong></span>
|
<span class="call-text">실시간 학습상담 <strong>010-5961-5807</strong></span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
@@ -3,10 +3,10 @@ version: '3.8'
|
|||||||
services:
|
services:
|
||||||
app:
|
app:
|
||||||
build: .
|
build: .
|
||||||
container_name: mindone_site6
|
container_name: soohyun_store_frontend
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
ports:
|
ports:
|
||||||
- "3016:3000"
|
- "80:3000"
|
||||||
environment:
|
environment:
|
||||||
- NODE_ENV=production
|
- NODE_ENV=production
|
||||||
- SITE_DOMAIN=https://soohyun.store
|
- SITE_DOMAIN=https://soohyun.store
|
||||||
|
|||||||
@@ -0,0 +1,38 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="500" height="500" viewBox="0 0 500 500">
|
||||||
|
<defs>
|
||||||
|
<linearGradient id="grad" x1="0%" y1="0%" x2="100%" y2="100%">
|
||||||
|
<stop offset="0%" stop-color="#0284c7"/>
|
||||||
|
<stop offset="100%" stop-color="#0369a1"/>
|
||||||
|
</linearGradient>
|
||||||
|
<radialGradient id="glow" cx="50%" cy="30%" r="50%">
|
||||||
|
<stop offset="0%" stop-color="#ffffff" stop-opacity="0.25"/>
|
||||||
|
<stop offset="100%" stop-color="#ffffff" stop-opacity="0"/>
|
||||||
|
</radialGradient>
|
||||||
|
</defs>
|
||||||
|
|
||||||
|
<!-- 배경 -->
|
||||||
|
<rect width="500" height="500" rx="32" fill="url(#grad)"/>
|
||||||
|
<rect width="500" height="500" rx="32" fill="url(#glow)"/>
|
||||||
|
|
||||||
|
<!-- 장식 원형 패턴 -->
|
||||||
|
<circle cx="430" cy="80" r="100" fill="#ffffff" opacity="0.05"/>
|
||||||
|
<circle cx="70" cy="420" r="80" fill="#ffffff" opacity="0.04"/>
|
||||||
|
|
||||||
|
<!-- 상단 뱃지 -->
|
||||||
|
<rect x="50" y="45" width="140" height="38" rx="19" fill="#ffffff" opacity="0.2"/>
|
||||||
|
<text x="120" y="70" font-family="'Pretendard', sans-serif" font-size="16" font-weight="700" fill="#ffffff" text-anchor="middle" letter-spacing="-0.3">초등 집중 1단계</text>
|
||||||
|
|
||||||
|
<!-- 중앙 아이콘 -->
|
||||||
|
<g>
|
||||||
|
<path d="M170 200 C210 185 240 185 250 195 C260 185 290 185 330 200 L330 290 C290 275 260 275 250 285 C240 275 210 275 170 290 Z" fill="none" stroke="#ffffff" stroke-width="12" stroke-linecap="round" stroke-linejoin="round"/>
|
||||||
|
<line x1="250" y1="195" x2="250" y2="285" stroke="#ffffff" stroke-width="10" stroke-linecap="round"/>
|
||||||
|
</g>
|
||||||
|
|
||||||
|
<!-- 하단 텍스트 영역 -->
|
||||||
|
<text x="250" y="380" font-family="'Pretendard', sans-serif" font-size="34" font-weight="900" fill="#ffffff" text-anchor="middle" letter-spacing="-0.8">기초학습</text>
|
||||||
|
<text x="250" y="420" font-family="'Pretendard', sans-serif" font-size="18" font-weight="600" fill="#ffffff" opacity="0.85" text-anchor="middle" letter-spacing="-0.5">개념 이해와 튼튼한 연산 기본기</text>
|
||||||
|
|
||||||
|
<!-- 하단 액션 텍스트 -->
|
||||||
|
<rect x="175" y="445" width="150" height="28" rx="14" fill="#ffffff" opacity="0.25"/>
|
||||||
|
<text x="250" y="464" font-family="'Pretendard', sans-serif" font-size="13" font-weight="700" fill="#ffffff" text-anchor="middle">1:1 맞춤 클리닉</text>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 2.2 KiB |
@@ -0,0 +1,43 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="500" height="500" viewBox="0 0 500 500">
|
||||||
|
<defs>
|
||||||
|
<linearGradient id="grad" x1="0%" y1="0%" x2="100%" y2="100%">
|
||||||
|
<stop offset="0%" stop-color="#059669"/>
|
||||||
|
<stop offset="100%" stop-color="#047857"/>
|
||||||
|
</linearGradient>
|
||||||
|
<radialGradient id="glow" cx="50%" cy="30%" r="50%">
|
||||||
|
<stop offset="0%" stop-color="#ffffff" stop-opacity="0.25"/>
|
||||||
|
<stop offset="100%" stop-color="#ffffff" stop-opacity="0"/>
|
||||||
|
</radialGradient>
|
||||||
|
</defs>
|
||||||
|
|
||||||
|
<!-- 배경 -->
|
||||||
|
<rect width="500" height="500" rx="32" fill="url(#grad)"/>
|
||||||
|
<rect width="500" height="500" rx="32" fill="url(#glow)"/>
|
||||||
|
|
||||||
|
<!-- 장식 원형 패턴 -->
|
||||||
|
<circle cx="430" cy="80" r="100" fill="#ffffff" opacity="0.05"/>
|
||||||
|
<circle cx="70" cy="420" r="80" fill="#ffffff" opacity="0.04"/>
|
||||||
|
|
||||||
|
<!-- 상단 뱃지 -->
|
||||||
|
<rect x="50" y="45" width="140" height="38" rx="19" fill="#ffffff" opacity="0.2"/>
|
||||||
|
<text x="120" y="70" font-family="'Pretendard', sans-serif" font-size="16" font-weight="700" fill="#ffffff" text-anchor="middle" letter-spacing="-0.3">초등 집중 2단계</text>
|
||||||
|
|
||||||
|
<!-- 중앙 아이콘 -->
|
||||||
|
<g>
|
||||||
|
<circle cx="250" cy="240" r="60" fill="none" stroke="#ffffff" stroke-width="10"/>
|
||||||
|
<circle cx="250" cy="240" r="38" fill="none" stroke="#ffffff" stroke-width="8"/>
|
||||||
|
<circle cx="250" cy="240" r="16" fill="#ffffff"/>
|
||||||
|
<line x1="250" y1="165" x2="250" y2="185" stroke="#ffffff" stroke-width="8" stroke-linecap="round"/>
|
||||||
|
<line x1="250" y1="295" x2="250" y2="315" stroke="#ffffff" stroke-width="8" stroke-linecap="round"/>
|
||||||
|
<line x1="175" y1="240" x2="195" y2="240" stroke="#ffffff" stroke-width="8" stroke-linecap="round"/>
|
||||||
|
<line x1="305" y1="240" x2="325" y2="240" stroke="#ffffff" stroke-width="8" stroke-linecap="round"/>
|
||||||
|
</g>
|
||||||
|
|
||||||
|
<!-- 하단 텍스트 영역 -->
|
||||||
|
<text x="250" y="380" font-family="'Pretendard', sans-serif" font-size="34" font-weight="900" fill="#ffffff" text-anchor="middle" letter-spacing="-0.8">공부방법</text>
|
||||||
|
<text x="250" y="420" font-family="'Pretendard', sans-serif" font-size="18" font-weight="600" fill="#ffffff" opacity="0.85" text-anchor="middle" letter-spacing="-0.5">스스로 이해하는 올바른 학습 원리</text>
|
||||||
|
|
||||||
|
<!-- 하단 액션 텍스트 -->
|
||||||
|
<rect x="175" y="445" width="150" height="28" rx="14" fill="#ffffff" opacity="0.25"/>
|
||||||
|
<text x="250" y="464" font-family="'Pretendard', sans-serif" font-size="13" font-weight="700" fill="#ffffff" text-anchor="middle">1:1 맞춤 클리닉</text>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 2.5 KiB |
@@ -0,0 +1,38 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="500" height="500" viewBox="0 0 500 500">
|
||||||
|
<defs>
|
||||||
|
<linearGradient id="grad" x1="0%" y1="0%" x2="100%" y2="100%">
|
||||||
|
<stop offset="0%" stop-color="#d97706"/>
|
||||||
|
<stop offset="100%" stop-color="#b45309"/>
|
||||||
|
</linearGradient>
|
||||||
|
<radialGradient id="glow" cx="50%" cy="30%" r="50%">
|
||||||
|
<stop offset="0%" stop-color="#ffffff" stop-opacity="0.25"/>
|
||||||
|
<stop offset="100%" stop-color="#ffffff" stop-opacity="0"/>
|
||||||
|
</radialGradient>
|
||||||
|
</defs>
|
||||||
|
|
||||||
|
<!-- 배경 -->
|
||||||
|
<rect width="500" height="500" rx="32" fill="url(#grad)"/>
|
||||||
|
<rect width="500" height="500" rx="32" fill="url(#glow)"/>
|
||||||
|
|
||||||
|
<!-- 장식 원형 패턴 -->
|
||||||
|
<circle cx="430" cy="80" r="100" fill="#ffffff" opacity="0.05"/>
|
||||||
|
<circle cx="70" cy="420" r="80" fill="#ffffff" opacity="0.04"/>
|
||||||
|
|
||||||
|
<!-- 상단 뱃지 -->
|
||||||
|
<rect x="50" y="45" width="140" height="38" rx="19" fill="#ffffff" opacity="0.2"/>
|
||||||
|
<text x="120" y="70" font-family="'Pretendard', sans-serif" font-size="16" font-weight="700" fill="#ffffff" text-anchor="middle" letter-spacing="-0.3">초등 집중 3단계</text>
|
||||||
|
|
||||||
|
<!-- 중앙 아이콘 -->
|
||||||
|
<g>
|
||||||
|
<rect x="185" y="180" width="130" height="130" rx="16" fill="none" stroke="#ffffff" stroke-width="10"/>
|
||||||
|
<path d="M215 245 L238 268 L285 215" fill="none" stroke="#ffffff" stroke-width="12" stroke-linecap="round" stroke-linejoin="round"/>
|
||||||
|
</g>
|
||||||
|
|
||||||
|
<!-- 하단 텍스트 영역 -->
|
||||||
|
<text x="250" y="380" font-family="'Pretendard', sans-serif" font-size="34" font-weight="900" fill="#ffffff" text-anchor="middle" letter-spacing="-0.8">숙제검사</text>
|
||||||
|
<text x="250" y="420" font-family="'Pretendard', sans-serif" font-size="18" font-weight="600" fill="#ffffff" opacity="0.85" text-anchor="middle" letter-spacing="-0.5">매일 1:1 오답 점검과 꼼꼼한 피드백</text>
|
||||||
|
|
||||||
|
<!-- 하단 액션 텍스트 -->
|
||||||
|
<rect x="175" y="445" width="150" height="28" rx="14" fill="#ffffff" opacity="0.25"/>
|
||||||
|
<text x="250" y="464" font-family="'Pretendard', sans-serif" font-size="13" font-weight="700" fill="#ffffff" text-anchor="middle">1:1 맞춤 클리닉</text>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 2.1 KiB |
@@ -0,0 +1,42 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="500" height="500" viewBox="0 0 500 500">
|
||||||
|
<defs>
|
||||||
|
<linearGradient id="grad" x1="0%" y1="0%" x2="100%" y2="100%">
|
||||||
|
<stop offset="0%" stop-color="#7c3aed"/>
|
||||||
|
<stop offset="100%" stop-color="#6d28d9"/>
|
||||||
|
</linearGradient>
|
||||||
|
<radialGradient id="glow" cx="50%" cy="30%" r="50%">
|
||||||
|
<stop offset="0%" stop-color="#ffffff" stop-opacity="0.25"/>
|
||||||
|
<stop offset="100%" stop-color="#ffffff" stop-opacity="0"/>
|
||||||
|
</radialGradient>
|
||||||
|
</defs>
|
||||||
|
|
||||||
|
<!-- 배경 -->
|
||||||
|
<rect width="500" height="500" rx="32" fill="url(#grad)"/>
|
||||||
|
<rect width="500" height="500" rx="32" fill="url(#glow)"/>
|
||||||
|
|
||||||
|
<!-- 장식 원형 패턴 -->
|
||||||
|
<circle cx="430" cy="80" r="100" fill="#ffffff" opacity="0.05"/>
|
||||||
|
<circle cx="70" cy="420" r="80" fill="#ffffff" opacity="0.04"/>
|
||||||
|
|
||||||
|
<!-- 상단 뱃지 -->
|
||||||
|
<rect x="50" y="45" width="140" height="38" rx="19" fill="#ffffff" opacity="0.2"/>
|
||||||
|
<text x="120" y="70" font-family="'Pretendard', sans-serif" font-size="16" font-weight="700" fill="#ffffff" text-anchor="middle" letter-spacing="-0.3">초등 집중 4단계</text>
|
||||||
|
|
||||||
|
<!-- 중앙 아이콘 -->
|
||||||
|
<g>
|
||||||
|
<line x1="170" y1="310" x2="330" y2="310" stroke="#ffffff" stroke-width="8" stroke-linecap="round"/>
|
||||||
|
<rect x="190" y="245" width="26" height="65" rx="4" fill="#ffffff" opacity="0.6"/>
|
||||||
|
<rect x="237" y="215" width="26" height="95" rx="4" fill="#ffffff" opacity="0.8"/>
|
||||||
|
<rect x="284" y="175" width="26" height="135" rx="4" fill="#ffffff"/>
|
||||||
|
<path d="M195 230 L245 190 L295 155" fill="none" stroke="#fcd34d" stroke-width="8" stroke-linecap="round" stroke-linejoin="round"/>
|
||||||
|
<polygon points="295,145 310,158 290,165" fill="#fcd34d"/>
|
||||||
|
</g>
|
||||||
|
|
||||||
|
<!-- 하단 텍스트 영역 -->
|
||||||
|
<text x="250" y="380" font-family="'Pretendard', sans-serif" font-size="34" font-weight="900" fill="#ffffff" text-anchor="middle" letter-spacing="-0.8">공부습관</text>
|
||||||
|
<text x="250" y="420" font-family="'Pretendard', sans-serif" font-size="18" font-weight="600" fill="#ffffff" opacity="0.85" text-anchor="middle" letter-spacing="-0.5">매일 정해진 시간 몰입하는 자기주도력</text>
|
||||||
|
|
||||||
|
<!-- 하단 액션 텍스트 -->
|
||||||
|
<rect x="175" y="445" width="150" height="28" rx="14" fill="#ffffff" opacity="0.25"/>
|
||||||
|
<text x="250" y="464" font-family="'Pretendard', sans-serif" font-size="13" font-weight="700" fill="#ffffff" text-anchor="middle">1:1 맞춤 클리닉</text>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 2.4 KiB |
@@ -0,0 +1,41 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="500" height="500" viewBox="0 0 500 500">
|
||||||
|
<defs>
|
||||||
|
<linearGradient id="grad" x1="0%" y1="0%" x2="100%" y2="100%">
|
||||||
|
<stop offset="0%" stop-color="#e11d48"/>
|
||||||
|
<stop offset="100%" stop-color="#be123c"/>
|
||||||
|
</linearGradient>
|
||||||
|
<radialGradient id="glow" cx="50%" cy="30%" r="50%">
|
||||||
|
<stop offset="0%" stop-color="#ffffff" stop-opacity="0.25"/>
|
||||||
|
<stop offset="100%" stop-color="#ffffff" stop-opacity="0"/>
|
||||||
|
</radialGradient>
|
||||||
|
</defs>
|
||||||
|
|
||||||
|
<!-- 배경 -->
|
||||||
|
<rect width="500" height="500" rx="32" fill="url(#grad)"/>
|
||||||
|
<rect width="500" height="500" rx="32" fill="url(#glow)"/>
|
||||||
|
|
||||||
|
<!-- 장식 원형 패턴 -->
|
||||||
|
<circle cx="430" cy="80" r="100" fill="#ffffff" opacity="0.05"/>
|
||||||
|
<circle cx="70" cy="420" r="80" fill="#ffffff" opacity="0.04"/>
|
||||||
|
|
||||||
|
<!-- 상단 뱃지 -->
|
||||||
|
<rect x="50" y="45" width="140" height="38" rx="19" fill="#ffffff" opacity="0.2"/>
|
||||||
|
<text x="120" y="70" font-family="'Pretendard', sans-serif" font-size="16" font-weight="700" fill="#ffffff" text-anchor="middle" letter-spacing="-0.3">초등 집중 5단계</text>
|
||||||
|
|
||||||
|
<!-- 중앙 아이콘 -->
|
||||||
|
<g>
|
||||||
|
<path d="M190 190 L310 190 L300 250 C290 280 270 290 250 290 C230 290 210 280 200 250 Z" fill="none" stroke="#ffffff" stroke-width="10" stroke-linejoin="round"/>
|
||||||
|
<line x1="250" y1="290" x2="250" y2="320" stroke="#ffffff" stroke-width="12" stroke-linecap="round"/>
|
||||||
|
<line x1="215" y1="320" x2="285" y2="320" stroke="#ffffff" stroke-width="12" stroke-linecap="round"/>
|
||||||
|
<path d="M190 205 C170 205 160 220 160 235 C160 250 175 255 195 255" fill="none" stroke="#ffffff" stroke-width="8" stroke-linecap="round"/>
|
||||||
|
<path d="M310 205 C330 205 340 220 340 235 C340 250 325 255 305 255" fill="none" stroke="#ffffff" stroke-width="8" stroke-linecap="round"/>
|
||||||
|
</g>
|
||||||
|
|
||||||
|
<!-- 하단 텍스트 영역 -->
|
||||||
|
<text x="250" y="380" font-family="'Pretendard', sans-serif" font-size="34" font-weight="900" fill="#ffffff" text-anchor="middle" letter-spacing="-0.8">중등대비</text>
|
||||||
|
<text x="250" y="420" font-family="'Pretendard', sans-serif" font-size="18" font-weight="600" fill="#ffffff" opacity="0.85" text-anchor="middle" letter-spacing="-0.5">중학교 내신 서술형과 심화 선행</text>
|
||||||
|
|
||||||
|
<!-- 하단 액션 텍스트 -->
|
||||||
|
<rect x="175" y="445" width="150" height="28" rx="14" fill="#ffffff" opacity="0.25"/>
|
||||||
|
<text x="250" y="464" font-family="'Pretendard', sans-serif" font-size="13" font-weight="700" fill="#ffffff" text-anchor="middle">1:1 맞춤 클리닉</text>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 2.5 KiB |
@@ -0,0 +1,43 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="500" height="500" viewBox="0 0 500 500">
|
||||||
|
<defs>
|
||||||
|
<linearGradient id="grad" x1="0%" y1="0%" x2="100%" y2="100%">
|
||||||
|
<stop offset="0%" stop-color="#2563eb"/>
|
||||||
|
<stop offset="100%" stop-color="#1d4ed8"/>
|
||||||
|
</linearGradient>
|
||||||
|
<radialGradient id="glow" cx="50%" cy="30%" r="50%">
|
||||||
|
<stop offset="0%" stop-color="#ffffff" stop-opacity="0.25"/>
|
||||||
|
<stop offset="100%" stop-color="#ffffff" stop-opacity="0"/>
|
||||||
|
</radialGradient>
|
||||||
|
</defs>
|
||||||
|
|
||||||
|
<!-- 배경 -->
|
||||||
|
<rect width="500" height="500" rx="32" fill="url(#grad)"/>
|
||||||
|
<rect width="500" height="500" rx="32" fill="url(#glow)"/>
|
||||||
|
|
||||||
|
<!-- 장식 원형 패턴 -->
|
||||||
|
<circle cx="430" cy="80" r="100" fill="#ffffff" opacity="0.05"/>
|
||||||
|
<circle cx="70" cy="420" r="80" fill="#ffffff" opacity="0.04"/>
|
||||||
|
|
||||||
|
<!-- 상단 뱃지 -->
|
||||||
|
<rect x="50" y="45" width="140" height="38" rx="19" fill="#ffffff" opacity="0.2"/>
|
||||||
|
<text x="120" y="70" font-family="'Pretendard', sans-serif" font-size="16" font-weight="700" fill="#ffffff" text-anchor="middle" letter-spacing="-0.3">실전 시험 대비</text>
|
||||||
|
|
||||||
|
<!-- 중앙 아이콘 -->
|
||||||
|
<g>
|
||||||
|
<circle cx="250" cy="240" r="60" fill="none" stroke="#ffffff" stroke-width="10"/>
|
||||||
|
<circle cx="250" cy="240" r="38" fill="none" stroke="#ffffff" stroke-width="8"/>
|
||||||
|
<circle cx="250" cy="240" r="16" fill="#ffffff"/>
|
||||||
|
<line x1="250" y1="165" x2="250" y2="185" stroke="#ffffff" stroke-width="8" stroke-linecap="round"/>
|
||||||
|
<line x1="250" y1="295" x2="250" y2="315" stroke="#ffffff" stroke-width="8" stroke-linecap="round"/>
|
||||||
|
<line x1="175" y1="240" x2="195" y2="240" stroke="#ffffff" stroke-width="8" stroke-linecap="round"/>
|
||||||
|
<line x1="305" y1="240" x2="325" y2="240" stroke="#ffffff" stroke-width="8" stroke-linecap="round"/>
|
||||||
|
</g>
|
||||||
|
|
||||||
|
<!-- 하단 텍스트 영역 -->
|
||||||
|
<text x="250" y="380" font-family="'Pretendard', sans-serif" font-size="34" font-weight="900" fill="#ffffff" text-anchor="middle" letter-spacing="-0.8">중간고사 수학과외</text>
|
||||||
|
<text x="250" y="420" font-family="'Pretendard', sans-serif" font-size="18" font-weight="600" fill="#ffffff" opacity="0.85" text-anchor="middle" letter-spacing="-0.5">학교별 기출 족보 및 서술형 킬러 대비</text>
|
||||||
|
|
||||||
|
<!-- 하단 액션 텍스트 -->
|
||||||
|
<rect x="175" y="445" width="150" height="28" rx="14" fill="#ffffff" opacity="0.25"/>
|
||||||
|
<text x="250" y="464" font-family="'Pretendard', sans-serif" font-size="13" font-weight="700" fill="#ffffff" text-anchor="middle">1:1 맞춤 클리닉</text>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 2.5 KiB |
@@ -0,0 +1,38 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="500" height="500" viewBox="0 0 500 500">
|
||||||
|
<defs>
|
||||||
|
<linearGradient id="grad" x1="0%" y1="0%" x2="100%" y2="100%">
|
||||||
|
<stop offset="0%" stop-color="#0d9488"/>
|
||||||
|
<stop offset="100%" stop-color="#0f766e"/>
|
||||||
|
</linearGradient>
|
||||||
|
<radialGradient id="glow" cx="50%" cy="30%" r="50%">
|
||||||
|
<stop offset="0%" stop-color="#ffffff" stop-opacity="0.25"/>
|
||||||
|
<stop offset="100%" stop-color="#ffffff" stop-opacity="0"/>
|
||||||
|
</radialGradient>
|
||||||
|
</defs>
|
||||||
|
|
||||||
|
<!-- 배경 -->
|
||||||
|
<rect width="500" height="500" rx="32" fill="url(#grad)"/>
|
||||||
|
<rect width="500" height="500" rx="32" fill="url(#glow)"/>
|
||||||
|
|
||||||
|
<!-- 장식 원형 패턴 -->
|
||||||
|
<circle cx="430" cy="80" r="100" fill="#ffffff" opacity="0.05"/>
|
||||||
|
<circle cx="70" cy="420" r="80" fill="#ffffff" opacity="0.04"/>
|
||||||
|
|
||||||
|
<!-- 상단 뱃지 -->
|
||||||
|
<rect x="50" y="45" width="140" height="38" rx="19" fill="#ffffff" opacity="0.2"/>
|
||||||
|
<text x="120" y="70" font-family="'Pretendard', sans-serif" font-size="16" font-weight="700" fill="#ffffff" text-anchor="middle" letter-spacing="-0.3">학기말 총정리</text>
|
||||||
|
|
||||||
|
<!-- 중앙 아이콘 -->
|
||||||
|
<g>
|
||||||
|
<rect x="185" y="180" width="130" height="130" rx="16" fill="none" stroke="#ffffff" stroke-width="10"/>
|
||||||
|
<path d="M215 245 L238 268 L285 215" fill="none" stroke="#ffffff" stroke-width="12" stroke-linecap="round" stroke-linejoin="round"/>
|
||||||
|
</g>
|
||||||
|
|
||||||
|
<!-- 하단 텍스트 영역 -->
|
||||||
|
<text x="250" y="380" font-family="'Pretendard', sans-serif" font-size="34" font-weight="900" fill="#ffffff" text-anchor="middle" letter-spacing="-0.8">기말고사 수학과외</text>
|
||||||
|
<text x="250" y="420" font-family="'Pretendard', sans-serif" font-size="18" font-weight="600" fill="#ffffff" opacity="0.85" text-anchor="middle" letter-spacing="-0.5">전 범위 오답 분석 및 약점 완벽 클리닉</text>
|
||||||
|
|
||||||
|
<!-- 하단 액션 텍스트 -->
|
||||||
|
<rect x="175" y="445" width="150" height="28" rx="14" fill="#ffffff" opacity="0.25"/>
|
||||||
|
<text x="250" y="464" font-family="'Pretendard', sans-serif" font-size="13" font-weight="700" fill="#ffffff" text-anchor="middle">1:1 맞춤 클리닉</text>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 2.1 KiB |
@@ -0,0 +1,42 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="500" height="500" viewBox="0 0 500 500">
|
||||||
|
<defs>
|
||||||
|
<linearGradient id="grad" x1="0%" y1="0%" x2="100%" y2="100%">
|
||||||
|
<stop offset="0%" stop-color="#4f46e5"/>
|
||||||
|
<stop offset="100%" stop-color="#4338ca"/>
|
||||||
|
</linearGradient>
|
||||||
|
<radialGradient id="glow" cx="50%" cy="30%" r="50%">
|
||||||
|
<stop offset="0%" stop-color="#ffffff" stop-opacity="0.25"/>
|
||||||
|
<stop offset="100%" stop-color="#ffffff" stop-opacity="0"/>
|
||||||
|
</radialGradient>
|
||||||
|
</defs>
|
||||||
|
|
||||||
|
<!-- 배경 -->
|
||||||
|
<rect width="500" height="500" rx="32" fill="url(#grad)"/>
|
||||||
|
<rect width="500" height="500" rx="32" fill="url(#glow)"/>
|
||||||
|
|
||||||
|
<!-- 장식 원형 패턴 -->
|
||||||
|
<circle cx="430" cy="80" r="100" fill="#ffffff" opacity="0.05"/>
|
||||||
|
<circle cx="70" cy="420" r="80" fill="#ffffff" opacity="0.04"/>
|
||||||
|
|
||||||
|
<!-- 상단 뱃지 -->
|
||||||
|
<rect x="50" y="45" width="140" height="38" rx="19" fill="#ffffff" opacity="0.2"/>
|
||||||
|
<text x="120" y="70" font-family="'Pretendard', sans-serif" font-size="16" font-weight="700" fill="#ffffff" text-anchor="middle" letter-spacing="-0.3">수능·전국연합</text>
|
||||||
|
|
||||||
|
<!-- 중앙 아이콘 -->
|
||||||
|
<g>
|
||||||
|
<line x1="170" y1="310" x2="330" y2="310" stroke="#ffffff" stroke-width="8" stroke-linecap="round"/>
|
||||||
|
<rect x="190" y="245" width="26" height="65" rx="4" fill="#ffffff" opacity="0.6"/>
|
||||||
|
<rect x="237" y="215" width="26" height="95" rx="4" fill="#ffffff" opacity="0.8"/>
|
||||||
|
<rect x="284" y="175" width="26" height="135" rx="4" fill="#ffffff"/>
|
||||||
|
<path d="M195 230 L245 190 L295 155" fill="none" stroke="#fcd34d" stroke-width="8" stroke-linecap="round" stroke-linejoin="round"/>
|
||||||
|
<polygon points="295,145 310,158 290,165" fill="#fcd34d"/>
|
||||||
|
</g>
|
||||||
|
|
||||||
|
<!-- 하단 텍스트 영역 -->
|
||||||
|
<text x="250" y="380" font-family="'Pretendard', sans-serif" font-size="34" font-weight="900" fill="#ffffff" text-anchor="middle" letter-spacing="-0.8">모의고사 수학과외</text>
|
||||||
|
<text x="250" y="420" font-family="'Pretendard', sans-serif" font-size="18" font-weight="600" fill="#ffffff" opacity="0.85" text-anchor="middle" letter-spacing="-0.5">수능형 사고력 확장 및 시간관리 특훈</text>
|
||||||
|
|
||||||
|
<!-- 하단 액션 텍스트 -->
|
||||||
|
<rect x="175" y="445" width="150" height="28" rx="14" fill="#ffffff" opacity="0.25"/>
|
||||||
|
<text x="250" y="464" font-family="'Pretendard', sans-serif" font-size="13" font-weight="700" fill="#ffffff" text-anchor="middle">1:1 맞춤 클리닉</text>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 2.4 KiB |
@@ -0,0 +1,38 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="500" height="500" viewBox="0 0 500 500">
|
||||||
|
<defs>
|
||||||
|
<linearGradient id="grad" x1="0%" y1="0%" x2="100%" y2="100%">
|
||||||
|
<stop offset="0%" stop-color="#ea580c"/>
|
||||||
|
<stop offset="100%" stop-color="#c2410c"/>
|
||||||
|
</linearGradient>
|
||||||
|
<radialGradient id="glow" cx="50%" cy="30%" r="50%">
|
||||||
|
<stop offset="0%" stop-color="#ffffff" stop-opacity="0.25"/>
|
||||||
|
<stop offset="100%" stop-color="#ffffff" stop-opacity="0"/>
|
||||||
|
</radialGradient>
|
||||||
|
</defs>
|
||||||
|
|
||||||
|
<!-- 배경 -->
|
||||||
|
<rect width="500" height="500" rx="32" fill="url(#grad)"/>
|
||||||
|
<rect width="500" height="500" rx="32" fill="url(#glow)"/>
|
||||||
|
|
||||||
|
<!-- 장식 원형 패턴 -->
|
||||||
|
<circle cx="430" cy="80" r="100" fill="#ffffff" opacity="0.05"/>
|
||||||
|
<circle cx="70" cy="420" r="80" fill="#ffffff" opacity="0.04"/>
|
||||||
|
|
||||||
|
<!-- 상단 뱃지 -->
|
||||||
|
<rect x="50" y="45" width="140" height="38" rx="19" fill="#ffffff" opacity="0.2"/>
|
||||||
|
<text x="120" y="70" font-family="'Pretendard', sans-serif" font-size="16" font-weight="700" fill="#ffffff" text-anchor="middle" letter-spacing="-0.3">서술형·과제</text>
|
||||||
|
|
||||||
|
<!-- 중앙 아이콘 -->
|
||||||
|
<g>
|
||||||
|
<path d="M170 200 C210 185 240 185 250 195 C260 185 290 185 330 200 L330 290 C290 275 260 275 250 285 C240 275 210 275 170 290 Z" fill="none" stroke="#ffffff" stroke-width="12" stroke-linecap="round" stroke-linejoin="round"/>
|
||||||
|
<line x1="250" y1="195" x2="250" y2="285" stroke="#ffffff" stroke-width="10" stroke-linecap="round"/>
|
||||||
|
</g>
|
||||||
|
|
||||||
|
<!-- 하단 텍스트 영역 -->
|
||||||
|
<text x="250" y="380" font-family="'Pretendard', sans-serif" font-size="34" font-weight="900" fill="#ffffff" text-anchor="middle" letter-spacing="-0.8">수행평가 수학과외</text>
|
||||||
|
<text x="250" y="420" font-family="'Pretendard', sans-serif" font-size="18" font-weight="600" fill="#ffffff" opacity="0.85" text-anchor="middle" letter-spacing="-0.5">조건 감점 0점화 및 탐구보고서 세특</text>
|
||||||
|
|
||||||
|
<!-- 하단 액션 텍스트 -->
|
||||||
|
<rect x="175" y="445" width="150" height="28" rx="14" fill="#ffffff" opacity="0.25"/>
|
||||||
|
<text x="250" y="464" font-family="'Pretendard', sans-serif" font-size="13" font-weight="700" fill="#ffffff" text-anchor="middle">1:1 맞춤 클리닉</text>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 2.2 KiB |
@@ -0,0 +1,41 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="500" height="500" viewBox="0 0 500 500">
|
||||||
|
<defs>
|
||||||
|
<linearGradient id="grad" x1="0%" y1="0%" x2="100%" y2="100%">
|
||||||
|
<stop offset="0%" stop-color="#be123c"/>
|
||||||
|
<stop offset="100%" stop-color="#9f1239"/>
|
||||||
|
</linearGradient>
|
||||||
|
<radialGradient id="glow" cx="50%" cy="30%" r="50%">
|
||||||
|
<stop offset="0%" stop-color="#ffffff" stop-opacity="0.25"/>
|
||||||
|
<stop offset="100%" stop-color="#ffffff" stop-opacity="0"/>
|
||||||
|
</radialGradient>
|
||||||
|
</defs>
|
||||||
|
|
||||||
|
<!-- 배경 -->
|
||||||
|
<rect width="500" height="500" rx="32" fill="url(#grad)"/>
|
||||||
|
<rect width="500" height="500" rx="32" fill="url(#glow)"/>
|
||||||
|
|
||||||
|
<!-- 장식 원형 패턴 -->
|
||||||
|
<circle cx="430" cy="80" r="100" fill="#ffffff" opacity="0.05"/>
|
||||||
|
<circle cx="70" cy="420" r="80" fill="#ffffff" opacity="0.04"/>
|
||||||
|
|
||||||
|
<!-- 상단 뱃지 -->
|
||||||
|
<rect x="50" y="45" width="140" height="38" rx="19" fill="#ffffff" opacity="0.2"/>
|
||||||
|
<text x="120" y="70" font-family="'Pretendard', sans-serif" font-size="16" font-weight="700" fill="#ffffff" text-anchor="middle" letter-spacing="-0.3">1등급 집중공략</text>
|
||||||
|
|
||||||
|
<!-- 중앙 아이콘 -->
|
||||||
|
<g>
|
||||||
|
<path d="M190 190 L310 190 L300 250 C290 280 270 290 250 290 C230 290 210 280 200 250 Z" fill="none" stroke="#ffffff" stroke-width="10" stroke-linejoin="round"/>
|
||||||
|
<line x1="250" y1="290" x2="250" y2="320" stroke="#ffffff" stroke-width="12" stroke-linecap="round"/>
|
||||||
|
<line x1="215" y1="320" x2="285" y2="320" stroke="#ffffff" stroke-width="12" stroke-linecap="round"/>
|
||||||
|
<path d="M190 205 C170 205 160 220 160 235 C160 250 175 255 195 255" fill="none" stroke="#ffffff" stroke-width="8" stroke-linecap="round"/>
|
||||||
|
<path d="M310 205 C330 205 340 220 340 235 C340 250 325 255 305 255" fill="none" stroke="#ffffff" stroke-width="8" stroke-linecap="round"/>
|
||||||
|
</g>
|
||||||
|
|
||||||
|
<!-- 하단 텍스트 영역 -->
|
||||||
|
<text x="250" y="380" font-family="'Pretendard', sans-serif" font-size="34" font-weight="900" fill="#ffffff" text-anchor="middle" letter-spacing="-0.8">내신대비 수학과외</text>
|
||||||
|
<text x="250" y="420" font-family="'Pretendard', sans-serif" font-size="18" font-weight="600" fill="#ffffff" opacity="0.85" text-anchor="middle" letter-spacing="-0.5">관내 교과서·부교재 적중 1:1 맞춤 지도</text>
|
||||||
|
|
||||||
|
<!-- 하단 액션 텍스트 -->
|
||||||
|
<rect x="175" y="445" width="150" height="28" rx="14" fill="#ffffff" opacity="0.25"/>
|
||||||
|
<text x="250" y="464" font-family="'Pretendard', sans-serif" font-size="13" font-weight="700" fill="#ffffff" text-anchor="middle">1:1 맞춤 클리닉</text>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 2.5 KiB |
@@ -13,5 +13,5 @@
|
|||||||
<text x="80" y="420" font-family="'Pretendard', sans-serif" font-size="30" font-weight="500" fill="#e0e7ff">국어 · 영어 · 수학 · 과학 · 사회 · 수행평가 세특</text>
|
<text x="80" y="420" font-family="'Pretendard', sans-serif" font-size="30" font-weight="500" fill="#e0e7ff">국어 · 영어 · 수학 · 과학 · 사회 · 수행평가 세특</text>
|
||||||
<text x="80" y="480" font-family="'Pretendard', sans-serif" font-size="28" font-weight="700" fill="#ffffff">전국 568개 동 학교별 기출 족보 완벽 분석</text>
|
<text x="80" y="480" font-family="'Pretendard', sans-serif" font-size="28" font-weight="700" fill="#ffffff">전국 568개 동 학교별 기출 족보 완벽 분석</text>
|
||||||
<rect x="80" y="530" width="340" height="50" rx="25" fill="#10b981"/>
|
<rect x="80" y="530" width="340" height="50" rx="25" fill="#10b981"/>
|
||||||
<text x="250" y="563" font-family="'Pretendard', sans-serif" font-size="24" font-weight="700" fill="#ffffff" text-anchor="middle">1회 무료 상담: 1588-0909</text>
|
<text x="250" y="563" font-family="'Pretendard', sans-serif" font-size="24" font-weight="700" fill="#ffffff" text-anchor="middle">1회 무료 상담: 010-5961-5807</text>
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.5 KiB |
@@ -0,0 +1,6 @@
|
|||||||
|
.nuxt
|
||||||
|
.output
|
||||||
|
node_modules
|
||||||
|
.git
|
||||||
|
.env
|
||||||
|
npm-debug.log
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
node_modules
|
||||||
@@ -0,0 +1,21 @@
|
|||||||
|
|
||||||
|
const inlineConfig = {
|
||||||
|
"nuxt": {}
|
||||||
|
}
|
||||||
|
|
||||||
|
/** client **/
|
||||||
|
import { _replaceAppConfig } from '#app/config'
|
||||||
|
|
||||||
|
// Vite - webpack is handled directly in #app/config
|
||||||
|
if (import.meta.dev && !import.meta.nitro && import.meta.hot) {
|
||||||
|
import.meta.hot.accept((newModule) => {
|
||||||
|
if (newModule) {
|
||||||
|
_replaceAppConfig(newModule.default)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
/** client-end **/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
export default inlineConfig
|
||||||
@@ -0,0 +1,256 @@
|
|||||||
|
|
||||||
|
import type { DefineComponent, SlotsType } from 'vue'
|
||||||
|
type IslandComponent<T> = DefineComponent<{}, {refresh: () => Promise<void>}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, SlotsType<{ fallback: { error: unknown } }>> & T
|
||||||
|
|
||||||
|
type HydrationStrategies = {
|
||||||
|
hydrateOnVisible?: IntersectionObserverInit | true
|
||||||
|
hydrateOnIdle?: number | true
|
||||||
|
hydrateOnInteraction?: keyof HTMLElementEventMap | Array<keyof HTMLElementEventMap> | true
|
||||||
|
hydrateOnMediaQuery?: string
|
||||||
|
hydrateAfter?: number
|
||||||
|
hydrateWhen?: boolean
|
||||||
|
hydrateNever?: true
|
||||||
|
}
|
||||||
|
type LazyComponent<T> = DefineComponent<HydrationStrategies, {}, {}, {}, {}, {}, {}, { hydrated: () => void }> & T
|
||||||
|
|
||||||
|
|
||||||
|
export const AppFooter: typeof import("../components/AppFooter.vue")['default']
|
||||||
|
export const CoachingSystem: typeof import("../components/CoachingSystem.vue")['default']
|
||||||
|
export const ConsultForm: typeof import("../components/ConsultForm.vue")['default']
|
||||||
|
export const FaqAccordion: typeof import("../components/FaqAccordion.vue")['default']
|
||||||
|
export const HeroBanner: typeof import("../components/HeroBanner.vue")['default']
|
||||||
|
export const NearbySchools: typeof import("../components/NearbySchools.vue")['default']
|
||||||
|
export const ProcessGuide: typeof import("../components/ProcessGuide.vue")['default']
|
||||||
|
export const QuickMetrics: typeof import("../components/QuickMetrics.vue")['default']
|
||||||
|
export const SubjectMastery: typeof import("../components/SubjectMastery.vue")['default']
|
||||||
|
export const SuccessStories: typeof import("../components/SuccessStories.vue")['default']
|
||||||
|
export const TeacherVerification: typeof import("../components/TeacherVerification.vue")['default']
|
||||||
|
/**
|
||||||
|
* Displays the welcome screen used by new Nuxt projects.
|
||||||
|
*
|
||||||
|
* @see https://nuxt.com/docs/4.x/api/components/nuxt-welcome
|
||||||
|
*/
|
||||||
|
export const NuxtWelcome: typeof import("../node_modules/nuxt/dist/app/components/welcome.vue")['default']
|
||||||
|
/**
|
||||||
|
* Renders the selected layout around pages or error content.
|
||||||
|
*
|
||||||
|
* @see https://nuxt.com/docs/4.x/api/components/nuxt-layout
|
||||||
|
*/
|
||||||
|
export const NuxtLayout: typeof import("../node_modules/nuxt/dist/app/components/nuxt-layout")['default']
|
||||||
|
/**
|
||||||
|
* Catches client-side errors from its default slot and renders an error slot.
|
||||||
|
*
|
||||||
|
* @see https://nuxt.com/docs/4.x/api/components/nuxt-error-boundary
|
||||||
|
*/
|
||||||
|
export const NuxtErrorBoundary: typeof import("../node_modules/nuxt/dist/app/components/nuxt-error-boundary.vue")['default']
|
||||||
|
/**
|
||||||
|
* Renders its default slot only on the client, with an optional server fallback.
|
||||||
|
*
|
||||||
|
* @see https://nuxt.com/docs/4.x/api/components/client-only
|
||||||
|
*/
|
||||||
|
export const ClientOnly: typeof import("../node_modules/nuxt/dist/app/components/client-only")['default']
|
||||||
|
/**
|
||||||
|
* Renders its content only during development.
|
||||||
|
*
|
||||||
|
* @see https://nuxt.com/docs/4.x/api/components/dev-only
|
||||||
|
*/
|
||||||
|
export const DevOnly: typeof import("../node_modules/nuxt/dist/app/components/dev-only")['default']
|
||||||
|
export const ServerPlaceholder: typeof import("../node_modules/nuxt/dist/app/components/server-placeholder")['default']
|
||||||
|
/**
|
||||||
|
* A drop-in replacement for Vue Router's `<RouterLink>` and the HTML `<a>` element.
|
||||||
|
*
|
||||||
|
* @see https://nuxt.com/docs/4.x/api/components/nuxt-link
|
||||||
|
*/
|
||||||
|
export const NuxtLink: typeof import("../node_modules/nuxt/dist/app/components/nuxt-link")['default']
|
||||||
|
/**
|
||||||
|
* Displays a progress bar during page navigation.
|
||||||
|
*
|
||||||
|
* @see https://nuxt.com/docs/4.x/api/components/nuxt-loading-indicator
|
||||||
|
*/
|
||||||
|
export const NuxtLoadingIndicator: typeof import("../node_modules/nuxt/dist/app/components/nuxt-loading-indicator")['default']
|
||||||
|
/**
|
||||||
|
* Formats dates and times consistently across server and client using the user's locale.
|
||||||
|
*
|
||||||
|
* @see https://nuxt.com/docs/4.x/api/components/nuxt-time
|
||||||
|
*/
|
||||||
|
export const NuxtTime: typeof import("../node_modules/nuxt/dist/app/components/nuxt-time.vue")['default']
|
||||||
|
/**
|
||||||
|
* Announces route changes to assistive technologies using the current page title.
|
||||||
|
*
|
||||||
|
* @see https://nuxt.com/docs/4.x/api/components/nuxt-route-announcer
|
||||||
|
*/
|
||||||
|
export const NuxtRouteAnnouncer: typeof import("../node_modules/nuxt/dist/app/components/nuxt-route-announcer")['default']
|
||||||
|
/**
|
||||||
|
* Announces dynamic content changes to assistive technologies.
|
||||||
|
*
|
||||||
|
* @see https://nuxt.com/docs/4.x/api/components/nuxt-announcer
|
||||||
|
*/
|
||||||
|
export const NuxtAnnouncer: typeof import("../node_modules/nuxt/dist/app/components/nuxt-announcer")['default']
|
||||||
|
/**
|
||||||
|
* Renders an optimized image through the Nuxt Image module.
|
||||||
|
*
|
||||||
|
* @see https://nuxt.com/docs/4.x/api/components/nuxt-img
|
||||||
|
*/
|
||||||
|
export const NuxtImg: typeof import("../node_modules/nuxt/dist/app/components/nuxt-stubs")['NuxtImg']
|
||||||
|
/**
|
||||||
|
* Renders responsive optimized images through the Nuxt Image module.
|
||||||
|
*
|
||||||
|
* @see https://nuxt.com/docs/4.x/api/components/nuxt-picture
|
||||||
|
*/
|
||||||
|
export const NuxtPicture: typeof import("../node_modules/nuxt/dist/app/components/nuxt-stubs")['NuxtPicture']
|
||||||
|
/**
|
||||||
|
* Renders the current page from the `pages/` directory.
|
||||||
|
*
|
||||||
|
* @see https://nuxt.com/docs/4.x/api/components/nuxt-page
|
||||||
|
*/
|
||||||
|
export const NuxtPage: typeof import("../node_modules/nuxt/dist/pages/runtime/page")['default']
|
||||||
|
export const NoScript: typeof import("../node_modules/nuxt/dist/head/runtime/components")['NoScript']
|
||||||
|
export const Link: typeof import("../node_modules/nuxt/dist/head/runtime/components")['Link']
|
||||||
|
export const Base: typeof import("../node_modules/nuxt/dist/head/runtime/components")['Base']
|
||||||
|
export const Title: typeof import("../node_modules/nuxt/dist/head/runtime/components")['Title']
|
||||||
|
export const Meta: typeof import("../node_modules/nuxt/dist/head/runtime/components")['Meta']
|
||||||
|
export const Style: typeof import("../node_modules/nuxt/dist/head/runtime/components")['Style']
|
||||||
|
export const Head: typeof import("../node_modules/nuxt/dist/head/runtime/components")['Head']
|
||||||
|
export const Html: typeof import("../node_modules/nuxt/dist/head/runtime/components")['Html']
|
||||||
|
export const Body: typeof import("../node_modules/nuxt/dist/head/runtime/components")['Body']
|
||||||
|
/**
|
||||||
|
* Renders a non-interactive server component without shipping client-side JavaScript.
|
||||||
|
*
|
||||||
|
* @see https://nuxt.com/docs/4.x/api/components/nuxt-island
|
||||||
|
*/
|
||||||
|
export const NuxtIsland: typeof import("../node_modules/nuxt/dist/app/components/nuxt-island")['default']
|
||||||
|
export const LazyAppFooter: LazyComponent<typeof import("../components/AppFooter.vue")['default']>
|
||||||
|
export const LazyCoachingSystem: LazyComponent<typeof import("../components/CoachingSystem.vue")['default']>
|
||||||
|
export const LazyConsultForm: LazyComponent<typeof import("../components/ConsultForm.vue")['default']>
|
||||||
|
export const LazyFaqAccordion: LazyComponent<typeof import("../components/FaqAccordion.vue")['default']>
|
||||||
|
export const LazyHeroBanner: LazyComponent<typeof import("../components/HeroBanner.vue")['default']>
|
||||||
|
export const LazyNearbySchools: LazyComponent<typeof import("../components/NearbySchools.vue")['default']>
|
||||||
|
export const LazyProcessGuide: LazyComponent<typeof import("../components/ProcessGuide.vue")['default']>
|
||||||
|
export const LazyQuickMetrics: LazyComponent<typeof import("../components/QuickMetrics.vue")['default']>
|
||||||
|
export const LazySubjectMastery: LazyComponent<typeof import("../components/SubjectMastery.vue")['default']>
|
||||||
|
export const LazySuccessStories: LazyComponent<typeof import("../components/SuccessStories.vue")['default']>
|
||||||
|
export const LazyTeacherVerification: LazyComponent<typeof import("../components/TeacherVerification.vue")['default']>
|
||||||
|
/**
|
||||||
|
* Lazy-loaded version of `<NuxtWelcome>`.
|
||||||
|
*
|
||||||
|
* Displays the welcome screen used by new Nuxt projects.
|
||||||
|
*
|
||||||
|
* @see https://nuxt.com/docs/4.x/api/components/nuxt-welcome
|
||||||
|
*/
|
||||||
|
export const LazyNuxtWelcome: LazyComponent<typeof import("../node_modules/nuxt/dist/app/components/welcome.vue")['default']>
|
||||||
|
/**
|
||||||
|
* Lazy-loaded version of `<NuxtLayout>`.
|
||||||
|
*
|
||||||
|
* Renders the selected layout around pages or error content.
|
||||||
|
*
|
||||||
|
* @see https://nuxt.com/docs/4.x/api/components/nuxt-layout
|
||||||
|
*/
|
||||||
|
export const LazyNuxtLayout: LazyComponent<typeof import("../node_modules/nuxt/dist/app/components/nuxt-layout")['default']>
|
||||||
|
/**
|
||||||
|
* Lazy-loaded version of `<NuxtErrorBoundary>`.
|
||||||
|
*
|
||||||
|
* Catches client-side errors from its default slot and renders an error slot.
|
||||||
|
*
|
||||||
|
* @see https://nuxt.com/docs/4.x/api/components/nuxt-error-boundary
|
||||||
|
*/
|
||||||
|
export const LazyNuxtErrorBoundary: LazyComponent<typeof import("../node_modules/nuxt/dist/app/components/nuxt-error-boundary.vue")['default']>
|
||||||
|
/**
|
||||||
|
* Lazy-loaded version of `<ClientOnly>`.
|
||||||
|
*
|
||||||
|
* Renders its default slot only on the client, with an optional server fallback.
|
||||||
|
*
|
||||||
|
* @see https://nuxt.com/docs/4.x/api/components/client-only
|
||||||
|
*/
|
||||||
|
export const LazyClientOnly: LazyComponent<typeof import("../node_modules/nuxt/dist/app/components/client-only")['default']>
|
||||||
|
/**
|
||||||
|
* Lazy-loaded version of `<DevOnly>`.
|
||||||
|
*
|
||||||
|
* Renders its content only during development.
|
||||||
|
*
|
||||||
|
* @see https://nuxt.com/docs/4.x/api/components/dev-only
|
||||||
|
*/
|
||||||
|
export const LazyDevOnly: LazyComponent<typeof import("../node_modules/nuxt/dist/app/components/dev-only")['default']>
|
||||||
|
export const LazyServerPlaceholder: LazyComponent<typeof import("../node_modules/nuxt/dist/app/components/server-placeholder")['default']>
|
||||||
|
/**
|
||||||
|
* Lazy-loaded version of `<NuxtLink>`.
|
||||||
|
*
|
||||||
|
* A drop-in replacement for Vue Router's `<RouterLink>` and the HTML `<a>` element.
|
||||||
|
*
|
||||||
|
* @see https://nuxt.com/docs/4.x/api/components/nuxt-link
|
||||||
|
*/
|
||||||
|
export const LazyNuxtLink: LazyComponent<typeof import("../node_modules/nuxt/dist/app/components/nuxt-link")['default']>
|
||||||
|
/**
|
||||||
|
* Lazy-loaded version of `<NuxtLoadingIndicator>`.
|
||||||
|
*
|
||||||
|
* Displays a progress bar during page navigation.
|
||||||
|
*
|
||||||
|
* @see https://nuxt.com/docs/4.x/api/components/nuxt-loading-indicator
|
||||||
|
*/
|
||||||
|
export const LazyNuxtLoadingIndicator: LazyComponent<typeof import("../node_modules/nuxt/dist/app/components/nuxt-loading-indicator")['default']>
|
||||||
|
/**
|
||||||
|
* Lazy-loaded version of `<NuxtTime>`.
|
||||||
|
*
|
||||||
|
* Formats dates and times consistently across server and client using the user's locale.
|
||||||
|
*
|
||||||
|
* @see https://nuxt.com/docs/4.x/api/components/nuxt-time
|
||||||
|
*/
|
||||||
|
export const LazyNuxtTime: LazyComponent<typeof import("../node_modules/nuxt/dist/app/components/nuxt-time.vue")['default']>
|
||||||
|
/**
|
||||||
|
* Lazy-loaded version of `<NuxtRouteAnnouncer>`.
|
||||||
|
*
|
||||||
|
* Announces route changes to assistive technologies using the current page title.
|
||||||
|
*
|
||||||
|
* @see https://nuxt.com/docs/4.x/api/components/nuxt-route-announcer
|
||||||
|
*/
|
||||||
|
export const LazyNuxtRouteAnnouncer: LazyComponent<typeof import("../node_modules/nuxt/dist/app/components/nuxt-route-announcer")['default']>
|
||||||
|
/**
|
||||||
|
* Lazy-loaded version of `<NuxtAnnouncer>`.
|
||||||
|
*
|
||||||
|
* Announces dynamic content changes to assistive technologies.
|
||||||
|
*
|
||||||
|
* @see https://nuxt.com/docs/4.x/api/components/nuxt-announcer
|
||||||
|
*/
|
||||||
|
export const LazyNuxtAnnouncer: LazyComponent<typeof import("../node_modules/nuxt/dist/app/components/nuxt-announcer")['default']>
|
||||||
|
/**
|
||||||
|
* Lazy-loaded version of `<NuxtImg>`.
|
||||||
|
*
|
||||||
|
* Renders an optimized image through the Nuxt Image module.
|
||||||
|
*
|
||||||
|
* @see https://nuxt.com/docs/4.x/api/components/nuxt-img
|
||||||
|
*/
|
||||||
|
export const LazyNuxtImg: LazyComponent<typeof import("../node_modules/nuxt/dist/app/components/nuxt-stubs")['NuxtImg']>
|
||||||
|
/**
|
||||||
|
* Lazy-loaded version of `<NuxtPicture>`.
|
||||||
|
*
|
||||||
|
* Renders responsive optimized images through the Nuxt Image module.
|
||||||
|
*
|
||||||
|
* @see https://nuxt.com/docs/4.x/api/components/nuxt-picture
|
||||||
|
*/
|
||||||
|
export const LazyNuxtPicture: LazyComponent<typeof import("../node_modules/nuxt/dist/app/components/nuxt-stubs")['NuxtPicture']>
|
||||||
|
/**
|
||||||
|
* Lazy-loaded version of `<NuxtPage>`.
|
||||||
|
*
|
||||||
|
* Renders the current page from the `pages/` directory.
|
||||||
|
*
|
||||||
|
* @see https://nuxt.com/docs/4.x/api/components/nuxt-page
|
||||||
|
*/
|
||||||
|
export const LazyNuxtPage: LazyComponent<typeof import("../node_modules/nuxt/dist/pages/runtime/page")['default']>
|
||||||
|
export const LazyNoScript: LazyComponent<typeof import("../node_modules/nuxt/dist/head/runtime/components")['NoScript']>
|
||||||
|
export const LazyLink: LazyComponent<typeof import("../node_modules/nuxt/dist/head/runtime/components")['Link']>
|
||||||
|
export const LazyBase: LazyComponent<typeof import("../node_modules/nuxt/dist/head/runtime/components")['Base']>
|
||||||
|
export const LazyTitle: LazyComponent<typeof import("../node_modules/nuxt/dist/head/runtime/components")['Title']>
|
||||||
|
export const LazyMeta: LazyComponent<typeof import("../node_modules/nuxt/dist/head/runtime/components")['Meta']>
|
||||||
|
export const LazyStyle: LazyComponent<typeof import("../node_modules/nuxt/dist/head/runtime/components")['Style']>
|
||||||
|
export const LazyHead: LazyComponent<typeof import("../node_modules/nuxt/dist/head/runtime/components")['Head']>
|
||||||
|
export const LazyHtml: LazyComponent<typeof import("../node_modules/nuxt/dist/head/runtime/components")['Html']>
|
||||||
|
export const LazyBody: LazyComponent<typeof import("../node_modules/nuxt/dist/head/runtime/components")['Body']>
|
||||||
|
/**
|
||||||
|
* Lazy-loaded version of `<NuxtIsland>`.
|
||||||
|
*
|
||||||
|
* Renders a non-interactive server component without shipping client-side JavaScript.
|
||||||
|
*
|
||||||
|
* @see https://nuxt.com/docs/4.x/api/components/nuxt-island
|
||||||
|
*/
|
||||||
|
export const LazyNuxtIsland: LazyComponent<typeof import("../node_modules/nuxt/dist/app/components/nuxt-island")['default']>
|
||||||
|
|
||||||
|
export const componentNames: string[]
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
export declare const $fetch: import('nuxt/app').TypedFetch
|
||||||
@@ -0,0 +1,38 @@
|
|||||||
|
export { useScriptTriggerConsent, useScriptEventPage, useScriptTriggerElement, useScript, useScriptGoogleAnalytics, useScriptPlausibleAnalytics, useScriptCrisp, useScriptClarity, useScriptCloudflareWebAnalytics, useScriptVercelAnalytics, useScriptPostHog, useScriptFathomAnalytics, useScriptMatomoAnalytics, useScriptMixpanelAnalytics, useScriptBingUet, useScriptGoogleTagManager, useScriptGoogleAdsense, useScriptGoogleRecaptcha, useScriptGoogleSignIn, useScriptSegment, useScriptMetaPixel, useScriptXPixel, useScriptTikTokPixel, useScriptIntercom, useScriptHotjar, useScriptStripe, useScriptLemonSqueezy, useScriptVimeoPlayer, useScriptYouTubePlayer, useScriptGoogleMaps, useScriptNpm, useScriptUmamiAnalytics, useScriptSnapchatPixel, useScriptRybbitAnalytics, useScriptDatabuddyAnalytics, useScriptRedditPixel, useScriptPayPal, useScriptGravatar, useScriptAhrefsAnalytics, useScriptLinkedInInsight, useScriptCalendly, useScriptUsercentrics, useScriptSpeedCurve } from '#app/composables/script-stubs';
|
||||||
|
export { isVue2, isVue3 } from 'vue-demi';
|
||||||
|
export { defineNuxtLink } from '#app/components/nuxt-link';
|
||||||
|
export { useNuxtApp, tryUseNuxtApp, defineNuxtPlugin, definePayloadPlugin, useRuntimeConfig, defineAppConfig } from '#app/nuxt';
|
||||||
|
export { useAppConfig, updateAppConfig } from '#app/config';
|
||||||
|
export { defineNuxtComponent } from '#app/composables/component';
|
||||||
|
export { useAsyncData, useLazyAsyncData, useNuxtData, refreshNuxtData, clearNuxtData, createUseAsyncData } from '#app/composables/asyncData';
|
||||||
|
export { useHydration } from '#app/composables/hydrate';
|
||||||
|
export { callOnce } from '#app/composables/once';
|
||||||
|
export { useState, clearNuxtState } from '#app/composables/state';
|
||||||
|
export { clearError, createError, isNuxtError, showError, useError } from '#app/composables/error';
|
||||||
|
export { useFetch, useLazyFetch, createUseFetch } from '#app/composables/fetch';
|
||||||
|
export { defineUseFetchAddon, defineUseAsyncDataAddon, UseFetchAddonOptions, UseAsyncDataAddonOptions } from '#app/composables/addons';
|
||||||
|
export { $fetch } from '#build/fetch';
|
||||||
|
export { useCookie, refreshCookie } from '#app/composables/cookie';
|
||||||
|
export { onPrehydrate, prerenderRoutes, useRequestHeader, useRequestHeaders, useResponseHeader, useRequestEvent, useRequestFetch, setResponseStatus } from '#app/composables/ssr';
|
||||||
|
export { onNuxtReady } from '#app/composables/ready';
|
||||||
|
export { preloadComponents, prefetchComponents, preloadRouteComponents } from '#app/composables/preload';
|
||||||
|
export { abortNavigation, addRouteMiddleware, defineNuxtRouteMiddleware, setPageLayout, navigateTo, useRoute, useRouter } from '#app/composables/router';
|
||||||
|
export { isPrerendered, loadPayload, preloadPayload, definePayloadReducer, definePayloadReviver } from '#app/composables/payload';
|
||||||
|
export { useLoadingIndicator } from '#app/composables/loading-indicator';
|
||||||
|
export { getAppManifest, getRouteRules } from '#app/composables/manifest';
|
||||||
|
export { reloadNuxtApp } from '#app/composables/chunk';
|
||||||
|
export { useRequestURL } from '#app/composables/url';
|
||||||
|
export { usePreviewMode } from '#app/composables/preview';
|
||||||
|
export { useLayout } from '#app/composables/layout';
|
||||||
|
export { useRouteAnnouncer } from '#app/composables/route-announcer';
|
||||||
|
export { useAnnouncer } from '#app/composables/announcer';
|
||||||
|
export { useRuntimeHook } from '#app/composables/runtime-hook';
|
||||||
|
export { useHead, useHeadSafe, useServerHeadSafe, useServerHead, useSeoMeta, useServerSeoMeta, injectHead } from '#app/composables/head';
|
||||||
|
export { onBeforeRouteLeave, onBeforeRouteUpdate, useLink } from 'vue-router';
|
||||||
|
export { withCtx, withDirectives, withKeys, withMemo, withModifiers, withScopeId, onActivated, onBeforeMount, onBeforeUnmount, onBeforeUpdate, onDeactivated, onErrorCaptured, onMounted, onRenderTracked, onRenderTriggered, onServerPrefetch, onUnmounted, onUpdated, computed, customRef, isProxy, isReactive, isReadonly, isRef, markRaw, proxyRefs, reactive, readonly, ref, shallowReactive, shallowReadonly, shallowRef, toRaw, toRef, toRefs, triggerRef, unref, watch, watchEffect, watchPostEffect, watchSyncEffect, onWatcherCleanup, isShallow, effect, effectScope, getCurrentScope, onScopeDispose, defineComponent, defineAsyncComponent, resolveComponent, getCurrentInstance, h, inject, hasInjectionContext, nextTick, provide, toValue, useModel, useAttrs, useCssModule, useSlots, useTransitionState, useId, useTemplateRef, useShadowRoot, useCssVars, Component, ComponentPublicInstance, ComputedRef, DirectiveBinding, ExtractDefaultPropTypes, ExtractPropTypes, ExtractPublicPropTypes, InjectionKey, PropType, Ref, MaybeRef, MaybeRefOrGetter, ShallowRef, VNode, WritableComputedRef } from 'vue';
|
||||||
|
export { requestIdleCallback, cancelIdleCallback } from '#app/compat/idle-callback';
|
||||||
|
export { setInterval } from '#app/compat/interval';
|
||||||
|
export { definePageMeta, PageMeta } from '#app/composables/pages';
|
||||||
|
export { defineLazyHydrationComponent } from '#app/composables/lazy-hydration';
|
||||||
|
export { SUBJECTS_MAP, GRADES_LIST, getRegionByDong, getShortSido, getShortRegionName, parseRouteSlug, getAllSubjectsList, getCurriculumBySubject, getPopularRegions, getTotalRegionsCount, RegionInfo, ParsedRouteParams } from '../utils/dataHelper';
|
||||||
|
export { generateSeoMeta } from '../utils/seoHelper';
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
{}
|
||||||
@@ -0,0 +1,21 @@
|
|||||||
|
/// <reference types="@nuxt/telemetry" />
|
||||||
|
/// <reference path="types/nitro-layouts.d.ts" />
|
||||||
|
/// <reference path="types/builder-env.d.ts" />
|
||||||
|
/// <reference path="types/plugins.d.ts" />
|
||||||
|
/// <reference path="types/build.d.ts" />
|
||||||
|
/// <reference path="types/app.config.d.ts" />
|
||||||
|
/// <reference path="types/runtime-config.d.ts" />
|
||||||
|
/// <reference types="nuxt/app" />
|
||||||
|
/// <reference path="../node_modules/@nuxt/nitro-server/dist/augments.d.mts" />
|
||||||
|
/// <reference path="types/layouts.d.ts" />
|
||||||
|
/// <reference types="vue-router" />
|
||||||
|
/// <reference path="types/middleware.d.ts" />
|
||||||
|
/// <reference path="types/nitro-middleware.d.ts" />
|
||||||
|
/// <reference path="types/components.d.ts" />
|
||||||
|
/// <reference path="imports.d.ts" />
|
||||||
|
/// <reference path="types/imports.d.ts" />
|
||||||
|
/// <reference path="schema/nuxt.schema.d.ts" />
|
||||||
|
/// <reference path="types/nitro-internal-api.d.ts" />
|
||||||
|
/// <reference path="types/nitro.d.ts" />
|
||||||
|
|
||||||
|
export {}
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
/// <reference types="@nuxt/telemetry" />
|
||||||
|
/// <reference path="types/nitro-layouts.d.ts" />
|
||||||
|
/// <reference path="types/modules.d.ts" />
|
||||||
|
/// <reference path="types/runtime-config.d.ts" />
|
||||||
|
/// <reference path="types/shared-app.config.d.ts" />
|
||||||
|
/// <reference types="nuxt" />
|
||||||
|
/// <reference path="../node_modules/@nuxt/vite-builder/dist/index.d.mts" />
|
||||||
|
/// <reference path="../node_modules/@nuxt/nitro-server/dist/augments.d.mts" />
|
||||||
|
/// <reference path="types/nitro-middleware.d.ts" />
|
||||||
|
/// <reference path="schema/nuxt.schema.d.ts" />
|
||||||
|
|
||||||
|
export {}
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
/// <reference path="../node_modules/@nuxt/nitro-server/dist/augments.d.mts" />
|
||||||
|
/// <reference path="types/runtime-config.d.ts" />
|
||||||
|
/// <reference path="types/shared-app.config.d.ts" />
|
||||||
|
/// <reference path="types/shared-imports.d.ts" />
|
||||||
|
/// <reference path="schema/nuxt.schema.d.ts" />
|
||||||
|
|
||||||
|
export {}
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
export interface NuxtCustomSchema {
|
||||||
|
|
||||||
|
}
|
||||||
|
export type CustomAppConfig = Exclude<NuxtCustomSchema['appConfig'], undefined>
|
||||||
|
type _CustomAppConfig = CustomAppConfig
|
||||||
|
|
||||||
|
declare module '@nuxt/schema' {
|
||||||
|
interface NuxtConfig extends Omit<NuxtCustomSchema, 'appConfig'> {}
|
||||||
|
interface NuxtOptions extends Omit<NuxtCustomSchema, 'appConfig'> {}
|
||||||
|
interface CustomAppConfig extends _CustomAppConfig {}
|
||||||
|
}
|
||||||
|
|
||||||
|
declare module 'nuxt/schema' {
|
||||||
|
interface NuxtConfig extends Omit<NuxtCustomSchema, 'appConfig'> {}
|
||||||
|
interface NuxtOptions extends Omit<NuxtCustomSchema, 'appConfig'> {}
|
||||||
|
interface CustomAppConfig extends _CustomAppConfig {}
|
||||||
|
}
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
{
|
||||||
|
"id": "#"
|
||||||
|
}
|
||||||
@@ -0,0 +1,97 @@
|
|||||||
|
// generated by fetchdts, strategy table+union, 4 routes
|
||||||
|
// (3 static, 0 dynamic, 1 wildcard)
|
||||||
|
import type { AnyHTTPMethod, Endpoint, HTTPMethod, TypedFetchErrorBody, TypedFetchMethods, TypedFetchRequestBody, TypedFetchRequestHeaders, TypedFetchRequestQuery, TypedFetchRequires, TypedFetchResponseBody, TypedFetchResponseHeaders, ValidFetchInput, WildcardParam } from 'nuxt/app'
|
||||||
|
import type { ServerRoutes } from '@nuxt/schema'
|
||||||
|
import type { Serialize } from 'nuxt/app'
|
||||||
|
import type { RequestBodyOf, RequestQueryOf } from '@nuxt/nitro-server/request-types'
|
||||||
|
type AugmentedServerRoutes = GeneratedServerRoutes & ServerRoutes
|
||||||
|
|
||||||
|
export interface GeneratedServerRoutes {
|
||||||
|
"/__nuxt_error": {
|
||||||
|
[Endpoint]: Record<HTTPMethod, {
|
||||||
|
"response": Serialize<Awaited<ReturnType<typeof import("../node_modules/@nuxt/nitro-server/dist/runtime/handlers/renderer").default>>>
|
||||||
|
"body": RequestBodyOf<typeof import("../node_modules/@nuxt/nitro-server/dist/runtime/handlers/renderer").default>
|
||||||
|
"query": RequestQueryOf<typeof import("../node_modules/@nuxt/nitro-server/dist/runtime/handlers/renderer").default>
|
||||||
|
}>
|
||||||
|
}
|
||||||
|
"/__nuxt_island": {
|
||||||
|
[WildcardParam]: {
|
||||||
|
[Endpoint]: Record<HTTPMethod, {
|
||||||
|
"response": Serialize<Awaited<ReturnType<typeof import("../#internal/nuxt/island-renderer").default>>>
|
||||||
|
"body": RequestBodyOf<typeof import("../#internal/nuxt/island-renderer").default>
|
||||||
|
"query": RequestQueryOf<typeof import("../#internal/nuxt/island-renderer").default>
|
||||||
|
}>
|
||||||
|
}
|
||||||
|
}
|
||||||
|
"/api": {
|
||||||
|
"/consult": {
|
||||||
|
[Endpoint]: {
|
||||||
|
"POST": {
|
||||||
|
"response": Serialize<Awaited<ReturnType<typeof import("../server/api/consult.post").default>>>
|
||||||
|
"body": RequestBodyOf<typeof import("../server/api/consult.post").default>
|
||||||
|
"query": RequestQueryOf<typeof import("../server/api/consult.post").default>
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
"/sitemap.xml": {
|
||||||
|
[Endpoint]: Record<HTTPMethod, {
|
||||||
|
"response": Serialize<Awaited<ReturnType<typeof import("../server/routes/sitemap.xml").default>>>
|
||||||
|
"body": RequestBodyOf<typeof import("../server/routes/sitemap.xml").default>
|
||||||
|
"query": RequestQueryOf<typeof import("../server/routes/sitemap.xml").default>
|
||||||
|
}>
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Every path whose every segment is known, mapped to the endpoints registered on it.
|
||||||
|
*
|
||||||
|
* A fast path rather than the authority: a lookup that misses falls through to the tree, which
|
||||||
|
* costs nothing, since a path reached through a parameter has to walk either way.
|
||||||
|
*/
|
||||||
|
export interface Exact {
|
||||||
|
"/__nuxt_error": GeneratedServerRoutes["/__nuxt_error"][typeof Endpoint]
|
||||||
|
"/api/consult": GeneratedServerRoutes["/api"]["/consult"][typeof Endpoint]
|
||||||
|
"/sitemap.xml": GeneratedServerRoutes["/sitemap.xml"][typeof Endpoint]
|
||||||
|
}
|
||||||
|
|
||||||
|
export type Path =
|
||||||
|
| "/__nuxt_error"
|
||||||
|
| `/__nuxt_island/${string}${string}`
|
||||||
|
| "/__nuxt_island"
|
||||||
|
| "/api/consult"
|
||||||
|
| "/sitemap.xml"
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Whether a path resolves, for use in parameter position: `input: T & ValidInput<T, M>`.
|
||||||
|
*
|
||||||
|
* Does not consult `Exact`: a lookup where the path is still a type parameter relates a `keyof`
|
||||||
|
* of every static path once per program, so the table stays where the path is resolved.
|
||||||
|
*/
|
||||||
|
export type ValidInput<Path_, Method extends AnyHTTPMethod = 'GET'>
|
||||||
|
= ValidFetchInput<AugmentedServerRoutes, Path_, Method>
|
||||||
|
|
||||||
|
export type Response<Path_, Method extends AnyHTTPMethod = 'GET'>
|
||||||
|
= Path_ extends keyof Exact
|
||||||
|
? Uppercase<Method> extends keyof Exact[Path_]
|
||||||
|
? 'response' extends keyof Exact[Path_][Uppercase<Method>]
|
||||||
|
? Exact[Path_][Uppercase<Method>]['response']
|
||||||
|
: unknown
|
||||||
|
: TypedFetchResponseBody<AugmentedServerRoutes, Path_, Method>
|
||||||
|
: TypedFetchResponseBody<AugmentedServerRoutes, Path_, Method>
|
||||||
|
|
||||||
|
export type Methods<Path_> = TypedFetchMethods<AugmentedServerRoutes, Path_>
|
||||||
|
|
||||||
|
export type ResponseHeaders<Path_, Method extends AnyHTTPMethod = 'GET'> = TypedFetchResponseHeaders<AugmentedServerRoutes, Path_, Method>
|
||||||
|
|
||||||
|
export type ErrorBody<Path_, Method extends AnyHTTPMethod = 'GET'> = TypedFetchErrorBody<AugmentedServerRoutes, Path_, Method>
|
||||||
|
|
||||||
|
export type RequestBody<Path_, Method extends AnyHTTPMethod = 'GET', Fallback = BodyInit | null> = TypedFetchRequestBody<AugmentedServerRoutes, Path_, Method, Fallback>
|
||||||
|
|
||||||
|
export type RequestQuery<Path_, Method extends AnyHTTPMethod = 'GET', Fallback = Record<string, unknown>> = TypedFetchRequestQuery<AugmentedServerRoutes, Path_, Method, Fallback>
|
||||||
|
|
||||||
|
export type RequestHeaders<Path_, Method extends AnyHTTPMethod = 'GET', Fallback = HeadersInit> = TypedFetchRequestHeaders<AugmentedServerRoutes, Path_, Method, Fallback>
|
||||||
|
|
||||||
|
export type Requires<Path_, Method extends AnyHTTPMethod, Field extends 'body' | 'query' | 'headers'> = TypedFetchRequires<AugmentedServerRoutes, Path_, Method, Field>
|
||||||
|
export type StrictFetchPaths = false
|
||||||
|
export type RouteTypesEngine = 'internal-api'
|
||||||
@@ -0,0 +1,197 @@
|
|||||||
|
{
|
||||||
|
"compilerOptions": {
|
||||||
|
"paths": {
|
||||||
|
"@nuxt/devtools": [
|
||||||
|
"../node_modules/@nuxt/devtools"
|
||||||
|
],
|
||||||
|
"@nuxt/schema": [
|
||||||
|
"../node_modules/@nuxt/schema"
|
||||||
|
],
|
||||||
|
"nuxt": [
|
||||||
|
"../node_modules/nuxt"
|
||||||
|
],
|
||||||
|
"@unhead/vue": [
|
||||||
|
"../node_modules/@unhead/vue"
|
||||||
|
],
|
||||||
|
"@vue/runtime-core": [
|
||||||
|
"../node_modules/@vue/runtime-core"
|
||||||
|
],
|
||||||
|
"@vue/compiler-sfc": [
|
||||||
|
"../node_modules/@vue/compiler-sfc"
|
||||||
|
],
|
||||||
|
"vite/client": [
|
||||||
|
"../node_modules/vite/client.d.ts"
|
||||||
|
],
|
||||||
|
"defu": [
|
||||||
|
"../node_modules/defu"
|
||||||
|
],
|
||||||
|
"consola": [
|
||||||
|
"../node_modules/consola"
|
||||||
|
],
|
||||||
|
"ofetch": [
|
||||||
|
"../node_modules/ofetch"
|
||||||
|
],
|
||||||
|
"~": [
|
||||||
|
".."
|
||||||
|
],
|
||||||
|
"~/*": [
|
||||||
|
"../*"
|
||||||
|
],
|
||||||
|
"@": [
|
||||||
|
".."
|
||||||
|
],
|
||||||
|
"@/*": [
|
||||||
|
"../*"
|
||||||
|
],
|
||||||
|
"~~": [
|
||||||
|
".."
|
||||||
|
],
|
||||||
|
"~~/*": [
|
||||||
|
"../*"
|
||||||
|
],
|
||||||
|
"@@": [
|
||||||
|
".."
|
||||||
|
],
|
||||||
|
"@@/*": [
|
||||||
|
"../*"
|
||||||
|
],
|
||||||
|
"#shared": [
|
||||||
|
"../shared"
|
||||||
|
],
|
||||||
|
"#shared/*": [
|
||||||
|
"../shared/*"
|
||||||
|
],
|
||||||
|
"#server": [
|
||||||
|
"../server"
|
||||||
|
],
|
||||||
|
"#server/*": [
|
||||||
|
"../server/*"
|
||||||
|
],
|
||||||
|
"#app": [
|
||||||
|
"../node_modules/nuxt/dist/app"
|
||||||
|
],
|
||||||
|
"#app/*": [
|
||||||
|
"../node_modules/nuxt/dist/app/*"
|
||||||
|
],
|
||||||
|
"vue-demi": [
|
||||||
|
"../node_modules/nuxt/dist/app/compat/vue-demi"
|
||||||
|
],
|
||||||
|
"#vue-router": [
|
||||||
|
"../node_modules/vue-router"
|
||||||
|
],
|
||||||
|
"#unhead/composables": [
|
||||||
|
"../node_modules/nuxt/dist/head/runtime/composables"
|
||||||
|
],
|
||||||
|
"#imports": [
|
||||||
|
"./imports"
|
||||||
|
],
|
||||||
|
"#app-manifest": [
|
||||||
|
"./manifest/meta/d92b9815-4046-4fa4-a372-b458b8301dfe.json"
|
||||||
|
],
|
||||||
|
"#components": [
|
||||||
|
"./components.d.ts"
|
||||||
|
],
|
||||||
|
"@nuxt/nitro-server/request-types": [
|
||||||
|
"../node_modules/@nuxt/nitro-server/dist/request-types.d.mts"
|
||||||
|
],
|
||||||
|
"nitropack/types": [
|
||||||
|
"../node_modules/nitropack/types.d.ts"
|
||||||
|
],
|
||||||
|
"nitropack/runtime": [
|
||||||
|
"../node_modules/nitropack/runtime.d.ts"
|
||||||
|
],
|
||||||
|
"nitropack": [
|
||||||
|
"../node_modules/nitropack"
|
||||||
|
],
|
||||||
|
"h3": [
|
||||||
|
"../node_modules/h3"
|
||||||
|
],
|
||||||
|
"crossws": [
|
||||||
|
"../node_modules/crossws"
|
||||||
|
],
|
||||||
|
"#build": [
|
||||||
|
"."
|
||||||
|
],
|
||||||
|
"#build/*": [
|
||||||
|
"./*"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"esModuleInterop": true,
|
||||||
|
"skipLibCheck": true,
|
||||||
|
"target": "ESNext",
|
||||||
|
"allowJs": true,
|
||||||
|
"allowImportingTsExtensions": true,
|
||||||
|
"resolveJsonModule": true,
|
||||||
|
"moduleDetection": "force",
|
||||||
|
"isolatedModules": true,
|
||||||
|
"verbatimModuleSyntax": true,
|
||||||
|
"allowArbitraryExtensions": true,
|
||||||
|
"strict": true,
|
||||||
|
"noUncheckedIndexedAccess": true,
|
||||||
|
"forceConsistentCasingInFileNames": true,
|
||||||
|
"noImplicitOverride": true,
|
||||||
|
"module": "preserve",
|
||||||
|
"noEmit": true,
|
||||||
|
"lib": [
|
||||||
|
"ESNext",
|
||||||
|
"dom",
|
||||||
|
"dom.iterable",
|
||||||
|
"webworker"
|
||||||
|
],
|
||||||
|
"libReplacement": false,
|
||||||
|
"jsx": "preserve",
|
||||||
|
"jsxImportSource": "vue",
|
||||||
|
"types": [],
|
||||||
|
"moduleResolution": "Bundler",
|
||||||
|
"useDefineForClassFields": true,
|
||||||
|
"noImplicitThis": true,
|
||||||
|
"allowSyntheticDefaultImports": true
|
||||||
|
},
|
||||||
|
"include": [
|
||||||
|
"./nuxt.d.ts",
|
||||||
|
"../**/*",
|
||||||
|
"../modules/*/runtime/**/*",
|
||||||
|
"../test/nuxt/**/*",
|
||||||
|
"../tests/nuxt/**/*",
|
||||||
|
"../layers/*/app/**/*",
|
||||||
|
"../layers/*/modules/*/runtime/**/*",
|
||||||
|
"../shared/**/*.d.ts",
|
||||||
|
"../modules/*/shared/**/*.d.ts",
|
||||||
|
"../layers/*/shared/**/*.d.ts",
|
||||||
|
"../*.d.ts",
|
||||||
|
"../layers/*/*.d.ts",
|
||||||
|
"../**/*.vue",
|
||||||
|
"../modules/*/runtime/**/*.vue",
|
||||||
|
"../test/nuxt/**/*.vue",
|
||||||
|
"../tests/nuxt/**/*.vue",
|
||||||
|
"../layers/*/app/**/*.vue",
|
||||||
|
"../layers/*/modules/*/runtime/**/*.vue"
|
||||||
|
],
|
||||||
|
"exclude": [
|
||||||
|
"../../node_modules",
|
||||||
|
"../dist",
|
||||||
|
"../.data",
|
||||||
|
"../server/**/*",
|
||||||
|
"../modules/*/runtime/server/**/*",
|
||||||
|
"../layers/*/server/**/*",
|
||||||
|
"../layers/*/modules/*/runtime/server/**/*",
|
||||||
|
"../modules/*.*",
|
||||||
|
"../nuxt.config.*",
|
||||||
|
"../.config/nuxt.*",
|
||||||
|
"../layers/*/nuxt.config.*",
|
||||||
|
"../layers/*/.config/nuxt.*",
|
||||||
|
"../layers/*/modules/*.*",
|
||||||
|
"../layers/*/modules/*/*.*",
|
||||||
|
"../node_modules/runtime/server",
|
||||||
|
"../node_modules/dist/runtime/server",
|
||||||
|
"../node_modules/*.*",
|
||||||
|
"../node_modules/dist/*.*",
|
||||||
|
"../.output",
|
||||||
|
"../server"
|
||||||
|
],
|
||||||
|
"vueCompilerOptions": {
|
||||||
|
"plugins": [
|
||||||
|
"vue-router/volar/sfc-route-blocks"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,207 @@
|
|||||||
|
{
|
||||||
|
"compilerOptions": {
|
||||||
|
"paths": {
|
||||||
|
"@nuxt/devtools": [
|
||||||
|
"../node_modules/@nuxt/devtools"
|
||||||
|
],
|
||||||
|
"@nuxt/schema": [
|
||||||
|
"../node_modules/@nuxt/schema"
|
||||||
|
],
|
||||||
|
"nuxt": [
|
||||||
|
"../node_modules/nuxt"
|
||||||
|
],
|
||||||
|
"@unhead/vue": [
|
||||||
|
"../node_modules/@unhead/vue"
|
||||||
|
],
|
||||||
|
"@vue/runtime-core": [
|
||||||
|
"../node_modules/@vue/runtime-core"
|
||||||
|
],
|
||||||
|
"@vue/compiler-sfc": [
|
||||||
|
"../node_modules/@vue/compiler-sfc"
|
||||||
|
],
|
||||||
|
"vite/client": [
|
||||||
|
"../node_modules/vite/client.d.ts"
|
||||||
|
],
|
||||||
|
"defu": [
|
||||||
|
"../node_modules/defu"
|
||||||
|
],
|
||||||
|
"consola": [
|
||||||
|
"../node_modules/consola"
|
||||||
|
],
|
||||||
|
"ofetch": [
|
||||||
|
"../node_modules/ofetch"
|
||||||
|
],
|
||||||
|
"~": [
|
||||||
|
".."
|
||||||
|
],
|
||||||
|
"~/*": [
|
||||||
|
"../*"
|
||||||
|
],
|
||||||
|
"@": [
|
||||||
|
".."
|
||||||
|
],
|
||||||
|
"@/*": [
|
||||||
|
"../*"
|
||||||
|
],
|
||||||
|
"~~": [
|
||||||
|
".."
|
||||||
|
],
|
||||||
|
"~~/*": [
|
||||||
|
"../*"
|
||||||
|
],
|
||||||
|
"@@": [
|
||||||
|
".."
|
||||||
|
],
|
||||||
|
"@@/*": [
|
||||||
|
"../*"
|
||||||
|
],
|
||||||
|
"#shared": [
|
||||||
|
"../shared"
|
||||||
|
],
|
||||||
|
"#shared/*": [
|
||||||
|
"../shared/*"
|
||||||
|
],
|
||||||
|
"#server": [
|
||||||
|
"../server"
|
||||||
|
],
|
||||||
|
"#server/*": [
|
||||||
|
"../server/*"
|
||||||
|
],
|
||||||
|
"#app": [
|
||||||
|
"../node_modules/nuxt/dist/app"
|
||||||
|
],
|
||||||
|
"#app/*": [
|
||||||
|
"../node_modules/nuxt/dist/app/*"
|
||||||
|
],
|
||||||
|
"vue-demi": [
|
||||||
|
"../node_modules/nuxt/dist/app/compat/vue-demi"
|
||||||
|
],
|
||||||
|
"#vue-router": [
|
||||||
|
"../node_modules/vue-router"
|
||||||
|
],
|
||||||
|
"#unhead/composables": [
|
||||||
|
"../node_modules/nuxt/dist/head/runtime/composables"
|
||||||
|
],
|
||||||
|
"#imports": [
|
||||||
|
"./imports"
|
||||||
|
],
|
||||||
|
"#app-manifest": [
|
||||||
|
"./manifest/meta/d92b9815-4046-4fa4-a372-b458b8301dfe.json"
|
||||||
|
],
|
||||||
|
"#components": [
|
||||||
|
"./components.d.ts"
|
||||||
|
],
|
||||||
|
"@nuxt/nitro-server/request-types": [
|
||||||
|
"../node_modules/@nuxt/nitro-server/dist/request-types.d.mts"
|
||||||
|
],
|
||||||
|
"nitropack/types": [
|
||||||
|
"../node_modules/nitropack/types.d.ts"
|
||||||
|
],
|
||||||
|
"nitropack/runtime": [
|
||||||
|
"../node_modules/nitropack/runtime.d.ts"
|
||||||
|
],
|
||||||
|
"nitropack": [
|
||||||
|
"../node_modules/nitropack"
|
||||||
|
],
|
||||||
|
"h3": [
|
||||||
|
"../node_modules/h3"
|
||||||
|
],
|
||||||
|
"crossws": [
|
||||||
|
"../node_modules/crossws"
|
||||||
|
],
|
||||||
|
"#build": [
|
||||||
|
"."
|
||||||
|
],
|
||||||
|
"#build/*": [
|
||||||
|
"./*"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"esModuleInterop": true,
|
||||||
|
"skipLibCheck": true,
|
||||||
|
"target": "ESNext",
|
||||||
|
"allowJs": true,
|
||||||
|
"allowImportingTsExtensions": true,
|
||||||
|
"resolveJsonModule": true,
|
||||||
|
"moduleDetection": "force",
|
||||||
|
"isolatedModules": true,
|
||||||
|
"verbatimModuleSyntax": true,
|
||||||
|
"allowArbitraryExtensions": true,
|
||||||
|
"strict": true,
|
||||||
|
"noUncheckedIndexedAccess": true,
|
||||||
|
"forceConsistentCasingInFileNames": true,
|
||||||
|
"noImplicitOverride": true,
|
||||||
|
"module": "preserve",
|
||||||
|
"noEmit": true,
|
||||||
|
"lib": [
|
||||||
|
"ESNext",
|
||||||
|
"dom",
|
||||||
|
"dom.iterable",
|
||||||
|
"webworker"
|
||||||
|
],
|
||||||
|
"libReplacement": false,
|
||||||
|
"jsx": "preserve",
|
||||||
|
"jsxImportSource": "vue",
|
||||||
|
"types": [],
|
||||||
|
"moduleResolution": "Bundler",
|
||||||
|
"useDefineForClassFields": true,
|
||||||
|
"noImplicitThis": true,
|
||||||
|
"allowSyntheticDefaultImports": true
|
||||||
|
},
|
||||||
|
"include": [
|
||||||
|
"./nuxt.d.ts",
|
||||||
|
"../**/*",
|
||||||
|
"../modules/*/runtime/**/*",
|
||||||
|
"../test/nuxt/**/*",
|
||||||
|
"../tests/nuxt/**/*",
|
||||||
|
"../layers/*/app/**/*",
|
||||||
|
"../layers/*/modules/*/runtime/**/*",
|
||||||
|
"../shared/**/*.d.ts",
|
||||||
|
"../modules/*/shared/**/*.d.ts",
|
||||||
|
"../layers/*/shared/**/*.d.ts",
|
||||||
|
"../*.d.ts",
|
||||||
|
"../layers/*/*.d.ts",
|
||||||
|
"../**/*.vue",
|
||||||
|
"../modules/*/runtime/**/*.vue",
|
||||||
|
"../test/nuxt/**/*.vue",
|
||||||
|
"../tests/nuxt/**/*.vue",
|
||||||
|
"../layers/*/app/**/*.vue",
|
||||||
|
"../layers/*/modules/*/runtime/**/*.vue",
|
||||||
|
"./nuxt.node.d.ts",
|
||||||
|
"../modules/*.*",
|
||||||
|
"../nuxt.config.*",
|
||||||
|
"../.config/nuxt.*",
|
||||||
|
"../layers/*/nuxt.config.*",
|
||||||
|
"../layers/*/.config/nuxt.*",
|
||||||
|
"../layers/*/modules/*.*",
|
||||||
|
"../layers/*/modules/*/*.*",
|
||||||
|
"../shared/**/*",
|
||||||
|
"../modules/*/shared/**/*",
|
||||||
|
"../layers/*/shared/**/*",
|
||||||
|
"../node_modules/runtime",
|
||||||
|
"../node_modules/dist/runtime",
|
||||||
|
"../shared/**/*.vue",
|
||||||
|
"../modules/*/shared/**/*.vue",
|
||||||
|
"../layers/*/shared/**/*.vue",
|
||||||
|
"../node_modules/runtime/**/*.vue",
|
||||||
|
"../node_modules/dist/runtime/**/*.vue"
|
||||||
|
],
|
||||||
|
"exclude": [
|
||||||
|
"../node_modules",
|
||||||
|
"../../node_modules",
|
||||||
|
"../node_modules/nuxt/node_modules",
|
||||||
|
"../node_modules/@nuxt/telemetry/node_modules",
|
||||||
|
"../dist",
|
||||||
|
"../.data",
|
||||||
|
"../server/**/*",
|
||||||
|
"../modules/*/runtime/server/**/*",
|
||||||
|
"../layers/*/server/**/*",
|
||||||
|
"../layers/*/modules/*/runtime/server/**/*",
|
||||||
|
"../node_modules/runtime/server",
|
||||||
|
"../node_modules/dist/runtime/server"
|
||||||
|
],
|
||||||
|
"vueCompilerOptions": {
|
||||||
|
"plugins": [
|
||||||
|
"vue-router/volar/sfc-route-blocks"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,106 @@
|
|||||||
|
{
|
||||||
|
"compilerOptions": {
|
||||||
|
"paths": {
|
||||||
|
"@nuxt/devtools": [
|
||||||
|
"../node_modules/@nuxt/devtools/dist/module.d.mts"
|
||||||
|
],
|
||||||
|
"@nuxt/schema": [
|
||||||
|
"../node_modules/@nuxt/schema/dist/index.d.mts"
|
||||||
|
],
|
||||||
|
"nuxt": [
|
||||||
|
"../node_modules/nuxt/types.d.mts"
|
||||||
|
],
|
||||||
|
"@unhead/vue": [
|
||||||
|
"../node_modules/@unhead/vue/dist/index.d.ts"
|
||||||
|
],
|
||||||
|
"@vue/runtime-core": [
|
||||||
|
"../node_modules/@vue/runtime-core/dist/runtime-core.d.ts"
|
||||||
|
],
|
||||||
|
"@vue/compiler-sfc": [
|
||||||
|
"../node_modules/@vue/compiler-sfc/dist/compiler-sfc.d.ts"
|
||||||
|
],
|
||||||
|
"vite/client": [
|
||||||
|
"../node_modules/vite/client.d.ts"
|
||||||
|
],
|
||||||
|
"defu": [
|
||||||
|
"../node_modules/defu/dist/defu.d.mts"
|
||||||
|
],
|
||||||
|
"consola": [
|
||||||
|
"../node_modules/consola/dist/browser.d.mts"
|
||||||
|
],
|
||||||
|
"ofetch": [
|
||||||
|
"../node_modules/ofetch/dist/index.d.mts"
|
||||||
|
],
|
||||||
|
"#app/types": [
|
||||||
|
"../node_modules/nuxt/dist/app/types.d.ts"
|
||||||
|
],
|
||||||
|
"nitropack/types": [
|
||||||
|
"../node_modules/nitropack/types.d.ts"
|
||||||
|
],
|
||||||
|
"nitropack/runtime": [
|
||||||
|
"../node_modules/nitropack/runtime.d.ts"
|
||||||
|
],
|
||||||
|
"nitropack": [
|
||||||
|
"../node_modules/nitropack/dist/core/index.d.ts"
|
||||||
|
],
|
||||||
|
"h3": [
|
||||||
|
"../node_modules/h3/dist/index.d.ts"
|
||||||
|
],
|
||||||
|
"crossws": [
|
||||||
|
"../node_modules/crossws/dist/index.d.mts"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"esModuleInterop": true,
|
||||||
|
"skipLibCheck": true,
|
||||||
|
"target": "ESNext",
|
||||||
|
"allowJs": true,
|
||||||
|
"allowImportingTsExtensions": true,
|
||||||
|
"resolveJsonModule": true,
|
||||||
|
"moduleDetection": "force",
|
||||||
|
"isolatedModules": true,
|
||||||
|
"verbatimModuleSyntax": true,
|
||||||
|
"allowArbitraryExtensions": true,
|
||||||
|
"strict": true,
|
||||||
|
"noUncheckedIndexedAccess": true,
|
||||||
|
"forceConsistentCasingInFileNames": true,
|
||||||
|
"noImplicitOverride": true,
|
||||||
|
"module": "preserve",
|
||||||
|
"noEmit": true,
|
||||||
|
"types": [],
|
||||||
|
"moduleResolution": "Bundler",
|
||||||
|
"useDefineForClassFields": true,
|
||||||
|
"noImplicitThis": true,
|
||||||
|
"allowSyntheticDefaultImports": true
|
||||||
|
},
|
||||||
|
"include": [
|
||||||
|
"./nuxt.node.d.ts",
|
||||||
|
"../modules/*.*",
|
||||||
|
"../nuxt.config.*",
|
||||||
|
"../.config/nuxt.*",
|
||||||
|
"../layers/*/nuxt.config.*",
|
||||||
|
"../layers/*/.config/nuxt.*",
|
||||||
|
"../layers/*/modules/*.*",
|
||||||
|
"../layers/*/modules/*/*.*",
|
||||||
|
"../nuxt.schema.*",
|
||||||
|
"../layers/*/nuxt.schema.*"
|
||||||
|
],
|
||||||
|
"exclude": [
|
||||||
|
"../node_modules",
|
||||||
|
"../../node_modules",
|
||||||
|
"../node_modules/nuxt/node_modules",
|
||||||
|
"../node_modules/@nuxt/telemetry/node_modules",
|
||||||
|
"../dist",
|
||||||
|
"../.data",
|
||||||
|
"../modules/*/runtime/**/*",
|
||||||
|
"../test/nuxt/**/*",
|
||||||
|
"../tests/nuxt/**/*",
|
||||||
|
"../layers/*/app/**/*",
|
||||||
|
"../layers/*/modules/*/runtime/**/*",
|
||||||
|
"../server/**/*",
|
||||||
|
"../modules/*/runtime/server/**/*",
|
||||||
|
"../layers/*/server/**/*",
|
||||||
|
"../layers/*/modules/*/runtime/server/**/*",
|
||||||
|
"../node_modules/runtime",
|
||||||
|
"../node_modules/dist/runtime"
|
||||||
|
]
|
||||||
|
}
|
||||||
@@ -0,0 +1,138 @@
|
|||||||
|
{
|
||||||
|
"compilerOptions": {
|
||||||
|
"forceConsistentCasingInFileNames": true,
|
||||||
|
"strict": true,
|
||||||
|
"noEmit": true,
|
||||||
|
"skipLibCheck": true,
|
||||||
|
"target": "ESNext",
|
||||||
|
"module": "ESNext",
|
||||||
|
"moduleResolution": "Bundler",
|
||||||
|
"allowJs": true,
|
||||||
|
"resolveJsonModule": true,
|
||||||
|
"jsx": "preserve",
|
||||||
|
"allowSyntheticDefaultImports": true,
|
||||||
|
"jsxFactory": "h",
|
||||||
|
"jsxFragmentFactory": "Fragment",
|
||||||
|
"paths": {
|
||||||
|
"#imports": [
|
||||||
|
"../node_modules/.cache/nuxt/.nuxt/types/nitro-imports"
|
||||||
|
],
|
||||||
|
"~/*": [
|
||||||
|
"../*"
|
||||||
|
],
|
||||||
|
"@/*": [
|
||||||
|
"../*"
|
||||||
|
],
|
||||||
|
"~~/*": [
|
||||||
|
"../*"
|
||||||
|
],
|
||||||
|
"@@/*": [
|
||||||
|
"../*"
|
||||||
|
],
|
||||||
|
"@nuxt/devtools": [
|
||||||
|
"../node_modules/@nuxt/devtools"
|
||||||
|
],
|
||||||
|
"@nuxt/schema": [
|
||||||
|
"../node_modules/@nuxt/schema"
|
||||||
|
],
|
||||||
|
"nuxt": [
|
||||||
|
"../node_modules/nuxt"
|
||||||
|
],
|
||||||
|
"@unhead/vue": [
|
||||||
|
"../node_modules/@unhead/vue"
|
||||||
|
],
|
||||||
|
"@vue/runtime-core": [
|
||||||
|
"../node_modules/@vue/runtime-core"
|
||||||
|
],
|
||||||
|
"@vue/compiler-sfc": [
|
||||||
|
"../node_modules/@vue/compiler-sfc"
|
||||||
|
],
|
||||||
|
"vite/client": [
|
||||||
|
"../node_modules/vite/client"
|
||||||
|
],
|
||||||
|
"defu": [
|
||||||
|
"../node_modules/defu"
|
||||||
|
],
|
||||||
|
"consola": [
|
||||||
|
"../node_modules/consola"
|
||||||
|
],
|
||||||
|
"ofetch": [
|
||||||
|
"../node_modules/ofetch"
|
||||||
|
],
|
||||||
|
"nitropack/types": [
|
||||||
|
"../node_modules/nitropack/types"
|
||||||
|
],
|
||||||
|
"nitropack/runtime": [
|
||||||
|
"../node_modules/nitropack/runtime"
|
||||||
|
],
|
||||||
|
"nitropack": [
|
||||||
|
"../node_modules/nitropack"
|
||||||
|
],
|
||||||
|
"h3": [
|
||||||
|
"../node_modules/h3"
|
||||||
|
],
|
||||||
|
"crossws": [
|
||||||
|
"../node_modules/crossws"
|
||||||
|
],
|
||||||
|
"#shared": [
|
||||||
|
"../shared"
|
||||||
|
],
|
||||||
|
"#shared/*": [
|
||||||
|
"../shared/*"
|
||||||
|
],
|
||||||
|
"#server": [
|
||||||
|
"../server"
|
||||||
|
],
|
||||||
|
"#server/*": [
|
||||||
|
"../server/*"
|
||||||
|
],
|
||||||
|
"#build": [
|
||||||
|
"../node_modules/.cache/nuxt/.nuxt"
|
||||||
|
],
|
||||||
|
"#build/*": [
|
||||||
|
"../node_modules/.cache/nuxt/.nuxt/*"
|
||||||
|
],
|
||||||
|
"#internal/nuxt/paths": [
|
||||||
|
"../node_modules/@nuxt/nitro-server/dist/runtime/utils/paths"
|
||||||
|
],
|
||||||
|
"#unhead/composables": [
|
||||||
|
"../node_modules/nuxt/dist/head/runtime/composables"
|
||||||
|
],
|
||||||
|
"#app/island-hash": [
|
||||||
|
"../node_modules/nuxt/dist/app/island-hash"
|
||||||
|
],
|
||||||
|
"#app/island-props": [
|
||||||
|
"../node_modules/nuxt/dist/app/island-props"
|
||||||
|
],
|
||||||
|
"#app/internal/*": [
|
||||||
|
"../node_modules/nuxt/dist/app/internal/*"
|
||||||
|
],
|
||||||
|
"#app/types": [
|
||||||
|
"../node_modules/nuxt/dist/app/types"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"lib": [
|
||||||
|
"esnext",
|
||||||
|
"webworker",
|
||||||
|
"dom.iterable"
|
||||||
|
],
|
||||||
|
"noUncheckedIndexedAccess": true,
|
||||||
|
"allowArbitraryExtensions": true,
|
||||||
|
"allowImportingTsExtensions": true
|
||||||
|
},
|
||||||
|
"include": [
|
||||||
|
"./types/nitro-nuxt.d.ts",
|
||||||
|
"../node_modules/runtime/server",
|
||||||
|
"../node_modules/dist/runtime/server",
|
||||||
|
"../server/**/*",
|
||||||
|
"../shared/**/*.d.ts",
|
||||||
|
"../node_modules/.cache/nuxt/.nuxt/types/nitro.d.ts"
|
||||||
|
],
|
||||||
|
"exclude": [
|
||||||
|
"../node_modules",
|
||||||
|
"../../node_modules",
|
||||||
|
"../node_modules/nuxt/node_modules",
|
||||||
|
"../node_modules/@nuxt/telemetry/node_modules",
|
||||||
|
"../dist"
|
||||||
|
]
|
||||||
|
}
|
||||||
@@ -0,0 +1,144 @@
|
|||||||
|
{
|
||||||
|
"compilerOptions": {
|
||||||
|
"paths": {
|
||||||
|
"@nuxt/devtools": [
|
||||||
|
"../node_modules/@nuxt/devtools"
|
||||||
|
],
|
||||||
|
"@nuxt/schema": [
|
||||||
|
"../node_modules/@nuxt/schema"
|
||||||
|
],
|
||||||
|
"nuxt": [
|
||||||
|
"../node_modules/nuxt"
|
||||||
|
],
|
||||||
|
"@unhead/vue": [
|
||||||
|
"../node_modules/@unhead/vue"
|
||||||
|
],
|
||||||
|
"@vue/runtime-core": [
|
||||||
|
"../node_modules/@vue/runtime-core"
|
||||||
|
],
|
||||||
|
"@vue/compiler-sfc": [
|
||||||
|
"../node_modules/@vue/compiler-sfc"
|
||||||
|
],
|
||||||
|
"vite/client": [
|
||||||
|
"../node_modules/vite/client.d.ts"
|
||||||
|
],
|
||||||
|
"defu": [
|
||||||
|
"../node_modules/defu"
|
||||||
|
],
|
||||||
|
"consola": [
|
||||||
|
"../node_modules/consola"
|
||||||
|
],
|
||||||
|
"ofetch": [
|
||||||
|
"../node_modules/ofetch"
|
||||||
|
],
|
||||||
|
"~": [
|
||||||
|
".."
|
||||||
|
],
|
||||||
|
"~/*": [
|
||||||
|
"../*"
|
||||||
|
],
|
||||||
|
"@": [
|
||||||
|
".."
|
||||||
|
],
|
||||||
|
"@/*": [
|
||||||
|
"../*"
|
||||||
|
],
|
||||||
|
"~~": [
|
||||||
|
".."
|
||||||
|
],
|
||||||
|
"~~/*": [
|
||||||
|
"../*"
|
||||||
|
],
|
||||||
|
"@@": [
|
||||||
|
".."
|
||||||
|
],
|
||||||
|
"@@/*": [
|
||||||
|
"../*"
|
||||||
|
],
|
||||||
|
"#shared": [
|
||||||
|
"../shared"
|
||||||
|
],
|
||||||
|
"#shared/*": [
|
||||||
|
"../shared/*"
|
||||||
|
],
|
||||||
|
"#server": [
|
||||||
|
"../server"
|
||||||
|
],
|
||||||
|
"#server/*": [
|
||||||
|
"../server/*"
|
||||||
|
],
|
||||||
|
"#app": [
|
||||||
|
"../node_modules/nuxt/dist/app"
|
||||||
|
],
|
||||||
|
"#app/*": [
|
||||||
|
"../node_modules/nuxt/dist/app/*"
|
||||||
|
],
|
||||||
|
"vue-demi": [
|
||||||
|
"../node_modules/nuxt/dist/app/compat/vue-demi"
|
||||||
|
],
|
||||||
|
"#vue-router": [
|
||||||
|
"../node_modules/vue-router"
|
||||||
|
],
|
||||||
|
"#unhead/composables": [
|
||||||
|
"../node_modules/nuxt/dist/head/runtime/composables"
|
||||||
|
],
|
||||||
|
"#imports": [
|
||||||
|
"./imports"
|
||||||
|
],
|
||||||
|
"#app-manifest": [
|
||||||
|
"./manifest/meta/d92b9815-4046-4fa4-a372-b458b8301dfe.json"
|
||||||
|
],
|
||||||
|
"nitropack/types": [
|
||||||
|
"../node_modules/nitropack/types.d.ts"
|
||||||
|
],
|
||||||
|
"nitropack/runtime": [
|
||||||
|
"../node_modules/nitropack/runtime.d.ts"
|
||||||
|
],
|
||||||
|
"nitropack": [
|
||||||
|
"../node_modules/nitropack"
|
||||||
|
],
|
||||||
|
"h3": [
|
||||||
|
"../node_modules/h3"
|
||||||
|
],
|
||||||
|
"crossws": [
|
||||||
|
"../node_modules/crossws"
|
||||||
|
],
|
||||||
|
"#build": [
|
||||||
|
"."
|
||||||
|
],
|
||||||
|
"#build/*": [
|
||||||
|
"./*"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"esModuleInterop": true,
|
||||||
|
"skipLibCheck": true,
|
||||||
|
"target": "ESNext",
|
||||||
|
"allowJs": true,
|
||||||
|
"allowImportingTsExtensions": true,
|
||||||
|
"resolveJsonModule": true,
|
||||||
|
"moduleDetection": "force",
|
||||||
|
"isolatedModules": true,
|
||||||
|
"verbatimModuleSyntax": true,
|
||||||
|
"allowArbitraryExtensions": true,
|
||||||
|
"strict": true,
|
||||||
|
"noUncheckedIndexedAccess": true,
|
||||||
|
"forceConsistentCasingInFileNames": true,
|
||||||
|
"noImplicitOverride": true,
|
||||||
|
"module": "preserve",
|
||||||
|
"noEmit": true,
|
||||||
|
"types": [],
|
||||||
|
"moduleResolution": "Bundler",
|
||||||
|
"useDefineForClassFields": true,
|
||||||
|
"noImplicitThis": true,
|
||||||
|
"allowSyntheticDefaultImports": true
|
||||||
|
},
|
||||||
|
"include": [
|
||||||
|
"./nuxt.shared.d.ts",
|
||||||
|
"../shared/**/*",
|
||||||
|
"../modules/*/shared/**/*",
|
||||||
|
"../layers/*/shared/**/*",
|
||||||
|
"../*.d.ts",
|
||||||
|
"../layers/*/*.d.ts"
|
||||||
|
],
|
||||||
|
"exclude": []
|
||||||
|
}
|
||||||
@@ -0,0 +1,37 @@
|
|||||||
|
|
||||||
|
import type { AppConfigInput, CustomAppConfig } from 'nuxt/schema'
|
||||||
|
import type { Defu } from 'defu'
|
||||||
|
|
||||||
|
|
||||||
|
declare global {
|
||||||
|
const defineAppConfig: <C extends AppConfigInput> (config: C) => C
|
||||||
|
}
|
||||||
|
|
||||||
|
declare const inlineConfig = {
|
||||||
|
"nuxt": {}
|
||||||
|
}
|
||||||
|
type ResolvedAppConfig = Defu<typeof inlineConfig, []>
|
||||||
|
type IsAny<T> = 0 extends 1 & T ? true : false
|
||||||
|
|
||||||
|
type IsMergeable<T> = T extends readonly any[] | ((...args: any[]) => any) ? false : T extends Record<string, any> ? true : false
|
||||||
|
|
||||||
|
type MergedAppConfig<Resolved extends Record<string, unknown>, Custom extends Record<string, unknown>> = {
|
||||||
|
[K in keyof (Resolved & Custom)]: K extends keyof Custom
|
||||||
|
? unknown extends Custom[K]
|
||||||
|
? Resolved[K]
|
||||||
|
: IsAny<Custom[K]> extends true
|
||||||
|
? Resolved[K]
|
||||||
|
: IsMergeable<Custom[K]> extends true
|
||||||
|
? IsMergeable<Resolved[K]> extends true
|
||||||
|
? MergedAppConfig<Resolved[K], Custom[K]>
|
||||||
|
: Exclude<Custom[K], undefined>
|
||||||
|
: Exclude<Custom[K], undefined>
|
||||||
|
: Resolved[K]
|
||||||
|
}
|
||||||
|
|
||||||
|
declare module 'nuxt/schema' {
|
||||||
|
interface AppConfig extends MergedAppConfig<ResolvedAppConfig, CustomAppConfig> { }
|
||||||
|
}
|
||||||
|
declare module '@nuxt/schema' {
|
||||||
|
interface AppConfig extends MergedAppConfig<ResolvedAppConfig, CustomAppConfig> { }
|
||||||
|
}
|
||||||
@@ -0,0 +1,48 @@
|
|||||||
|
declare module "#build/app-component.mjs";
|
||||||
|
declare module "#build/app-component";
|
||||||
|
declare module "#build/nitro.client.mjs";
|
||||||
|
declare module "#build/nitro.client";
|
||||||
|
declare module "#build/plugins.client.mjs";
|
||||||
|
declare module "#build/plugins.client";
|
||||||
|
declare module "#build/css.mjs";
|
||||||
|
declare module "#build/css";
|
||||||
|
declare module "#build/error-component.mjs";
|
||||||
|
declare module "#build/error-component";
|
||||||
|
declare module "#build/global-polyfills.mjs";
|
||||||
|
declare module "#build/global-polyfills";
|
||||||
|
declare module "#build/island-renderer.mjs";
|
||||||
|
declare module "#build/island-renderer";
|
||||||
|
declare module "#build/layouts.mjs";
|
||||||
|
declare module "#build/layouts";
|
||||||
|
declare module "#build/middleware.mjs";
|
||||||
|
declare module "#build/middleware";
|
||||||
|
declare module "#build/nuxt.config.mjs";
|
||||||
|
declare module "#build/nuxt.config";
|
||||||
|
declare module "#build/paths.mjs";
|
||||||
|
declare module "#build/paths";
|
||||||
|
declare module "#build/root-component.mjs";
|
||||||
|
declare module "#build/root-component";
|
||||||
|
declare module "#build/route-rules.mjs";
|
||||||
|
declare module "#build/route-rules";
|
||||||
|
declare module "#build/plugins.server.mjs";
|
||||||
|
declare module "#build/plugins.server";
|
||||||
|
declare module "#build/test-component-wrapper.mjs";
|
||||||
|
declare module "#build/test-component-wrapper";
|
||||||
|
declare module "#build/routes.mjs";
|
||||||
|
declare module "#build/routes";
|
||||||
|
declare module "#build/pages.mjs";
|
||||||
|
declare module "#build/pages";
|
||||||
|
declare module "#build/router.options.mjs";
|
||||||
|
declare module "#build/router.options";
|
||||||
|
declare module "#build/unhead-options.mjs";
|
||||||
|
declare module "#build/unhead-options";
|
||||||
|
declare module "#build/unhead.config.mjs";
|
||||||
|
declare module "#build/unhead.config";
|
||||||
|
declare module "#build/components.plugin.mjs";
|
||||||
|
declare module "#build/components.plugin";
|
||||||
|
declare module "#build/component-names.mjs";
|
||||||
|
declare module "#build/component-names";
|
||||||
|
declare module "#build/components.islands.mjs";
|
||||||
|
declare module "#build/components.islands";
|
||||||
|
declare module "#build/component-chunk.mjs";
|
||||||
|
declare module "#build/component-chunk";
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
import "vite/client";
|
||||||
@@ -0,0 +1,261 @@
|
|||||||
|
|
||||||
|
import type { DefineComponent, SlotsType } from 'vue'
|
||||||
|
type IslandComponent<T> = DefineComponent<{}, {refresh: () => Promise<void>}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, SlotsType<{ fallback: { error: unknown } }>> & T
|
||||||
|
|
||||||
|
type HydrationStrategies = {
|
||||||
|
hydrateOnVisible?: IntersectionObserverInit | true
|
||||||
|
hydrateOnIdle?: number | true
|
||||||
|
hydrateOnInteraction?: keyof HTMLElementEventMap | Array<keyof HTMLElementEventMap> | true
|
||||||
|
hydrateOnMediaQuery?: string
|
||||||
|
hydrateAfter?: number
|
||||||
|
hydrateWhen?: boolean
|
||||||
|
hydrateNever?: true
|
||||||
|
}
|
||||||
|
type LazyComponent<T> = DefineComponent<HydrationStrategies, {}, {}, {}, {}, {}, {}, { hydrated: () => void }> & T
|
||||||
|
|
||||||
|
interface _GlobalComponents {
|
||||||
|
AppFooter: typeof import("../../components/AppFooter.vue")['default']
|
||||||
|
CoachingSystem: typeof import("../../components/CoachingSystem.vue")['default']
|
||||||
|
ConsultForm: typeof import("../../components/ConsultForm.vue")['default']
|
||||||
|
FaqAccordion: typeof import("../../components/FaqAccordion.vue")['default']
|
||||||
|
HeroBanner: typeof import("../../components/HeroBanner.vue")['default']
|
||||||
|
NearbySchools: typeof import("../../components/NearbySchools.vue")['default']
|
||||||
|
ProcessGuide: typeof import("../../components/ProcessGuide.vue")['default']
|
||||||
|
QuickMetrics: typeof import("../../components/QuickMetrics.vue")['default']
|
||||||
|
SubjectMastery: typeof import("../../components/SubjectMastery.vue")['default']
|
||||||
|
SuccessStories: typeof import("../../components/SuccessStories.vue")['default']
|
||||||
|
TeacherVerification: typeof import("../../components/TeacherVerification.vue")['default']
|
||||||
|
/**
|
||||||
|
* Displays the welcome screen used by new Nuxt projects.
|
||||||
|
*
|
||||||
|
* @see https://nuxt.com/docs/4.x/api/components/nuxt-welcome
|
||||||
|
*/
|
||||||
|
NuxtWelcome: typeof import("../../node_modules/nuxt/dist/app/components/welcome.vue")['default']
|
||||||
|
/**
|
||||||
|
* Renders the selected layout around pages or error content.
|
||||||
|
*
|
||||||
|
* @see https://nuxt.com/docs/4.x/api/components/nuxt-layout
|
||||||
|
*/
|
||||||
|
NuxtLayout: typeof import("../../node_modules/nuxt/dist/app/components/nuxt-layout")['default']
|
||||||
|
/**
|
||||||
|
* Catches client-side errors from its default slot and renders an error slot.
|
||||||
|
*
|
||||||
|
* @see https://nuxt.com/docs/4.x/api/components/nuxt-error-boundary
|
||||||
|
*/
|
||||||
|
NuxtErrorBoundary: typeof import("../../node_modules/nuxt/dist/app/components/nuxt-error-boundary.vue")['default']
|
||||||
|
/**
|
||||||
|
* Renders its default slot only on the client, with an optional server fallback.
|
||||||
|
*
|
||||||
|
* @see https://nuxt.com/docs/4.x/api/components/client-only
|
||||||
|
*/
|
||||||
|
ClientOnly: typeof import("../../node_modules/nuxt/dist/app/components/client-only")['default']
|
||||||
|
/**
|
||||||
|
* Renders its content only during development.
|
||||||
|
*
|
||||||
|
* @see https://nuxt.com/docs/4.x/api/components/dev-only
|
||||||
|
*/
|
||||||
|
DevOnly: typeof import("../../node_modules/nuxt/dist/app/components/dev-only")['default']
|
||||||
|
ServerPlaceholder: typeof import("../../node_modules/nuxt/dist/app/components/server-placeholder")['default']
|
||||||
|
/**
|
||||||
|
* A drop-in replacement for Vue Router's `<RouterLink>` and the HTML `<a>` element.
|
||||||
|
*
|
||||||
|
* @see https://nuxt.com/docs/4.x/api/components/nuxt-link
|
||||||
|
*/
|
||||||
|
NuxtLink: typeof import("../../node_modules/nuxt/dist/app/components/nuxt-link")['default']
|
||||||
|
/**
|
||||||
|
* Displays a progress bar during page navigation.
|
||||||
|
*
|
||||||
|
* @see https://nuxt.com/docs/4.x/api/components/nuxt-loading-indicator
|
||||||
|
*/
|
||||||
|
NuxtLoadingIndicator: typeof import("../../node_modules/nuxt/dist/app/components/nuxt-loading-indicator")['default']
|
||||||
|
/**
|
||||||
|
* Formats dates and times consistently across server and client using the user's locale.
|
||||||
|
*
|
||||||
|
* @see https://nuxt.com/docs/4.x/api/components/nuxt-time
|
||||||
|
*/
|
||||||
|
NuxtTime: typeof import("../../node_modules/nuxt/dist/app/components/nuxt-time.vue")['default']
|
||||||
|
/**
|
||||||
|
* Announces route changes to assistive technologies using the current page title.
|
||||||
|
*
|
||||||
|
* @see https://nuxt.com/docs/4.x/api/components/nuxt-route-announcer
|
||||||
|
*/
|
||||||
|
NuxtRouteAnnouncer: typeof import("../../node_modules/nuxt/dist/app/components/nuxt-route-announcer")['default']
|
||||||
|
/**
|
||||||
|
* Announces dynamic content changes to assistive technologies.
|
||||||
|
*
|
||||||
|
* @see https://nuxt.com/docs/4.x/api/components/nuxt-announcer
|
||||||
|
*/
|
||||||
|
NuxtAnnouncer: typeof import("../../node_modules/nuxt/dist/app/components/nuxt-announcer")['default']
|
||||||
|
/**
|
||||||
|
* Renders an optimized image through the Nuxt Image module.
|
||||||
|
*
|
||||||
|
* @see https://nuxt.com/docs/4.x/api/components/nuxt-img
|
||||||
|
*/
|
||||||
|
NuxtImg: typeof import("../../node_modules/nuxt/dist/app/components/nuxt-stubs")['NuxtImg']
|
||||||
|
/**
|
||||||
|
* Renders responsive optimized images through the Nuxt Image module.
|
||||||
|
*
|
||||||
|
* @see https://nuxt.com/docs/4.x/api/components/nuxt-picture
|
||||||
|
*/
|
||||||
|
NuxtPicture: typeof import("../../node_modules/nuxt/dist/app/components/nuxt-stubs")['NuxtPicture']
|
||||||
|
/**
|
||||||
|
* Renders the current page from the `pages/` directory.
|
||||||
|
*
|
||||||
|
* @see https://nuxt.com/docs/4.x/api/components/nuxt-page
|
||||||
|
*/
|
||||||
|
NuxtPage: typeof import("../../node_modules/nuxt/dist/pages/runtime/page")['default']
|
||||||
|
NoScript: typeof import("../../node_modules/nuxt/dist/head/runtime/components")['NoScript']
|
||||||
|
Link: typeof import("../../node_modules/nuxt/dist/head/runtime/components")['Link']
|
||||||
|
Base: typeof import("../../node_modules/nuxt/dist/head/runtime/components")['Base']
|
||||||
|
Title: typeof import("../../node_modules/nuxt/dist/head/runtime/components")['Title']
|
||||||
|
Meta: typeof import("../../node_modules/nuxt/dist/head/runtime/components")['Meta']
|
||||||
|
Style: typeof import("../../node_modules/nuxt/dist/head/runtime/components")['Style']
|
||||||
|
Head: typeof import("../../node_modules/nuxt/dist/head/runtime/components")['Head']
|
||||||
|
Html: typeof import("../../node_modules/nuxt/dist/head/runtime/components")['Html']
|
||||||
|
Body: typeof import("../../node_modules/nuxt/dist/head/runtime/components")['Body']
|
||||||
|
/**
|
||||||
|
* Renders a non-interactive server component without shipping client-side JavaScript.
|
||||||
|
*
|
||||||
|
* @see https://nuxt.com/docs/4.x/api/components/nuxt-island
|
||||||
|
*/
|
||||||
|
NuxtIsland: typeof import("../../node_modules/nuxt/dist/app/components/nuxt-island")['default']
|
||||||
|
LazyAppFooter: LazyComponent<typeof import("../../components/AppFooter.vue")['default']>
|
||||||
|
LazyCoachingSystem: LazyComponent<typeof import("../../components/CoachingSystem.vue")['default']>
|
||||||
|
LazyConsultForm: LazyComponent<typeof import("../../components/ConsultForm.vue")['default']>
|
||||||
|
LazyFaqAccordion: LazyComponent<typeof import("../../components/FaqAccordion.vue")['default']>
|
||||||
|
LazyHeroBanner: LazyComponent<typeof import("../../components/HeroBanner.vue")['default']>
|
||||||
|
LazyNearbySchools: LazyComponent<typeof import("../../components/NearbySchools.vue")['default']>
|
||||||
|
LazyProcessGuide: LazyComponent<typeof import("../../components/ProcessGuide.vue")['default']>
|
||||||
|
LazyQuickMetrics: LazyComponent<typeof import("../../components/QuickMetrics.vue")['default']>
|
||||||
|
LazySubjectMastery: LazyComponent<typeof import("../../components/SubjectMastery.vue")['default']>
|
||||||
|
LazySuccessStories: LazyComponent<typeof import("../../components/SuccessStories.vue")['default']>
|
||||||
|
LazyTeacherVerification: LazyComponent<typeof import("../../components/TeacherVerification.vue")['default']>
|
||||||
|
/**
|
||||||
|
* Lazy-loaded version of `<NuxtWelcome>`.
|
||||||
|
*
|
||||||
|
* Displays the welcome screen used by new Nuxt projects.
|
||||||
|
*
|
||||||
|
* @see https://nuxt.com/docs/4.x/api/components/nuxt-welcome
|
||||||
|
*/
|
||||||
|
LazyNuxtWelcome: LazyComponent<typeof import("../../node_modules/nuxt/dist/app/components/welcome.vue")['default']>
|
||||||
|
/**
|
||||||
|
* Lazy-loaded version of `<NuxtLayout>`.
|
||||||
|
*
|
||||||
|
* Renders the selected layout around pages or error content.
|
||||||
|
*
|
||||||
|
* @see https://nuxt.com/docs/4.x/api/components/nuxt-layout
|
||||||
|
*/
|
||||||
|
LazyNuxtLayout: LazyComponent<typeof import("../../node_modules/nuxt/dist/app/components/nuxt-layout")['default']>
|
||||||
|
/**
|
||||||
|
* Lazy-loaded version of `<NuxtErrorBoundary>`.
|
||||||
|
*
|
||||||
|
* Catches client-side errors from its default slot and renders an error slot.
|
||||||
|
*
|
||||||
|
* @see https://nuxt.com/docs/4.x/api/components/nuxt-error-boundary
|
||||||
|
*/
|
||||||
|
LazyNuxtErrorBoundary: LazyComponent<typeof import("../../node_modules/nuxt/dist/app/components/nuxt-error-boundary.vue")['default']>
|
||||||
|
/**
|
||||||
|
* Lazy-loaded version of `<ClientOnly>`.
|
||||||
|
*
|
||||||
|
* Renders its default slot only on the client, with an optional server fallback.
|
||||||
|
*
|
||||||
|
* @see https://nuxt.com/docs/4.x/api/components/client-only
|
||||||
|
*/
|
||||||
|
LazyClientOnly: LazyComponent<typeof import("../../node_modules/nuxt/dist/app/components/client-only")['default']>
|
||||||
|
/**
|
||||||
|
* Lazy-loaded version of `<DevOnly>`.
|
||||||
|
*
|
||||||
|
* Renders its content only during development.
|
||||||
|
*
|
||||||
|
* @see https://nuxt.com/docs/4.x/api/components/dev-only
|
||||||
|
*/
|
||||||
|
LazyDevOnly: LazyComponent<typeof import("../../node_modules/nuxt/dist/app/components/dev-only")['default']>
|
||||||
|
LazyServerPlaceholder: LazyComponent<typeof import("../../node_modules/nuxt/dist/app/components/server-placeholder")['default']>
|
||||||
|
/**
|
||||||
|
* Lazy-loaded version of `<NuxtLink>`.
|
||||||
|
*
|
||||||
|
* A drop-in replacement for Vue Router's `<RouterLink>` and the HTML `<a>` element.
|
||||||
|
*
|
||||||
|
* @see https://nuxt.com/docs/4.x/api/components/nuxt-link
|
||||||
|
*/
|
||||||
|
LazyNuxtLink: LazyComponent<typeof import("../../node_modules/nuxt/dist/app/components/nuxt-link")['default']>
|
||||||
|
/**
|
||||||
|
* Lazy-loaded version of `<NuxtLoadingIndicator>`.
|
||||||
|
*
|
||||||
|
* Displays a progress bar during page navigation.
|
||||||
|
*
|
||||||
|
* @see https://nuxt.com/docs/4.x/api/components/nuxt-loading-indicator
|
||||||
|
*/
|
||||||
|
LazyNuxtLoadingIndicator: LazyComponent<typeof import("../../node_modules/nuxt/dist/app/components/nuxt-loading-indicator")['default']>
|
||||||
|
/**
|
||||||
|
* Lazy-loaded version of `<NuxtTime>`.
|
||||||
|
*
|
||||||
|
* Formats dates and times consistently across server and client using the user's locale.
|
||||||
|
*
|
||||||
|
* @see https://nuxt.com/docs/4.x/api/components/nuxt-time
|
||||||
|
*/
|
||||||
|
LazyNuxtTime: LazyComponent<typeof import("../../node_modules/nuxt/dist/app/components/nuxt-time.vue")['default']>
|
||||||
|
/**
|
||||||
|
* Lazy-loaded version of `<NuxtRouteAnnouncer>`.
|
||||||
|
*
|
||||||
|
* Announces route changes to assistive technologies using the current page title.
|
||||||
|
*
|
||||||
|
* @see https://nuxt.com/docs/4.x/api/components/nuxt-route-announcer
|
||||||
|
*/
|
||||||
|
LazyNuxtRouteAnnouncer: LazyComponent<typeof import("../../node_modules/nuxt/dist/app/components/nuxt-route-announcer")['default']>
|
||||||
|
/**
|
||||||
|
* Lazy-loaded version of `<NuxtAnnouncer>`.
|
||||||
|
*
|
||||||
|
* Announces dynamic content changes to assistive technologies.
|
||||||
|
*
|
||||||
|
* @see https://nuxt.com/docs/4.x/api/components/nuxt-announcer
|
||||||
|
*/
|
||||||
|
LazyNuxtAnnouncer: LazyComponent<typeof import("../../node_modules/nuxt/dist/app/components/nuxt-announcer")['default']>
|
||||||
|
/**
|
||||||
|
* Lazy-loaded version of `<NuxtImg>`.
|
||||||
|
*
|
||||||
|
* Renders an optimized image through the Nuxt Image module.
|
||||||
|
*
|
||||||
|
* @see https://nuxt.com/docs/4.x/api/components/nuxt-img
|
||||||
|
*/
|
||||||
|
LazyNuxtImg: LazyComponent<typeof import("../../node_modules/nuxt/dist/app/components/nuxt-stubs")['NuxtImg']>
|
||||||
|
/**
|
||||||
|
* Lazy-loaded version of `<NuxtPicture>`.
|
||||||
|
*
|
||||||
|
* Renders responsive optimized images through the Nuxt Image module.
|
||||||
|
*
|
||||||
|
* @see https://nuxt.com/docs/4.x/api/components/nuxt-picture
|
||||||
|
*/
|
||||||
|
LazyNuxtPicture: LazyComponent<typeof import("../../node_modules/nuxt/dist/app/components/nuxt-stubs")['NuxtPicture']>
|
||||||
|
/**
|
||||||
|
* Lazy-loaded version of `<NuxtPage>`.
|
||||||
|
*
|
||||||
|
* Renders the current page from the `pages/` directory.
|
||||||
|
*
|
||||||
|
* @see https://nuxt.com/docs/4.x/api/components/nuxt-page
|
||||||
|
*/
|
||||||
|
LazyNuxtPage: LazyComponent<typeof import("../../node_modules/nuxt/dist/pages/runtime/page")['default']>
|
||||||
|
LazyNoScript: LazyComponent<typeof import("../../node_modules/nuxt/dist/head/runtime/components")['NoScript']>
|
||||||
|
LazyLink: LazyComponent<typeof import("../../node_modules/nuxt/dist/head/runtime/components")['Link']>
|
||||||
|
LazyBase: LazyComponent<typeof import("../../node_modules/nuxt/dist/head/runtime/components")['Base']>
|
||||||
|
LazyTitle: LazyComponent<typeof import("../../node_modules/nuxt/dist/head/runtime/components")['Title']>
|
||||||
|
LazyMeta: LazyComponent<typeof import("../../node_modules/nuxt/dist/head/runtime/components")['Meta']>
|
||||||
|
LazyStyle: LazyComponent<typeof import("../../node_modules/nuxt/dist/head/runtime/components")['Style']>
|
||||||
|
LazyHead: LazyComponent<typeof import("../../node_modules/nuxt/dist/head/runtime/components")['Head']>
|
||||||
|
LazyHtml: LazyComponent<typeof import("../../node_modules/nuxt/dist/head/runtime/components")['Html']>
|
||||||
|
LazyBody: LazyComponent<typeof import("../../node_modules/nuxt/dist/head/runtime/components")['Body']>
|
||||||
|
/**
|
||||||
|
* Lazy-loaded version of `<NuxtIsland>`.
|
||||||
|
*
|
||||||
|
* Renders a non-interactive server component without shipping client-side JavaScript.
|
||||||
|
*
|
||||||
|
* @see https://nuxt.com/docs/4.x/api/components/nuxt-island
|
||||||
|
*/
|
||||||
|
LazyNuxtIsland: LazyComponent<typeof import("../../node_modules/nuxt/dist/app/components/nuxt-island")['default']>
|
||||||
|
}
|
||||||
|
|
||||||
|
declare module 'vue' {
|
||||||
|
export interface GlobalComponents extends _GlobalComponents { }
|
||||||
|
}
|
||||||
|
|
||||||
|
export {}
|
||||||
@@ -0,0 +1,433 @@
|
|||||||
|
// Generated by auto imports
|
||||||
|
export {}
|
||||||
|
declare global {
|
||||||
|
const $fetch: typeof import('../fetch').$fetch
|
||||||
|
const GRADES_LIST: typeof import('../../utils/dataHelper').GRADES_LIST
|
||||||
|
const SUBJECTS_MAP: typeof import('../../utils/dataHelper').SUBJECTS_MAP
|
||||||
|
const abortNavigation: typeof import('../../node_modules/nuxt/dist/app/composables/router').abortNavigation
|
||||||
|
const addRouteMiddleware: typeof import('../../node_modules/nuxt/dist/app/composables/router').addRouteMiddleware
|
||||||
|
const callOnce: typeof import('../../node_modules/nuxt/dist/app/composables/once').callOnce
|
||||||
|
const cancelIdleCallback: typeof import('../../node_modules/nuxt/dist/app/compat/idle-callback').cancelIdleCallback
|
||||||
|
const clearError: typeof import('../../node_modules/nuxt/dist/app/composables/error').clearError
|
||||||
|
const clearNuxtData: typeof import('../../node_modules/nuxt/dist/app/composables/asyncData').clearNuxtData
|
||||||
|
const clearNuxtState: typeof import('../../node_modules/nuxt/dist/app/composables/state').clearNuxtState
|
||||||
|
const computed: typeof import('vue').computed
|
||||||
|
const createError: typeof import('../../node_modules/nuxt/dist/app/composables/error').createError
|
||||||
|
const createUseAsyncData: typeof import('../../node_modules/nuxt/dist/app/composables/asyncData').createUseAsyncData
|
||||||
|
const createUseFetch: typeof import('../../node_modules/nuxt/dist/app/composables/fetch').createUseFetch
|
||||||
|
const customRef: typeof import('vue').customRef
|
||||||
|
const defineAppConfig: typeof import('../../node_modules/nuxt/dist/app/nuxt').defineAppConfig
|
||||||
|
const defineAsyncComponent: typeof import('vue').defineAsyncComponent
|
||||||
|
const defineComponent: typeof import('vue').defineComponent
|
||||||
|
const defineLazyHydrationComponent: typeof import('../../node_modules/nuxt/dist/app/composables/lazy-hydration').defineLazyHydrationComponent
|
||||||
|
const defineNuxtComponent: typeof import('../../node_modules/nuxt/dist/app/composables/component').defineNuxtComponent
|
||||||
|
const defineNuxtLink: typeof import('../../node_modules/nuxt/dist/app/components/nuxt-link').defineNuxtLink
|
||||||
|
const defineNuxtPlugin: typeof import('../../node_modules/nuxt/dist/app/nuxt').defineNuxtPlugin
|
||||||
|
const defineNuxtRouteMiddleware: typeof import('../../node_modules/nuxt/dist/app/composables/router').defineNuxtRouteMiddleware
|
||||||
|
const definePageMeta: typeof import('../../node_modules/nuxt/dist/app/composables/pages').definePageMeta
|
||||||
|
const definePayloadPlugin: typeof import('../../node_modules/nuxt/dist/app/nuxt').definePayloadPlugin
|
||||||
|
const definePayloadReducer: typeof import('../../node_modules/nuxt/dist/app/composables/payload').definePayloadReducer
|
||||||
|
const definePayloadReviver: typeof import('../../node_modules/nuxt/dist/app/composables/payload').definePayloadReviver
|
||||||
|
const defineUseAsyncDataAddon: typeof import('../../node_modules/nuxt/dist/app/composables/addons').defineUseAsyncDataAddon
|
||||||
|
const defineUseFetchAddon: typeof import('../../node_modules/nuxt/dist/app/composables/addons').defineUseFetchAddon
|
||||||
|
const effect: typeof import('vue').effect
|
||||||
|
const effectScope: typeof import('vue').effectScope
|
||||||
|
const generateSeoMeta: typeof import('../../utils/seoHelper').generateSeoMeta
|
||||||
|
const getAllSubjectsList: typeof import('../../utils/dataHelper').getAllSubjectsList
|
||||||
|
const getAppManifest: typeof import('../../node_modules/nuxt/dist/app/composables/manifest').getAppManifest
|
||||||
|
const getCurrentInstance: typeof import('vue').getCurrentInstance
|
||||||
|
const getCurrentScope: typeof import('vue').getCurrentScope
|
||||||
|
const getCurriculumBySubject: typeof import('../../utils/dataHelper').getCurriculumBySubject
|
||||||
|
const getPopularRegions: typeof import('../../utils/dataHelper').getPopularRegions
|
||||||
|
const getRegionByDong: typeof import('../../utils/dataHelper').getRegionByDong
|
||||||
|
const getRouteRules: typeof import('../../node_modules/nuxt/dist/app/composables/manifest').getRouteRules
|
||||||
|
const getShortRegionName: typeof import('../../utils/dataHelper').getShortRegionName
|
||||||
|
const getShortSido: typeof import('../../utils/dataHelper').getShortSido
|
||||||
|
const getTotalRegionsCount: typeof import('../../utils/dataHelper').getTotalRegionsCount
|
||||||
|
const h: typeof import('vue').h
|
||||||
|
const hasInjectionContext: typeof import('vue').hasInjectionContext
|
||||||
|
const inject: typeof import('vue').inject
|
||||||
|
const injectHead: typeof import('../../node_modules/nuxt/dist/app/composables/head').injectHead
|
||||||
|
const isNuxtError: typeof import('../../node_modules/nuxt/dist/app/composables/error').isNuxtError
|
||||||
|
const isPrerendered: typeof import('../../node_modules/nuxt/dist/app/composables/payload').isPrerendered
|
||||||
|
const isProxy: typeof import('vue').isProxy
|
||||||
|
const isReactive: typeof import('vue').isReactive
|
||||||
|
const isReadonly: typeof import('vue').isReadonly
|
||||||
|
const isRef: typeof import('vue').isRef
|
||||||
|
const isShallow: typeof import('vue').isShallow
|
||||||
|
const isVue2: typeof import('../../node_modules/nuxt/dist/app/compat/vue-demi').isVue2
|
||||||
|
const isVue3: typeof import('../../node_modules/nuxt/dist/app/compat/vue-demi').isVue3
|
||||||
|
const loadPayload: typeof import('../../node_modules/nuxt/dist/app/composables/payload').loadPayload
|
||||||
|
const markRaw: typeof import('vue').markRaw
|
||||||
|
const navigateTo: typeof import('../../node_modules/nuxt/dist/app/composables/router').navigateTo
|
||||||
|
const nextTick: typeof import('vue').nextTick
|
||||||
|
const onActivated: typeof import('vue').onActivated
|
||||||
|
const onBeforeMount: typeof import('vue').onBeforeMount
|
||||||
|
const onBeforeRouteLeave: typeof import('vue-router').onBeforeRouteLeave
|
||||||
|
const onBeforeRouteUpdate: typeof import('vue-router').onBeforeRouteUpdate
|
||||||
|
const onBeforeUnmount: typeof import('vue').onBeforeUnmount
|
||||||
|
const onBeforeUpdate: typeof import('vue').onBeforeUpdate
|
||||||
|
const onDeactivated: typeof import('vue').onDeactivated
|
||||||
|
const onErrorCaptured: typeof import('vue').onErrorCaptured
|
||||||
|
const onMounted: typeof import('vue').onMounted
|
||||||
|
const onNuxtReady: typeof import('../../node_modules/nuxt/dist/app/composables/ready').onNuxtReady
|
||||||
|
const onPrehydrate: typeof import('../../node_modules/nuxt/dist/app/composables/ssr').onPrehydrate
|
||||||
|
const onRenderTracked: typeof import('vue').onRenderTracked
|
||||||
|
const onRenderTriggered: typeof import('vue').onRenderTriggered
|
||||||
|
const onScopeDispose: typeof import('vue').onScopeDispose
|
||||||
|
const onServerPrefetch: typeof import('vue').onServerPrefetch
|
||||||
|
const onUnmounted: typeof import('vue').onUnmounted
|
||||||
|
const onUpdated: typeof import('vue').onUpdated
|
||||||
|
const onWatcherCleanup: typeof import('vue').onWatcherCleanup
|
||||||
|
const parseRouteSlug: typeof import('../../utils/dataHelper').parseRouteSlug
|
||||||
|
const prefetchComponents: typeof import('../../node_modules/nuxt/dist/app/composables/preload').prefetchComponents
|
||||||
|
const preloadComponents: typeof import('../../node_modules/nuxt/dist/app/composables/preload').preloadComponents
|
||||||
|
const preloadPayload: typeof import('../../node_modules/nuxt/dist/app/composables/payload').preloadPayload
|
||||||
|
const preloadRouteComponents: typeof import('../../node_modules/nuxt/dist/app/composables/preload').preloadRouteComponents
|
||||||
|
const prerenderRoutes: typeof import('../../node_modules/nuxt/dist/app/composables/ssr').prerenderRoutes
|
||||||
|
const provide: typeof import('vue').provide
|
||||||
|
const proxyRefs: typeof import('vue').proxyRefs
|
||||||
|
const reactive: typeof import('vue').reactive
|
||||||
|
const readonly: typeof import('vue').readonly
|
||||||
|
const ref: typeof import('vue').ref
|
||||||
|
const refreshCookie: typeof import('../../node_modules/nuxt/dist/app/composables/cookie').refreshCookie
|
||||||
|
const refreshNuxtData: typeof import('../../node_modules/nuxt/dist/app/composables/asyncData').refreshNuxtData
|
||||||
|
const reloadNuxtApp: typeof import('../../node_modules/nuxt/dist/app/composables/chunk').reloadNuxtApp
|
||||||
|
const requestIdleCallback: typeof import('../../node_modules/nuxt/dist/app/compat/idle-callback').requestIdleCallback
|
||||||
|
const resolveComponent: typeof import('vue').resolveComponent
|
||||||
|
const setInterval: typeof import('../../node_modules/nuxt/dist/app/compat/interval').setInterval
|
||||||
|
const setPageLayout: typeof import('../../node_modules/nuxt/dist/app/composables/router').setPageLayout
|
||||||
|
const setResponseStatus: typeof import('../../node_modules/nuxt/dist/app/composables/ssr').setResponseStatus
|
||||||
|
const shallowReactive: typeof import('vue').shallowReactive
|
||||||
|
const shallowReadonly: typeof import('vue').shallowReadonly
|
||||||
|
const shallowRef: typeof import('vue').shallowRef
|
||||||
|
const showError: typeof import('../../node_modules/nuxt/dist/app/composables/error').showError
|
||||||
|
const toRaw: typeof import('vue').toRaw
|
||||||
|
const toRef: typeof import('vue').toRef
|
||||||
|
const toRefs: typeof import('vue').toRefs
|
||||||
|
const toValue: typeof import('vue').toValue
|
||||||
|
const triggerRef: typeof import('vue').triggerRef
|
||||||
|
const tryUseNuxtApp: typeof import('../../node_modules/nuxt/dist/app/nuxt').tryUseNuxtApp
|
||||||
|
const unref: typeof import('vue').unref
|
||||||
|
const updateAppConfig: typeof import('../../node_modules/nuxt/dist/app/config').updateAppConfig
|
||||||
|
const useAnnouncer: typeof import('../../node_modules/nuxt/dist/app/composables/announcer').useAnnouncer
|
||||||
|
const useAppConfig: typeof import('../../node_modules/nuxt/dist/app/config').useAppConfig
|
||||||
|
const useAsyncData: typeof import('../../node_modules/nuxt/dist/app/composables/asyncData').useAsyncData
|
||||||
|
const useAttrs: typeof import('vue').useAttrs
|
||||||
|
const useCookie: typeof import('../../node_modules/nuxt/dist/app/composables/cookie').useCookie
|
||||||
|
const useCssModule: typeof import('vue').useCssModule
|
||||||
|
const useCssVars: typeof import('vue').useCssVars
|
||||||
|
const useError: typeof import('../../node_modules/nuxt/dist/app/composables/error').useError
|
||||||
|
const useFetch: typeof import('../../node_modules/nuxt/dist/app/composables/fetch').useFetch
|
||||||
|
const useHead: typeof import('../../node_modules/nuxt/dist/app/composables/head').useHead
|
||||||
|
const useHeadSafe: typeof import('../../node_modules/nuxt/dist/app/composables/head').useHeadSafe
|
||||||
|
const useHydration: typeof import('../../node_modules/nuxt/dist/app/composables/hydrate').useHydration
|
||||||
|
const useId: typeof import('vue').useId
|
||||||
|
const useLayout: typeof import('../../node_modules/nuxt/dist/app/composables/layout').useLayout
|
||||||
|
const useLazyAsyncData: typeof import('../../node_modules/nuxt/dist/app/composables/asyncData').useLazyAsyncData
|
||||||
|
const useLazyFetch: typeof import('../../node_modules/nuxt/dist/app/composables/fetch').useLazyFetch
|
||||||
|
const useLink: typeof import('vue-router').useLink
|
||||||
|
const useLoadingIndicator: typeof import('../../node_modules/nuxt/dist/app/composables/loading-indicator').useLoadingIndicator
|
||||||
|
const useModel: typeof import('vue').useModel
|
||||||
|
const useNuxtApp: typeof import('../../node_modules/nuxt/dist/app/nuxt').useNuxtApp
|
||||||
|
const useNuxtData: typeof import('../../node_modules/nuxt/dist/app/composables/asyncData').useNuxtData
|
||||||
|
const usePreviewMode: typeof import('../../node_modules/nuxt/dist/app/composables/preview').usePreviewMode
|
||||||
|
const useRequestEvent: typeof import('../../node_modules/nuxt/dist/app/composables/ssr').useRequestEvent
|
||||||
|
const useRequestFetch: typeof import('../../node_modules/nuxt/dist/app/composables/ssr').useRequestFetch
|
||||||
|
const useRequestHeader: typeof import('../../node_modules/nuxt/dist/app/composables/ssr').useRequestHeader
|
||||||
|
const useRequestHeaders: typeof import('../../node_modules/nuxt/dist/app/composables/ssr').useRequestHeaders
|
||||||
|
const useRequestURL: typeof import('../../node_modules/nuxt/dist/app/composables/url').useRequestURL
|
||||||
|
const useResponseHeader: typeof import('../../node_modules/nuxt/dist/app/composables/ssr').useResponseHeader
|
||||||
|
const useRoute: typeof import('../../node_modules/nuxt/dist/app/composables/router').useRoute
|
||||||
|
const useRouteAnnouncer: typeof import('../../node_modules/nuxt/dist/app/composables/route-announcer').useRouteAnnouncer
|
||||||
|
const useRouter: typeof import('../../node_modules/nuxt/dist/app/composables/router').useRouter
|
||||||
|
const useRuntimeConfig: typeof import('../../node_modules/nuxt/dist/app/nuxt').useRuntimeConfig
|
||||||
|
const useRuntimeHook: typeof import('../../node_modules/nuxt/dist/app/composables/runtime-hook').useRuntimeHook
|
||||||
|
const useScript: typeof import('../../node_modules/nuxt/dist/app/composables/script-stubs').useScript
|
||||||
|
const useScriptAhrefsAnalytics: typeof import('../../node_modules/nuxt/dist/app/composables/script-stubs').useScriptAhrefsAnalytics
|
||||||
|
const useScriptBingUet: typeof import('../../node_modules/nuxt/dist/app/composables/script-stubs').useScriptBingUet
|
||||||
|
const useScriptCalendly: typeof import('../../node_modules/nuxt/dist/app/composables/script-stubs').useScriptCalendly
|
||||||
|
const useScriptClarity: typeof import('../../node_modules/nuxt/dist/app/composables/script-stubs').useScriptClarity
|
||||||
|
const useScriptCloudflareWebAnalytics: typeof import('../../node_modules/nuxt/dist/app/composables/script-stubs').useScriptCloudflareWebAnalytics
|
||||||
|
const useScriptCrisp: typeof import('../../node_modules/nuxt/dist/app/composables/script-stubs').useScriptCrisp
|
||||||
|
const useScriptDatabuddyAnalytics: typeof import('../../node_modules/nuxt/dist/app/composables/script-stubs').useScriptDatabuddyAnalytics
|
||||||
|
const useScriptEventPage: typeof import('../../node_modules/nuxt/dist/app/composables/script-stubs').useScriptEventPage
|
||||||
|
const useScriptFathomAnalytics: typeof import('../../node_modules/nuxt/dist/app/composables/script-stubs').useScriptFathomAnalytics
|
||||||
|
const useScriptGoogleAdsense: typeof import('../../node_modules/nuxt/dist/app/composables/script-stubs').useScriptGoogleAdsense
|
||||||
|
const useScriptGoogleAnalytics: typeof import('../../node_modules/nuxt/dist/app/composables/script-stubs').useScriptGoogleAnalytics
|
||||||
|
const useScriptGoogleMaps: typeof import('../../node_modules/nuxt/dist/app/composables/script-stubs').useScriptGoogleMaps
|
||||||
|
const useScriptGoogleRecaptcha: typeof import('../../node_modules/nuxt/dist/app/composables/script-stubs').useScriptGoogleRecaptcha
|
||||||
|
const useScriptGoogleSignIn: typeof import('../../node_modules/nuxt/dist/app/composables/script-stubs').useScriptGoogleSignIn
|
||||||
|
const useScriptGoogleTagManager: typeof import('../../node_modules/nuxt/dist/app/composables/script-stubs').useScriptGoogleTagManager
|
||||||
|
const useScriptGravatar: typeof import('../../node_modules/nuxt/dist/app/composables/script-stubs').useScriptGravatar
|
||||||
|
const useScriptHotjar: typeof import('../../node_modules/nuxt/dist/app/composables/script-stubs').useScriptHotjar
|
||||||
|
const useScriptIntercom: typeof import('../../node_modules/nuxt/dist/app/composables/script-stubs').useScriptIntercom
|
||||||
|
const useScriptLemonSqueezy: typeof import('../../node_modules/nuxt/dist/app/composables/script-stubs').useScriptLemonSqueezy
|
||||||
|
const useScriptLinkedInInsight: typeof import('../../node_modules/nuxt/dist/app/composables/script-stubs').useScriptLinkedInInsight
|
||||||
|
const useScriptMatomoAnalytics: typeof import('../../node_modules/nuxt/dist/app/composables/script-stubs').useScriptMatomoAnalytics
|
||||||
|
const useScriptMetaPixel: typeof import('../../node_modules/nuxt/dist/app/composables/script-stubs').useScriptMetaPixel
|
||||||
|
const useScriptMixpanelAnalytics: typeof import('../../node_modules/nuxt/dist/app/composables/script-stubs').useScriptMixpanelAnalytics
|
||||||
|
const useScriptNpm: typeof import('../../node_modules/nuxt/dist/app/composables/script-stubs').useScriptNpm
|
||||||
|
const useScriptPayPal: typeof import('../../node_modules/nuxt/dist/app/composables/script-stubs').useScriptPayPal
|
||||||
|
const useScriptPlausibleAnalytics: typeof import('../../node_modules/nuxt/dist/app/composables/script-stubs').useScriptPlausibleAnalytics
|
||||||
|
const useScriptPostHog: typeof import('../../node_modules/nuxt/dist/app/composables/script-stubs').useScriptPostHog
|
||||||
|
const useScriptRedditPixel: typeof import('../../node_modules/nuxt/dist/app/composables/script-stubs').useScriptRedditPixel
|
||||||
|
const useScriptRybbitAnalytics: typeof import('../../node_modules/nuxt/dist/app/composables/script-stubs').useScriptRybbitAnalytics
|
||||||
|
const useScriptSegment: typeof import('../../node_modules/nuxt/dist/app/composables/script-stubs').useScriptSegment
|
||||||
|
const useScriptSnapchatPixel: typeof import('../../node_modules/nuxt/dist/app/composables/script-stubs').useScriptSnapchatPixel
|
||||||
|
const useScriptSpeedCurve: typeof import('../../node_modules/nuxt/dist/app/composables/script-stubs').useScriptSpeedCurve
|
||||||
|
const useScriptStripe: typeof import('../../node_modules/nuxt/dist/app/composables/script-stubs').useScriptStripe
|
||||||
|
const useScriptTikTokPixel: typeof import('../../node_modules/nuxt/dist/app/composables/script-stubs').useScriptTikTokPixel
|
||||||
|
const useScriptTriggerConsent: typeof import('../../node_modules/nuxt/dist/app/composables/script-stubs').useScriptTriggerConsent
|
||||||
|
const useScriptTriggerElement: typeof import('../../node_modules/nuxt/dist/app/composables/script-stubs').useScriptTriggerElement
|
||||||
|
const useScriptUmamiAnalytics: typeof import('../../node_modules/nuxt/dist/app/composables/script-stubs').useScriptUmamiAnalytics
|
||||||
|
const useScriptUsercentrics: typeof import('../../node_modules/nuxt/dist/app/composables/script-stubs').useScriptUsercentrics
|
||||||
|
const useScriptVercelAnalytics: typeof import('../../node_modules/nuxt/dist/app/composables/script-stubs').useScriptVercelAnalytics
|
||||||
|
const useScriptVimeoPlayer: typeof import('../../node_modules/nuxt/dist/app/composables/script-stubs').useScriptVimeoPlayer
|
||||||
|
const useScriptXPixel: typeof import('../../node_modules/nuxt/dist/app/composables/script-stubs').useScriptXPixel
|
||||||
|
const useScriptYouTubePlayer: typeof import('../../node_modules/nuxt/dist/app/composables/script-stubs').useScriptYouTubePlayer
|
||||||
|
const useSeoMeta: typeof import('../../node_modules/nuxt/dist/app/composables/head').useSeoMeta
|
||||||
|
const useServerHead: typeof import('../../node_modules/nuxt/dist/app/composables/head').useServerHead
|
||||||
|
const useServerHeadSafe: typeof import('../../node_modules/nuxt/dist/app/composables/head').useServerHeadSafe
|
||||||
|
const useServerSeoMeta: typeof import('../../node_modules/nuxt/dist/app/composables/head').useServerSeoMeta
|
||||||
|
const useShadowRoot: typeof import('vue').useShadowRoot
|
||||||
|
const useSlots: typeof import('vue').useSlots
|
||||||
|
const useState: typeof import('../../node_modules/nuxt/dist/app/composables/state').useState
|
||||||
|
const useTemplateRef: typeof import('vue').useTemplateRef
|
||||||
|
const useTransitionState: typeof import('vue').useTransitionState
|
||||||
|
const watch: typeof import('vue').watch
|
||||||
|
const watchEffect: typeof import('vue').watchEffect
|
||||||
|
const watchPostEffect: typeof import('vue').watchPostEffect
|
||||||
|
const watchSyncEffect: typeof import('vue').watchSyncEffect
|
||||||
|
const withCtx: typeof import('vue').withCtx
|
||||||
|
const withDirectives: typeof import('vue').withDirectives
|
||||||
|
const withKeys: typeof import('vue').withKeys
|
||||||
|
const withMemo: typeof import('vue').withMemo
|
||||||
|
const withModifiers: typeof import('vue').withModifiers
|
||||||
|
const withScopeId: typeof import('vue').withScopeId
|
||||||
|
}
|
||||||
|
// for type re-export
|
||||||
|
declare global {
|
||||||
|
// @ts-ignore
|
||||||
|
export type { UseFetchAddonOptions, UseAsyncDataAddonOptions } from '../../node_modules/nuxt/dist/app/composables/addons'
|
||||||
|
import('../../node_modules/nuxt/dist/app/composables/addons')
|
||||||
|
// @ts-ignore
|
||||||
|
export type { Component, ComponentPublicInstance, ComputedRef, DirectiveBinding, ExtractDefaultPropTypes, ExtractPropTypes, ExtractPublicPropTypes, InjectionKey, PropType, Ref, MaybeRef, MaybeRefOrGetter, ShallowRef, VNode, WritableComputedRef } from 'vue'
|
||||||
|
import('vue')
|
||||||
|
// @ts-ignore
|
||||||
|
export type { PageMeta } from '../../node_modules/nuxt/dist/app/composables/pages'
|
||||||
|
import('../../node_modules/nuxt/dist/app/composables/pages')
|
||||||
|
// @ts-ignore
|
||||||
|
export type { RegionInfo, ParsedRouteParams } from '../../utils/dataHelper'
|
||||||
|
import('../../utils/dataHelper')
|
||||||
|
}
|
||||||
|
// for vue template auto import
|
||||||
|
import { UnwrapRef } from 'vue'
|
||||||
|
declare module 'vue' {
|
||||||
|
interface ComponentCustomProperties {
|
||||||
|
readonly $fetch: UnwrapRef<typeof import('../fetch')['$fetch']>
|
||||||
|
readonly GRADES_LIST: UnwrapRef<typeof import('../../utils/dataHelper')['GRADES_LIST']>
|
||||||
|
readonly SUBJECTS_MAP: UnwrapRef<typeof import('../../utils/dataHelper')['SUBJECTS_MAP']>
|
||||||
|
readonly abortNavigation: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/router')['abortNavigation']>
|
||||||
|
readonly addRouteMiddleware: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/router')['addRouteMiddleware']>
|
||||||
|
readonly callOnce: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/once')['callOnce']>
|
||||||
|
readonly cancelIdleCallback: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/compat/idle-callback')['cancelIdleCallback']>
|
||||||
|
readonly clearError: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/error')['clearError']>
|
||||||
|
readonly clearNuxtData: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/asyncData')['clearNuxtData']>
|
||||||
|
readonly clearNuxtState: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/state')['clearNuxtState']>
|
||||||
|
readonly computed: UnwrapRef<typeof import('vue')['computed']>
|
||||||
|
readonly createError: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/error')['createError']>
|
||||||
|
readonly createUseAsyncData: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/asyncData')['createUseAsyncData']>
|
||||||
|
readonly createUseFetch: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/fetch')['createUseFetch']>
|
||||||
|
readonly customRef: UnwrapRef<typeof import('vue')['customRef']>
|
||||||
|
readonly defineAppConfig: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/nuxt')['defineAppConfig']>
|
||||||
|
readonly defineAsyncComponent: UnwrapRef<typeof import('vue')['defineAsyncComponent']>
|
||||||
|
readonly defineComponent: UnwrapRef<typeof import('vue')['defineComponent']>
|
||||||
|
readonly defineLazyHydrationComponent: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/lazy-hydration')['defineLazyHydrationComponent']>
|
||||||
|
readonly defineNuxtComponent: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/component')['defineNuxtComponent']>
|
||||||
|
readonly defineNuxtLink: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/components/nuxt-link')['defineNuxtLink']>
|
||||||
|
readonly defineNuxtPlugin: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/nuxt')['defineNuxtPlugin']>
|
||||||
|
readonly defineNuxtRouteMiddleware: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/router')['defineNuxtRouteMiddleware']>
|
||||||
|
readonly definePageMeta: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/pages')['definePageMeta']>
|
||||||
|
readonly definePayloadPlugin: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/nuxt')['definePayloadPlugin']>
|
||||||
|
readonly definePayloadReducer: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/payload')['definePayloadReducer']>
|
||||||
|
readonly definePayloadReviver: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/payload')['definePayloadReviver']>
|
||||||
|
readonly defineUseAsyncDataAddon: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/addons')['defineUseAsyncDataAddon']>
|
||||||
|
readonly defineUseFetchAddon: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/addons')['defineUseFetchAddon']>
|
||||||
|
readonly effect: UnwrapRef<typeof import('vue')['effect']>
|
||||||
|
readonly effectScope: UnwrapRef<typeof import('vue')['effectScope']>
|
||||||
|
readonly generateSeoMeta: UnwrapRef<typeof import('../../utils/seoHelper')['generateSeoMeta']>
|
||||||
|
readonly getAllSubjectsList: UnwrapRef<typeof import('../../utils/dataHelper')['getAllSubjectsList']>
|
||||||
|
readonly getAppManifest: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/manifest')['getAppManifest']>
|
||||||
|
readonly getCurrentInstance: UnwrapRef<typeof import('vue')['getCurrentInstance']>
|
||||||
|
readonly getCurrentScope: UnwrapRef<typeof import('vue')['getCurrentScope']>
|
||||||
|
readonly getCurriculumBySubject: UnwrapRef<typeof import('../../utils/dataHelper')['getCurriculumBySubject']>
|
||||||
|
readonly getPopularRegions: UnwrapRef<typeof import('../../utils/dataHelper')['getPopularRegions']>
|
||||||
|
readonly getRegionByDong: UnwrapRef<typeof import('../../utils/dataHelper')['getRegionByDong']>
|
||||||
|
readonly getRouteRules: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/manifest')['getRouteRules']>
|
||||||
|
readonly getShortRegionName: UnwrapRef<typeof import('../../utils/dataHelper')['getShortRegionName']>
|
||||||
|
readonly getShortSido: UnwrapRef<typeof import('../../utils/dataHelper')['getShortSido']>
|
||||||
|
readonly getTotalRegionsCount: UnwrapRef<typeof import('../../utils/dataHelper')['getTotalRegionsCount']>
|
||||||
|
readonly h: UnwrapRef<typeof import('vue')['h']>
|
||||||
|
readonly hasInjectionContext: UnwrapRef<typeof import('vue')['hasInjectionContext']>
|
||||||
|
readonly inject: UnwrapRef<typeof import('vue')['inject']>
|
||||||
|
readonly injectHead: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/head')['injectHead']>
|
||||||
|
readonly isNuxtError: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/error')['isNuxtError']>
|
||||||
|
readonly isPrerendered: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/payload')['isPrerendered']>
|
||||||
|
readonly isProxy: UnwrapRef<typeof import('vue')['isProxy']>
|
||||||
|
readonly isReactive: UnwrapRef<typeof import('vue')['isReactive']>
|
||||||
|
readonly isReadonly: UnwrapRef<typeof import('vue')['isReadonly']>
|
||||||
|
readonly isRef: UnwrapRef<typeof import('vue')['isRef']>
|
||||||
|
readonly isShallow: UnwrapRef<typeof import('vue')['isShallow']>
|
||||||
|
readonly isVue2: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/compat/vue-demi')['isVue2']>
|
||||||
|
readonly isVue3: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/compat/vue-demi')['isVue3']>
|
||||||
|
readonly loadPayload: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/payload')['loadPayload']>
|
||||||
|
readonly markRaw: UnwrapRef<typeof import('vue')['markRaw']>
|
||||||
|
readonly navigateTo: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/router')['navigateTo']>
|
||||||
|
readonly nextTick: UnwrapRef<typeof import('vue')['nextTick']>
|
||||||
|
readonly onActivated: UnwrapRef<typeof import('vue')['onActivated']>
|
||||||
|
readonly onBeforeMount: UnwrapRef<typeof import('vue')['onBeforeMount']>
|
||||||
|
readonly onBeforeRouteLeave: UnwrapRef<typeof import('vue-router')['onBeforeRouteLeave']>
|
||||||
|
readonly onBeforeRouteUpdate: UnwrapRef<typeof import('vue-router')['onBeforeRouteUpdate']>
|
||||||
|
readonly onBeforeUnmount: UnwrapRef<typeof import('vue')['onBeforeUnmount']>
|
||||||
|
readonly onBeforeUpdate: UnwrapRef<typeof import('vue')['onBeforeUpdate']>
|
||||||
|
readonly onDeactivated: UnwrapRef<typeof import('vue')['onDeactivated']>
|
||||||
|
readonly onErrorCaptured: UnwrapRef<typeof import('vue')['onErrorCaptured']>
|
||||||
|
readonly onMounted: UnwrapRef<typeof import('vue')['onMounted']>
|
||||||
|
readonly onNuxtReady: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/ready')['onNuxtReady']>
|
||||||
|
readonly onPrehydrate: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/ssr')['onPrehydrate']>
|
||||||
|
readonly onRenderTracked: UnwrapRef<typeof import('vue')['onRenderTracked']>
|
||||||
|
readonly onRenderTriggered: UnwrapRef<typeof import('vue')['onRenderTriggered']>
|
||||||
|
readonly onScopeDispose: UnwrapRef<typeof import('vue')['onScopeDispose']>
|
||||||
|
readonly onServerPrefetch: UnwrapRef<typeof import('vue')['onServerPrefetch']>
|
||||||
|
readonly onUnmounted: UnwrapRef<typeof import('vue')['onUnmounted']>
|
||||||
|
readonly onUpdated: UnwrapRef<typeof import('vue')['onUpdated']>
|
||||||
|
readonly onWatcherCleanup: UnwrapRef<typeof import('vue')['onWatcherCleanup']>
|
||||||
|
readonly parseRouteSlug: UnwrapRef<typeof import('../../utils/dataHelper')['parseRouteSlug']>
|
||||||
|
readonly prefetchComponents: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/preload')['prefetchComponents']>
|
||||||
|
readonly preloadComponents: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/preload')['preloadComponents']>
|
||||||
|
readonly preloadPayload: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/payload')['preloadPayload']>
|
||||||
|
readonly preloadRouteComponents: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/preload')['preloadRouteComponents']>
|
||||||
|
readonly prerenderRoutes: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/ssr')['prerenderRoutes']>
|
||||||
|
readonly provide: UnwrapRef<typeof import('vue')['provide']>
|
||||||
|
readonly proxyRefs: UnwrapRef<typeof import('vue')['proxyRefs']>
|
||||||
|
readonly reactive: UnwrapRef<typeof import('vue')['reactive']>
|
||||||
|
readonly readonly: UnwrapRef<typeof import('vue')['readonly']>
|
||||||
|
readonly ref: UnwrapRef<typeof import('vue')['ref']>
|
||||||
|
readonly refreshCookie: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/cookie')['refreshCookie']>
|
||||||
|
readonly refreshNuxtData: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/asyncData')['refreshNuxtData']>
|
||||||
|
readonly reloadNuxtApp: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/chunk')['reloadNuxtApp']>
|
||||||
|
readonly requestIdleCallback: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/compat/idle-callback')['requestIdleCallback']>
|
||||||
|
readonly resolveComponent: UnwrapRef<typeof import('vue')['resolveComponent']>
|
||||||
|
readonly setInterval: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/compat/interval')['setInterval']>
|
||||||
|
readonly setPageLayout: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/router')['setPageLayout']>
|
||||||
|
readonly setResponseStatus: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/ssr')['setResponseStatus']>
|
||||||
|
readonly shallowReactive: UnwrapRef<typeof import('vue')['shallowReactive']>
|
||||||
|
readonly shallowReadonly: UnwrapRef<typeof import('vue')['shallowReadonly']>
|
||||||
|
readonly shallowRef: UnwrapRef<typeof import('vue')['shallowRef']>
|
||||||
|
readonly showError: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/error')['showError']>
|
||||||
|
readonly toRaw: UnwrapRef<typeof import('vue')['toRaw']>
|
||||||
|
readonly toRef: UnwrapRef<typeof import('vue')['toRef']>
|
||||||
|
readonly toRefs: UnwrapRef<typeof import('vue')['toRefs']>
|
||||||
|
readonly toValue: UnwrapRef<typeof import('vue')['toValue']>
|
||||||
|
readonly triggerRef: UnwrapRef<typeof import('vue')['triggerRef']>
|
||||||
|
readonly tryUseNuxtApp: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/nuxt')['tryUseNuxtApp']>
|
||||||
|
readonly unref: UnwrapRef<typeof import('vue')['unref']>
|
||||||
|
readonly updateAppConfig: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/config')['updateAppConfig']>
|
||||||
|
readonly useAnnouncer: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/announcer')['useAnnouncer']>
|
||||||
|
readonly useAppConfig: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/config')['useAppConfig']>
|
||||||
|
readonly useAsyncData: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/asyncData')['useAsyncData']>
|
||||||
|
readonly useAttrs: UnwrapRef<typeof import('vue')['useAttrs']>
|
||||||
|
readonly useCookie: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/cookie')['useCookie']>
|
||||||
|
readonly useCssModule: UnwrapRef<typeof import('vue')['useCssModule']>
|
||||||
|
readonly useCssVars: UnwrapRef<typeof import('vue')['useCssVars']>
|
||||||
|
readonly useError: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/error')['useError']>
|
||||||
|
readonly useFetch: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/fetch')['useFetch']>
|
||||||
|
readonly useHead: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/head')['useHead']>
|
||||||
|
readonly useHeadSafe: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/head')['useHeadSafe']>
|
||||||
|
readonly useHydration: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/hydrate')['useHydration']>
|
||||||
|
readonly useId: UnwrapRef<typeof import('vue')['useId']>
|
||||||
|
readonly useLayout: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/layout')['useLayout']>
|
||||||
|
readonly useLazyAsyncData: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/asyncData')['useLazyAsyncData']>
|
||||||
|
readonly useLazyFetch: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/fetch')['useLazyFetch']>
|
||||||
|
readonly useLink: UnwrapRef<typeof import('vue-router')['useLink']>
|
||||||
|
readonly useLoadingIndicator: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/loading-indicator')['useLoadingIndicator']>
|
||||||
|
readonly useModel: UnwrapRef<typeof import('vue')['useModel']>
|
||||||
|
readonly useNuxtApp: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/nuxt')['useNuxtApp']>
|
||||||
|
readonly useNuxtData: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/asyncData')['useNuxtData']>
|
||||||
|
readonly usePreviewMode: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/preview')['usePreviewMode']>
|
||||||
|
readonly useRequestEvent: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/ssr')['useRequestEvent']>
|
||||||
|
readonly useRequestFetch: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/ssr')['useRequestFetch']>
|
||||||
|
readonly useRequestHeader: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/ssr')['useRequestHeader']>
|
||||||
|
readonly useRequestHeaders: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/ssr')['useRequestHeaders']>
|
||||||
|
readonly useRequestURL: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/url')['useRequestURL']>
|
||||||
|
readonly useResponseHeader: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/ssr')['useResponseHeader']>
|
||||||
|
readonly useRoute: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/router')['useRoute']>
|
||||||
|
readonly useRouteAnnouncer: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/route-announcer')['useRouteAnnouncer']>
|
||||||
|
readonly useRouter: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/router')['useRouter']>
|
||||||
|
readonly useRuntimeConfig: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/nuxt')['useRuntimeConfig']>
|
||||||
|
readonly useRuntimeHook: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/runtime-hook')['useRuntimeHook']>
|
||||||
|
readonly useScript: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/script-stubs')['useScript']>
|
||||||
|
readonly useScriptAhrefsAnalytics: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/script-stubs')['useScriptAhrefsAnalytics']>
|
||||||
|
readonly useScriptBingUet: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/script-stubs')['useScriptBingUet']>
|
||||||
|
readonly useScriptCalendly: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/script-stubs')['useScriptCalendly']>
|
||||||
|
readonly useScriptClarity: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/script-stubs')['useScriptClarity']>
|
||||||
|
readonly useScriptCloudflareWebAnalytics: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/script-stubs')['useScriptCloudflareWebAnalytics']>
|
||||||
|
readonly useScriptCrisp: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/script-stubs')['useScriptCrisp']>
|
||||||
|
readonly useScriptDatabuddyAnalytics: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/script-stubs')['useScriptDatabuddyAnalytics']>
|
||||||
|
readonly useScriptEventPage: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/script-stubs')['useScriptEventPage']>
|
||||||
|
readonly useScriptFathomAnalytics: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/script-stubs')['useScriptFathomAnalytics']>
|
||||||
|
readonly useScriptGoogleAdsense: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/script-stubs')['useScriptGoogleAdsense']>
|
||||||
|
readonly useScriptGoogleAnalytics: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/script-stubs')['useScriptGoogleAnalytics']>
|
||||||
|
readonly useScriptGoogleMaps: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/script-stubs')['useScriptGoogleMaps']>
|
||||||
|
readonly useScriptGoogleRecaptcha: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/script-stubs')['useScriptGoogleRecaptcha']>
|
||||||
|
readonly useScriptGoogleSignIn: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/script-stubs')['useScriptGoogleSignIn']>
|
||||||
|
readonly useScriptGoogleTagManager: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/script-stubs')['useScriptGoogleTagManager']>
|
||||||
|
readonly useScriptGravatar: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/script-stubs')['useScriptGravatar']>
|
||||||
|
readonly useScriptHotjar: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/script-stubs')['useScriptHotjar']>
|
||||||
|
readonly useScriptIntercom: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/script-stubs')['useScriptIntercom']>
|
||||||
|
readonly useScriptLemonSqueezy: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/script-stubs')['useScriptLemonSqueezy']>
|
||||||
|
readonly useScriptLinkedInInsight: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/script-stubs')['useScriptLinkedInInsight']>
|
||||||
|
readonly useScriptMatomoAnalytics: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/script-stubs')['useScriptMatomoAnalytics']>
|
||||||
|
readonly useScriptMetaPixel: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/script-stubs')['useScriptMetaPixel']>
|
||||||
|
readonly useScriptMixpanelAnalytics: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/script-stubs')['useScriptMixpanelAnalytics']>
|
||||||
|
readonly useScriptNpm: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/script-stubs')['useScriptNpm']>
|
||||||
|
readonly useScriptPayPal: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/script-stubs')['useScriptPayPal']>
|
||||||
|
readonly useScriptPlausibleAnalytics: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/script-stubs')['useScriptPlausibleAnalytics']>
|
||||||
|
readonly useScriptPostHog: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/script-stubs')['useScriptPostHog']>
|
||||||
|
readonly useScriptRedditPixel: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/script-stubs')['useScriptRedditPixel']>
|
||||||
|
readonly useScriptRybbitAnalytics: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/script-stubs')['useScriptRybbitAnalytics']>
|
||||||
|
readonly useScriptSegment: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/script-stubs')['useScriptSegment']>
|
||||||
|
readonly useScriptSnapchatPixel: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/script-stubs')['useScriptSnapchatPixel']>
|
||||||
|
readonly useScriptSpeedCurve: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/script-stubs')['useScriptSpeedCurve']>
|
||||||
|
readonly useScriptStripe: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/script-stubs')['useScriptStripe']>
|
||||||
|
readonly useScriptTikTokPixel: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/script-stubs')['useScriptTikTokPixel']>
|
||||||
|
readonly useScriptTriggerConsent: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/script-stubs')['useScriptTriggerConsent']>
|
||||||
|
readonly useScriptTriggerElement: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/script-stubs')['useScriptTriggerElement']>
|
||||||
|
readonly useScriptUmamiAnalytics: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/script-stubs')['useScriptUmamiAnalytics']>
|
||||||
|
readonly useScriptUsercentrics: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/script-stubs')['useScriptUsercentrics']>
|
||||||
|
readonly useScriptVercelAnalytics: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/script-stubs')['useScriptVercelAnalytics']>
|
||||||
|
readonly useScriptVimeoPlayer: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/script-stubs')['useScriptVimeoPlayer']>
|
||||||
|
readonly useScriptXPixel: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/script-stubs')['useScriptXPixel']>
|
||||||
|
readonly useScriptYouTubePlayer: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/script-stubs')['useScriptYouTubePlayer']>
|
||||||
|
readonly useSeoMeta: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/head')['useSeoMeta']>
|
||||||
|
readonly useServerHead: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/head')['useServerHead']>
|
||||||
|
readonly useServerHeadSafe: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/head')['useServerHeadSafe']>
|
||||||
|
readonly useServerSeoMeta: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/head')['useServerSeoMeta']>
|
||||||
|
readonly useShadowRoot: UnwrapRef<typeof import('vue')['useShadowRoot']>
|
||||||
|
readonly useSlots: UnwrapRef<typeof import('vue')['useSlots']>
|
||||||
|
readonly useState: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/state')['useState']>
|
||||||
|
readonly useTemplateRef: UnwrapRef<typeof import('vue')['useTemplateRef']>
|
||||||
|
readonly useTransitionState: UnwrapRef<typeof import('vue')['useTransitionState']>
|
||||||
|
readonly watch: UnwrapRef<typeof import('vue')['watch']>
|
||||||
|
readonly watchEffect: UnwrapRef<typeof import('vue')['watchEffect']>
|
||||||
|
readonly watchPostEffect: UnwrapRef<typeof import('vue')['watchPostEffect']>
|
||||||
|
readonly watchSyncEffect: UnwrapRef<typeof import('vue')['watchSyncEffect']>
|
||||||
|
readonly withCtx: UnwrapRef<typeof import('vue')['withCtx']>
|
||||||
|
readonly withDirectives: UnwrapRef<typeof import('vue')['withDirectives']>
|
||||||
|
readonly withKeys: UnwrapRef<typeof import('vue')['withKeys']>
|
||||||
|
readonly withMemo: UnwrapRef<typeof import('vue')['withMemo']>
|
||||||
|
readonly withModifiers: UnwrapRef<typeof import('vue')['withModifiers']>
|
||||||
|
readonly withScopeId: UnwrapRef<typeof import('vue')['withScopeId']>
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
import type { ComputedRef, MaybeRef } from "vue";
|
||||||
|
import type { ComponentProps } from "../../node_modules/vue-component-type-helpers/index.js";
|
||||||
|
|
||||||
|
declare module 'nuxt/app' {
|
||||||
|
interface NuxtLayouts {
|
||||||
|
}
|
||||||
|
export type LayoutKey = keyof NuxtLayouts extends never ? string : keyof NuxtLayouts
|
||||||
|
interface PageMeta {
|
||||||
|
layout?: MaybeRef<LayoutKey | false> | ComputedRef<LayoutKey | false> | {
|
||||||
|
[K in LayoutKey]: {
|
||||||
|
name?: MaybeRef<K | false> | ComputedRef<K | false>
|
||||||
|
props?: NuxtLayouts[K]
|
||||||
|
}
|
||||||
|
}[LayoutKey]
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
import type { NavigationGuard } from 'vue-router'
|
||||||
|
export type MiddlewareKey = never
|
||||||
|
declare module 'nuxt/app' {
|
||||||
|
interface PageMeta {
|
||||||
|
middleware?: MiddlewareKey | NavigationGuard | Array<MiddlewareKey | NavigationGuard>
|
||||||
|
}
|
||||||
|
}
|
||||||