UI: extract reusable mixins from index page