diff --git a/src/components/Accordion/AccordionDesign1/index.js b/src/components/Accordion/AccordionDesign1/index.js index 85c2d8b..5a3a373 100644 --- a/src/components/Accordion/AccordionDesign1/index.js +++ b/src/components/Accordion/AccordionDesign1/index.js @@ -1,159 +1,255 @@ import React, { useState } from "react"; +import { DragDropContext, Droppable, Draggable } from "react-beautiful-dnd"; import CircleInCircle from "../../MiniComponents/CircleInCircle"; import Button from "../../ButtonDesign/Button"; -import { DragDropContext, Droppable, Draggable } from "react-beautiful-dnd"; -const AccordionDesign1 = ({ items, vod }) => { +const finalSpaceCharacters = [ + { + id: "gary", + test: "mahdi", + title: + "بخش اول: فصل اول جدایی و رهایی: آیا بازگشت نزدیک است؟ دیگران چه می گونید؟", + video: 4, + min: 30, + subItems: [ + { + name: "چگونه با رژیم مناسب بدن سالم تری داشته باشیم؟", + }, + { + name: "شرکت های بزرگ خیلی خوب هستند", + }, + { + name: "چگونه با رژیم مناسب بدن سالم تری داشته باشیم؟ ", + }, + ], + }, + { + id: "garfdsy", + test: "mahdi", + title: + "بخش اول: فصل اول جدایی و رهایی: آیا بازگشت نزدیک است؟ دیگران چه می گونید؟", + video: 4, + min: 30, + subItems: [ + { + name: "چگونه با رژیم مناسب بدن سالم تری داشته باشیم؟", + }, + { + name: "شرکت های بزرگ خیلی خوب هستند", + }, + { + name: "چگونه با رژیم مناسب بدن سالم تری داشته باشیم؟ ", + }, + ], + }, + { + id: "kvn", + name: "KVN", + thumb: "/images/kvn.png", + test: "mahdi", + title: + "بخش دوم: فصل اول جدایی و رهایی: آیا بازگشت نزدیک است؟ دیگران چه می گونید2؟", + video: 4, + min: 30, + + subItems: [ + { + name: "چگونه با رژیم مناسب بدن سالم تری داشته باشیم؟", + }, + { + name: "شرکت های بزرگ خیلی خوب هستند", + }, + { + name: "چگونه با رژیم مناسب بدن سالم تری داشته باشیم؟ ", + }, + ], + }, + { + id: "mooncake", + name: "Mooncake", + thumb: "/images/kvn.png", + test: "mahdi", + title: + "بخش سوم: فصل اول جدایی و رهایی: آیا بازگشت نزدیک است؟ دیگران چه می گونید3؟", + video: 4, + min: 30, + subItems: [ + { + name: "چگونه با رژیم مناسب بدن سالم تری داشته باشیم؟", + }, + { + name: "شرکت های بزرگ خیلی خوب هستند", + }, + { + name: "چگونه با رژیم مناسب بدن سالم تری داشته باشیم؟ ", + }, + ], + }, + { + id: "garfsddsfy", + test: "mahdi", + title: + "بخش اول: فصل اول جدایی و رهایی: آیا بازگشت نزدیک است؟ دیگران چه می گونید؟", + video: 4, + min: 30, + subItems: [ + { + name: "چگونه با رژیم مناسب بدن سالم تری داشته باشیم؟", + }, + { + name: "شرکت های بزرگ خیلی خوب هستند", + }, + { + name: "چگونه با رژیم مناسب بدن سالم تری داشته باشیم؟ ", + }, + ], + }, +]; + +function AccordionDesign1({ vod }) { const [activeAccordion, setActiveAccordion] = useState(null); - const [accordions, updateAccordion] = useState(items); + const [characters, updateCharacters] = useState(finalSpaceCharacters); function handleOnDragEnd(result) { if (!result.destination) return; - const items = Array.from(accordions); + const items = Array.from(characters); const [reorderedItem] = items.splice(result.source.index, 1); items.splice(result.destination.index, 0, reorderedItem); - updateAccordion(items); + updateCharacters(items); } return ( - - - {(provided) => ( -
- {items.map((item, index) => ( - - {(provided) => ( -
- {/* parent */} +
+ + + {(provided) => ( +
+ {characters.map((item, index) => ( + + {(provided) => (
- setActiveAccordion( - activeAccordion === item ? null : item - ) - } + className="flex flex-col" + ref={provided.innerRef} + {...provided.draggableProps} + {...provided.dragHandleProps} > - -

{item.title}

- {vod && ( -
-

- دقیقه: - {item.min} -

-
-

- ویدیو: - {item.video} -

-
- )} - + setActiveAccordion( + activeAccordion === item ? null : item + ) } - alt="" - class="w-3 ml-2" - /> + className={`flex flex-row items-center justify-between px-3 py-4 border-b-2 ${ + activeAccordion === item + ? "border-surfaceBorder " + : "border-secondary" + } cursor-pointer`} + > + +

{item.title}

+ {vod && ( +
+

+ دقیقه: + {item.min} +

+
+

+ ویدیو: + {item.video} +

+
+ )} + +
{" "} + {/* child */} + {activeAccordion === item && + item.subItems.map((subItem, i) => ( +
+
+ {vod === !true && ( + line + )} + + {i + 1} + +
+
+

{subItem.name}

+
+ {vod ? ( + <> +
+

+ دقیقه: + {item.min} +

+
+ + ) : ( + <> + delete-button + edit-button + + )} +
+
+ ))} + {provided.placeholder}
- {provided.placeholder} - - )} -
- ))} -
- )} -
-
+ )} + + ))} + + {provided.placeholder} + + )} + + + ); -}; +} export default AccordionDesign1; - AccordionDesign1.defaultProps = { - vod: false, - - items: [ - { - title: - "بخش اول: فصل اول جدایی و رهایی: آیا بازگشت نزدیک است؟ دیگران چه می گونید؟", - video: 4, - min: 30, - subItems: [ - { - name: "چگونه با رژیم مناسب بدن سالم تری داشته باشیم؟", - }, - { - name: "شرکت های بزرگ خیلی خوب هستند", - }, - { - name: "چگونه با رژیم مناسب بدن سالم تری داشته باشیم؟ ", - }, - ], - }, - { - title: - "بخش دوم: فصل اول جدایی و رهایی: آیا بازگشت نزدیک است؟ دیگران چه می گونید2؟", - video: 4, - min: 30, - - subItems: [ - { - name: "چگونه با رژیم مناسب بدن سالم تری داشته باشیم؟", - }, - { - name: "شرکت های بزرگ خیلی خوب هستند", - }, - { - name: "چگونه با رژیم مناسب بدن سالم تری داشته باشیم؟ ", - }, - ], - }, - { - title: - "بخش سوم: فصل اول جدایی و رهایی: آیا بازگشت نزدیک است؟ دیگران چه می گونید3؟", - video: 4, - min: 30, - subItems: [ - { - name: "چگونه با رژیم مناسب بدن سالم تری داشته باشیم؟", - }, - { - name: "شرکت های بزرگ خیلی خوب هستند", - }, - { - name: "چگونه با رژیم مناسب بدن سالم تری داشته باشیم؟ ", - }, - ], - }, - ], + vod: true, }; diff --git a/src/components/Testt/index.js b/src/components/Testt/index.js index b45fb73..fa1a770 100644 --- a/src/components/Testt/index.js +++ b/src/components/Testt/index.js @@ -7,8 +7,6 @@ import Button from "../ButtonDesign/Button"; const finalSpaceCharacters = [ { id: "gary", - name: "Gary Goodspeed", - thumb: "/images/kvn.png", test: "mahdi", title: "بخش اول: فصل اول جدایی و رهایی: آیا بازگشت نزدیک است؟ دیگران چه می گونید؟", @@ -28,8 +26,6 @@ const finalSpaceCharacters = [ }, { id: "garfdsy", - name: "Gary Goodspeed", - thumb: "/images/kvn.png", test: "mahdi", title: "بخش اول: فصل اول جدایی و رهایی: آیا بازگشت نزدیک است؟ دیگران چه می گونید؟", @@ -92,8 +88,6 @@ const finalSpaceCharacters = [ }, { id: "garfsddsfy", - name: "Gary Goodspeed", - thumb: "/images/kvn.png", test: "mahdi", title: "بخش اول: فصل اول جدایی و رهایی: آیا بازگشت نزدیک است؟ دیگران چه می گونید؟", @@ -138,55 +132,115 @@ function Testt({ vod }) { {...provided.droppableProps} ref={provided.innerRef} > - {characters.map( - ({ id, name, thumb, test, title, video, min }, index) => { - return ( - - {(provided) => ( - <> - {/* ! mineeeeeeeeeeeeee */} -
- {/* parent */} -
- -

{title}

- {vod && ( -
-

- دقیقه: - {min} -

-
-

- ویدیو: - {video} -

-
+ {characters.map((item, index) => ( + + {(provided) => ( +
+ {/* parent */} +
+ setActiveAccordion( + activeAccordion === item ? null : item + ) + } + className={`flex flex-row items-center justify-between px-3 py-4 border-b-2 ${ + activeAccordion === item + ? "border-surfaceBorder " + : "border-secondary" + } cursor-pointer`} + > + +

{item.title}

+ {vod && ( +
+

+ دقیقه: + {item.min} +

+
+

+ ویدیو: + {item.video} +

+
+ )} + +
{" "} + {/* child */} + {activeAccordion === item && + item.subItems.map((subItem, i) => ( +
+
+ {vod === !true && ( + line + )} + + {i + 1} + +
+
+

{subItem.name}

+
+ {vod ? ( + <> +
+

+ دقیقه: + {item.min} +

+
+ + ) : ( + <> + delete-button + edit-button + )} -
- {provided.placeholder}
- - )} - - ); - } - )} + ))} + {provided.placeholder} +
+ )} +
+ ))} + {provided.placeholder} )} diff --git a/src/components/Testt/mahdi.js b/src/components/Testt/mahdi.js index fc75699..46e91e3 100644 --- a/src/components/Testt/mahdi.js +++ b/src/components/Testt/mahdi.js @@ -1,57 +1,115 @@ import React, { useState } from "react"; import { DragDropContext, Droppable, Draggable } from "react-beautiful-dnd"; import "./App.css"; - import CircleInCircle from "../MiniComponents/CircleInCircle"; import Button from "../ButtonDesign/Button"; const finalSpaceCharacters = [ { id: "gary", - name: "Gary Goodspeed", - thumb: "/images/kvn.png", test: "mahdi", + title: + "بخش اول: فصل اول جدایی و رهایی: آیا بازگشت نزدیک است؟ دیگران چه می گونید؟", + video: 4, + min: 30, + subItems: [ + { + name: "چگونه با رژیم مناسب بدن سالم تری داشته باشیم؟", + }, + { + name: "شرکت های بزرگ خیلی خوب هستند", + }, + { + name: "چگونه با رژیم مناسب بدن سالم تری داشته باشیم؟ ", + }, + ], }, { - id: "cato", - name: "Little Cato", - thumb: "/images/kvn.png", + id: "garfdsy", test: "mahdi", + title: + "بخش اول: فصل اول جدایی و رهایی: آیا بازگشت نزدیک است؟ دیگران چه می گونید؟", + video: 4, + min: 30, + subItems: [ + { + name: "چگونه با رژیم مناسب بدن سالم تری داشته باشیم؟", + }, + { + name: "شرکت های بزرگ خیلی خوب هستند", + }, + { + name: "چگونه با رژیم مناسب بدن سالم تری داشته باشیم؟ ", + }, + ], }, { id: "kvn", name: "KVN", thumb: "/images/kvn.png", test: "mahdi", + title: + "بخش دوم: فصل اول جدایی و رهایی: آیا بازگشت نزدیک است؟ دیگران چه می گونید2؟", + video: 4, + min: 30, + + subItems: [ + { + name: "چگونه با رژیم مناسب بدن سالم تری داشته باشیم؟", + }, + { + name: "شرکت های بزرگ خیلی خوب هستند", + }, + { + name: "چگونه با رژیم مناسب بدن سالم تری داشته باشیم؟ ", + }, + ], }, { id: "mooncake", name: "Mooncake", thumb: "/images/kvn.png", test: "mahdi", + title: + "بخش سوم: فصل اول جدایی و رهایی: آیا بازگشت نزدیک است؟ دیگران چه می گونید3؟", + video: 4, + min: 30, + subItems: [ + { + name: "چگونه با رژیم مناسب بدن سالم تری داشته باشیم؟", + }, + { + name: "شرکت های بزرگ خیلی خوب هستند", + }, + { + name: "چگونه با رژیم مناسب بدن سالم تری داشته باشیم؟ ", + }, + ], }, { - id: "quinn", - name: "Quinn Ergon", - thumb: "/images/kvn.png", + id: "garfsddsfy", test: "mahdi", + title: + "بخش اول: فصل اول جدایی و رهایی: آیا بازگشت نزدیک است؟ دیگران چه می گونید؟", + video: 4, + min: 30, + subItems: [ + { + name: "چگونه با رژیم مناسب بدن سالم تری داشته باشیم؟", + }, + { + name: "شرکت های بزرگ خیلی خوب هستند", + }, + { + name: "چگونه با رژیم مناسب بدن سالم تری داشته باشیم؟ ", + }, + ], }, ]; -function Testt({ items, vod }) { - const [characters, updateCharacters] = useState(finalSpaceCharacters); - // const [characters, updateCharacters] = useState(items); +function Testt({ vod }) { const [activeAccordion, setActiveAccordion] = useState(null); - - // function handleOnDragEnd(result) { - // if (!result.destination) return; - - // const items = Array.from(characters); - // const [reorderedItem] = items.splice(result.source.index, 1); - // items.splice(result.destination.index, 0, reorderedItem); - - // updateCharacters(items); - // } + const [characters, updateCharacters] = useState(finalSpaceCharacters); function handleOnDragEnd(result) { if (!result.destination) return; @@ -64,247 +122,82 @@ function Testt({ items, vod }) { } return ( -
-
-

Final Space Characters

- - - {(provided) => ( -
- {characters.map((item, { id, name }, index) => ( - - {(provided) => ( -
- {/* parent */} +
+ + + {(provided) => ( +
+ {characters.map( + ({ id, title, video, min, item, subItems, name }, index) => { + return ( + + {(provided) => (
- setActiveAccordion( - activeAccordion === item ? null : item - ) - } + className="flex flex-col" + ref={provided.innerRef} + {...provided.draggableProps} + {...provided.dragHandleProps} > - -

{name}

- {vod && ( -
-

- دقیقه: - {item.min} -

-
-

- ویدیو: - {item.video} -

-
- )} - + setActiveAccordion( + activeAccordion === item ? null : item + ) } - alt="" - className="w-3 ml-2" - /> + className={`flex flex-row items-center justify-between px-3 py-4 border-b-2 ${ + activeAccordion === item + ? "border-surfaceBorder " + : "border-secondary" + } cursor-pointer`} + > + +

{title}

+ {vod && ( +
+

+ دقیقه: + {min} +

+
+

+ ویدیو: + {video} +

+
+ )} + +
+ {provided.placeholder}
- {provided.placeholder} -
- )} - - ))} - - )} - - - -

- Images from{" "} - - Final Space Wiki - -

-
+ )} + + ); + } + )} + {provided.placeholder} + + )} + + + ); } export default Testt; - -Testt.defaultProps = { - vod: false, - - // items: [ - // { - // id: "gary", - // title: - // "بخش اول: فصل اول جدایی و رهایی: آیا بازگشت نزدیک است؟ دیگران چه می گونید؟", - // video: 4, - // min: 30, - // subItems: [ - // { - // name: "چگونه با رژیم مناسب بدن سالم تری داشته باشیم؟", - // }, - // { - // name: "شرکت های بزرگ خیلی خوب هستند", - // }, - // { - // name: "چگونه با رژیم مناسب بدن سالم تری داشته باشیم؟ ", - // }, - // ], - // }, - // { - // id: "kevin", - // title: - // "بخش دوم: فصل اول جدایی و رهایی: آیا بازگشت نزدیک است؟ دیگران چه می گونید2؟", - // video: 4, - // min: 30, - - // subItems: [ - // { - // name: "چگونه با رژیم مناسب بدن سالم تری داشته باشیم؟", - // }, - // { - // name: "شرکت های بزرگ خیلی خوب هستند", - // }, - // { - // name: "چگونه با رژیم مناسب بدن سالم تری داشته باشیم؟ ", - // }, - // ], - // }, - // { - // id: "rafiqaneh", - // title: - // "بخش سوم: فصل اول جدایی و رهایی: آیا بازگشت نزدیک است؟ دیگران چه می گونید3؟", - // video: 4, - // min: 30, - // subItems: [ - // { - // name: "چگونه با رژیم مناسب بدن سالم تری داشته باشیم؟", - // }, - // { - // name: "شرکت های بزرگ خیلی خوب هستند", - // }, - // { - // name: "چگونه با رژیم مناسب بدن سالم تری داشته باشیم؟ ", - // }, - // ], - // }, - // ], -}; - -// import React, { useState } from "react"; -// import { DragDropContext, Droppable, Draggable } from "react-beautiful-dnd"; -// import "./App.css"; - -// const finalSpaceCharacters = [ -// { -// id: "gary", -// name: "Gary Goodspeed", -// thumb: "/images/kvn.png", -// test: "mahdi", -// }, -// { -// id: "cato", -// name: "Little Cato", -// thumb: "/images/kvn.png", -// test: "mahdi", -// }, -// { -// id: "kvn", -// name: "KVN", -// thumb: "/images/kvn.png", -// test: "mahdi", -// }, -// { -// id: "mooncake", -// name: "Mooncake", -// thumb: "/images/kvn.png", -// test: "mahdi", -// }, -// { -// id: "quinn", -// name: "Quinn Ergon", -// thumb: "/images/kvn.png", -// test: "mahdi", -// }, -// ]; - -// function Testt() { -// const [characters, updateCharacters] = useState(finalSpaceCharacters); - -// function handleOnDragEnd(result) { -// if (!result.destination) return; - -// const items = Array.from(characters); -// const [reorderedItem] = items.splice(result.source.index, 1); -// items.splice(result.destination.index, 0, reorderedItem); - -// updateCharacters(items); -// } - -// return ( -//
-//
-//

Final Space Characters

-// -// -// {(provided) => ( -//
    -// {characters.map(({ id, name, thumb, test }, index) => { -// return ( -// -// {(provided) => ( -//
  • -//
    -// {`${name} -//
    -//

    {name}

    -// {test} -//
  • -// )} -//
    -// ); -// })} -// {provided.placeholder} -//
-// )} -//
-//
-//
-//

-// Images from{" "} -// -// Final Space Wiki -// -//

-//
-// ); -// } - -// export default Testt;