From 6f3ed4e703acd74adc2ec796ca9d6444c32b31e6 Mon Sep 17 00:00:00 2001 From: ddingjoo Date: Tue, 6 Jan 2026 14:49:11 +0900 Subject: [PATCH 1/2] =?UTF-8?q?[FEAT]=20Sidebar=20=EB=A9=94=EB=89=B4=20?= =?UTF-8?q?=EC=B9=B4=ED=85=8C=EA=B3=A0=EB=A6=AC=20=EA=B5=AC=EC=A1=B0=20?= =?UTF-8?q?=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 영어공부/프리토킹 -> 말하기연습/쓰기연습으로 최상단 카테고리 변경 - 말하기연습: 오픽연습, AI와 말해보기 - 쓰기연습: 사람들과 채팅하기, 작문연습 - localStorage 기본 펼침 상태 키 업데이트 - 관련 아이콘 변경 (Mic, Create) Closes #28 --- src/layouts/MainLayout/Sidebar/index.jsx | 44 ++++++++++++------------ 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/src/layouts/MainLayout/Sidebar/index.jsx b/src/layouts/MainLayout/Sidebar/index.jsx index 99812a3..0fab047 100644 --- a/src/layouts/MainLayout/Sidebar/index.jsx +++ b/src/layouts/MainLayout/Sidebar/index.jsx @@ -20,11 +20,11 @@ import { ChevronRight as ChevronRightIcon, Dashboard as DashboardIcon, Headphones as OpicIcon, - Chat as FreetalkIcon, Edit as WritingIcon, Assessment as ReportIcon, Settings as SettingsIcon, - School as EnglishIcon, + Mic as SpeakingIcon, + Create as WritingCategoryIcon, People as PeopleIcon, SmartToy as AiIcon, ExpandMore as ExpandMoreIcon, @@ -39,44 +39,44 @@ const menuItems = [ category: '학습 모드', items: [ { - id: 'english', - label: '영어공부', - icon: EnglishIcon, + id: 'speaking', + label: '말하기연습', + icon: SpeakingIcon, children: [ { id: 'opic', - label: 'OPIC 연습', + label: '오픽연습', icon: OpicIcon, path: '/opic', description: '레벨별 맞춤 연습' }, { - id: 'writing', - label: '작문 연습', - icon: WritingIcon, - path: '/writing', - description: '문법 교정 & 피드백' + id: 'ai-talk', + label: 'AI와 말해보기', + icon: AiIcon, + path: '/freetalk/ai', + description: 'AI와 자유로운 대화' }, ], }, { - id: 'freetalk', - label: '프리토킹', - icon: FreetalkIcon, + id: 'writing', + label: '쓰기연습', + icon: WritingCategoryIcon, children: [ { - id: 'freetalk-people', - label: '사람들과', + id: 'chat-people', + label: '사람들과 채팅하기', icon: PeopleIcon, path: '/freetalk/people', description: '다른 학습자와 대화' }, { - id: 'freetalk-ai', - label: 'AI와', - icon: AiIcon, - path: '/freetalk/ai', - description: 'AI와 자유로운 대화' + id: 'writing-practice', + label: '작문연습', + icon: WritingIcon, + path: '/writing', + description: '문법 교정 & 피드백' }, ], }, @@ -119,7 +119,7 @@ const Sidebar = ({ open, collapsed, onToggleCollapse, onClose }) => { // 펼침 상태 (localStorage 저장) const [expandedMenus, setExpandedMenus] = useState(() => { const saved = localStorage.getItem('expandedMenus') - return saved ? JSON.parse(saved) : { english: true, freetalk: true } + return saved ? JSON.parse(saved) : { speaking: true, writing: true } }) useEffect(() => { From 3c7d7865569b6a220238c7a1e07a75677d173808 Mon Sep 17 00:00:00 2001 From: ddingjoo Date: Tue, 6 Jan 2026 14:52:27 +0900 Subject: [PATCH 2/2] =?UTF-8?q?[FEAT]=20Dashboard=20=EC=B9=B4=EB=93=9C=20?= =?UTF-8?q?=EC=B9=B4=ED=85=8C=EA=B3=A0=EB=A6=AC=20=EA=B5=AC=EC=A1=B0=20?= =?UTF-8?q?=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 영어공부/프리토킹 -> 말하기연습/쓰기연습으로 변경 - 말하기연습: 오픽연습, AI와 말해보기 - 쓰기연습: 사람들과 채팅하기, 작문연습 - 카드 설명 문구 업데이트 --- src/App.jsx | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/src/App.jsx b/src/App.jsx index f52de8c..b054484 100644 --- a/src/App.jsx +++ b/src/App.jsx @@ -2,8 +2,8 @@ import { useState } from 'react' import { Routes, Route, useNavigate } from 'react-router-dom' import { Box, Typography, Container, Card, CardContent, Grid, Button, Collapse, IconButton } from '@mui/material' import { - School as EnglishIcon, - Chat as FreetalkIcon, + Mic as SpeakingIcon, + Create as WritingCategoryIcon, Headphones as OpicIcon, Edit as WritingIcon, People as PeopleIcon, @@ -20,25 +20,25 @@ function Dashboard() { const learningModes = [ { - id: 'english', - title: '영어공부', - description: 'OPIC 연습, 작문 연습으로 영어 실력 향상', - icon: EnglishIcon, + id: 'speaking', + title: '말하기연습', + description: '오픽 연습과 AI 대화로 스피킹 실력 향상', + icon: SpeakingIcon, color: '#2196f3', children: [ - { id: 'opic', title: 'OPIC 연습', icon: OpicIcon, path: '/opic', description: '레벨별 맞춤 연습' }, - { id: 'writing', title: '작문 연습', icon: WritingIcon, path: '/writing', description: '문법 교정 & 피드백' }, + { id: 'opic', title: '오픽연습', icon: OpicIcon, path: '/opic', description: '레벨별 맞춤 연습' }, + { id: 'ai-talk', title: 'AI와 말해보기', icon: AiIcon, path: '/freetalk/ai', description: 'AI와 자유로운 대화' }, ], }, { - id: 'freetalk', - title: '프리토킹', - description: '사람들과 또는 AI와 자유롭게 대화', - icon: FreetalkIcon, + id: 'writing', + title: '쓰기연습', + description: '채팅과 작문으로 라이팅 실력 향상', + icon: WritingCategoryIcon, color: '#4caf50', children: [ - { id: 'freetalk-people', title: '사람들과', icon: PeopleIcon, path: '/freetalk/people', description: '다른 학습자와 대화' }, - { id: 'freetalk-ai', title: 'AI와', icon: AiIcon, path: '/freetalk/ai', description: 'AI와 자유 대화' }, + { id: 'chat-people', title: '사람들과 채팅하기', icon: PeopleIcon, path: '/freetalk/people', description: '다른 학습자와 대화' }, + { id: 'writing-practice', title: '작문연습', icon: WritingIcon, path: '/writing', description: '문법 교정 & 피드백' }, ], }, ]