diff --git a/README.md b/README.md
index 7ff5152..1ca3ead 100644
--- a/README.md
+++ b/README.md
@@ -81,6 +81,13 @@ npm run dev # 개발 서버 (http://localhost:5173)
| marked 5 | Markdown → HTML 변환 |
| tesseract.js| 이미지 OCR |
+## 재빌드
+```bash
+npm run build
+npm run preview # http://localhost:4173
+```
+
+
## 빌드 & 미리보기
```bash
nvm use 20
@@ -88,12 +95,6 @@ npm ci # (처음/의존성 변경 시 권장) 이미 설치돼 있으면 npm
npm run build
```
-## 재빌드
-```bash
-npm run build
-npm run preview # http://localhost:4173
-```
-
## 프로덕션 배포 (Apache)
이 프로젝트는 기본적으로 API 호출을 `API_BASE_URL` 기준으로 수행합니다.
diff --git a/src/App.jsx b/src/App.jsx
index efe83d9..b1e89c1 100644
--- a/src/App.jsx
+++ b/src/App.jsx
@@ -58,7 +58,7 @@ export default function App() {
lecture: ,
// community 제거
login: { handleNavigate('chat'); }} />,
- ai_news: ,
+ ai_news: ,
qna: ,
};
diff --git a/src/pages/AiNewsPage.jsx b/src/pages/AiNewsPage.jsx
index 05fd612..c5c4bb7 100644
--- a/src/pages/AiNewsPage.jsx
+++ b/src/pages/AiNewsPage.jsx
@@ -17,7 +17,7 @@ function normalizeExternalUrl(raw) {
return s; // leave as-is (could be relative path on same origin)
}
-export default function AiNewsPage() {
+export default function AiNewsPage({ onNavigate }) {
const { user } = useAuth();
const [news, setNews] = useState([]);
const [newsOffset, setNewsOffset] = useState(0);
@@ -116,6 +116,10 @@ export default function AiNewsPage() {
const submitNews = async () => {
if (!newsUrl.trim()) return;
+ if (!user) {
+ setNewsError('로그인 후 뉴스 등록이 가능합니다.');
+ return;
+ }
await fetch(`${API_BASE_URL}/community/ai_news`, {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
@@ -191,11 +195,20 @@ export default function AiNewsPage() {
)}
- {user && !showNewsEditor && (
+ {!showNewsEditor && (