Ignore:
Timestamp:
10/15/22 15:28:57 (21 months ago)
Author:
Nace Gjorgjievski <nace.gorgievski123@…>
Branches:
master
Children:
113029b
Parents:
ee05663
Message:

Full Admin Functionality Added

Location:
frontend/src/screens
Files:
6 added
7 edited

Legend:

Unmodified
Added
Removed
  • frontend/src/screens/CardPaymentScreen.js

    ree05663 r55ed171  
    4141  cart.totalPrice = cart.itemsPrice + cart.shippingPrice;
    4242
     43  const [cardNumber, setCardNumber] = useState("");
     44  const handleChange = (event) => {
     45    const result = event.target.value.replace(/[^0-9]/gi, "");
     46    setCardNumber(result);
     47  };
     48  const [ccvNumber, setCcvNumber] = useState("");
     49  const handleChangeCCV = (event) => {
     50    const result = event.target.value.replace(/[^0-9]/gi, "");
     51    console.log(event.currentTarget.validity.valid);
     52
     53    setCcvNumber(result);
     54  };
    4355  const paymentHandler = async (event) => {
    4456    event.preventDefault();
    4557    const form = event.currentTarget;
    4658    if (form.checkValidity() === false) {
     59      event.preventDefault();
     60      event.stopPropagation();
     61    }
     62    if (cardNumber.length !== 16) {
    4763      event.preventDefault();
    4864      event.stopPropagation();
     
    6379            isPaid: true,
    6480            paidAt: Date.now(),
     81            isConfirmed: true,
     82            contactNumber: userInfo.contact,
    6583          },
    6684          {
     
    95113          <Form.Group id="nameInput">
    96114            <Form.Label>Име и Презиме</Form.Label>
    97             <Form.Control
    98               type="text"
    99               //value={holderName}
    100               // onChange={(e) => setHolderName(e.target.value)}
    101               required
    102             ></Form.Control>
     115            <Form.Control type="text" required></Form.Control>
    103116          </Form.Group>
    104117          <Form.Group>
     
    106119            <Form.Control
    107120              type="text"
    108               //value={cardNumber}
    109               //onChange={(e) => setCardNumber(e.target.value)}
     121              minLength="16"
     122              maxLength="16"
     123              value={cardNumber}
     124              onChange={handleChange}
    110125              required
    111126            ></Form.Control>
     
    115130            <Form.Control
    116131              type="text"
    117               //value={cvv}
    118               //onChange={(e) => setCvv(e.target.value)}
     132              minLength={3}
     133              maxLength={3}
     134              value={ccvNumber}
     135              onChange={handleChangeCCV}
    119136              required
    120137            ></Form.Control>
  • frontend/src/screens/OrderHistoryScreen.js

    ree05663 r55ed171  
    1010import CheckIcon from "@mui/icons-material/Check";
    1111import ClearIcon from "@mui/icons-material/Clear";
     12import PhonePausedIcon from "@mui/icons-material/PhonePaused";
     13import LocalShippingIcon from "@mui/icons-material/LocalShipping";
    1214const reducer = (state, action) => {
    1315  switch (action.type) {
     
    4951
    5052  return (
    51     <div className="pageContainer shipPC">
     53    <div className="pageContainer shipPC" style={{ justifyContent: "normal" }}>
    5254      <Helmet>
    5355        <title>Историја на нарачки</title>
     
    8284                  {order.isDelivered ? (
    8385                    <CheckIcon></CheckIcon>
     86                  ) : order.isShipped ? (
     87                    <LocalShippingIcon></LocalShippingIcon>
    8488                  ) : (
    85                     <ClearIcon></ClearIcon>
     89                    <PhonePausedIcon></PhonePausedIcon>
    8690                  )}
    8791                </td>
  • frontend/src/screens/OrderScreen.js

    ree05663 r55ed171  
    8484                  Доставено на {order.deliveredAt}
    8585                </MessageBox>
     86              ) : order.isShipped ? (
     87                <MessageBox variant="primary">
     88                  Вашата нарачка е испратена.
     89                </MessageBox>
     90              ) : order.isConfirmed ? (
     91                <MessageBox variant="primary">
     92                  Вашата нарачка се процесира.
     93                </MessageBox>
    8694              ) : (
    87                 <MessageBox variant="danger">Не е доставено</MessageBox>
     95                <MessageBox variant="danger">
     96                  Потребно е да ја потврдите нарачката. Ќе бидете контактирани
     97                  преку телефонскиот број оставен за контакт.
     98                </MessageBox>
    8899              )}
    89100            </Card.Body>
  • frontend/src/screens/PlaceOrderScreen.js

    ree05663 r55ed171  
    6060          shippingPrice: cart.shippingPrice,
    6161          totalPrice: cart.totalPrice,
     62          isConfirmed: false,
     63          contactNumber: userInfo.contact,
    6264        },
    6365        {
  • frontend/src/screens/ProductScreen.js

    ree05663 r55ed171  
    7272                <img src={product.sideImage} alt={product.name}></img>
    7373              </div>
     74              <div className="sideImg">
     75                <img src={product.sideImage2} alt={product.name}></img>
     76              </div>
    7477            </div>
    7578          </div>
  • frontend/src/screens/ProductScreenBootstrap.js

    ree05663 r55ed171  
    165165                  onClick={changePhoto}
    166166                ></img>
     167
     168                <img
     169                  id="sec"
     170                  src={product.sideImage2}
     171                  alt={product.name}
     172                  onClick={changePhoto}
     173                ></img>
    167174              </Row>
    168175
  • frontend/src/screens/SigninScreen.js

    ree05663 r55ed171  
    3232      ctxDispatch({ type: "USER_SIGNIN", payload: data });
    3333      localStorage.setItem("userInfo", JSON.stringify(data));
    34       navigate(redirect || "/");
     34      if (data.isAdmin) navigate("/admin/dashboard");
     35      else navigate(redirect || "/");
    3536    } catch (err) {
    3637      toast.error(getError(err));
Note: See TracChangeset for help on using the changeset viewer.