2023-02-07 19:47:57 +00:00
|
|
|
import { ReactNode } from "react";
|
2023-02-06 21:42:47 +00:00
|
|
|
|
|
|
|
import ShowMore from "Element/ShowMore";
|
|
|
|
|
|
|
|
interface CollapsedProps {
|
2023-02-07 20:04:50 +00:00
|
|
|
text?: string;
|
|
|
|
children: ReactNode;
|
|
|
|
collapsed: boolean;
|
|
|
|
setCollapsed(b: boolean): void;
|
2023-02-06 21:42:47 +00:00
|
|
|
}
|
|
|
|
|
2023-02-09 12:26:54 +00:00
|
|
|
const Collapsed = ({ text, children, collapsed, setCollapsed }: CollapsedProps) => {
|
2023-02-06 21:42:47 +00:00
|
|
|
return collapsed ? (
|
|
|
|
<div className="collapsed">
|
|
|
|
<ShowMore text={text} onClick={() => setCollapsed(false)} />
|
|
|
|
</div>
|
|
|
|
) : (
|
2023-02-07 20:04:50 +00:00
|
|
|
<div className="uncollapsed">{children}</div>
|
|
|
|
);
|
|
|
|
};
|
2023-02-06 21:42:47 +00:00
|
|
|
|
2023-02-09 11:24:15 +00:00
|
|
|
interface CollapsedIconProps {
|
|
|
|
icon: ReactNode;
|
|
|
|
children: ReactNode;
|
|
|
|
collapsed: boolean;
|
|
|
|
}
|
|
|
|
|
|
|
|
export const CollapsedIcon = ({ icon, children, collapsed }: CollapsedIconProps) => {
|
|
|
|
return collapsed ? (
|
|
|
|
<div className="collapsed">{icon}</div>
|
|
|
|
) : (
|
|
|
|
<div className="uncollapsed">
|
|
|
|
{icon}
|
|
|
|
{children}
|
|
|
|
</div>
|
|
|
|
);
|
|
|
|
};
|
|
|
|
|
2023-02-07 20:04:50 +00:00
|
|
|
export default Collapsed;
|