Your best bet is Apple, honestly. There are issues with iPhone 7 where the Touch ID won't work properly after a new screen, or the device will be completely bricked. You're looking at £152.44 with Apple, or £25 if you have Applecare. Could be worse. On a Xs max, it's £326.44, just for the screen replacement.
just got daughters iphone 6s screen repaired by Tommy Singh in Doncaster, cost £40 took 30 mins to repair , fantastic service you can find him on facebook, his shop is called Itech near waterdale shopping centre top end of town, comes with 12 month warranty I know its not in Barnsley but I would not recommend him if it was not worth it
Went upstairs in market cost £50 but you can tell it’s not official app the colour on screen isn’t has good
I went to Samsung as it was a black Friday deal £41 off plus a new battery included. Screen is perfect.