diff --git a/src/components/basket/AddToBasketCheckBox.js b/src/components/basket/AddToBasketCheckBox.js index 3dad3fd4eda7ff26ef0e53a890a131e6b034e47f..435386fafba74540f16ad235277d8fd3e6bc46e3 100644 --- a/src/components/basket/AddToBasketCheckBox.js +++ b/src/components/basket/AddToBasketCheckBox.js @@ -5,7 +5,7 @@ import { GlobalContext } from "../../contexts/GlobalContext"; import { BasketContext } from "../../contexts/BasketContext"; import { getTrashIcon } from "../../utils/styling"; -export default function AddToBasket(props) { +export default function AddToCheckout(props) { const { api_host, isAuthenticated } = useContext(GlobalContext); const basketContext = useContext(BasketContext); diff --git a/src/components/basket/MyBasketPage.js b/src/components/basket/MyBasketPage.js index 23908edbfde2620f748c59e2b958a8eb0bd9526d..6026eb9381df393046db643f8046eeb1e7bd51a4 100644 --- a/src/components/basket/MyBasketPage.js +++ b/src/components/basket/MyBasketPage.js @@ -1,4 +1,4 @@ -import React, { useEffect, useContext } from "react"; +import React, { useState, useEffect, useContext } from "react"; import { Table, Container, Alert } from "react-bootstrap"; import { BasketContext } from "../../contexts/BasketContext"; @@ -11,7 +11,9 @@ export default function MyBasketPage() { const { api_host, isAuthenticated } = useContext(GlobalContext); const basketContext = useContext(BasketContext); - let items = basketContext.datasets + // work on a local copy of datasets, to be able (un)(re)select items before saving + const [items, setItems] = useState(basketContext.datasets); + if (!items) { return null } diff --git a/src/components/basket/SaveBasketButton.js b/src/components/basket/SaveBasketButton.js index 825ab540ba614e9bfe99115f52eca936b709da36..04810592106ae0bcc1d94fe105dd12af2514c6f7 100644 --- a/src/components/basket/SaveBasketButton.js +++ b/src/components/basket/SaveBasketButton.js @@ -16,7 +16,10 @@ export default function SaveBasketButton(props) { const profileUrl = api_host + "accounts/user-profiles/"; axios - .get(profileUrl, {withCredentials: true}) + .get(profileUrl, { + withCredentials: true, + //headers : {"Access-Control-Allow-Origin": "*"} + }) .then((response) => { console.log(response.data) const userProfileUrl = profileUrl + response.data.results[0].user_name + "/"; diff --git a/src/contexts/BasketContext.js b/src/contexts/BasketContext.js index ea2dd080cf2e33bfacc63fca24f424d7967a3099..3482e8f89f93906bbb69e7d0c26f1417258ba9f4 100644 --- a/src/contexts/BasketContext.js +++ b/src/contexts/BasketContext.js @@ -3,26 +3,34 @@ import React, { useState, createContext } from "react"; export const BasketContext = createContext(); export function BasketContextProvider({ children }) { - const [datasets, setDatasets] = useState([]); - const [hasChanged, setHasChanged] = useState(false); + const [datasets, setDatasets] = useState([]); - function handleAddDataset(dataset) { - setDatasets([...datasets, dataset]); - setHasChanged(true) - } + const [hasChanged, setHasChanged] = useState(false); - function handleRemoveDataset(dataset) { - const copy = [...datasets]; - const index = copy.findIndex((ds) => ds === dataset); - copy.splice(index, 1); - setDatasets(copy); - setHasChanged(true) - } + function handleAddDataset(dataset) { + setDatasets([...datasets, dataset]); + setHasChanged(true) + } - return ( - <BasketContext.Provider - value={{ datasets, setDatasets, hasChanged, setHasChanged, add: handleAddDataset, remove: handleRemoveDataset }} - > + function handleRemoveDataset(dataset) { + const copy = [...datasets]; + const index = copy.findIndex((ds) => ds === dataset); + copy.splice(index, 1); + setDatasets(copy); + setHasChanged(true) + } + + return ( + <BasketContext.Provider + value={{ + datasets, + setDatasets, + hasChanged, + setHasChanged, + add: handleAddDataset, + remove: handleRemoveDataset, + }} + > {children} </BasketContext.Provider> ); diff --git a/src/routes/Routes.js b/src/routes/Routes.js index 76badf4aecad161489b5f3d023a47d65d952ce62..7c70b2559626a8ee04d3a405a5b5fa506c55ec96 100644 --- a/src/routes/Routes.js +++ b/src/routes/Routes.js @@ -72,7 +72,7 @@ export default function Routes() { </Switch> - <footer><small>esap-gui version 6 jul 2021 - 8:00</small></footer> + <footer><small>esap-gui version 9 jul 2021 - 11:00</small></footer> </Router> ); }