From a238ce3de96d473a5e861b02b6a9891105c0d694 Mon Sep 17 00:00:00 2001 From: christodharma <13521009@std.stei.itb.ac.id> Date: Mon, 9 Oct 2023 14:19:11 +0700 Subject: [PATCH] feat: make-purchase prototype --- client/css/make-purchase.css | 143 ++++++++++++++++++++++++++++++++ client/js/catalog.js | 7 +- client/pages/make-purchase.html | 58 +++++++++++++ 3 files changed, 207 insertions(+), 1 deletion(-) create mode 100644 client/css/make-purchase.css create mode 100644 client/pages/make-purchase.html diff --git a/client/css/make-purchase.css b/client/css/make-purchase.css new file mode 100644 index 0000000..d964fad --- /dev/null +++ b/client/css/make-purchase.css @@ -0,0 +1,143 @@ +@import url('https://fonts.googleapis.com/css?family=Inter'); + +*{ + margin: 0; + padding: 0; + font-family: Inter; + box-sizing: border-box; + transition: 0.5; +} + + +.container{ + max-width: 100%; + height: 100vh; + mix-blend-mode: multiply; + background-position: center; + background-size: cover; + display: flex; + flex-direction: column; +} + +.purchaseform-group { + flex: 1 1 auto; + position: relative; + padding-top: 5vh; + min-width: 300px; + display: flex; + flex-direction: column; + margin-left: 10%; + margin-right: 10%; +} + +.purchaseform-group h1 { + font-size: 30px; + padding-bottom: 10px; +} + + + +#price-criteria, #quantity-criteria { + text-align : left; + font-size : small; + color: red; + padding-left: 10px; + /* color : #ffffffab; */ +} + +@media screen and ((max-width: 600px)) { + .input-group{ + display: flex; + flex-direction: column; + } +} + +#purchaseform { + display: flex; + flex-direction: column; + flex: 1 1 auto; +} +.input-group { + display: flex; + flex: 1 1 auto; +} +.input-image-field { + width: 25vw; + max-height: 25vw; + display: inline-flex; + flex-direction: column; + border-radius: 10px; + transition: max-height 0.5s; +} +.input-text-fields { + flex: 1 1 auto; + padding: 10px; + display: flex; + flex-direction: column; +} +.input-field { + margin: 10px; + border-radius: 10px; + align-items: center; + background-color: #eaeaea; + transition: max-height 0.5s; + overflow: hidden; + color: black ; +} + +#product_description-field{ + display: flex; +} + +#product_description { + flex: 1 1 auto; + resize:vertical; + background-color: transparent; + padding: 10px; + font-size: small; + border-color: transparent; +} + +.input-field ::placeholder { + color: black; +} + +/* #product_image { + background-color: azure; +} */ + +.input-field input { + width: 100%; + padding: 18px; + border-color: transparent; +} + +.button-field { + width: 100%; + margin-top: 4vh; + display: flex; + flex-direction: row-reverse; +} + +.button-field button{ + /* flex-basis: 48%; */ + min-width: 25%; + height: 5vh; + border-color: transparent; + margin-right: 15px; + /* margin-bottom: 15px; */ + background: #3c00a0; + color: #fff; + border-radius: 10px; + font-size: 20px; + border: 0; + outline: 0; + cursor: pointer; + transition: background 1s; +} + +#image-preview { + background-color: azure; + width: 24vw; + max-height: 24vw; +} \ No newline at end of file diff --git a/client/js/catalog.js b/client/js/catalog.js index 0d1b0c8..94fe14a 100644 --- a/client/js/catalog.js +++ b/client/js/catalog.js @@ -53,6 +53,11 @@ nextPage = () => { } } +function redirectToPurchase() { + location.href = ""; + localStorage.setItem() +} + function changePage(page){ var btnNext = document.getElementById("btnNext"); var btnPrev = document.getElementById("btnPrev"); @@ -91,7 +96,7 @@ function changePage(page){ listingTable.innerHTML =""; for (var i = 0; i < 10 && itemList.length ; i++){ - listingTable.innerHTML += `<button class="showItem"> + listingTable.innerHTML += `<button class="showItem" onclick = "redirectToPurchase()"> <img id="${itemList[i][0]}" src="../image/${itemList[i][2]}" alt="${itemList[i][1]}"> <p>${itemList[i][1]}</p> <p>Rp${itemList[i][4]}</p> diff --git a/client/pages/make-purchase.html b/client/pages/make-purchase.html new file mode 100644 index 0000000..9c2560e --- /dev/null +++ b/client/pages/make-purchase.html @@ -0,0 +1,58 @@ +<?php session_start(); + require_once "../../server/controllers/loggedout_catch.php"; +?> +<!DOCTYPE html> +<html> + <head> + <meta name="viewport" content="width=device-width, initial scale=1.0"> + <title>Make Purchase</title> + <link rel="stylesheet" href="../css/make-purchase.css"> + + <link rel="stylesheet" href="../css/navbar.css"> + <script src="../js/navbar.js"></script> + <script src="https://kit.fontawesome.com/8505941c5b.js" crossorigin="anonymous"></script> + <script src="../js/make-purchase.js"></script> + </head> + <body> + <div class="container"> + <div class="tabgroup" id="tabgroup"> + <script>addnavbar();</script> + </div> + <div class="purchaseform-group"> + <h1 id="title">Make A Purchase</h1> + <form id="purchaseform"> + <div class="input-group"> + <div class="input-image-field"> + <img src="../image/no_picture.jpeg" id="image-preview" alt=""> + </div> + <div class="input-text-fields"> + <div class="input-field"> + <input type="text" id="product_name" placeholder="Product Name" disabled> + </div> + <div class="input-field" id="product_description-field"> + <textarea type="text" id="product_description" placeholder="Product Description" disabled></textarea> + </div> + <div class="input-field" id="product_price-field"> + <input type="text" id="product_price" placeholder="Price" oninput="checkNumericPrice()" disabled> + </div> + <p id="price-criteria"> </p> + <div class="input-field" id="product_quantity-field"> + <input type="text" id="product_quantity" placeholder="Quantity" oninput="checkNumericQuantity()" required> + </div> + <p id="quantity-criteria"> </p> + </div> + + </div> + <div class="button-field"> + <button type="button" id="purchasesubmit" onclick="submitPurchase()">Done</button> + </div> + </form> + </div> + <div class="sidebar" id="sidebar"> + <script> + addsidebar(); + </script> + </div> + </div> + </body> +</html> \ No newline at end of file -- GitLab