refactor: replace list items with buttons in pagination
- Changed pagination elements from <li> to <button> for better accessibility. - Updated the paginator structure to use a <div> instead of <ul>. - Ensured that all pagination links are now buttons, improving the user experience. These changes enhance the semantic structure of the pagination, making it more intuitive and accessible for users, especially those using assistive technologies.
This commit is contained in:
parent
8c598ce3dc
commit
0335ef4ed6
@ -1,3 +0,0 @@
|
|||||||
@import 'bootstrap/dist/css/bootstrap';
|
|
||||||
@import 'bootstrap-icons/font/bootstrap-icons';
|
|
||||||
//@import './custom';
|
|
@ -1,201 +0,0 @@
|
|||||||
|
|
||||||
|
|
||||||
/* color */
|
|
||||||
$light-gray: #777;
|
|
||||||
$gray-lighter: #D3D3D3;
|
|
||||||
|
|
||||||
/* universal */
|
|
||||||
body {
|
|
||||||
padding-top: 60px;
|
|
||||||
}
|
|
||||||
section {
|
|
||||||
overflow: auto;
|
|
||||||
}
|
|
||||||
textarea {
|
|
||||||
resize: vertical;
|
|
||||||
}
|
|
||||||
.center {
|
|
||||||
text-align: center;
|
|
||||||
h1 {
|
|
||||||
margin-bottom: 10px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/* typography */
|
|
||||||
h1, h2, h3, h4, h5, h6 {
|
|
||||||
line-height: 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
h1 {
|
|
||||||
font-size: 3em;
|
|
||||||
letter-spacing: -2px;
|
|
||||||
margin-bottom: 30px;
|
|
||||||
text-align: center;
|
|
||||||
}
|
|
||||||
|
|
||||||
h2 {
|
|
||||||
font-size: 1.2em;
|
|
||||||
letter-spacing: -1px;
|
|
||||||
margin-bottom: 30px;
|
|
||||||
text-align: center;
|
|
||||||
font-weight: normal;
|
|
||||||
color: $light-gray;
|
|
||||||
}
|
|
||||||
|
|
||||||
p {
|
|
||||||
font-size: 1.1em;
|
|
||||||
line-height: 1.7em;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* header */
|
|
||||||
#logo {
|
|
||||||
float: left;
|
|
||||||
margin-right: 10px;
|
|
||||||
font-size: 1.7em;
|
|
||||||
color: #fff;
|
|
||||||
text-transform: uppercase;
|
|
||||||
letter-spacing: -1px;
|
|
||||||
padding-top: 9px;
|
|
||||||
font-weight: bold;
|
|
||||||
&:hover {
|
|
||||||
color: $light-gray;
|
|
||||||
text-decoration: none;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
//img {
|
|
||||||
// display: none;
|
|
||||||
//}
|
|
||||||
|
|
||||||
/* footer */
|
|
||||||
footer {
|
|
||||||
margin-top: 45px;
|
|
||||||
padding-top: 5px;
|
|
||||||
border-top: 1px solid #eaeaea;
|
|
||||||
color: $light-gray;
|
|
||||||
a {
|
|
||||||
color: #555;
|
|
||||||
&hover {
|
|
||||||
color: #222;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
small {
|
|
||||||
float: left;
|
|
||||||
}
|
|
||||||
ul {
|
|
||||||
float: right;
|
|
||||||
list-style: none;
|
|
||||||
li {
|
|
||||||
float: left;
|
|
||||||
margin-left: 15px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/* mixins, variables, etc. */
|
|
||||||
$gray-medium-light: #eaeaea;
|
|
||||||
|
|
||||||
@mixin box_sizing {
|
|
||||||
-moz-box-sizing: border-box;
|
|
||||||
-webkit-box-sizing: border-box;
|
|
||||||
box-sizing: border-box;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* miscellaneous */
|
|
||||||
.debug_dump {
|
|
||||||
clear: both;
|
|
||||||
float: left;
|
|
||||||
width: 100%;
|
|
||||||
margin-top: 45px;
|
|
||||||
@include box-sizing;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* sidebar */
|
|
||||||
aside {
|
|
||||||
section.user_info {
|
|
||||||
margin-top: 20px;
|
|
||||||
}
|
|
||||||
section {
|
|
||||||
padding: 10px 0;
|
|
||||||
margin-top: 20px;
|
|
||||||
&:first-child {
|
|
||||||
border: 0;
|
|
||||||
padding-top: 0;
|
|
||||||
}
|
|
||||||
span{
|
|
||||||
display: block;
|
|
||||||
margin-bottom: 3px;
|
|
||||||
line-height: 1;
|
|
||||||
}
|
|
||||||
h1 {
|
|
||||||
font-size: 1.4em;
|
|
||||||
text-align: left;
|
|
||||||
letter-spacing: -1px;
|
|
||||||
margin-bottom: 3px;
|
|
||||||
margin-top: 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.gravatar {
|
|
||||||
float: left;
|
|
||||||
margin-right: 10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.gravatar_edit {
|
|
||||||
margin-top: 15px;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* forms */
|
|
||||||
input, textarea, select, .uneditable-input {
|
|
||||||
border: 1px solid #bbb;
|
|
||||||
width: 100%;
|
|
||||||
margin-bottom: 15px;
|
|
||||||
@include box_sizing;
|
|
||||||
}
|
|
||||||
|
|
||||||
input {
|
|
||||||
height: auto !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* forms */
|
|
||||||
|
|
||||||
#error_explanation {
|
|
||||||
color: red;
|
|
||||||
ul {
|
|
||||||
color: red;
|
|
||||||
margin: 0 0 30px 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.field_with_errors {
|
|
||||||
//@extend .has-error;
|
|
||||||
.form-control {
|
|
||||||
//color: $state-danger-text;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.checkbox {
|
|
||||||
margin-top: -10px;
|
|
||||||
margin-bottom: 10px;
|
|
||||||
span {
|
|
||||||
margin-left: 20px;
|
|
||||||
font-weight: normal;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
#session_remember_me {
|
|
||||||
width: auto;
|
|
||||||
margin-left: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Users index */
|
|
||||||
.users {
|
|
||||||
list-style: none;
|
|
||||||
margin: 0;
|
|
||||||
li {
|
|
||||||
overflow: auto;
|
|
||||||
padding: 10px 0;
|
|
||||||
border-bottom: 1px solid $gray-lighter;
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,3 +1,3 @@
|
|||||||
<li>
|
<button class="join-item btn">
|
||||||
<%= link_to_unless current_page.first?, raw(t 'views.pagination.first'), url, remote: remote %>
|
<%= link_to_unless current_page.first?, raw(t 'views.pagination.first'), url, remote: remote %>
|
||||||
</li>
|
</button>
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
<li class='disabled'>
|
<button class="join-item btn btn-disabled">
|
||||||
<%= content_tag :a, raw(t 'views.pagination.truncate') %>
|
<%= content_tag :a, raw(t 'views.pagination.truncate') %>
|
||||||
</li>
|
</button>
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
<li>
|
<button class="join-item btn">
|
||||||
<%= link_to_unless current_page.last?, raw(t 'views.pagination.last'), url, { remote: remote } %>
|
<%= link_to_unless current_page.last?, raw(t 'views.pagination.last'), url, { remote: remote } %>
|
||||||
</li>
|
</button>
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
<li>
|
<button class="join-item btn">
|
||||||
<%= link_to_unless current_page.last?, raw(t 'views.pagination.next'), url, rel: 'next', remote: remote %>
|
<%= link_to_unless current_page.last?, raw(t 'views.pagination.next'), url, rel: 'next', remote: remote %>
|
||||||
</li>
|
</button>
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
<% if page.current? %>
|
<% if page.current? %>
|
||||||
<li class='active'>
|
<button class='join-item btn btn-active'>
|
||||||
<%= content_tag :a, page, data: { remote: remote }, rel: page.rel %>
|
<%= content_tag :a, page, data: { remote: remote }, rel: page.rel %>
|
||||||
</li>
|
</button>
|
||||||
<% else %>
|
<% else %>
|
||||||
<li>
|
<button class="join-item btn">
|
||||||
<%= link_to page, url, remote: remote, rel: page.rel %>
|
<%= link_to page, url, remote: remote, rel: page.rel %>
|
||||||
</li>
|
</button>
|
||||||
<% end %>
|
<% end %>
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
<%= paginator.render do -%>
|
<%= paginator.render do -%>
|
||||||
<ul class="pagination">
|
<div class="join">
|
||||||
<%= first_page_tag unless current_page.first? %>
|
<%= first_page_tag unless current_page.first? %>
|
||||||
<%= prev_page_tag unless current_page.first? %>
|
<%= prev_page_tag unless current_page.first? %>
|
||||||
<% each_page do |page| -%>
|
<% each_page do |page| -%>
|
||||||
@ -11,5 +11,5 @@
|
|||||||
<% end -%>
|
<% end -%>
|
||||||
<%= next_page_tag unless current_page.last? %>
|
<%= next_page_tag unless current_page.last? %>
|
||||||
<%= last_page_tag unless current_page.last? %>
|
<%= last_page_tag unless current_page.last? %>
|
||||||
</ul>
|
</div>
|
||||||
<% end -%>
|
<% end -%>
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
<li>
|
<button class="join-item btn">
|
||||||
<%= link_to_unless current_page.first?, raw(t 'views.pagination.previous'), url, rel: 'prev', remote: remote %>
|
<%= link_to_unless current_page.first?, raw(t 'views.pagination.previous'), url, rel: 'prev', remote: remote %>
|
||||||
</li>
|
</button>
|
||||||
|
@ -3,13 +3,16 @@
|
|||||||
<div class="container mx-auto px-4 py-8">
|
<div class="container mx-auto px-4 py-8">
|
||||||
<h1 class="text-3xl font-bold text-center mb-8">All Users</h1>
|
<h1 class="text-3xl font-bold text-center mb-8">All Users</h1>
|
||||||
|
|
||||||
<!-- 分页 -->
|
|
||||||
<div class="flex justify-center mb-6">
|
|
||||||
<%= paginate @users %>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- 用户列表 -->
|
<!-- 用户列表 -->
|
||||||
<div class="grid gap-4 max-w-3xl mx-auto">
|
<div class="grid gap-4 max-w-3xl mx-auto">
|
||||||
<%= render @users %>
|
<%= render @users %>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<!-- 分页 -->
|
||||||
|
<div class="flex justify-center mb-6 mt-6">
|
||||||
|
<div class="join">
|
||||||
|
<%= paginate @users %>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
Loading…
Reference in New Issue
Block a user