This is an automated email from the ASF dual-hosted git repository.

shuai pushed a commit to branch ui-optimization
in repository https://gitbox.apache.org/repos/asf/answer.git

commit 308f3cf32e63c8697c1c3809f4ad7587c622d3f8
Author: shuai <[email protected]>
AuthorDate: Thu Apr 3 17:37:47 2025 +0800

    fix: uypdate seo template codes
---
 ui/template/footer.html          |  24 +--
 ui/template/header.html          |  15 +-
 ui/template/homepage.html        | 154 +++++++++----------
 ui/template/question-detail.html | 312 ++++++++++++++++++++-------------------
 ui/template/question.html        |  79 +++++-----
 ui/template/sidenav.html         |  35 +++--
 ui/template/sort-btns.html       |  37 ++++-
 ui/template/tag-detail.html      | 132 +++++++++--------
 ui/template/tags.html            |  88 +++++------
 9 files changed, 462 insertions(+), 414 deletions(-)

diff --git a/ui/template/footer.html b/ui/template/footer.html
index d69b164f..d9c69017 100644
--- a/ui/template/footer.html
+++ b/ui/template/footer.html
@@ -20,15 +20,21 @@
 -->
 {{define "footer"}}
 </div>
-        <footer class="bg-light py-3">
-            <div class="container">
-                <p class="text-center mb-0 small text-secondary">
-                  {{$cc := (join " " .siteinfo.Year .siteinfo.General.Name) -}}
-                  {{- $ft := translator $.language "ui.footer.build_on" "cc" 
$cc -}}
-                  {{templateHTML (replaceHTMLTag $ft "<a 
href=\"https://answer.apache.org/\"; target=\"_blank\"> Answer </a>")}}
-                </p>
-            </div>
-        </footer>
+  <footer class="py-3 bg-light w-100">
+    <p class="text-center mb-0 small">
+      <a class="me-3" href="/tos" data-discover="true">
+        {{translator $.language "ui.admin.legal.terms_of_service.label"}}
+      </a>
+      <a href="/privacy" data-discover="true">
+        {{translator $.language "ui.admin.legal.privacy_policy.label"}}
+      </a>
+    </p>
+    <p class="text-center mb-0 small text-secondary">
+      {{$cc := (join " " .siteinfo.Year .siteinfo.General.Name) -}}
+      {{- $ft := translator $.language "ui.footer.build_on" "cc" $cc -}}
+      {{templateHTML (replaceHTMLTag $ft "<a 
href=\"https://answer.apache.org/\"; target=\"_blank\"> Answer </a>")}}
+    </p>
+  </footer>
     </div>
 <!--customize_footer-->
 {{if .FooterCode }}{{.FooterCode | templateHTML}}{{end}}
diff --git a/ui/template/header.html b/ui/template/header.html
index 329365fd..f6529b8d 100644
--- a/ui/template/header.html
+++ b/ui/template/header.html
@@ -145,10 +145,9 @@
       </div>
 
       <nav id="header" class="sticky-top theme-colored navbar navbar-expand-lg 
navbar-dark">
-        <div class="d-flex align-items-center container">
+        <div class="w-100 d-flex align-items-center px-3">
           <button
             aria-controls="navBarContent"
-            id="navBarToggle"
             type="button"
             aria-label="Toggle navigation"
             class="answer-navBar me-2 navbar-toggler collapsed"
@@ -168,9 +167,8 @@
               </a>
             {{end}}
           </div>
-          <div class="me-auto navbar-collapse collapse" id="navBarContent">
-            <hr class="hr xl-none mb-2" style="margin-top: 12px" />
-            <div class="ps-0 col-lg-8">
+          <div class="d-none d-xl-block flex-grow-1 me-auto">
+            <div class="d-none d-xl-block ps-0 col-lg-8">
               <form action="/search" class="w-100 maxw-400">
                 <input placeholder="Search" name="q" type="search" 
class="placeholder-search form-control" value="">
               </form>
@@ -190,11 +188,14 @@
         </div>
       </nav>
       <div class="position-relative page-wrap d-flex flex-column flex-fill">
-        <div class="d-flex flex-column flex-fill container">
-          <div class="flex-fill row">
+        <div class="d-flex">
+          <div class="position-sticky px-3 border-end pt-4 d-none d-xl-block" 
id="pcSideNav">
             {{template "sidenav" . }}
             {{end}}
           </div>
+          <div class="flex-fill w-100">
+
+          </div>
         </div>
       </div>
 
diff --git a/ui/template/homepage.html b/ui/template/homepage.html
index 84887a09..0fdc63a4 100644
--- a/ui/template/homepage.html
+++ b/ui/template/homepage.html
@@ -19,90 +19,92 @@
 
 -->
 {{template "header" . }}
-<div class="col-xl-10 col-lg-9 col-md-12">
-  <div class="pt-4 mb-5">
-    <div class="row">
-      <div class="col">
-        <div class="d-md-flex d-block flex-wrap justify-content-between">
-          <div class="d-flex flex-column flex-md-row mb-4">
-            <a href="{{$.baseURL}}/users/{{.userinfo.Username}}">
-              <img
-                  src="{{.userinfo.Avatar}}"
-                  width="160px" height="160px" class="rounded" 
alt="{{.userinfo.Username}}" />
-              </a>
-            <div class="ms-0 ms-md-4 mt-4 mt-md-0">
-              <div class="d-flex align-items-center mb-2">
-                  <a class="link-dark h3 mb-0" 
href="{{$.baseURL}}/users/{{.userinfo.Username}}">{{.userinfo.DisplayName}}</a>
+<div class="d-flex justify-content-center px-0 px-md-4">
+  <div class="answer-container">
+    <div class="pt-4 mb-5">
+      <div class="row">
+        <div class="col">
+          <div class="d-md-flex d-block flex-wrap justify-content-between">
+            <div class="d-flex flex-column flex-md-row mb-4">
+              <a href="{{$.baseURL}}/users/{{.userinfo.Username}}">
+                <img
+                    src="{{.userinfo.Avatar}}"
+                    width="160px" height="160px" class="rounded" 
alt="{{.userinfo.Username}}" />
+                </a>
+              <div class="ms-0 ms-md-4 mt-4 mt-md-0">
+                <div class="d-flex align-items-center mb-2">
+                    <a class="link-dark h3 mb-0" 
href="{{$.baseURL}}/users/{{.userinfo.Username}}">{{.userinfo.DisplayName}}</a>
 
