fix(learn): 과정 셀렉트를 학습 센터(/learn)에서만 노출
All checks were successful
CI / backend-test (push) Successful in 1m0s
CI / frontend-build (push) Successful in 39s
CI / backend-dep-scan (push) Successful in 6s

대시보드·과제·코딩 등 학습과 무관한 화면에서는 과정 셀렉트를 숨긴다.
useLocation으로 /learn 경로에서만 렌더 — 도구는 쓰이는 자리에서만 보인다.

운영 검증: 대시보드에 셀렉트 없음, 학습 센터에서 노출·선택 유지 브라우저 확인.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
AWESOMEDEV 2026-07-20 12:19:50 +09:00
parent c5f875d990
commit d8708caca5

View File

@ -4,7 +4,7 @@
// : courseCatalog.jsx .map
// . 100 .
import { Suspense } from 'react';
import { Routes, Route, NavLink, Navigate, Outlet, useNavigate } from 'react-router-dom';
import { Routes, Route, NavLink, Navigate, Outlet, useNavigate, useLocation } from 'react-router-dom';
import { useAuth } from './AuthContext';
import { ALL_COURSES } from './courseCatalog';
import { LEVEL_COURSES } from './levelCatalog';
@ -53,12 +53,20 @@ function RequireMentor() {
return <Outlet />;
}
// (////) .
// : "
// " . localStorage .
// (////) ,
// (/learn) .
// : ·
// ( UI ).
// , localStorage .
function TrackSelect() {
const { track, setTrack } = useTrack();
const navigate = useNavigate();
const location = useLocation();
// (/learn, /learn/, /learn//quiz) .
if (!location.pathname.startsWith('/learn')) {
return null;
}
function onChange(e) {
setTrack(e.target.value);