diff --git a/src/App.js b/src/App.js index af55dfa..39f2d03 100644 --- a/src/App.js +++ b/src/App.js @@ -12,7 +12,8 @@ import { HashRouter, Switch, Route, - useHistory + useHistory, + useParams } from "react-router-dom"; import { HashLink as Link } from 'react-router-hash-link'; @@ -809,7 +810,9 @@ function App() { const [LOGGEDINUSER,setLOGGEDINUSER] = useState("") const [LOGGEDINHASH,setLOGGEDINHASH] = useState("") - const [BUILDID,setBUILDID] = useState(undefined) + + const PANELPATHWBUILD = process.env.PUBLIC_URL+"/test/:BUILDID" + const PANELPATH = process.env.PUBLIC_URL+"/test" function GetData(table,row,col,id){ if (row===undefined) {row=''} @@ -857,12 +860,44 @@ function App() { - - - {"Test - "+APP_TITLE} - + + + + + diff --git a/src/TestPanel.js b/src/TestPanel.js index 910a83e..ef69b4a 100644 --- a/src/TestPanel.js +++ b/src/TestPanel.js @@ -4,6 +4,9 @@ import { DisplayIcon } from './DEFAULTS'; import { ExpandTooltip } from './components/ExpandTooltip'; import { SkillTree } from './skilltree/skillTree'; import axios from 'axios'; +import Helmet from 'react-helmet' + +import { useLocation,useHistory,useParams,matchPath } from 'react-router'; //Helper variables for Weapon selector with structure: [weapon_type,weapon,potential,potential_tooltip,weapon_existence_data] const WEAPON_WEAPONTYPE=0;const WEAPON_WEAPON=1;const WEAPON_POTENTIAL=2;const WEAPON_POTENTIAL_TOOLTIP=3;const WEAPON_EXISTENCE_DATA=4; @@ -286,7 +289,12 @@ function SkillTreeContainer(p){ function TestPanel(p) { -const { GetData,LOGGEDINUSER,BUILDID,BACKENDURL,setBUILDID } = p + +let { BUILDID } = useParams() +let history = useHistory(); +let location = useLocation(); + +const { GetData,LOGGEDINUSER,LOGGEDINHASH,BACKENDURL,APP_TITLE } = p const [bpGraphMax,setbpGraphMax] = useState(1000) const [hpGraphMax,sethpGraphMax] = useState(1000) @@ -323,10 +331,6 @@ const [classNameSetter,setClassNameSetter] = useState(0) const [points,setPoints] = useState([]) const [skillPointData,setSkillPointData] = useState([]) -useEffect(()=>{ - console.log(skillPointData) -},[skillPointData]) - function SaveData() { var saveObj = { level:level, @@ -342,16 +346,28 @@ function SaveData() { axios.post(BACKENDURL+"/submitBuild",{ id:BUILDID, username:LOGGEDINUSER, + pass:LOGGEDINHASH, creator:author, build_name:buildName, class1:className, class2:subclassName, data:JSON.stringify(saveObj),}) .then((data)=>{ - setBUILDID(data.data.id) + const match=matchPath(location.pathname,{ + path:p.path, + exact:true, + strict:false + }) + history.push(match.path.replace("/:BUILDID","")+"/"+data.data.id) }) } +function LoadData(build) { + if (build) { + + } +} + function rarityCheck(v) { return v!==undefined?v.rarity!==undefined?" r"+v.rarity:"":"" } @@ -387,9 +403,17 @@ useEffect(()=>{ setSkillPointData(pointsDataArr) },[className,GetData]) +useEffect(()=>{ + LoadData(BUILDID) +},[BUILDID]) + //console.log(p.GetData("class",p.className,"icon")) return (<> + + + {"Test - "+APP_TITLE+(BUILDID?" Build #"+BUILDID:"")} +