+                </div>
+                <div class="text-secondary mb-4">@{{.userinfo.Username}}</div>
+                <div class="d-flex flex-wrap mb-3">
+                    <div class="me-3">
+                        <strong class="fs-5">{{.userinfo.Rank}}</strong><span 
class="text-secondary"> {{translator $.language 
"ui.personal.x_reputation"}}</span>
+                    </div>
+                    <div class="me-3">
+                        <strong 
class="fs-5">{{.userinfo.AnswerCount}}</strong><span class="text-secondary"> 
{{translator $.language "ui.personal.x_answers"}}</span>
+                    </div>
+                    <div>
+                        <strong 
class="fs-5">{{.userinfo.QuestionCount}}</strong><span class="text-secondary"> 
{{translator $.language "ui.personal.x_questions"}}</span>
+                    </div>
+                </div>
+                {{if .userinfo.Website }}
+                <div class="d-flex align-items-center"><i class="br 
bi-house-door-fill me-2"></i><a class="link-secondary" 
href="{{.userinfo.Website}}">{{.userinfo.Website}}</a></div>
+                {{else}}
+                {{end}}
+                <div class="d-flex text-secondary"></div>
               </div>
-              <div class="text-secondary mb-4">@{{.userinfo.Username}}</div>
-              <div class="d-flex flex-wrap mb-3">
-                  <div class="me-3">
-                      <strong class="fs-5">{{.userinfo.Rank}}</strong><span 
class="text-secondary"> {{translator $.language 
"ui.personal.x_reputation"}}</span>
-                  </div>
-                  <div class="me-3">
-                      <strong 
class="fs-5">{{.userinfo.AnswerCount}}</strong><span class="text-secondary"> 
{{translator $.language "ui.personal.x_answers"}}</span>
-                  </div>
-                  <div>
-                      <strong 
class="fs-5">{{.userinfo.QuestionCount}}</strong><span class="text-secondary"> 
{{translator $.language "ui.personal.x_questions"}}</span>
-                  </div>
-              </div>
-              {{if .userinfo.Website }}
-              <div class="d-flex align-items-center"><i class="br 
bi-house-door-fill me-2"></i><a class="link-secondary" 
href="{{.userinfo.Website}}">{{.userinfo.Website}}</a></div>
-              {{else}}
-              {{end}}
-              <div class="d-flex text-secondary"></div>
             </div>
           </div>
         </div>
       </div>
-    </div>
-    <div class="justify-content-center row">
+      <div class="justify-content-center row">
 
-        <div class="col-xxl-7 col-lg-8 col-sm-12">
-            <div>
-                <h5 class="mb-3">{{translator $.language 
"ui.personal.about_me"}}</h5>
-                {{if .bio }}
-                <div class="mb-5 text-break fmt">{{.bio}}</div>
-                {{else}}
-                <div class="text-center py-5 mb-4">{{translator $.language 
"ui.personal.about_me_empty"}}</div>
-                {{end}}
-                <div class="mb-4 row">
-                    <div class="mb-4 col-md-6 col-sm-12">
-                        <h5 class="mb-3">Top Answers</h5>
-                        <ol class="list-unstyled">
-                            {{ range .topAnswers }}
-                            <li class="mb-2">
-                                <a class="text-truncate-1" 
href="{{$.baseURL}}/questions/{{.QuestionID}}/{{.AnswerID}}">{{.QuestionInfo.Title}}</a>
-                                <div class="text-secondary small">
-                                    <i class="br bi-hand-thumbs-up-fill 
me-1"></i><span>{{.VoteCount}} votes</span>
-                                </div>
-                            </li>
-                            {{ end }}
-                        </ol>
-                    </div>
-                    <div class="col-md-6 col-sm-12">
-                        <h5 class="mb-3">Top Questions</h5>
-                        <ol class="list-unstyled">
-                            {{ range .topQuestions }}
-                            <li class="mb-2">
-                                <a class="text-truncate-1" 
href="{{$.baseURL}}/questions/{{.ID}}">{{.Title}}</a>
-                                <div class="text-secondary small">
-                                    <i class="br bi-hand-thumbs-up-fill 
me-1"></i><span> {{.VoteCount}} votes</span>
-                                    <div class="d-inline-block text-secondary 
ms-3 small text-success">
-                                        <i class="br 
bi-check-circle-fill"></i><span> {{.AnswerCount}} answers</span>
-                                    </div>
-                                </div>
-                            </li>
-                            {{ end }}
-                        </ol>
-                    </div>
-                </div>
-            </div>
-        </div>
-        <div class="mt-5 mt-lg-0 col-xxl-3 col-lg-4 col-sm-12">
+          <div class="col-xxl-7 col-lg-8 col-sm-12">
+              <div>
+                  <h5 class="mb-3">{{translator $.language 
"ui.personal.about_me"}}</h5>
+                  {{if .bio }}
+                  <div class="mb-5 text-break fmt">{{.bio}}</div>
+                  {{else}}
+                  <div class="text-center py-5 mb-4">{{translator $.language 
"ui.personal.about_me_empty"}}</div>
+                  {{end}}
+                  <div class="mb-4 row">
+                      <div class="mb-4 col-md-6 col-sm-12">
+                          <h5 class="mb-3">Top Answers</h5>
+                          <ol class="list-unstyled">
+                              {{ range .topAnswers }}
+                              <li class="mb-2">
+                                  <a class="text-truncate-1" 
href="{{$.baseURL}}/questions/{{.QuestionID}}/{{.AnswerID}}">{{.QuestionInfo.Title}}</a>
+                                  <div class="text-secondary small">
+                                      <i class="br bi-hand-thumbs-up-fill 
me-1"></i><span>{{.VoteCount}} votes</span>
+                                  </div>
+                              </li>
+                              {{ end }}
+                          </ol>
+                      </div>
+                      <div class="col-md-6 col-sm-12">
+                          <h5 class="mb-3">Top Questions</h5>
+                          <ol class="list-unstyled">
+                              {{ range .topQuestions }}
+                              <li class="mb-2">
+                                  <a class="text-truncate-1" 
href="{{$.baseURL}}/questions/{{.ID}}">{{.Title}}</a>
+                                  <div class="text-secondary small">
+                                      <i class="br bi-hand-thumbs-up-fill 
me-1"></i><span> {{.VoteCount}} votes</span>
+                                      <div class="d-inline-block 
text-secondary ms-3 small text-success">
+                                          <i class="br 
bi-check-circle-fill"></i><span> {{.AnswerCount}} answers</span>
+                                      </div>
+                                  </div>
+                              </li>
+                              {{ end }}
+                          </ol>
+                      </div>
+                  </div>
+              </div>
+          </div>
+          <div class="mt-5 mt-lg-0 col-xxl-3 col-lg-4 col-sm-12">
 
-        </div>
+          </div>
+      </div>
     </div>
   </div>
 </div>
diff --git a/ui/template/question-detail.html b/ui/template/question-detail.html
index fcf98c3d..e0be5318 100644
--- a/ui/template/question-detail.html
+++ b/ui/template/question-detail.html
@@ -19,187 +19,189 @@
 
 -->
 {{template "header" . }}
-<div class="col-xl-10 col-lg-9 col-md-12">
-  <div class="questionDetailPage pt-4 mb-5 row">
-    <div class="page-main flex-auto col">
-      <div>
-        <h1 class="h3 mb-3 text-wrap text-break">
-          {{if $.useTitle }}
-          <a class="link-dark" 
href="{{$.baseURL}}/questions/{{.detail.ID}}/{{urlTitle 
.detail.Title}}">{{.detail.Title}}</a>
-          {{else}}
-          <a class="link-dark" 
href="{{$.baseURL}}/questions/{{.detail.ID}}">{{.detail.Title}}</a>
-          {{end}}
-        </h1>
-        <div
-          class="d-flex flex-wrap align-items-center small mb-3 
text-secondary">
-          <time class="me-3"
-                datetime="{{timeFormatISO $.timezone .detail.CreateTime}}"
-                title="{{translatorTimeFormatLongDate $.language $.timezone 
.detail.CreateTime}}">{{translator $.language "ui.question_detail.Asked"}} 
{{translatorTimeFormat $.language $.timezone .detail.CreateTime}}
-          </time>
-          <time class="me-3"
-                datetime="{{timeFormatISO $.timezone .detail.UpdateTime}}"
-                title="{{translatorTimeFormatLongDate $.language $.timezone 
.detail.UpdateTime}}">{{translator $.language "ui.question_detail.update"}} 
{{translatorTimeFormat $.language $.timezone .detail.UpdateTime}}
-          </time>
-          <div class="me-3">{{translator $.language 
"ui.question_detail.Views"}} {{.detail.ViewCount}}</div>
+<div class="d-flex justify-content-center px-0 px-md-4">
+  <div class="answer-container">
+    <div class="questionDetailPage pt-4 mb-5 row">
+      <div class="page-main flex-auto col">
+        <div>
+          <h1 class="h3 mb-3 text-wrap text-break">
+            {{if $.useTitle }}
+            <a class="link-dark" 
href="{{$.baseURL}}/questions/{{.detail.ID}}/{{urlTitle 
.detail.Title}}">{{.detail.Title}}</a>
+            {{else}}
+            <a class="link-dark" 
href="{{$.baseURL}}/questions/{{.detail.ID}}">{{.detail.Title}}</a>
+            {{end}}
+          </h1>
+          <div
+            class="d-flex flex-wrap align-items-center small mb-3 
text-secondary">
+            <time class="me-3"
+                  datetime="{{timeFormatISO $.timezone .detail.CreateTime}}"
+                  title="{{translatorTimeFormatLongDate $.language $.timezone 
.detail.CreateTime}}">{{translator $.language "ui.question_detail.Asked"}} 
{{translatorTimeFormat $.language $.timezone .detail.CreateTime}}
+            </time>
+            <time class="me-3"
+                  datetime="{{timeFormatISO $.timezone .detail.UpdateTime}}"
+                  title="{{translatorTimeFormatLongDate $.language $.timezone 
.detail.UpdateTime}}">{{translator $.language "ui.question_detail.update"}} 
{{translatorTimeFormat $.language $.timezone .detail.UpdateTime}}
+            </time>
+            <div class="me-3">{{translator $.language 
"ui.question_detail.Views"}} {{.detail.ViewCount}}</div>
 
-        </div>
-        <div class="m-n1">
-          {{range .detail.Tags}}
-          <a href="{{$.baseURL}}/tags/{{.SlugName}}"
-              class="badge-tag rounded-1 {{if 
.Reserved}}badge-tag-reserved{{end}} {{if .Recommend}}badge-tag-required{{end}} 
m-1">
-            <span class="">{{.SlugName}}</span>
-          </a>
-          {{end}}
-        </div>
-        <div class="img-viewer">
-          <article class="fmt text-break text-wrap mt-4">
-            {{formatLinkNofollow .detail.HTML}}
-          </article>
-        </div>
-        <div class="mt-4">
-          <div role="group" class="btn-group">
-            <button type="button" class="btn btn-outline-secondary">
-              <i class="br bi-hand-thumbs-up-fill"></i></button>
-            <button type="button"
-                    disabled="" class="btn btn-outline-dark text-body">
-              {{.detail.VoteCount}}
-            </button>
-            <button type="button" class="btn btn-outline-secondary">
-              <i class="br bi-hand-thumbs-down-fill"></i>
-            </button>
           </div>
-          <button type="button" class="btn btn-outline-secondary ms-3">
-            <i class="br bi-bookmark-fill"></i><span style="padding-left: 
10px">{{.detail.CollectionCount}}</span>
-          </button>
-        </div>
-        <div class="d-block d-md-flex flex-wrap mt-4 mb-3">
-          <div class="mb-3 mb-md-0 me-4 flex-grow-1">
-
-          </div>
-          <div class="mb-3 me-4 mb-md-0" style="min-width: 196px;">
-            <a href="{{$.baseURL}}/posts/{{.detail.ID}}/timeline">
-              <time class="link-secondary small"
-                    datetime="{{timeFormatISO $.timezone .detail.UpdateTime}}"
-                    title="{{translatorTimeFormatLongDate $.language 
$.timezone .detail.UpdateTime}}">
-                {{translator $.language "ui.question_detail.edit"}} 
{{translatorTimeFormat $.language $.timezone .detail.UpdateTime}}
-              </time>
+          <div class="m-n1">
+            {{range .detail.Tags}}
+            <a href="{{$.baseURL}}/tags/{{.SlugName}}"
+                class="badge-tag rounded-1 {{if 
.Reserved}}badge-tag-reserved{{end}} {{if .Recommend}}badge-tag-required{{end}} 
m-1">
+              <span class="">{{.SlugName}}</span>
             </a>
+            {{end}}
           </div>
-          <div style="min-width: 196px;">
-            <div class="d-flex">
-              <a href="{{$.baseURL}}/users/{{.detail.UserInfo.Username}}"><img
-                src="{{.detail.UserInfo.Avatar}}"
-                width="40px" height="40px"
-                class="rounded me-2 d-none d-md-block"
-                alt=""/><img
-                src="{{.detail.UserInfo.Avatar}}"
-                width="24px" height="24px"
-                class="rounded me-2 d-block d-md-none"
-                alt=""/></a>
-              <div
-                class="small text-secondary d-flex flex-row flex-md-column 
align-items-center align-items-md-start">
-                <div class="me-1 me-md-0">
-                  <a class="me-1 text-break"
-                      
href="{{$.baseURL}}/users/{{.detail.UserInfo.Username}}">{{.detail.UserInfo.DisplayName}}</a><span
-                  class="fw-bold" 
title="Reputation">{{.detail.UserInfo.Rank}}</span>
-                </div>
-                <a href="{{$.baseURL}}/posts/{{.detail.ID}}/timeline">
-                  <time class="link-secondary"
-                        datetime="{{timeFormatISO $.timezone 
.detail.CreateTime}}"
-                        title="{{translatorTimeFormatLongDate $.language 
$.timezone .detail.CreateTime}}">{{translator $.language 
"ui.question_detail.asked"}} {{translatorTimeFormat $.language $.timezone 
.detail.CreateTime}}
-                  </time>
-                </a>
-              </div>
-            </div>
+          <div class="img-viewer">
+            <article class="fmt text-break text-wrap mt-4">
+              {{formatLinkNofollow .detail.HTML}}
+            </article>
           </div>
-        </div>
-        <div class="comments-wrap">
-          {{template "comment" (wrapComments (index $.comments $.detail.ID) 
$.language $.timezone)}}
-        </div>
-      </div>
-      <div class="d-flex align-items-center justify-content-between mt-5 mb-3"
-            id="answerHeader">
-        <h5 class="mb-0">{{.detail.AnswerCount}} Answers</h5>
-      </div>
-      {{range .answers}}
-      <div class="answer-item py-4">
-        <article class="fmt">
-          {{formatLinkNofollow .HTML}}
-        </article>
-        <div class="d-flex align-items-center mt-4">
-          <div class="">
+          <div class="mt-4">
             <div role="group" class="btn-group">
               <button type="button" class="btn btn-outline-secondary">
                 <i class="br bi-hand-thumbs-up-fill"></i></button>
               <button type="button"
                       disabled="" class="btn btn-outline-dark text-body">
-                {{.VoteCount}}
+                {{.detail.VoteCount}}
               </button>
               <button type="button" class="btn btn-outline-secondary">
                 <i class="br bi-hand-thumbs-down-fill"></i>
               </button>
             </div>
+            <button type="button" class="btn btn-outline-secondary ms-3">
+              <i class="br bi-bookmark-fill"></i><span style="padding-left: 
10px">{{.detail.CollectionCount}}</span>
+            </button>
           </div>
-          {{if eq 2 .Accepted}}
-          <button type="button" disabled=""
-                  class="ms-3 active opacity-100 bg-success text-white btn 
btn-outline-success">
-            <i class="br bi-check-circle-fill me-2"></i><span>{{translator 
$.language "ui.question_detail.answers.btn_accepted"}}</span>
-          </button>
-          {{end}}
-        </div>
-        <div class="mt-4 mb-3 row">
-          <div class="mb-3 mb-md-0 col">
-            <div class="d-flex align-items-center">
+          <div class="d-block d-md-flex flex-wrap mt-4 mb-3">
+            <div class="mb-3 mb-md-0 me-4 flex-grow-1">
 
             </div>
+            <div class="mb-3 me-4 mb-md-0" style="min-width: 196px;">
+              <a href="{{$.baseURL}}/posts/{{.detail.ID}}/timeline">
+                <time class="link-secondary small"
+                      datetime="{{timeFormatISO $.timezone 
.detail.UpdateTime}}"
+                      title="{{translatorTimeFormatLongDate $.language 
$.timezone .detail.UpdateTime}}">
+                  {{translator $.language "ui.question_detail.edit"}} 
{{translatorTimeFormat $.language $.timezone .detail.UpdateTime}}
+                </time>
+              </a>
+            </div>
+            <div style="min-width: 196px;">
+              <div class="d-flex">
+                <a 
href="{{$.baseURL}}/users/{{.detail.UserInfo.Username}}"><img
+                  src="{{.detail.UserInfo.Avatar}}"
+                  width="40px" height="40px"
+                  class="rounded me-2 d-none d-md-block"
+                  alt=""/><img
+                  src="{{.detail.UserInfo.Avatar}}"
+                  width="24px" height="24px"
+                  class="rounded me-2 d-block d-md-none"
+                  alt=""/></a>
+                <div
+                  class="small text-secondary d-flex flex-row flex-md-column 
align-items-center align-items-md-start">
+                  <div class="me-1 me-md-0">
+                    <a class="me-1 text-break"
+                        
href="{{$.baseURL}}/users/{{.detail.UserInfo.Username}}">{{.detail.UserInfo.DisplayName}}</a><span
+                    class="fw-bold" 
title="Reputation">{{.detail.UserInfo.Rank}}</span>
+                  </div>
+                  <a href="{{$.baseURL}}/posts/{{.detail.ID}}/timeline">
+                    <time class="link-secondary"
+                          datetime="{{timeFormatISO $.timezone 
.detail.CreateTime}}"
+                          title="{{translatorTimeFormatLongDate $.language 
$.timezone .detail.CreateTime}}">{{translator $.language 
"ui.question_detail.asked"}} {{translatorTimeFormat $.language $.timezone 
.detail.CreateTime}}
+                    </time>
+                  </a>
+                </div>
+              </div>
+            </div>
           </div>
-          <div class="mb-3 mb-md-0 col-lg-3">
-            <a href="{{$.baseURL}}/posts/{{$.detail.ID}}/{{.ID}}/timeline">
-              <time
-                class="link-secondary small"
-                datetime="{{timeFormatISO $.timezone .UpdateTime}}"
-                title="{{translatorTimeFormatLongDate $.language $.timezone 
.UpdateTime}}">
-                {{translator $.language "ui.question_detail.edit"}} 
{{translatorTimeFormat $.language $.timezone .UpdateTime}}
-              </time>
-            </a>
+          <div class="comments-wrap">
+            {{template "comment" (wrapComments (index $.comments $.detail.ID) 
$.language $.timezone)}}
           </div>
-          <div class="col-lg-4">
-            <div class="d-flex">
-              <a href="{{$.baseURL}}/users/{{.UserInfo.Username}}"><img
-                src="{{.UserInfo.Avatar}}"
-                width="40px" height="40px"
-                class="rounded me-2 d-none d-md-block"
-                alt=""/><img
-                src="{{.UserInfo.Avatar}}"
-                width="24px" height="24px"
-                class="rounded me-2 d-block d-md-none"
-                alt=""/></a>
-              <div
-                class="small text-secondary d-flex flex-row flex-md-column 
align-items-center align-items-md-start">
-                <div class="me-1 me-md-0">
-                  <a class="me-1 text-break"
-                      
href="{{$.baseURL}}/users/{{.UserInfo.Username}}">{{.UserInfo.DisplayName}}</a><span
-                  class="fw-bold" title="Reputation">{{.UserInfo.Rank}}</span>
+        </div>
+        <div class="d-flex align-items-center justify-content-between mt-5 
mb-3"
+              id="answerHeader">
+          <h5 class="mb-0">{{.detail.AnswerCount}} Answers</h5>
+        </div>
+        {{range .answers}}
+        <div class="answer-item py-4">
+          <article class="fmt">
+            {{formatLinkNofollow .HTML}}
+          </article>
+          <div class="d-flex align-items-center mt-4">
+            <div class="">
+              <div role="group" class="btn-group">
+                <button type="button" class="btn btn-outline-secondary">
+                  <i class="br bi-hand-thumbs-up-fill"></i></button>
+                <button type="button"
+                        disabled="" class="btn btn-outline-dark text-body">
+                  {{.VoteCount}}
+                </button>
+                <button type="button" class="btn btn-outline-secondary">
+                  <i class="br bi-hand-thumbs-down-fill"></i>
+                </button>
+              </div>
+            </div>
+            {{if eq 2 .Accepted}}
+            <button type="button" disabled=""
+                    class="ms-3 active opacity-100 bg-success text-white btn 
btn-outline-success">
+              <i class="br bi-check-circle-fill me-2"></i><span>{{translator 
$.language "ui.question_detail.answers.btn_accepted"}}</span>
+            </button>
+            {{end}}
+          </div>
+          <div class="mt-4 mb-3 row">
+            <div class="mb-3 mb-md-0 col">
+              <div class="d-flex align-items-center">
+
+              </div>
+            </div>
+            <div class="mb-3 mb-md-0 col-lg-3">
+              <a href="{{$.baseURL}}/posts/{{$.detail.ID}}/{{.ID}}/timeline">
+                <time
+                  class="link-secondary small"
+                  datetime="{{timeFormatISO $.timezone .UpdateTime}}"
+                  title="{{translatorTimeFormatLongDate $.language $.timezone 
.UpdateTime}}">
+                  {{translator $.language "ui.question_detail.edit"}} 
{{translatorTimeFormat $.language $.timezone .UpdateTime}}
+                </time>
+              </a>
+            </div>
+            <div class="col-lg-4">
+              <div class="d-flex">
+                <a href="{{$.baseURL}}/users/{{.UserInfo.Username}}"><img
+                  src="{{.UserInfo.Avatar}}"
+                  width="40px" height="40px"
+                  class="rounded me-2 d-none d-md-block"
+                  alt=""/><img
+                  src="{{.UserInfo.Avatar}}"
+                  width="24px" height="24px"
+                  class="rounded me-2 d-block d-md-none"
+                  alt=""/></a>
+                <div
+                  class="small text-secondary d-flex flex-row flex-md-column 
align-items-center align-items-md-start">
+                  <div class="me-1 me-md-0">
+                    <a class="me-1 text-break"
+                        
href="{{$.baseURL}}/users/{{.UserInfo.Username}}">{{.UserInfo.DisplayName}}</a><span
+                    class="fw-bold" 
title="Reputation">{{.UserInfo.Rank}}</span>
+                  </div>
+                  <a 
href="{{$.baseURL}}/posts/{{$.detail.ID}}/{{.ID}}/timeline">
+                    <time
+                      class="link-secondary"
+                      datetime="{{timeFormatISO $.timezone .CreateTime}}"
+                      title="{{translatorTimeFormatLongDate $.language 
$.timezone .CreateTime}}">{{translator $.language 
"ui.question_detail.answered"}} {{translatorTimeFormat $.language $.timezone 
.CreateTime}}
+                    </time>
+                  </a>
                 </div>
-                <a href="{{$.baseURL}}/posts/{{$.detail.ID}}/{{.ID}}/timeline">
-                  <time
-                    class="link-secondary"
-                    datetime="{{timeFormatISO $.timezone .CreateTime}}"
-                    title="{{translatorTimeFormatLongDate $.language 
$.timezone .CreateTime}}">{{translator $.language 
"ui.question_detail.answered"}} {{translatorTimeFormat $.language $.timezone 
.CreateTime}}
-                  </time>
-                </a>
               </div>
             </div>
           </div>
+          <div class="comments-wrap">
+            {{template "comment" (wrapComments (index $.comments .ID) 
$.language $.timezone)}}
+          </div>
         </div>
-        <div class="comments-wrap">
-          {{template "comment" (wrapComments (index $.comments .ID) $.language 
$.timezone)}}
-        </div>
+        {{end}}
+      </div>
+      <div class="page-right-side mt-4 mt-xl-0 col">
+        {{template "related-question" .}}
       </div>
-      {{end}}
-    </div>
-    <div class="page-right-side mt-4 mt-xl-0 col">
-      {{template "related-question" .}}
     </div>
   </div>
 </div>
diff --git a/ui/template/question.html b/ui/template/question.html
index 198802e6..1fa19dcf 100644
--- a/ui/template/question.html
+++ b/ui/template/question.html
@@ -19,7 +19,7 @@
 
 -->
 {{template "header" . }}
-<div class="col-xl-10 col-lg-9 col-md-12">
+<div class="d-flex justify-content-center px-0 px-md-4">
   <div class="pt-4 mb-5 row">
     <div class="page-main flex-auto col">
       <div>
@@ -31,36 +31,57 @@
         </div>
         <div class="rounded-0 list-group">
           {{range .data}}
-          <div class="bg-transparent py-3 px-0 border-start-0 border-end-0 
list-group-item">
+          <div class="py-3 px-2 border-start-0 border-end-0 position-relative 
pointer list-group-item list-group-item-action">
+            <div class="d-flex flex-wrap text-secondary small mb-12">
+              <div class="d-flex align-items-center  text-secondary me-1">
+                <a href="{{$.baseURL}}/users/{{.Operator.Username}}">
+                  <img src="{{$.baseURL}}/users/{{.Operator.Avatar}}" 
width="24px" height="24px" class="rounded-circle me-1" alt="shuai" 
data-processed="true">
+                  <span class="me-1 name-ellipsis" style="max-width: 
300px;">{{.Operator.DisplayName}}</span>
+                </a>
+                <span class="fw-bold" 
title="Reputation">{{.Operator.Rank}}</span>
+              </div>
+              •
+              <time
+                class="text-secondary ms-1"
+                datetime="{{timeFormatISO $.timezone .OperatedAt}}"
+                title="{{translatorTimeFormatLongDate $.language $.timezone 
.OperatedAt}}"
+                >{{translator $.language "ui.question.asked"}}
+                {{translatorTimeFormat $.language $.timezone .OperatedAt}}
+              </time>
+            </div>
+
             <h5 class="text-wrap text-break">
               {{if $.useTitle }}
-              <a class="link-dark" 
href="{{$.baseURL}}/questions/{{.ID}}/{{urlTitle .Title}}"
+              <a class="link-dark d-block" 
href="{{$.baseURL}}/questions/{{.ID}}/{{urlTitle .Title}}"
                 >{{.Title}}</a
               >
               {{else}}
-              <a class="link-dark" 
href="{{$.baseURL}}/questions/{{.ID}}">{{.Title}}</a>
+              <a class="link-dark d-block" 
href="{{$.baseURL}}/questions/{{.ID}}">{{.Title}}</a>
               {{end}}
             </h5>
-            <div
-              class="d-flex flex-wrap flex-column flex-md-row 
align-items-md-center small mb-2 text-secondary">
-              <div class="d-flex flex-wrap me-0 me-md-3">
-                <div class="d-flex align-items-center  text-secondary me-1">
-                  <a href="{{$.baseURL}}/users/{{.Operator.Username}}"
-                    ><span class="me-1 text-break"
-                      >{{.Operator.DisplayName}}</span
-                    ></a
-                  ><span class="fw-bold" title="Reputation"
-                    >{{.Operator.Rank}}</span
-                  >
-                </div>
-                <time
-                  class="text-secondary ms-1"
-                  datetime="{{timeFormatISO $.timezone .OperatedAt}}"
-                  title="{{translatorTimeFormatLongDate $.language $.timezone 
.OperatedAt}}"
-                  >{{translator $.language "ui.question.asked"}}
-                  {{translatorTimeFormat $.language $.timezone .OperatedAt}}
-                </time>
-              </div>
+
+            <div class="text-truncate-2 mb-2">
+              {{if $.useTitle }}
+              <a class="d-block small text-body" 
href="{{$.baseURL}}/questions/{{.ID}}/{{urlTitle .Title}}"
+                >{{.Description}}</a
+              >
+              {{else}}
+              <a class="d-block small text-body" 
href="{{$.baseURL}}/questions/{{.ID}}">{{.Description}}</a>
+              {{end}}
+            </div>
+
+            <div class="question-tags mb-12">
+              {{range .Tags }}
+              <a
+                href="{{$.baseURL}}/tags/{{.SlugName}}"
+                class="badge-tag rounded-1 {{if 
.Reserved}}badge-tag-reserved{{end}} {{if .Recommend}}badge-tag-required{{end}} 
me-1"
+              >
+                <span class="">{{.SlugName}}</span>
+              </a>
+              {{end}}
+            </div>
+
+            <div class="small text-secondary">
               <div class="d-flex align-items-center mt-2 mt-md-0">
                 <div class="d-flex align-items-center flex-shrink-0">
                   <i class="br bi-hand-thumbs-up-fill"></i>
@@ -76,16 +97,6 @@
                 </span>
               </div>
             </div>
-            <div class="question-tags mx-n1">
-              {{range .Tags }}
-              <a
-                href="{{$.baseURL}}/tags/{{.SlugName}}"
-                class="badge-tag rounded-1 {{if 
.Reserved}}badge-tag-reserved{{end}} {{if .Recommend}}badge-tag-required{{end}} 
m-1"
-              >
-                <span class="">{{.SlugName}}</span>
-              </a>
-              {{end}}
-            </div>
           </div>
           {{end}}
         </div>
diff --git a/ui/template/sidenav.html b/ui/template/sidenav.html
index aabf6308..3c075002 100644
--- a/ui/template/sidenav.html
+++ b/ui/template/sidenav.html
@@ -19,23 +19,22 @@
 
 -->
 {{define "sidenav"}}
-<div id="sideNav" class="position-relative d-none d-xl-block col-xl-2 col-lg-3 
col-md-12">
-  <div class="nav-wrap pt-4">
-    <div class="flex-column nav nav-pills">
-      <a class="nav-link active" href="{{$.baseURL}}/questions">
-        <i class="br bi-question-circle-fill me-2"></i>
-        <span>{{translator $.language "ui.header.nav.question"}}</span>
-      </a>
-      <a href="/tags" data-rr-ui-event-key="/tags" class="nav-link">
-        <i class="br bi-tags-fill me-2"></i>
-        <span>{{translator $.language "ui.header.nav.tag"}}</span>
-      </a>
-      <a class="nav-link" href="{{$.baseURL}}/users">
-        <i class="br bi-people-fill me-2"></i>
-        <span>{{translator $.language "ui.header.nav.user"}}</span>
-      </a>
-    </div>
-  </div>
-  <div class="side-nav-right-line"></div>
+<div class="flex-column nav nav-pills">
+  <a class="nav-link active" href="{{$.baseURL}}/questions">
+    <i class="br bi-question-circle-fill me-2"></i>
+    <span>{{translator $.language "ui.header.nav.question"}}</span>
+  </a>
+  <a href="{{$.baseURL}}/tags" data-rr-ui-event-key="/tags" class="nav-link">
+    <i class="br bi-tags-fill me-2"></i>
+    <span>{{translator $.language "ui.header.nav.tag"}}</span>
+  </a>
+  <a class="nav-link" href="{{$.baseURL}}/users">
+    <i class="br bi-people-fill me-2"></i>
+    <span>{{translator $.language "ui.header.nav.user"}}</span>
+  </a>
+  <a class="nav-link" href="{{$.baseURL}}/badges">
+    <i class="br bi-people-fill me-2"></i>
+    <span>{{translator $.language "ui.header.nav.badges"}}</span>
+  </a>
 </div>
 {{end}}
diff --git a/ui/template/sort-btns.html b/ui/template/sort-btns.html
index 3ea41ec2..a981d150 100644
--- a/ui/template/sort-btns.html
+++ b/ui/template/sort-btns.html
@@ -19,21 +19,44 @@
 
 -->
 {{define "sort-btns"}}
-<div role="group" class="btn-group btn-group-sm">
+<div role="group" class="md-show me-2 btn-group btn-group-sm">
   <a role="button" tabindex="0" href="?order=newest" class="text-capitalize 
fit-content btn active btn-outline-secondary">
     {{translator ($.language) "ui.question.newest" }}
   </a>
   <a role="button" tabindex="0" href="?order=active" class="text-capitalize 
fit-content btn btn-outline-secondary">
     {{translator ($.language) "ui.question.active" }}
   </a>
-  <a role="button" tabindex="0" href="?order=hot" class="text-capitalize 
fit-content d-none d-md-block btn btn-outline-secondary">
+  <!-- <a role="button" tabindex="0" href="?order=hot" class="text-capitalize 
fit-content d-none d-md-block btn btn-outline-secondary">
     {{translator ($.language) "ui.question.hot" }}
-  </a>
-  <a role="button" tabindex="0" href="?order=score" class="text-capitalize 
fit-content d-none d-md-block btn btn-outline-secondary">
-    {{translator ($.language) "ui.question.score" }}
-  </a>
+  </a> -->
   <a role="button" tabindex="0" href="?order=unanswered" 
class="text-capitalize fit-content d-none d-md-block btn btn-outline-secondary" 
style="border-top-right-radius: 0.25rem; border-bottom-right-radius: 0.25rem;">
-  {{translator ($.language) "ui.question.unanswered" }}
+    {{translator ($.language) "ui.question.unanswered" }}
+  </a>
+  <a role="button" tabindex="0" href="?order=frequent" class="text-capitalize 
fit-content d-none d-md-block btn btn-outline-secondary" 
style="border-top-right-radius: 0.25rem; border-bottom-right-radius: 0.25rem;">
+    {{translator ($.language) "ui.question.frequent" }}
   </a>
+  <div role="group" class="show dropdown btn-group">
+    <button type="button" aria-expanded="true" class="dropdown-toggle show btn 
btn-outline-secondary btn-sm">
+      {{translator ($.language) "ui.btns.more" }}
+    </button>
+    <div x-placement="bottom-start" class="dropdown-menu show" 
data-popper-reference-hidden="false" data-popper-escaped="false" 
data-popper-placement="bottom-start" style="position: absolute; inset: 0px auto 
auto 0px; transform: translate(0px, 33px);">
+      <a href="?order=score" aria-selected="false" class="text-capitalize 
dropdown-item"> {{translator ($.language) "ui.question.score" }}</a>
+    </div>
+  </div>
+</div>
+
+<div class="dropdown">
+  <button type="button" id="react-aria8245013726-:r5:" aria-expanded="false" 
class="dropdown-toggle btn btn-outline-secondary btn-sm"><i class="br 
bi-view-stacked"></i></button>
+  <div x-placement="bottom-end" aria-labelledby="react-aria8245013726-:r5:" 
class="dropdown-menu dropdown-menu-end" data-popper-reference-hidden="false" 
data-popper-escaped="false" data-popper-placement="bottom-end" style="position: 
absolute; inset: 0px 0px auto auto; transform: translate(0px, 33px);">
+    <div class="dropdown-header" role="heading">
+      {{translator ($.language) "ui.btns.view" }}
+    </div>
+    <a aria-selected="true" data-rr-ui-dropdown-item="" class="dropdown-item 
active" role="button" tabindex="0" href="#" data-footnote-fixed="true">
+      {{translator ($.language) "ui.btns.card" }}
+    </a>
+    <a aria-selected="false" data-rr-ui-dropdown-item="" class="dropdown-item" 
role="button" tabindex="0" href="#" data-footnote-fixed="true">
+      {{translator ($.language) "ui.btns.compact" }}
+    </a>
+  </div>
 </div>
 {{end}}
diff --git a/ui/template/tag-detail.html b/ui/template/tag-detail.html
index f9460411..59561470 100644
--- a/ui/template/tag-detail.html
+++ b/ui/template/tag-detail.html
@@ -19,80 +19,82 @@
 
 -->
 {{template "header" . }}
-<div class="col-xl-10 col-lg-9 col-md-12">
-  <div class="pt-4 mb-5 row">
-    <div class="page-main flex-auto col">
-      <div class="tag-box mb-5">
-        <h3 class="mb-3">
-          <a class="link-dark" 
href="{{$.baseURL}}/tags/{{$.tag.SlugName}}">{{$.tag.SlugName}}</a>
-        </h3>
-        <p class="text-break">{{formatLinkNofollow $.tag.ParsedText}}</p>
-      </div>
-      <div>
-        <div class="mb-3 d-flex flex-wrap justify-content-between">
-          <h5 class="fs-5 text-nowrap mb-3 mb-md-0">
-            {{translator ($.language) "ui.question.x_questions" "count"
-            .questionCount}}
-          </h5>
-          {{template "sort-btns" .}}
+<div class="d-flex justify-content-center px-0 px-md-4">
+  <div class="answer-container">
+    <div class="pt-4 mb-5 row">
+      <div class="page-main flex-auto col">
+        <div class="tag-box mb-5">
+          <h3 class="mb-3">
+            <a class="link-dark" 
href="{{$.baseURL}}/tags/{{$.tag.SlugName}}">{{$.tag.SlugName}}</a>
+          </h3>
+          <p class="text-break">{{formatLinkNofollow $.tag.ParsedText}}</p>
         </div>
-        <div class="rounded list-group">
-          {{range .questionList}}
-          <div class="bg-transparent py-3 px-0 border-start-0 border-end-0 
list-group-item">
-            <h5 class="text-wrap text-break">
-              {{if $.useTitle }}
-              <a class="link-dark" 
href="{{$.baseURL}}/questions/{{.ID}}/{{urlTitle .Title}}">{{.Title}}</a>
-              {{else}}
-              <a class="link-dark" 
href="{{$.baseURL}}/questions/{{.ID}}">{{.Title}}</a>
-              {{end}}
+        <div>
+          <div class="mb-3 d-flex flex-wrap justify-content-between">
+            <h5 class="fs-5 text-nowrap mb-3 mb-md-0">
+              {{translator ($.language) "ui.question.x_questions" "count"
+              .questionCount}}
             </h5>
-            <div class="d-flex flex-wrap flex-column flex-md-row 
align-items-md-center small mb-2 text-secondary">
-              <div class="d-flex flex-wrap me-0 me-md-3">
-                <div class="d-flex align-items-center text-secondary me-1">
-                  <a href="{{$.baseURL}}/users/{{.Operator.Username}}"><span
-                      class="me-1 
text-break">{{.Operator.DisplayName}}</span></a><span class="fw-bold"
-                    title="Reputation">{{.Operator.Rank}}</span>
-                </div>
-                •
-                <time class="text-secondary ms-1" datetime="{{timeFormatISO 
$.timezone .OperatedAt}}"
-                  title="{{translatorTimeFormatLongDate $.language $.timezone 
.OperatedAt}}">{{translator $.language
-                  "ui.question.asked"}}
-                  {{translatorTimeFormat $.language $.timezone .OperatedAt}}
-                </time>
-              </div>
-              <div class="d-flex align-items-center mt-2 mt-md-0">
-                <div class="d-flex align-items-center flex-shrink-0">
-                  <i class="br bi-hand-thumbs-up-fill"></i>
-                  <em class="fst-normal ms-1">{{.VoteCount}}</em>
+            {{template "sort-btns" .}}
+          </div>
+          <div class="rounded list-group">
+            {{range .questionList}}
+            <div class="bg-transparent py-3 px-0 border-start-0 border-end-0 
list-group-item">
+              <h5 class="text-wrap text-break">
+                {{if $.useTitle }}
+                <a class="link-dark" 
href="{{$.baseURL}}/questions/{{.ID}}/{{urlTitle .Title}}">{{.Title}}</a>
+                {{else}}
+                <a class="link-dark" 
href="{{$.baseURL}}/questions/{{.ID}}">{{.Title}}</a>
+                {{end}}
+              </h5>
+              <div class="d-flex flex-wrap flex-column flex-md-row 
align-items-md-center small mb-2 text-secondary">
+                <div class="d-flex flex-wrap me-0 me-md-3">
+                  <div class="d-flex align-items-center text-secondary me-1">
+                    <a href="{{$.baseURL}}/users/{{.Operator.Username}}"><span
+                        class="me-1 
text-break">{{.Operator.DisplayName}}</span></a><span class="fw-bold"
+                      title="Reputation">{{.Operator.Rank}}</span>
+                  </div>
+                  •
+                  <time class="text-secondary ms-1" datetime="{{timeFormatISO 
$.timezone .OperatedAt}}"
+                    title="{{translatorTimeFormatLongDate $.language 
$.timezone .OperatedAt}}">{{translator $.language
+                    "ui.question.asked"}}
+                    {{translatorTimeFormat $.language $.timezone .OperatedAt}}
+                  </time>
                 </div>
-                <div class="d-flex flex-shrink-0 align-items-center ms-3">
-                  <i class="br bi-chat-square-text-fill"></i>
-                  <em class="fst-normal ms-1">{{.AnswerCount}}</em>
+                <div class="d-flex align-items-center mt-2 mt-md-0">
+                  <div class="d-flex align-items-center flex-shrink-0">
+                    <i class="br bi-hand-thumbs-up-fill"></i>
+                    <em class="fst-normal ms-1">{{.VoteCount}}</em>
+                  </div>
+                  <div class="d-flex flex-shrink-0 align-items-center ms-3">
+                    <i class="br bi-chat-square-text-fill"></i>
+                    <em class="fst-normal ms-1">{{.AnswerCount}}</em>
+                  </div>
+                  <span class="summary-stat ms-3 flex-shrink-0">
+                    <i class="br bi-bar-chart-fill"></i>
+                    <em class="fst-normal ms-1">{{.ViewCount}}</em>
+                  </span>
                 </div>
-                <span class="summary-stat ms-3 flex-shrink-0">
-                  <i class="br bi-bar-chart-fill"></i>
-                  <em class="fst-normal ms-1">{{.ViewCount}}</em>
-                </span>
+              </div>
+              <div class="question-tags mx-n1">
+                {{range .Tags }}
+                <a href="{{$.baseURL}}/tags/{{.SlugName}}"
+                  class="badge-tag rounded-1 {{if 
.Reserved}}badge-tag-reserved{{end}} {{if .Recommend}}badge-tag-required{{end}} 
m-1">
+                  <span class="">{{.SlugName}}</span>
+                </a>
+                {{end}}
               </div>
             </div>
-            <div class="question-tags mx-n1">
-              {{range .Tags }}
-              <a href="{{$.baseURL}}/tags/{{.SlugName}}"
-                class="badge-tag rounded-1 {{if 
.Reserved}}badge-tag-reserved{{end}} {{if .Recommend}}badge-tag-required{{end}} 
m-1">
-                <span class="">{{.SlugName}}</span>
-              </a>
-              {{end}}
-            </div>
+            {{end}}
+          </div>
+          <div class="mt-4 mb-2 d-flex justify-content-center">
+            {{template "page" .}}
           </div>
-          {{end}}
-        </div>
-        <div class="mt-4 mb-2 d-flex justify-content-center">
-          {{template "page" .}}
         </div>
       </div>
-    </div>
-    <div class="page-right-side mt-4 mt-xl-0 col">
-      {{template "hot-question" .}}
+      <div class="page-right-side mt-4 mt-xl-0 col">
+        {{template "hot-question" .}}
+      </div>
     </div>
   </div>
 </div>
diff --git a/ui/template/tags.html b/ui/template/tags.html
index 8821dd7b..075f4a31 100644
--- a/ui/template/tags.html
+++ b/ui/template/tags.html
@@ -19,55 +19,57 @@
 
 -->
 {{template "header" . }}
-<div class="col-xl-10 col-lg-9 col-md-12">
-  <div class="py-4 mb-4 row">
-    <div class="col-xxl-12">
-      <h3 class="mb-4">
-        {{translator $.language "ui.page_title.tags"}}
-      </h3>
-      <div class="d-block d-sm-flex justify-content-between align-items-center 
flex-wrap">
-        <div class="mb-3 mb-sm-0 hstack gap-3">
-          <form class="">
-            <div>
-              <input placeholder="{{translator $.language 
"ui.tags.search_placeholder"}}" type="search" id="formBasicEmail" 
class="form-control form-control-sm" value="">
-            </div>
-          </form>
-        </div>
-        <div role="group" class="btn-group btn-group-sm">
-          <a role="button" tabindex="0" href="?sort=popular" 
class="text-capitalize fit-content btn active btn-outline-secondary">
-            {{translator $.language "ui.tags.sort_buttons.popular"}}
-          </a>
-          <a role="button" tabindex="0" href="?sort=name" 
class="text-capitalize fit-content btn btn-outline-secondary">
-            {{translator $.language "ui.tags.sort_buttons.name"}}
-          </a>
-          <a role="button" tabindex="0" href="?sort=newest" 
class="text-capitalize fit-content btn btn-outline-secondary">
-            {{translator $.language "ui.tags.sort_buttons.newest"}}
-          </a>
+<div class="d-flex justify-content-center px-0 px-md-4">
+  <div class="answer-container">
+    <div class="py-4 mb-4 row">
+      <div class="col-xxl-12">
+        <h3 class="mb-4">
+          {{translator $.language "ui.page_title.tags"}}
+        </h3>
+        <div class="d-block d-sm-flex justify-content-between 
align-items-center flex-wrap">
+          <div class="mb-3 mb-sm-0 hstack gap-3">
+            <form class="">
+              <div>
+                <input placeholder="{{translator $.language 
"ui.tags.search_placeholder"}}" type="search" id="formBasicEmail" 
class="form-control form-control-sm" value="">
+              </div>
+            </form>
+          </div>
+          <div role="group" class="btn-group btn-group-sm">
+            <a role="button" tabindex="0" href="?sort=popular" 
class="text-capitalize fit-content btn active btn-outline-secondary">
+              {{translator $.language "ui.tags.sort_buttons.popular"}}
+            </a>
+            <a role="button" tabindex="0" href="?sort=name" 
class="text-capitalize fit-content btn btn-outline-secondary">
+              {{translator $.language "ui.tags.sort_buttons.name"}}
+            </a>
+            <a role="button" tabindex="0" href="?sort=newest" 
class="text-capitalize fit-content btn btn-outline-secondary">
+              {{translator $.language "ui.tags.sort_buttons.newest"}}
+            </a>
+          </div>
         </div>
       </div>
-    </div>
-    <div class="mt-4 col-sm-12">
-      <div class="row">
-        {{ range .data.List }}
-        <div class="mb-4 col-lg-3 col-md-4 col-sm-6 col-12">
-          <div class="h-100 card">
-            <div class="d-flex flex-column align-items-start card-body">
-              <a href="{{$.baseURL}}/tags/{{.SlugName}}" class="badge-tag 
rounded-1 mb-3"><span
-                  class="">{{.SlugName}}</span></a>
-              <div class="small flex-fill text-break text-wrap text-truncate-3 
reset-p mb-3">  {{formatLinkNofollow .ParsedText}}
-              </div>
-              <div class="d-flex align-items-center">
-                <span class="text-secondary small 
text-nowrap">{{.QuestionCount}}
-                  {{translator $.language "ui.tags.tag_label"}}</span>
+      <div class="mt-4 col-sm-12">
+        <div class="row">
+          {{ range .data.List }}
+          <div class="mb-4 col-lg-3 col-md-4 col-sm-6 col-12">
+            <div class="h-100 card">
+              <div class="d-flex flex-column align-items-start card-body">
+                <a href="{{$.baseURL}}/tags/{{.SlugName}}" class="badge-tag 
rounded-1 mb-3"><span
+                    class="">{{.SlugName}}</span></a>
+                <div class="small flex-fill text-break text-wrap 
text-truncate-3 reset-p mb-3">  {{formatLinkNofollow .ParsedText}}
+                </div>
+                <div class="d-flex align-items-center">
+                  <span class="text-secondary small 
text-nowrap">{{.QuestionCount}}
+                    {{translator $.language "ui.tags.tag_label"}}</span>
+                </div>
               </div>
             </div>
           </div>
-        </div>
-        {{ end }}
+          {{ end }}
 
-      </div>
-      <div class="d-flex justify-content-center">
-        {{template "page" .}}
+        </div>
+        <div class="d-flex justify-content-center">
+          {{template "page" .}}
+        </div>
       </div>
     </div>
   </div>

Reply via email to