A few of small issues
Points available to the opponent is not necessarily the same as points remaining, so can be displayed incorrectly.
Points remaining can show the wrong amount (it displayed 50, with two reds left, and 42 with one red left).
Snookers required by opponent during a break should reflect points available to opponent, not total remaining.
Concede button should reflect points available (for instance if the opponent’s break ends after a red).
Number of snookers required should account for when only high colours are left.
Clock should automatically pause at the end of a frame to account for resetting the table and/or session break (change to “Start Frame” rather than “Resume” in that instance).