|
@@ -1,6 +1,9 @@
|
|
import React, { useState, useEffect } from "react";
|
|
import React, { useState, useEffect } from "react";
|
|
-
|
|
|
|
import { Link } from "react-router-dom";
|
|
import { Link } from "react-router-dom";
|
|
|
|
+
|
|
|
|
+import App from "../App";
|
|
|
|
+import Player from "./Player";
|
|
|
|
+
|
|
import "../styles/library.css";
|
|
import "../styles/library.css";
|
|
|
|
|
|
|
|
|
|
@@ -15,100 +18,46 @@ const getGQL = (url, headers = {}) => (query = "", variables = {}) =>
|
|
body: JSON.stringify({ query, variables }),
|
|
body: JSON.stringify({ query, variables }),
|
|
}).then((res) => res.json());
|
|
}).then((res) => res.json());
|
|
|
|
|
|
- let gql = getGQL("/graphql");
|
|
|
|
-
|
|
|
|
-// const CategoryItem = ({category: {_id, name}}) =>
|
|
|
|
-// <li>
|
|
|
|
-// <Link to={`/category/${_id}`}>{name}</Link>
|
|
|
|
-// </li>
|
|
|
|
|
|
+let gql = getGQL("/graphql");
|
|
|
|
|
|
-// const Aside = () => {
|
|
|
|
-// const [categories, setCategories] = useState([])
|
|
|
|
-// console.log(categories)
|
|
|
|
-// useEffect(async () => {
|
|
|
|
-// let data = await getGQL('http://shop-roles.asmer.fs.a-level.com.ua/graphql')
|
|
|
|
-// (`query MainCategories{
|
|
|
|
-// CategoryFind(query: "[{\\"parent\\":null}]"){
|
|
|
|
-// _id name
|
|
|
|
-// }
|
|
|
|
-// }`)
|
|
|
|
-// setCategories(data.CategoryFind)
|
|
|
|
-// },[])
|
|
|
|
|
|
+export default ({store, history}) => {
|
|
|
|
+ const [tracks, setTracks] = useState([]);
|
|
|
|
|
|
-// return (
|
|
|
|
-// <aside >
|
|
|
|
-// <ul>
|
|
|
|
-// {categories.map(category => <CategoryItem category={category}/>)}
|
|
|
|
-// </ul>
|
|
|
|
-// </aside>
|
|
|
|
-// )
|
|
|
|
-// }
|
|
|
|
-
|
|
|
|
-export default ({history}) => {
|
|
|
|
-// const List = ({track: {_id, url, originalFileName}}) =>
|
|
|
|
-// <li>
|
|
|
|
-// <p>{_id} {url} {originalFileName}</p>
|
|
|
|
-// </li>
|
|
|
|
- // const data = [];
|
|
|
|
- // const List = ({data: {_id, url, originalFileName}}) =>
|
|
|
|
- // <li>
|
|
|
|
- // <p><span>{_id}</span>
|
|
|
|
- // <span>{url}</span>
|
|
|
|
- // <span>{originalFileName}</span></p>
|
|
|
|
- // </li>
|
|
|
|
|
|
+ const List = ({track: {_id, url, originalFileName}}) =>
|
|
|
|
+ <li>
|
|
|
|
+ <p>
|
|
|
|
+ <span>{originalFileName}</span>
|
|
|
|
+ {/* <span>{_id}</span> */}
|
|
|
|
+ {/* <span>{url}</span> */}
|
|
|
|
+ </p>
|
|
|
|
+ </li>
|
|
const TrackList = () => {
|
|
const TrackList = () => {
|
|
const [tracks, setTracks] = useState([]);
|
|
const [tracks, setTracks] = useState([]);
|
|
console.log(tracks);
|
|
console.log(tracks);
|
|
useEffect( async () => {
|
|
useEffect( async () => {
|
|
// {debugger}
|
|
// {debugger}
|
|
let data = await getGQL("/graphql")
|
|
let data = await getGQL("/graphql")
|
|
- (`query tracksFind($query: String){
|
|
|
|
- TrackFind(query: $query){
|
|
|
|
- _id
|
|
|
|
- url
|
|
|
|
- originalFileName
|
|
|
|
- }
|
|
|
|
- }`,{query: JSON.stringify([{}])})
|
|
|
|
- console.log(data)
|
|
|
|
- setTracks(data.TrackFind);
|
|
|
|
-
|
|
|
|
- console.log(data.TrackFind);
|
|
|
|
- },[])
|
|
|
|
-
|
|
|
|
- return (
|
|
|
|
- <div>
|
|
|
|
|
|
+ (`query tracksFind($query: String!){
|
|
|
|
+ TrackFind(query: $query){
|
|
|
|
+ _id
|
|
|
|
+ url
|
|
|
|
+ originalFileName
|
|
|
|
+ }
|
|
|
|
+ }`,{query: JSON.stringify([{}])})//накой эта строчка нужна?
|
|
|
|
+ console.log(data);
|
|
|
|
+ (data)? setTracks(data.data.TrackFind) : alert('data is waiting');
|
|
|
|
+ },[])//запрос работает, нужно залогиниться, получить токен, и затем перейти во вкладку libraries.
|
|
|
|
+ const [list, setList] = useState([]);
|
|
|
|
+ (tracks)? setList(tracks) && console.log(list) : alert('data is waiting');
|
|
|
|
+ return (
|
|
|
|
+ <div className="trackList">
|
|
<ul>
|
|
<ul>
|
|
- {console.log(tracks)}
|
|
|
|
- {/* {tracks.map(track => <List track={track}/>)} */}
|
|
|
|
- {/* {tracks.map(track => <li>{track}</li>)} */}
|
|
|
|
|
|
+ {(tracks)? tracks.map(track => <List track={track}/>) : alert('data is waiting')}
|
|
</ul>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
)
|
|
)
|
|
}
|
|
}
|
|
- // let data = await getGQL("/graphql")
|
|
|
|
- // (`query trackFind{
|
|
|
|
- // TrackFind(query: "[{}]"){
|
|
|
|
- // _id
|
|
|
|
- // url
|
|
|
|
- // originalFileName
|
|
|
|
- // }
|
|
|
|
- // }`).then(data => console.log(data));
|
|
|
|
-
|
|
|
|
- // }`).then(data.map(data => console.log(data)));
|
|
|
|
- // }`).then((data) => data = data).then(data.map(data => console.log(data));
|
|
|
|
- // return(
|
|
|
|
- // <>
|
|
|
|
- // <div className="allTracks">
|
|
|
|
- // <ul>
|
|
|
|
- // {data.map(data => <List data={data}/>)}
|
|
|
|
- // </ul>
|
|
|
|
- // </div>
|
|
|
|
- // </>
|
|
|
|
- // );
|
|
|
|
-// };
|
|
|
|
|
|
|
|
-
|
|
|
|
- // TrackList()
|
|
|
|
const Header = () => {
|
|
const Header = () => {
|
|
return (
|
|
return (
|
|
<div className="header">
|
|
<div className="header">
|
|
@@ -133,10 +82,41 @@ export default ({history}) => {
|
|
);
|
|
);
|
|
};
|
|
};
|
|
|
|
|
|
|
|
+ const Footer = () =>{
|
|
|
|
+ return(
|
|
|
|
+ <div className ="footer">
|
|
|
|
+ Footer
|
|
|
|
+ </div>
|
|
|
|
+ )
|
|
|
|
+ }
|
|
|
|
+//lection
|
|
|
|
+ // const ref = useRef();//we create 1 part and we remember it all life
|
|
|
|
+ // ref.current//was here value
|
|
|
|
+ // < ref == {ref}/>
|
|
|
|
+
|
|
|
|
+// const uploadPhoto = ({onUpload}) => {
|
|
|
|
+// const formRef = useRef();
|
|
|
|
+// return(
|
|
|
|
+// <form action="/upload" method="post" enctype="multipart/form-data" ref={formRef}>
|
|
|
|
+// <input type="file" name="photo" id="photo" onChange={() => onUpload(ref.current)}/>
|
|
|
|
+// </form>
|
|
|
|
+// )
|
|
|
|
+// }
|
|
|
|
+
|
|
|
|
+// const actionUpload = (form) => actionPromise("upload",
|
|
|
|
+// fetch("/upload",{
|
|
|
|
+// method: "POST",
|
|
|
|
+// headers: localStorage.authTocken? {Authorization : 'Bearer' + localStorage.authTocken}:"",
|
|
|
|
+// body: new FormData(form)
|
|
|
|
+// }).then(res=>res.json)
|
|
|
|
+// )
|
|
|
|
+////////////////////
|
|
return (
|
|
return (
|
|
<>
|
|
<>
|
|
<Header />
|
|
<Header />
|
|
<TrackList />
|
|
<TrackList />
|
|
|
|
+ <Player tracks={tracks}/>
|
|
|
|
+ <Footer />
|
|
</>
|
|
</>
|
|
);
|
|
);
|
|
};
|
|
};
|