index.html 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <title>Demo App</title>
  5. <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.2.2/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-Zenh87qX5JnK2Jl0vWa8Ck2rdkQ2Bzep5IDxbcnCeuOxjzrPF/et3URy9Bv1WTRi" crossorigin="anonymous" />
  6. <style>.d-none { display: none; }</style>
  7. </head>
  8. <body class="mb-5">
  9. <div class="container mt-5">
  10. <div id="app-loading-display">
  11. <h1>Loading...</h1>
  12. </div>
  13. <div id="order-display" class="d-none">
  14. <h1>Welcome to the Demo!</h1>
  15. <p>This application is served using nginx for the website, Wasm for the backend, and MariaDB for the database.</p>
  16. <div id="order-empty-text" class="d-none">
  17. <em>There are currently no orders to display!</em>
  18. </div>
  19. <table id="order-table" class="d-none table table-striped">
  20. <thead>
  21. <tr>
  22. <th>Id</th>
  23. <th>Product Id</th>
  24. <th>Quantity</th>
  25. <th>Amount</th>
  26. <th>Shipping</th>
  27. <th>Tax</th>
  28. <th>Address</th>
  29. <th></th>
  30. </tr>
  31. </thead>
  32. <tbody></tbody>
  33. </table>
  34. <hr />
  35. <div id="add-order-wrapper" class="d-none row">
  36. <div class="col-6">
  37. <div class="accordion" id="accordionExample">
  38. <div class="accordion-item">
  39. <h2 class="accordion-header" id="addOrderHeading">
  40. <button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#addOrder" aria-controls="addOrder">
  41. Add an order
  42. </button>
  43. </h2>
  44. <div id="addOrder" class="accordion-collapse collapse p-3" aria-labelledby="addOrderHeading" data-bs-parent="#accordionExample">
  45. <form id="add-order-form">
  46. <div class="mb-3">
  47. <label for="order-id" class="form-label">Order Id</label>
  48. <input type="number" required class="form-control" id="order-id" aria-describedby="orderIdHelp">
  49. <div id="orderIdHelp" class="form-text">The ID of the order</div>
  50. </div>
  51. <div class="mb-3">
  52. <label for="product-id" class="form-label">Product Id</label>
  53. <input type="number" required class="form-control" id="product-id" aria-describedby="productIdHelp">
  54. <div id="productIdHelp" class="form-text">The ID of the product</div>
  55. </div>
  56. <div class="mb-3">
  57. <label for="quantity" class="form-label">Quantity</label>
  58. <input type="number" required class="form-control" id="quantity" aria-describedby="quantityHelp">
  59. <div id="quantityHelp" class="form-text">How many of the product?</div>
  60. </div>
  61. <div class="mb-3">
  62. <label for="amount" class="form-label">Amount</label>
  63. <input type="number" required class="form-control" id="amount" aria-describedby="amountHelp">
  64. <div id="amountHelp" class="form-text">The total amount</div>
  65. </div>
  66. <div class="mb-3">
  67. <label for="tax" class="form-label">Tax</label>
  68. <input type="number" required class="form-control" id="tax" aria-describedby="taxHelp">
  69. <div id="taxHelp" class="form-text">The total amount of tax</div>
  70. </div>
  71. <div class="mb-3">
  72. <label for="shippingAmount" class="form-label">Shipping Amount</label>
  73. <input type="number" required class="form-control" id="shippingAmount" aria-describedby="shippingAmountHelp">
  74. <div id="shippingAmountHelp" class="form-text">The total amount for shipping</div>
  75. </div>
  76. <div class="mb-3">
  77. <label for="shippingAddress" class="form-label">Shipping Address</label>
  78. <input type="text" required class="form-control" id="shippingAddress" aria-describedby="addressHelp">
  79. <div id="addressHelp" class="form-text">Where to send the order</div>
  80. </div>
  81. <input type="submit" class="btn btn-success" value="Add Order" />
  82. </form>
  83. </div>
  84. </div>
  85. </div>
  86. </div>
  87. </div>
  88. </div>
  89. </div>
  90. <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.2.2/dist/js/bootstrap.bundle.min.js" integrity="sha384-OERcA2EqjJCMA+/3y+gxIOqMEjwtxJY7qPCqsdltbNJuaOe923+mo//f6V8Qbsw3" crossorigin="anonymous"></script>
  91. <script type="text/javascript" src="/js/app.js"></script>
  92. </body>
  93. </html>