[TSwitch,Reminderes] 스위치 값전달 부분 작성
- 기존 Reminderes 탭부분 제거 - 스위치값 전달부분 작성 및 에러 제거
This commit is contained in:
@@ -19,18 +19,16 @@ export default function THeader({
|
|||||||
title,
|
title,
|
||||||
className,
|
className,
|
||||||
onBackButton,
|
onBackButton,
|
||||||
onDeleteButton,
|
|
||||||
onClick,
|
onClick,
|
||||||
|
chkDelete,
|
||||||
}) {
|
}) {
|
||||||
return (
|
return (
|
||||||
<Container className={classNames(css.tHeader, className)}>
|
<Container className={classNames(css.tHeader, className)}>
|
||||||
{onBackButton && (
|
{onBackButton && <SpottableComponent className={css.button} />}
|
||||||
<SpottableComponent className={css.button} onClick={onClick} />
|
|
||||||
)}
|
|
||||||
<div className={css.title}>{title}</div>
|
<div className={css.title}>{title}</div>
|
||||||
{title === "Reminders" && onDeleteButton && (
|
{title === "Reminders" && chkDelete && (
|
||||||
<>
|
<>
|
||||||
<TSwitch selected={true} />
|
<TSwitch onClick={onClick} />
|
||||||
<TButton
|
<TButton
|
||||||
type={TYPES.mypage}
|
type={TYPES.mypage}
|
||||||
className={css.deleteBtn}
|
className={css.deleteBtn}
|
||||||
|
|||||||
@@ -5,8 +5,8 @@ import classNames from "classnames";
|
|||||||
import Switch from "../../../node_modules/@enact/sandstone/Switch/Switch";
|
import Switch from "../../../node_modules/@enact/sandstone/Switch/Switch";
|
||||||
import css from "../TSwitch/TSwitch.module.less";
|
import css from "../TSwitch/TSwitch.module.less";
|
||||||
|
|
||||||
export default function TSwitch(className, selected, ...rest) {
|
export default function TSwitch({ className, onClick }) {
|
||||||
return (
|
return (
|
||||||
<Switch {...rest} className={classNames(css.tSwitch, className)}></Switch>
|
<Switch className={classNames(css.tSwitch, className)} onClick={onClick} />
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,11 +1,10 @@
|
|||||||
import React, { useCallback, useEffect, useState } from "react";
|
import React, { useEffect, useState } from "react";
|
||||||
|
|
||||||
import { useSelector } from "react-redux";
|
import { useSelector } from "react-redux";
|
||||||
|
|
||||||
import Spotlight from "@enact/spotlight";
|
import Spotlight from "@enact/spotlight";
|
||||||
|
|
||||||
import TBody from "../../components/TBody/TBody";
|
import TBody from "../../components/TBody/TBody";
|
||||||
import TButton, { TYPES } from "../../components/TButton/TButton";
|
|
||||||
import THeader from "../../components/THeader/THeader";
|
import THeader from "../../components/THeader/THeader";
|
||||||
import TPanel from "../../components/TPanel/TPanel";
|
import TPanel from "../../components/TPanel/TPanel";
|
||||||
import useScrollTo from "../../hooks/useScrollTo";
|
import useScrollTo from "../../hooks/useScrollTo";
|
||||||
@@ -36,6 +35,20 @@ export default function MyPagePanel() {
|
|||||||
};
|
};
|
||||||
|
|
||||||
const SelectedComponent = menuNm && myPageComponents[menuNm];
|
const SelectedComponent = menuNm && myPageComponents[menuNm];
|
||||||
|
const [isOn, setIsOn] = useState(false);
|
||||||
|
const [checkTmp, setCheckTmp] = useState(false);
|
||||||
|
|
||||||
|
const ToggleHandler = () => {
|
||||||
|
setIsOn(!isOn);
|
||||||
|
};
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
if (isOn === true) {
|
||||||
|
setCheckTmp(true);
|
||||||
|
} else {
|
||||||
|
setCheckTmp(false);
|
||||||
|
}
|
||||||
|
}, [ToggleHandler]);
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
Spotlight.focus(SpotlightIds.TBODY);
|
Spotlight.focus(SpotlightIds.TBODY);
|
||||||
@@ -44,9 +57,14 @@ export default function MyPagePanel() {
|
|||||||
|
|
||||||
return (
|
return (
|
||||||
<TPanel>
|
<TPanel>
|
||||||
<THeader title={menuNm} />
|
<THeader title={menuNm} chkDelete onClick={ToggleHandler} />
|
||||||
<TBody className={css.tBody} cbScrollTo={getScrollTo}>
|
<TBody className={css.tBody} cbScrollTo={getScrollTo}>
|
||||||
{SelectedComponent && <SelectedComponent scrollTop={scrollTop} />}
|
{SelectedComponent && (
|
||||||
|
<SelectedComponent
|
||||||
|
scrollTop={scrollTop}
|
||||||
|
checkTmp={menuNm === "Reminders" && isOn === true ? checkTmp : null}
|
||||||
|
/>
|
||||||
|
)}
|
||||||
</TBody>
|
</TBody>
|
||||||
</TPanel>
|
</TPanel>
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -1,12 +1,10 @@
|
|||||||
import React, { useCallback, useState } from "react";
|
import React, { useEffect, useState } from "react";
|
||||||
|
|
||||||
import classNames from "classnames";
|
import classNames from "classnames";
|
||||||
|
|
||||||
import SpotlightContainerDecorator from "@enact/spotlight/SpotlightContainerDecorator";
|
import SpotlightContainerDecorator from "@enact/spotlight/SpotlightContainerDecorator";
|
||||||
import Spottable from "@enact/spotlight/Spottable";
|
import Spottable from "@enact/spotlight/Spottable";
|
||||||
|
|
||||||
import TButton, { SIZES, TYPES } from "../../../../components/TButton/TButton";
|
|
||||||
import { $L } from "../../../../utils/helperMethods";
|
|
||||||
import css from "../Reminders/Reminders.module.less";
|
import css from "../Reminders/Reminders.module.less";
|
||||||
|
|
||||||
const SpottableComponent = Spottable("div");
|
const SpottableComponent = Spottable("div");
|
||||||
@@ -15,17 +13,11 @@ const Container = SpotlightContainerDecorator(
|
|||||||
"div"
|
"div"
|
||||||
);
|
);
|
||||||
|
|
||||||
const tabList = [$L("Show"), $L("Keyword")];
|
export default function Reminders({ checkTmp }) {
|
||||||
export default function Reminders() {
|
const [isCheck, setIsCheck] = useState(false);
|
||||||
const [tab, setTab] = useState(0);
|
useEffect(() => {
|
||||||
|
checkTmp === true ? setIsCheck(true) : setIsCheck(false);
|
||||||
const handleItemClick = useCallback(
|
}, [checkTmp]);
|
||||||
({ index }) => {
|
|
||||||
if (index === tab) return;
|
|
||||||
setTab(index);
|
|
||||||
},
|
|
||||||
[tab]
|
|
||||||
);
|
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<div className={css.reminderContainer}>
|
<div className={css.reminderContainer}>
|
||||||
@@ -33,79 +25,12 @@ export default function Reminders() {
|
|||||||
<div className={css.headerBox}></div>
|
<div className={css.headerBox}></div>
|
||||||
|
|
||||||
<Container className={css.showItem}>
|
<Container className={css.showItem}>
|
||||||
<SpottableComponent className={css.listItem}>
|
<SpottableComponent
|
||||||
<div className={css.logo}>HSN</div>
|
className={classNames(
|
||||||
<div className={css.date}>03/21/2020 12:01 PM</div>
|
css.listItem,
|
||||||
<div className={css.title}>
|
isCheck === true ? css.checked : null
|
||||||
G by Giuliana Rancic Design FashionsG by Giuliana Rancic Design
|
)}
|
||||||
Fashions
|
>
|
||||||
</div>
|
|
||||||
<div className={css.actor}>with Host Michelle Yarn</div>
|
|
||||||
</SpottableComponent>
|
|
||||||
<SpottableComponent className={css.listItem}>
|
|
||||||
<div className={css.logo}>HSN</div>
|
|
||||||
<div className={css.date}>03/21/2020 12:01 PM</div>
|
|
||||||
<div className={css.title}>
|
|
||||||
G by Giuliana Rancic Design FashionsG by Giuliana Rancic Design
|
|
||||||
Fashions
|
|
||||||
</div>
|
|
||||||
<div className={css.actor}>with Host Michelle Yarn</div>
|
|
||||||
</SpottableComponent>
|
|
||||||
<SpottableComponent className={css.listItem}>
|
|
||||||
<div className={css.logo}>HSN</div>
|
|
||||||
<div className={css.date}>03/21/2020 12:01 PM</div>
|
|
||||||
<div className={css.title}>
|
|
||||||
G by Giuliana Rancic Design FashionsG by Giuliana Rancic Design
|
|
||||||
Fashions
|
|
||||||
</div>
|
|
||||||
<div className={css.actor}>with Host Michelle Yarn</div>
|
|
||||||
</SpottableComponent>
|
|
||||||
<SpottableComponent className={css.listItem}>
|
|
||||||
<div className={css.logo}>HSN</div>
|
|
||||||
<div className={css.date}>03/21/2020 12:01 PM</div>
|
|
||||||
<div className={css.title}>
|
|
||||||
G by Giuliana Rancic Design FashionsG by Giuliana Rancic Design
|
|
||||||
Fashions
|
|
||||||
</div>
|
|
||||||
<div className={css.actor}>with Host Michelle Yarn</div>
|
|
||||||
</SpottableComponent>
|
|
||||||
<SpottableComponent className={css.listItem}>
|
|
||||||
<div className={css.logo}>HSN</div>
|
|
||||||
<div className={css.date}>03/21/2020 12:01 PM</div>
|
|
||||||
<div className={css.title}>
|
|
||||||
G by Giuliana Rancic Design FashionsG by Giuliana Rancic Design
|
|
||||||
Fashions
|
|
||||||
</div>
|
|
||||||
<div className={css.actor}>with Host Michelle Yarn</div>
|
|
||||||
</SpottableComponent>
|
|
||||||
<SpottableComponent className={css.listItem}>
|
|
||||||
<div className={css.logo}>HSN</div>
|
|
||||||
<div className={css.date}>03/21/2020 12:01 PM</div>
|
|
||||||
<div className={css.title}>
|
|
||||||
G by Giuliana Rancic Design FashionsG by Giuliana Rancic Design
|
|
||||||
Fashions
|
|
||||||
</div>
|
|
||||||
<div className={css.actor}>with Host Michelle Yarn</div>
|
|
||||||
</SpottableComponent>
|
|
||||||
<SpottableComponent className={css.listItem}>
|
|
||||||
<div className={css.logo}>HSN</div>
|
|
||||||
<div className={css.date}>03/21/2020 12:01 PM</div>
|
|
||||||
<div className={css.title}>
|
|
||||||
G by Giuliana Rancic Design FashionsG by Giuliana Rancic Design
|
|
||||||
Fashions
|
|
||||||
</div>
|
|
||||||
<div className={css.actor}>with Host Michelle Yarn</div>
|
|
||||||
</SpottableComponent>
|
|
||||||
<SpottableComponent className={css.listItem}>
|
|
||||||
<div className={css.logo}>HSN</div>
|
|
||||||
<div className={css.date}>03/21/2020 12:01 PM</div>
|
|
||||||
<div className={css.title}>
|
|
||||||
G by Giuliana Rancic Design FashionsG by Giuliana Rancic Design
|
|
||||||
Fashions
|
|
||||||
</div>
|
|
||||||
<div className={css.actor}>with Host Michelle Yarn</div>
|
|
||||||
</SpottableComponent>
|
|
||||||
<SpottableComponent className={css.listItem}>
|
|
||||||
<div className={css.logo}>HSN</div>
|
<div className={css.logo}>HSN</div>
|
||||||
<div className={css.date}>03/21/2020 12:01 PM</div>
|
<div className={css.date}>03/21/2020 12:01 PM</div>
|
||||||
<div className={css.title}>
|
<div className={css.title}>
|
||||||
@@ -115,7 +40,206 @@ export default function Reminders() {
|
|||||||
<div className={css.actor}>with Host Michelle Yarn</div>
|
<div className={css.actor}>with Host Michelle Yarn</div>
|
||||||
</SpottableComponent>
|
</SpottableComponent>
|
||||||
<SpottableComponent
|
<SpottableComponent
|
||||||
className={classNames(css.listItem, css.checked)}
|
className={classNames(
|
||||||
|
css.listItem,
|
||||||
|
isCheck === true ? css.checked : null
|
||||||
|
)}
|
||||||
|
>
|
||||||
|
<div className={css.logo}>HSN</div>
|
||||||
|
<div className={css.date}>03/21/2020 12:01 PM</div>
|
||||||
|
<div className={css.title}>
|
||||||
|
G by Giuliana Rancic Design FashionsG by Giuliana Rancic Design
|
||||||
|
Fashions
|
||||||
|
</div>
|
||||||
|
<div className={css.actor}>with Host Michelle Yarn</div>
|
||||||
|
</SpottableComponent>
|
||||||
|
<SpottableComponent
|
||||||
|
className={classNames(
|
||||||
|
css.listItem,
|
||||||
|
isCheck === true && css.checked
|
||||||
|
)}
|
||||||
|
>
|
||||||
|
<div className={css.logo}>HSN</div>
|
||||||
|
<div className={css.date}>03/21/2020 12:01 PM</div>
|
||||||
|
<div className={css.title}>
|
||||||
|
G by Giuliana Rancic Design FashionsG by Giuliana Rancic Design
|
||||||
|
Fashions
|
||||||
|
</div>
|
||||||
|
<div className={css.actor}>with Host Michelle Yarn</div>
|
||||||
|
</SpottableComponent>
|
||||||
|
<SpottableComponent
|
||||||
|
className={classNames(
|
||||||
|
css.listItem,
|
||||||
|
isCheck === true && css.checked
|
||||||
|
)}
|
||||||
|
>
|
||||||
|
<div className={css.logo}>HSN</div>
|
||||||
|
<div className={css.date}>03/21/2020 12:01 PM</div>
|
||||||
|
<div className={css.title}>
|
||||||
|
G by Giuliana Rancic Design FashionsG by Giuliana Rancic Design
|
||||||
|
Fashions
|
||||||
|
</div>
|
||||||
|
<div className={css.actor}>with Host Michelle Yarn</div>
|
||||||
|
</SpottableComponent>
|
||||||
|
<SpottableComponent
|
||||||
|
className={classNames(
|
||||||
|
css.listItem,
|
||||||
|
isCheck === true ? css.checked : null
|
||||||
|
)}
|
||||||
|
>
|
||||||
|
<div className={css.logo}>HSN</div>
|
||||||
|
<div className={css.date}>03/21/2020 12:01 PM</div>
|
||||||
|
<div className={css.title}>
|
||||||
|
G by Giuliana Rancic Design FashionsG by Giuliana Rancic Design
|
||||||
|
Fashions
|
||||||
|
</div>
|
||||||
|
<div className={css.actor}>with Host Michelle Yarn</div>
|
||||||
|
</SpottableComponent>
|
||||||
|
<SpottableComponent
|
||||||
|
className={classNames(
|
||||||
|
css.listItem,
|
||||||
|
isCheck === true ? css.checked : null
|
||||||
|
)}
|
||||||
|
>
|
||||||
|
<div className={css.logo}>HSN</div>
|
||||||
|
<div className={css.date}>03/21/2020 12:01 PM</div>
|
||||||
|
<div className={css.title}>
|
||||||
|
G by Giuliana Rancic Design FashionsG by Giuliana Rancic Design
|
||||||
|
Fashions
|
||||||
|
</div>
|
||||||
|
<div className={css.actor}>with Host Michelle Yarn</div>
|
||||||
|
</SpottableComponent>
|
||||||
|
<SpottableComponent
|
||||||
|
className={classNames(
|
||||||
|
css.listItem,
|
||||||
|
isCheck === true && css.checked
|
||||||
|
)}
|
||||||
|
>
|
||||||
|
<div className={css.logo}>HSN</div>
|
||||||
|
<div className={css.date}>03/21/2020 12:01 PM</div>
|
||||||
|
<div className={css.title}>
|
||||||
|
G by Giuliana Rancic Design FashionsG by Giuliana Rancic Design
|
||||||
|
Fashions
|
||||||
|
</div>
|
||||||
|
<div className={css.actor}>with Host Michelle Yarn</div>
|
||||||
|
</SpottableComponent>
|
||||||
|
<SpottableComponent
|
||||||
|
className={classNames(
|
||||||
|
css.listItem,
|
||||||
|
isCheck === true ? css.checked : null
|
||||||
|
)}
|
||||||
|
>
|
||||||
|
<div className={css.logo}>HSN</div>
|
||||||
|
<div className={css.date}>03/21/2020 12:01 PM</div>
|
||||||
|
<div className={css.title}>
|
||||||
|
G by Giuliana Rancic Design FashionsG by Giuliana Rancic Design
|
||||||
|
Fashions
|
||||||
|
</div>
|
||||||
|
<div className={css.actor}>with Host Michelle Yarn</div>
|
||||||
|
</SpottableComponent>
|
||||||
|
<SpottableComponent
|
||||||
|
className={classNames(
|
||||||
|
css.listItem,
|
||||||
|
isCheck === true ? css.checked : null
|
||||||
|
)}
|
||||||
|
>
|
||||||
|
<div className={css.logo}>HSN</div>
|
||||||
|
<div className={css.date}>03/21/2020 12:01 PM</div>
|
||||||
|
<div className={css.title}>
|
||||||
|
G by Giuliana Rancic Design FashionsG by Giuliana Rancic Design
|
||||||
|
Fashions
|
||||||
|
</div>
|
||||||
|
<div className={css.actor}>with Host Michelle Yarn</div>
|
||||||
|
</SpottableComponent>
|
||||||
|
<SpottableComponent
|
||||||
|
className={classNames(
|
||||||
|
css.listItem,
|
||||||
|
isCheck === true ? css.checked : null
|
||||||
|
)}
|
||||||
|
>
|
||||||
|
<div className={css.logo}>HSN</div>
|
||||||
|
<div className={css.date}>03/21/2020 12:01 PM</div>
|
||||||
|
<div className={css.title}>
|
||||||
|
G by Giuliana Rancic Design FashionsG by Giuliana Rancic Design
|
||||||
|
Fashions
|
||||||
|
</div>
|
||||||
|
<div className={css.actor}>with Host Michelle Yarn</div>
|
||||||
|
</SpottableComponent>
|
||||||
|
<SpottableComponent
|
||||||
|
className={classNames(
|
||||||
|
css.listItem,
|
||||||
|
isCheck === true ? css.checked : null
|
||||||
|
)}
|
||||||
|
>
|
||||||
|
<div className={css.logo}>HSN</div>
|
||||||
|
<div className={css.date}>03/21/2020 12:01 PM</div>
|
||||||
|
<div className={css.title}>
|
||||||
|
G by Giuliana Rancic Design FashionsG by Giuliana Rancic Design
|
||||||
|
Fashions
|
||||||
|
</div>
|
||||||
|
<div className={css.actor}>with Host Michelle Yarn</div>
|
||||||
|
</SpottableComponent>
|
||||||
|
<SpottableComponent
|
||||||
|
className={classNames(
|
||||||
|
css.listItem,
|
||||||
|
isCheck === true && css.checked
|
||||||
|
)}
|
||||||
|
>
|
||||||
|
<div className={css.logo}>HSN</div>
|
||||||
|
<div className={css.date}>03/21/2020 12:01 PM</div>
|
||||||
|
<div className={css.title}>
|
||||||
|
G by Giuliana Rancic Design FashionsG by Giuliana Rancic Design
|
||||||
|
Fashions
|
||||||
|
</div>
|
||||||
|
<div className={css.actor}>with Host Michelle Yarn</div>
|
||||||
|
</SpottableComponent>
|
||||||
|
<SpottableComponent
|
||||||
|
className={classNames(
|
||||||
|
css.listItem,
|
||||||
|
isCheck === true ? css.checked : null
|
||||||
|
)}
|
||||||
|
>
|
||||||
|
<div className={css.logo}>HSN</div>
|
||||||
|
<div className={css.date}>03/21/2020 12:01 PM</div>
|
||||||
|
<div className={css.title}>
|
||||||
|
G by Giuliana Rancic Design FashionsG by Giuliana Rancic Design
|
||||||
|
Fashions
|
||||||
|
</div>
|
||||||
|
<div className={css.actor}>with Host Michelle Yarn</div>
|
||||||
|
</SpottableComponent>
|
||||||
|
<SpottableComponent
|
||||||
|
className={classNames(
|
||||||
|
css.listItem,
|
||||||
|
isCheck === true && css.checked
|
||||||
|
)}
|
||||||
|
>
|
||||||
|
<div className={css.logo}>HSN</div>
|
||||||
|
<div className={css.date}>03/21/2020 12:01 PM</div>
|
||||||
|
<div className={css.title}>
|
||||||
|
G by Giuliana Rancic Design FashionsG by Giuliana Rancic Design
|
||||||
|
Fashions
|
||||||
|
</div>
|
||||||
|
<div className={css.actor}>with Host Michelle Yarn</div>
|
||||||
|
</SpottableComponent>
|
||||||
|
<SpottableComponent
|
||||||
|
className={classNames(
|
||||||
|
css.listItem,
|
||||||
|
isCheck === true ? css.checked : null
|
||||||
|
)}
|
||||||
|
>
|
||||||
|
<div className={css.logo}>HSN</div>
|
||||||
|
<div className={css.date}>03/21/2020 12:01 PM</div>
|
||||||
|
<div className={css.title}>
|
||||||
|
G by Giuliana Rancic Design FashionsG by Giuliana Rancic Design
|
||||||
|
Fashions
|
||||||
|
</div>
|
||||||
|
<div className={css.actor}>with Host Michelle Yarn</div>
|
||||||
|
</SpottableComponent>
|
||||||
|
<SpottableComponent
|
||||||
|
className={classNames(
|
||||||
|
css.listItem,
|
||||||
|
isCheck === true ? css.checked : null
|
||||||
|
)}
|
||||||
>
|
>
|
||||||
<div className={css.logo}>HSN</div>
|
<div className={css.logo}>HSN</div>
|
||||||
<div className={css.date}>03/21/2020 12:01 PM</div>
|
<div className={css.date}>03/21/2020 12:01 PM</div>
|
||||||
|
|||||||
Reference in New Issue
Block a user