ERP-node/frontend
SeongHyun Kim 3933f1e966 feat(pop): PC <-> POP 모드 전환 네비게이션 + POP 기본 화면(Landing) 기능
PC 모드에서 프로필 드롭다운을 통해 POP 화면으로 진입하고, POP에서 PC로
돌아오는 양방향 네비게이션을 구현한다. 기존 메뉴 시스템(menu_info)을 활용하여
POP 화면의 권한 제어와 회사별 관리가 가능하도록 한다.
[백엔드: POP 메뉴 조회 API]
- AdminService.getPopMenuList: L1 POP 메뉴(menu_desc [POP] 또는
  menu_name_kor POP 포함) 하위의 active L2 메뉴 조회
- company_code 필터링 적용 (L1 + L2 모두)
- landingMenu 반환: menu_desc에 [POP_LANDING] 태그가 있는 메뉴
- GET /admin/pop-menus 라우트 추가
[프론트: PC -> POP 진입]
- AppLayout: handlePopModeClick 함수 추가
  - landingMenu 있으면 해당 URL로 바로 이동
  - 없으면 childMenus 수에 따라 단일 화면/대시보드/안내 분기
- UserDropdown: onPopModeClick prop + "POP 모드" 메뉴 항목 추가
- 사이드바 하단 + 모바일 헤더 프로필 드롭다운 2곳 모두 적용
[프론트: POP -> PC 복귀]
- DashboardHeader: "PC 모드" 버튼 추가 (router.push "/")
- POP 개별 화면 page.tsx: 상단 네비게이션 바 추가
  (POP 대시보드 / PC 모드 버튼)
[프론트: POP 대시보드 동적 메뉴]
- PopDashboard: 하드코딩 MENU_ITEMS -> menuApi.getPopMenus() API 조회
- API 실패 시 하드코딩 fallback 유지
[프론트: POP 기본 화면 설정 (MenuFormModal)]
- L2 POP 화면 수정 시 "POP 기본 화면으로 설정" 체크박스 추가
- 체크 시 menu_desc에 [POP_LANDING] 태그 자동 추가/제거
- 회사당 1개만 설정 가능 (다른 메뉴에 이미 설정 시 비활성화)
[API 타입]
- PopMenuItem, PopMenuResponse(landingMenu 포함) 인터페이스 추가
- menuApi.getPopMenus() 함수 추가
2026-03-09 12:16:26 +09:00
..
app feat(pop): PC <-> POP 모드 전환 네비게이션 + POP 기본 화면(Landing) 기능 2026-03-09 12:16:26 +09:00
components feat(pop): PC <-> POP 모드 전환 네비게이션 + POP 기본 화면(Landing) 기능 2026-03-09 12:16:26 +09:00
constants Merge branch 'main' of http://39.117.244.52:3000/kjs/ERP-node into feature/screen-management 2025-11-06 11:58:09 +09:00
contexts feat: Implement layer activation and data transfer enhancements 2026-02-25 17:40:17 +09:00
docs 액션 노드들 로직 구현 2025-10-02 17:51:15 +09:00
hooks feat(pop-button): 제어 실행 기능 추가 + 연결 데이터 UX 개선 + 필터 UI 개선 2026-03-07 09:56:58 +09:00
lib feat(pop): PC <-> POP 모드 전환 네비게이션 + POP 기본 화면(Landing) 기능 2026-03-09 12:16:26 +09:00
providers 현대적 라이브러리 도입 완료 2025-09-02 18:25:44 +09:00
public 날씨 2025-10-23 13:17:21 +09:00
scripts Merge branch 'ksh-v2-work' 2026-02-24 16:41:29 +09:00
stores 로그 제거 2026-01-06 13:08:33 +09:00
test-scenarios docs: 다양한 문서 및 가이드 업데이트 2026-01-28 17:36:19 +09:00
types feat: Enhance V2Repeater and configuration panel with source detail auto-fetching 2026-02-28 14:33:18 +09:00
utils ConnectionSetupModal 리팩터링 2025-09-16 15:43:18 +09:00
.dockerignore 최초커밋 2025-08-21 09:41:46 +09:00
.gitignore 최초커밋 2025-08-21 09:41:46 +09:00
.prettierignore 최초커밋 2025-08-21 09:41:46 +09:00
.prettierrc 최초커밋 2025-08-21 09:41:46 +09:00
MODAL_REPEATER_TABLE_DEBUG.md fix: 수주등록 항목추가 시 정보출력 가능하게 수정 2025-11-19 11:48:00 +09:00
README.md 화면관리 삭제기능구현 2025-09-08 13:10:09 +09:00
components.json 최초커밋 2025-08-21 09:41:46 +09:00
eslint.config.mjs 자바스크립트용 no-unused-vars 규칙 끄기 2025-08-26 17:21:27 +09:00
middleware.ts refactor: Update middleware and enhance component interactions 2026-02-24 11:02:43 +09:00
next.config.mjs feat: Implement advanced filtering capabilities in entity search 2026-02-26 16:07:15 +09:00
package-lock.json feat: Implement advanced filtering capabilities in entity search 2026-02-26 16:07:15 +09:00
package.json feat(pop-card-list): PopCardList 컴포넌트 구현 2026-02-24 15:54:57 +09:00
postcss.config.mjs 최초커밋 2025-08-21 09:41:46 +09:00
tsconfig.json feat(pop): 액션 아키텍처 + 모달 시스템 구현 (STEP 0~7) 2026-02-23 13:54:49 +09:00

README.md

This is a Next.js project bootstrapped with create-next-app.

Environment Setup

환경변수 설정

개발 환경에서 파일 미리보기가 정상 작동하도록 하려면 다음 환경변수를 설정하세요:

  1. .env.local 파일을 생성하고 다음 내용을 추가:
# 개발 환경 (Next.js rewrites 사용)
NEXT_PUBLIC_API_URL=/api

# 운영 환경에서는 실제 백엔드 URL 사용
# NEXT_PUBLIC_API_URL=http://39.117.244.52:8080/api
  1. 백엔드 서버가 포트 3000에서 실행되고 있는지 확인
  2. Next.js 개발 서버는 포트 9771에서 실행

파일 미리보기 문제 해결

파일 미리보기에서 CORS 오류가 발생하는 경우:

  1. 백엔드 서버가 정상 실행 중인지 확인
  2. Next.js rewrites 설정이 올바른지 확인 (next.config.mjs)
  3. 환경변수 NEXT_PUBLIC_API_URL이 올바르게 설정되었는지 확인

Getting Started

First, run the development server:

npm run dev
# or
yarn dev
# or
pnpm dev
# or
bun dev

Open http://localhost:3000 with your browser to see the result.

You can start editing the page by modifying app/page.tsx. The page auto-updates as you edit the file.

This project uses next/font to automatically optimize and load Geist, a new font family for Vercel.

Learn More

To learn more about Next.js, take a look at the following resources:

You can check out the Next.js GitHub repository - your feedback and contributions are welcome!

Deploy on Vercel

The easiest way to deploy your Next.js app is to use the Vercel Platform from the creators of Next.js.

Check out our Next.js deployment documentation for more details.