v1.01 shows the structure of the
page with simple JS
v1.02 optimises v1.01
and works on minor functions
v1.03 focuses on array of records and input validation
v1.04 focuses on reset button and optimisation of the code, especially enforcing harsher validation
v2.01 focuses on changing all possible
div to form which
would be beneficial for future database implementation
v2.02 focuses on the floating side bar
v2.03 focuses on using
checked attribute as a way to change buttons
colours
Problems
Floating point errors that appears when 2 toppings are added and removed are mitigated
temporarily
through an if condition. Find more about these errors here
checked attribute in
checkbox. This error does not prove to be dangerous to the user experience and security. It will be
patched if possible in future versions
v2.04 focuses on randomise pizza choice.
The checked attribute bug is
still persist
v2.05 focuses on
datetime-local
behaviour. The checked attribute is fixed
Other Changes
checked attribute decided by native behaviourdatetime-local changesdatetime-local box glowed when change is made
v2.06 focuses on code styling and optimisation of the code base
HTML
span to a for native site linkingevent.keycode (deprecated) to
event.key
button instead of divHTML & JS
readOnlyregex validationJS
arrow function usageDictionaries are used to replace if else if possibleenforceTimeRestrictions() handle time update in when user chooses "Now"textarea scroll to bottom when appending orderinput related errors in resetButton is fixedCSS
:focus-visible used to increase accessibilityinput display is not none, opacity: 0; margin: 0; is used
instead to increase accessibility
v2.07 focuses on changing how CSS works
fundamentally. alert() is
replaced by a pop up notification. Minor accessibility improvements are included.
A notable accessibility issues that will be mitigated in the future is the difficulty when selecting time
without a mouse. datetime-local is going to be replaced by a better alternative in the near future.
v3.01 restruture how the pizza ordering system works, spanning across pages through the help
of localStorage and sessionStorage. The code could be more modularised, for instance
pizza.js, side.js, drink.js has a fair bit of similarity regarding the
function that inject the JSON into HTML DOM. Some modules are in menu.js
List of html files that has not been worked on
List of to be refined html files
More support for users is needed. Payment and time choice of delivery or pickup is the priority of the next
version