Tablayout width 100% 이슈 및 Featured Brands 이미지 로드
This commit is contained in:
@@ -34,6 +34,7 @@ const TabItemBase = ({
|
|||||||
subTitle,
|
subTitle,
|
||||||
showSubTab = false,
|
showSubTab = false,
|
||||||
onFocus,
|
onFocus,
|
||||||
|
path,
|
||||||
...rest
|
...rest
|
||||||
}) => {
|
}) => {
|
||||||
const [focused, setFocused] = useState(false);
|
const [focused, setFocused] = useState(false);
|
||||||
@@ -149,7 +150,7 @@ const TabItemBase = ({
|
|||||||
marqueeOn={"focus"}
|
marqueeOn={"focus"}
|
||||||
className={classNames(css.text, isSubItem && css.subItem)}
|
className={classNames(css.text, isSubItem && css.subItem)}
|
||||||
>
|
>
|
||||||
{title}
|
{path ? <img src={path} alt="" /> : title}
|
||||||
</Marquee>
|
</Marquee>
|
||||||
)}
|
)}
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -52,10 +52,11 @@ const CancelableDiv = Cancelable(
|
|||||||
);
|
);
|
||||||
|
|
||||||
class TabMenuItem {
|
class TabMenuItem {
|
||||||
constructor(icons = "", title = "", id, target, children = []) {
|
constructor(icons = "", title = "", id, path, target, children = []) {
|
||||||
this.icons = icons;
|
this.icons = icons;
|
||||||
this.title = title;
|
this.title = title;
|
||||||
this.id = id;
|
this.id = id;
|
||||||
|
this.path = path;
|
||||||
this.target = target;
|
this.target = target;
|
||||||
this.children = []; //TabMenuItem
|
this.children = []; //TabMenuItem
|
||||||
if (children && children.length > 0) {
|
if (children && children.length > 0) {
|
||||||
@@ -64,6 +65,7 @@ class TabMenuItem {
|
|||||||
children[i].icons,
|
children[i].icons,
|
||||||
children[i].title,
|
children[i].title,
|
||||||
children[i].id,
|
children[i].id,
|
||||||
|
children[i].path,
|
||||||
children[i].target,
|
children[i].target,
|
||||||
children[i].children
|
children[i].children
|
||||||
);
|
);
|
||||||
@@ -112,6 +114,7 @@ export default function TabLayout({ topPanelName, onTabActivated }) {
|
|||||||
const dispatch = useDispatch();
|
const dispatch = useDispatch();
|
||||||
const [mainExpanded, setMainExpanded] = useState(false);
|
const [mainExpanded, setMainExpanded] = useState(false);
|
||||||
const [mainSelectedIndex, setMainSelectedIndex] = useState(-1);
|
const [mainSelectedIndex, setMainSelectedIndex] = useState(-1);
|
||||||
|
const [secondDepthReduce, setSecondDepthReduce] = useState(false);
|
||||||
const [focused, setFocused] = useState(false);
|
const [focused, setFocused] = useState(false);
|
||||||
const [tabs, setTabs] = useState([]);
|
const [tabs, setTabs] = useState([]);
|
||||||
const [tabFocused, setTabFocused] = useState([false, false, false]); //COLLABSED_MAIN, ACTIVATED_MAIN, ACTIVATED_SUB
|
const [tabFocused, setTabFocused] = useState([false, false, false]); //COLLABSED_MAIN, ACTIVATED_MAIN, ACTIVATED_SUB
|
||||||
@@ -176,7 +179,7 @@ export default function TabLayout({ topPanelName, onTabActivated }) {
|
|||||||
|
|
||||||
case "Featured Brands":
|
case "Featured Brands":
|
||||||
result = data?.shortFeaturedBrands.map((item) => ({
|
result = data?.shortFeaturedBrands.map((item) => ({
|
||||||
title: item.patncLogoPath,
|
path: item.patncLogoPath,
|
||||||
}));
|
}));
|
||||||
break;
|
break;
|
||||||
case "My Page":
|
case "My Page":
|
||||||
@@ -221,6 +224,7 @@ export default function TabLayout({ topPanelName, onTabActivated }) {
|
|||||||
menuItems[i].children = subData.map((subItem) => ({
|
menuItems[i].children = subData.map((subItem) => ({
|
||||||
id: subItem.id,
|
id: subItem.id,
|
||||||
title: subItem.title,
|
title: subItem.title,
|
||||||
|
path: subItem.path,
|
||||||
}));
|
}));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -237,6 +241,7 @@ export default function TabLayout({ topPanelName, onTabActivated }) {
|
|||||||
menuItems[i].icons,
|
menuItems[i].icons,
|
||||||
menuItems[i].title,
|
menuItems[i].title,
|
||||||
menuItems[i].id,
|
menuItems[i].id,
|
||||||
|
menuItems[i].path,
|
||||||
menuItems[i].target,
|
menuItems[i].target,
|
||||||
menuItems[i].children
|
menuItems[i].children
|
||||||
);
|
);
|
||||||
@@ -413,15 +418,27 @@ export default function TabLayout({ topPanelName, onTabActivated }) {
|
|||||||
}
|
}
|
||||||
}, [tabActivated, showTab]);
|
}, [tabActivated, showTab]);
|
||||||
|
|
||||||
useEffect(() => {}, [showSubTab, mainSelectedIndex]);
|
useEffect(() => {}, []);
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
setSecondDepthReduce(false);
|
||||||
|
if (showSubTab) {
|
||||||
|
tabs[mainSelectedIndex]?.children.map((item) => {
|
||||||
|
if (item.path) {
|
||||||
|
console.log("#item.path", item.path);
|
||||||
|
setSecondDepthReduce(true);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}, [showSubTab, mainSelectedIndex, secondDepthReduce]);
|
||||||
if (!showTab) {
|
if (!showTab) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
return (
|
return (
|
||||||
<div className={css.tabLayoutWrap}>
|
<div className={classNames(css.tabLayoutWrap, !tabActivated && css.hide)}>
|
||||||
{/* collabsed Main */}
|
{/* collabsed Main */}
|
||||||
<Container
|
<Container
|
||||||
className={classNames(css.tabWrap, css.basicLayout)}
|
className={classNames(css.tabWrap)}
|
||||||
onFocus={onTabHasFocus(COLLABSED_MAIN)}
|
onFocus={onTabHasFocus(COLLABSED_MAIN)}
|
||||||
onMouseOver={onTabHasFocus(COLLABSED_MAIN)}
|
onMouseOver={onTabHasFocus(COLLABSED_MAIN)}
|
||||||
onBlur={onTabBlur(COLLABSED_MAIN)}
|
onBlur={onTabBlur(COLLABSED_MAIN)}
|
||||||
@@ -488,6 +505,7 @@ export default function TabLayout({ topPanelName, onTabActivated }) {
|
|||||||
className={classNames(
|
className={classNames(
|
||||||
css.tabWrap,
|
css.tabWrap,
|
||||||
css.secondDepthLayout,
|
css.secondDepthLayout,
|
||||||
|
// secondDepthReduce && css.
|
||||||
!showSubTab && css.hide
|
!showSubTab && css.hide
|
||||||
)}
|
)}
|
||||||
onFocus={onTabHasFocus(ACTIVATED_SUB)}
|
onFocus={onTabHasFocus(ACTIVATED_SUB)}
|
||||||
@@ -508,6 +526,7 @@ export default function TabLayout({ topPanelName, onTabActivated }) {
|
|||||||
deActivateTab={deActivateTab}
|
deActivateTab={deActivateTab}
|
||||||
title={item.title}
|
title={item.title}
|
||||||
lgCatCd={item.id}
|
lgCatCd={item.id}
|
||||||
|
path={item.path}
|
||||||
/>
|
/>
|
||||||
);
|
);
|
||||||
})}
|
})}
|
||||||
|
|||||||
@@ -3,7 +3,9 @@ export const convertThemeColor = (iconType) => {
|
|||||||
const theme = {
|
const theme = {
|
||||||
light: {
|
light: {
|
||||||
normal: "#353535",
|
normal: "#353535",
|
||||||
expanded: "#FEFEFE",
|
expanded: "#353535",
|
||||||
|
selected: "#FEFEFE",
|
||||||
|
focused: "#FEFEFE",
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user