Allocation-client subpage

[DO NOT MERGE] only for review
don't compare floats by == either compare difference between total and 100 to some epsilon (ex. 0.0001) (preferred by me) or round total to 2 or 3 decimal places in getTotal. Example numbers: 30.15, 29.15, 40.15, 0.55