donation UI logic