diff --git a/assets/less/classes/forum/actions.less b/assets/less/classes/forum/actions.less index 9beda2ac..11f2d01e 100644 --- a/assets/less/classes/forum/actions.less +++ b/assets/less/classes/forum/actions.less @@ -1,8 +1,27 @@ .forum__actions { - padding: 2px; + margin: 2px 0; + padding: 5px; display: flex; + flex-direction: row; + justify-content: space-between; + align-items: stretch; - &__button:not(:first-child) { - margin-left: 2px; + &__pagination { + max-width: 500px; + flex: 1 1 auto; + display: flex; + align-items: stretch; + justify-content: space-between; + + @media (max-width: @site-mobile-width) { + max-width: 100%; + flex-grow: 0; + } + } + + &__buttons { + flex: 0 0 auto; + display: flex; + align-items: stretch; } } diff --git a/assets/less/classes/input/button.less b/assets/less/classes/input/button.less index 74d87902..79555c2f 100644 --- a/assets/less/classes/input/button.less +++ b/assets/less/classes/input/button.less @@ -11,7 +11,9 @@ color: var(--accent-colour); border: 1px solid var(--accent-colour); border-radius: 2px; - display: inline-block; + display: inline-flex; + align-items: center; + justify-content: center; text-decoration: none; &:hover, diff --git a/assets/less/classes/pagination.less b/assets/less/classes/pagination.less index 0957b58e..0b2168f0 100644 --- a/assets/less/classes/pagination.less +++ b/assets/less/classes/pagination.less @@ -1,10 +1,12 @@ .pagination { display: flex; justify-content: space-between; - align-items: center; + align-items: stretch; + width: 100%; &__section { display: flex; + align-items: stretch; overflow: auto; flex: 0 0 auto; @@ -15,15 +17,18 @@ display: none; } } + + &:not(:last-child) { + margin-right: 1px; + } } &__link { - display: block; - height: 30px; + display: flex; + min-width: 40px; font-size: 1.2em; line-height: 1.5em; - margin: 1px; - padding: 3px 10px; + padding: 3px 10px 4px; text-align: center; text-decoration: none; background-color: var(--background-colour); @@ -31,11 +36,26 @@ border: 1px solid var(--accent-colour); border-radius: 2px; transition: background-color .2s, color .2s; + text-align: center; + align-items: center; + justify-content: center; + flex: 1 0 auto; + + &:not(:last-child) { + margin-right: 1px; + } &--disabled { --accent-colour: #555; } + &--first, + &--last, + &--next, + &--prev { + padding-top: 5px; + } + &--current, &:not(&--disabled):hover, &:not(&--disabled):active, diff --git a/public/forum/topic.php b/public/forum/topic.php index 1ffeecb1..3629ceb8 100644 --- a/public/forum/topic.php +++ b/public/forum/topic.php @@ -29,6 +29,8 @@ if (!perms_check($perms, MSZ_FORUM_PERM_VIEW_FORUM)) { return; } +tpl_var('topic_perms', $perms); + $posts = forum_post_listing($topic['topic_id'], $postsOffset, $postsRange); if (!$posts) { diff --git a/templates/forum/forum.twig b/templates/forum/forum.twig index 45944db7..66b78cf9 100644 --- a/templates/forum/forum.twig +++ b/templates/forum/forum.twig @@ -1,6 +1,5 @@ {% extends 'forum/master.twig' %} -{% from 'macros.twig' import pagination %} -{% from 'forum/macros.twig' import forum_category_listing, forum_topic_listing, forum_category_buttons, forum_header %} +{% from 'forum/macros.twig' import forum_category_listing, forum_topic_listing, forum_category_buttons, forum_header, forum_category_tools %} {% set title = forum_info.forum_name %} {% set canonical_url = '/forum/forum.php'|url_construct({ @@ -16,18 +15,9 @@ {% endif %} {% if forum_may_have_topics %} - {% set fcbuttons = current_user is defined ? forum_category_buttons(forum_info, forum_perms) : '' %} - {% set fcpagination = pagination( - forum_info.forum_topic_count, - forum_range, - forum_offset, - '/forum/forum.php'|url_construct({'f': forum_info.forum_id}) - ) %} - - {{ fcbuttons }} - {{ fcpagination }} + {% set category_tools = forum_category_tools(forum_info, forum_perms, forum_range, forum_offset) %} + {{ category_tools }} {{ forum_topic_listing(forum_topics) }} - {{ fcpagination }} - {{ fcbuttons }} + {{ category_tools }} {% endif %} {% endblock %} diff --git a/templates/forum/macros.twig b/templates/forum/macros.twig index 8a9ff164..0b4f11ce 100644 --- a/templates/forum/macros.twig +++ b/templates/forum/macros.twig @@ -45,11 +45,51 @@ {% endmacro %} -{% macro forum_category_buttons(forum, perms) %} -