Index: document/src/App.jsx =================================================================== diff -u -r9a8a9a5cca54feb8f381a088501839cff499b02e -r744ac432b7176fb496f274c226781aec7a42f812 --- document/src/App.jsx (.../App.jsx) (revision 9a8a9a5cca54feb8f381a088501839cff499b02e) +++ document/src/App.jsx (.../App.jsx) (revision 744ac432b7176fb496f274c226781aec7a42f812) @@ -1,8 +1,8 @@ import { Routes, Route, Navigate } from 'react-router-dom' import { ThemeProvider } from '@/components/shadcn/theme-provider' import { SubMenuContextProvider } from '@/contexts/contexts' -import '../../reference/light-blue/documentation/css/font-awesome/css/font-awesome.min.css' -import '../../reference/light-blue/css/lib/font-awesome/font-awesome.css' +// import '../../reference/light-blue/documentation/css/font-awesome/css/font-awesome.min.css' +// import '../../reference/light-blue/css/lib/font-awesome/font-awesome.css' import '@/assets/css/globals.css' import '@/assets/css/test.css' import Layout from '@/layout/Layout' @@ -35,7 +35,7 @@ Route path 를 만들고 contexts/contexts.jsx 파일로 가서 서브 메뉴 링크를 수정하면 연결 됩니다. To connect the path to the submenu, check 'contexts/contets.jsx' */} - {/* }> */} + } /> } /> } /> @@ -47,7 +47,7 @@ } /> } /> } /> - {/* */} + Index: document/src/assets/css/globals.css =================================================================== diff -u -r3dbe1098df9b1ed1b18f66471db263644b63efb2 -r744ac432b7176fb496f274c226781aec7a42f812 --- document/src/assets/css/globals.css (.../globals.css) (revision 3dbe1098df9b1ed1b18f66471db263644b63efb2) +++ document/src/assets/css/globals.css (.../globals.css) (revision 744ac432b7176fb496f274c226781aec7a42f812) @@ -65,7 +65,7 @@ --ring: 228 48% 40%; } } -.loading{ +.loading { width: 20px !important; height: 20px !important; animation: spin 3s linear infinite; @@ -79,10 +79,6 @@ /* global lucide icon size */ /* 루시드 아이콘 전역 사이즈 변경 */ .lucide { - width: 12px; - height: 12px; + width: 13px; + height: 13px; } - -.lucide-loader { - -} \ No newline at end of file Index: document/src/components/shadcn/ui/accordion.jsx =================================================================== diff -u -rccb300fdb5164cab7100b83ce99df42b554b9d3b -r744ac432b7176fb496f274c226781aec7a42f812 --- document/src/components/shadcn/ui/accordion.jsx (.../accordion.jsx) (revision ccb300fdb5164cab7100b83ce99df42b554b9d3b) +++ document/src/components/shadcn/ui/accordion.jsx (.../accordion.jsx) (revision 744ac432b7176fb496f274c226781aec7a42f812) @@ -9,7 +9,7 @@ const Accordion = AccordionPrimitive.Root const AccordionItem = React.forwardRef(({ className, ...props }, ref) => ( - + // lg:border-0 when it's on the large screen size: border none )) AccordionItem.displayName = "AccordionItem" @@ -23,7 +23,7 @@ )} {...props}> {children} - + {/* */} )) @@ -34,7 +34,7 @@ ref={ref} className="overflow-hidden text-sm transition-all data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down" {...props}> -
{children}
+
{children}
)) Index: document/src/contexts/contexts.jsx =================================================================== diff -u -r2965a0b467402f0b6c3d8cd5b2f3d6957269dc9b -r744ac432b7176fb496f274c226781aec7a42f812 --- document/src/contexts/contexts.jsx (.../contexts.jsx) (revision 2965a0b467402f0b6c3d8cd5b2f3d6957269dc9b) +++ document/src/contexts/contexts.jsx (.../contexts.jsx) (revision 744ac432b7176fb496f274c226781aec7a42f812) @@ -56,54 +56,54 @@ title: ["ARMS Product", "Service"], Icon: ()=> (), subMenus: [ - { id: 1, to: '/product-service-choice', title: '제품관리 : 서비스 선택' }, - { id: 2, to: '/product-service-check', title: '제품관리 : 서비스 산출물 조회' }, - { id: 3, to: '/product-service-edit', title: '제품관리 : 서비스 산출물 편집/삭제' }, - { id: 4, to: '/version-control-choice', title: '버전관리 : 서비스 선택' }, - { id: 5, to: '/version-control-check', title: '버전관리 : 서비스 버전 조회' }, - { id: 6, to: '/version-control-edit', title: '버전관리 : 서비스 버전 편집/삭제' }, + { id: 1, to: '/product-service-choice', title: '서비스 선택' }, + { id: 2, to: '/product-service-check', title: '서비스 산출물 조회' }, + { id: 3, to: '/product-service-edit', title: '서비스 산출물 편집/삭제' }, + { id: 4, to: '/version-control-choice', title: '서비스 선택' }, + { id: 5, to: '/version-control-check', title: '서비스 버전 조회' }, + { id: 6, to: '/version-control-edit', title: '서비스 버전 편집/삭제' }, ] }, { to: "#", title: ["ALM", "Jira, github, etc."], Icon: ()=> (), subMenus: [ - { id: 1, to: '#', title: '서버관리 : ALM 서버 조회' }, - { id: 2, to: '#', title: '서버관리 : ALM 서버 편집/삭제' }, - { id: 3, to: '#', title: '상태관리 : ALM 서버 선택' }, - { id: 4, to: '#', title: '연결관리 : 연결된 Jira 조회' }, - { id: 5, to: '#', title: '연결관리 : 제품 조회/선택' }, - { id: 6, to: '#', title: '연결관리 : 제품 버전 조회' }, - { id: 7, to: '#', title: '연결관리 : ALM 프로젝트 list' }, + { id: 1, to: '#', title: 'ALM 서버 조회' }, + { id: 2, to: '#', title: 'ALM 서버 편집/삭제' }, + { id: 3, to: '#', title: 'ALM 서버 선택' }, + { id: 4, to: '#', title: '연결된 Jira 조회' }, + { id: 5, to: '#', title: '제품 조회/선택' }, + { id: 6, to: '#', title: '제품 버전 조회' }, + { id: 7, to: '#', title: 'ALM 프로젝트 list' }, ] }, { to: "#", title: "Requirement", Icon: ()=> (), subMenus: [ - { id: 1, to: '#', title: '요구관리 : 요구 사항 조회' }, - { id: 2, to: '#', title: '요구관리 : 요구 사항 내용' }, - { id: 3, to: '#', title: '현황관리 : 제품 버전 선택' }, - { id: 4, to: '#', title: '현황관리 : Issue list' }, - { id: 5, to: '#', title: '간트차트 : 간트 차트' }, - { id: 6, to: '#', title: '칸반보드 : 칸반 보드' }, + { id: 1, to: '#', title: '요구 사항 조회' }, + { id: 2, to: '#', title: '요구 사항 내용' }, + { id: 3, to: '#', title: '제품 버전 선택' }, + { id: 4, to: '#', title: 'Issue list' }, + { id: 5, to: '#', title: '간트 차트' }, + { id: 6, to: '#', title: '칸반 보드' }, ] }, { to: "#", title: "Analysis", Icon: ()=> (), subMenus: [ - { id: 1, to: '#', title: '일정분석 : Time 분석' }, - { id: 2, to: '#', title: '일정분석 : 진행 현황' }, - { id: 3, to: '#', title: '범위분석 : Scope 분석' }, - { id: 4, to: '#', title: '범위분석 : 범위별 차트' }, - { id: 5, to: '#', title: '자원분석 : Resource 분석' }, - { id: 6, to: '#', title: '자원분석 : 작업자 현황' }, - { id: 7, to: '#', title: '비용분석 : Cost 분석' }, - { id: 8, to: '#', title: '비용분석 : 프로젝트 비용 산정' }, + { id: 2, to: '#', title: '진행 현황' }, + { id: 1, to: '#', title: 'Time 분석' }, + { id: 3, to: '#', title: 'Scope 분석' }, + { id: 4, to: '#', title: '범위별 차트' }, + { id: 5, to: '#', title: 'Resource 분석' }, + { id: 6, to: '#', title: '작업자 현황' }, + { id: 7, to: '#', title: 'Cost 분석' }, + { id: 8, to: '#', title: '프로젝트 비용 산정' }, ] }, { Index: document/src/layout/HeaderMenu.jsx =================================================================== diff -u -r8d478ba62441f19281787298267e58ee501a6577 -r744ac432b7176fb496f274c226781aec7a42f812 --- document/src/layout/HeaderMenu.jsx (.../HeaderMenu.jsx) (revision 8d478ba62441f19281787298267e58ee501a6577) +++ document/src/layout/HeaderMenu.jsx (.../HeaderMenu.jsx) (revision 744ac432b7176fb496f274c226781aec7a42f812) @@ -5,39 +5,24 @@ export const AccordionMenu = ({ title, to, isActive }) => { return ( - - {title} + + {title} ) } export const SubMenu = () => { const { menuItems, activeLink } = useContext(SubMenuContext) - const [openItems, setOpenItems] = useState([]) - const location = useLocation() + // const location = useLocation() - useEffect(() => { - const newOpenItems = menuItems - .map((item, index) => { - if (item.subMenus && (item.subMenus.some(subItem => subItem.to === location.pathname) || openItems.includes(`item-${index}`))) { - return `item-${index}`; - } - return null; - }) - .filter(Boolean); - setOpenItems(newOpenItems); - }, [location, menuItems]); + const allItemValues = menuItems.map((_, index) => `item-${index}`); - const handleAccordionChange = (value) => { - setOpenItems(value); - }; - return ( <> {menuItems.map((item, index) => { const isActive = activeLink === item.to || (item.subMenus && item.subMenus.some(subItem => subItem.to === activeLink)) const combinedClassName = ` - ${isActive ? `active !text-blue-400` : ''} + ${isActive ? `active !text-data` : ''} ${item.className || ''} `.trim(); @@ -46,14 +31,12 @@ item.subMenus && item.subMenus.length > 0 ? ( + type="multiple" + value={allItemValues} + className="flex flex-col "> {Array.isArray(item.title) ? ( @@ -64,17 +47,19 @@ item.title )} -
- {/* 아코디언 서브 메뉴 출력 */} + +
+ {/*서브 메뉴 출력 */} {item.subMenus.map((el) => ( ))} - {/* 아코디언 서브 메뉴 출력 END */} + {/* 서브 메뉴 출력 END */}
@@ -83,9 +68,10 @@ - + {/* */} + {Array.isArray(item.title) ? ( <> {item.title[0]} {item.title[1]} @@ -108,13 +94,13 @@
- + {/* 상단 브랜드 로고 -- Page Header -- */}
-