Advertisement
Guest User

Untitled

a guest
Apr 4th, 2020
143
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. import React, { useState, useEffect, state, useContext, useReducer } from "react";
  2. import { Link } from 'react-router-dom';
  3. import Select from 'react-select'
  4. import config from '../../config.json'
  5.  
  6. export const SoldierProfile = (props) => {
  7.  
  8.  
  9.     const [soldierInfo, setSoldierInfo] = useState(null);
  10.     const [isLoadInfo, setIsLoadInfo] = useState(false);
  11.     const [soldiers, setSoldiers] = useState([]);
  12.  
  13.  
  14.     const getSoldiers = async () => {
  15.         if (!soldierInfo)
  16.             return;
  17.         await fetch(`${config.apiRoot}/soldier`, {
  18.             method: "get",
  19.             headers: {
  20.                 "Content-type": "application/json; charset=UTF-8",
  21.             },
  22.         })
  23.             .then(res => res.json())
  24.             .then(res => {
  25.                 if (res.succeeded) {
  26.                     const filterSoldiers = res.soldiers.filter((x) => { return x.side != soldierInfo.side });
  27.                     const tmpTab = []
  28.                     if (filterSoldiers.length != 0) {
  29.                         filterSoldiers.map((x) => {
  30.                             tmpTab.push({ value: x._id, label: x.name })
  31.                         })
  32.                         setSoldiers(tmpTab);
  33.                     }
  34.                 }
  35.  
  36.             })
  37.  
  38.     }
  39.  
  40.  
  41.  
  42.     const getSoldierInfo = async (id) => {
  43.  
  44.         await fetch(`${config.apiRoot}/soldier/${id}`, {
  45.             method: "get",
  46.             headers: {
  47.                 "Content-type": "application/json; charset=UTF-8",
  48.             },
  49.         })
  50.             .then(res => res.json())
  51.             .then(res => {
  52.                 console.log(res)
  53.                 if (res.succeeded) {
  54.  
  55.                     setSoldierInfo(res.soldier);
  56.                     setIsLoadInfo(true);
  57.                 }
  58.  
  59.             })
  60.     }
  61.  
  62.     useEffect(() => {
  63.  
  64.         getSoldierInfo(props.match.params.id)
  65.     },[])
  66.    
  67.     useEffect(() => {
  68.     }, [isLoadInfo, soldiers])
  69.  
  70.     useEffect(() => {
  71.         getSoldiers()
  72.     }, [soldierInfo])
  73.  
  74.  
  75.     return (
  76.         <div className="user__view user__view--center ">
  77.             {isLoadInfo && <>
  78.                 <div className="box  box--large">
  79.                     <div className="box__item box__item--first box__list-soldier ">
  80.                         <div className="box__text box__soldier-info"> {soldierInfo.name} </div>
  81.                         <div className="box__text box__soldier-info"> Siła: {soldierInfo.strength} </div>
  82.                         <div className="box__text box__soldier-info"> Armia: {soldierInfo.army ? soldierInfo.army : "brak"}  </div>
  83.                         <div className="box__text box__soldier-info"> Strona: {soldierInfo.side} </div>
  84.                         <div className="box__soldier-info--button-content">
  85.                             <div className="button button--green button--small box__soldier-info--button"> Zmień</div>
  86.                             <div className="button button--red button--small box__soldier-info--button"> Usuń</div>
  87.                         </div>
  88.                     </div>
  89.                 </div>
  90.  
  91.                 <div className="box-flex-wrap " >
  92.                     <div>
  93.                         <div className="box box--two-inline " >
  94.                             <div className="box__text box__text--title box__text--bottom-border ">Lista Zabitych </div>
  95.                             {soldierInfo.kill.length != 0 && <div className="box__scroll box__scroll--min">
  96.                                 {soldierInfo.kill.map((x, index) => (
  97.                                     <Link  to={`/soldier/${x.id}`} key={"kill-" + index} className={`box__item  box__item--link box__list-soldier box__item--first `} >
  98.                                         <div className=" box__item--min ">
  99.                                             <div className="box__text box__soldier-info"> {x.name} </div>
  100.                                         </div>
  101.                                     </Link>
  102.                                 ))}
  103.  
  104.                             </div>}
  105.                             {soldierInfo.kill.length == 0 && <div className="box__item box__item--scroll-empty-min box__item--first ">
  106.                                 <div className="box__text ">Nie zabiłeś jeszcze nikogo</div>
  107.                             </div>}
  108.                         </div>
  109.  
  110.                         <div className="box box__add box--two-inline ">
  111.                             <form onSubmit={(x) => { x.preventDefault(); }} >
  112.                                 <div className="box__text box__text--title">Dodaj Zabitego</div>
  113.                                 <div className="box__text box__item"><Select options={soldiers} /></div>
  114.  
  115.                                 <div className="box__item box__button--center">
  116.                                     <input type="submit" className="button button--small button__text" value="Dodaj" />
  117.                                 </div>
  118.                             </form>
  119.                         </div >
  120.                     </div >
  121.  
  122.  
  123.                     <div>
  124.                         <div className="box box--two-inline " >
  125.                             <div className="box__text box__text--title box__text--bottom-border ">Zabity Przez </div>
  126.                             {soldierInfo.death.length != 0 && <div className="box__scroll box__scroll--min">
  127.                                 {soldierInfo.kill.map((x, index) => (
  128.                                     <Link to={`/soldier/${x.id}`}  key={"kill-" + index} className="box__item box__item--link box__item--first box__list-soldier ">
  129.                                         <div className="box__text box__soldier-info"> {x.name} </div>
  130.                                     </Link>
  131.                                 ))}
  132.  
  133.                             </div>}
  134.                             {soldierInfo.death.length == 0 && <div className="box__item box__item--scroll-empty-min box__item--first ">
  135.                                 <div className="box__text ">Jeszcze żyjesz</div>
  136.                             </div>}
  137.                         </div>
  138.  
  139.                         <div className="box box__add box--two-inline ">
  140.                             <form onSubmit={(x) => { x.preventDefault(); }} >
  141.                                 <div className="box__text box__text--title">Dodaj zabójce</div>
  142.                                 <div className="box__text box__item"><Select options={soldiers} /></div>
  143.  
  144.                                 <div className="box__item box__button--center">
  145.                                     <input type="submit" className="button button--small button__text" value="Dodaj" />
  146.                                 </div>
  147.                             </form>
  148.                         </div >
  149.  
  150.                     </div>
  151.                 </div>
  152.             </>}
  153.         </div >
  154.  
  155.     )
  156.  
  157.  
  158. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement