1
0

page.html 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. {{ define "page/head_start" }}
  2. <!DOCTYPE html>
  3. <html>
  4. <head>
  5. <meta charset="UTF-8">
  6. <meta name="renderer" content="webkit">
  7. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  8. <meta name="robots" content="noindex,nofollow">
  9. <link rel="stylesheet" href="{{ .base_path }}assets/ant-design-vue/antd.min.css">
  10. <link rel="stylesheet" href="{{ .base_path }}assets/css/custom.min.css?{{ .cur_ver }}">
  11. <style>
  12. [v-cloak] {
  13. display: none;
  14. }
  15. /* vazirmatn-regular - arabic_latin_latin-ext */
  16. @font-face {
  17. font-display: swap;
  18. font-family: 'Vazirmatn';
  19. font-style: normal;
  20. font-weight: 400;
  21. src: url('{{ .base_path }}assets/Vazirmatn-UI-NL-Regular.woff2') format('woff2');
  22. unicode-range: U+0600-06FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE80-FEFC, U+0030-0039;
  23. }
  24. body {
  25. font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Vazirmatn', 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
  26. }
  27. /* mobile touch scrolling for tabs */
  28. @media (max-width: 576px) {
  29. .ant-tabs-nav-container {
  30. overflow-x: auto !important;
  31. -webkit-overflow-scrolling: touch;
  32. scroll-behavior: smooth;
  33. overscroll-behavior-x: contain;
  34. white-space: nowrap;
  35. max-width: 100%;
  36. padding: 0 !important;
  37. /* Remove padding for arrows */
  38. }
  39. .ant-tabs-nav-wrap {
  40. overflow: visible !important;
  41. padding: 0 !important;
  42. }
  43. .ant-tabs-nav-scroll {
  44. overflow: visible !important;
  45. box-shadow: none !important;
  46. }
  47. .ant-tabs-nav {
  48. display: flex !important;
  49. transform: none !important;
  50. /* Disable JS transform */
  51. width: auto !important;
  52. margin: 0 !important;
  53. }
  54. .ant-tabs-tab-prev,
  55. .ant-tabs-tab-next {
  56. display: none !important;
  57. /* Hide arrows */
  58. }
  59. .ant-tabs-nav-container::-webkit-scrollbar {
  60. display: none;
  61. }
  62. }
  63. </style>
  64. <title>{{ .host }} – {{ i18n .title}}</title>
  65. {{ end }}
  66. {{ define "page/head_end" }}
  67. </head>
  68. {{ end }}
  69. {{ define "page/body_start" }}
  70. <body>
  71. <div id="message"></div>
  72. {{ end }}
  73. {{ define "page/body_scripts" }}
  74. <script src="{{ .base_path }}assets/vue/vue.min.js?{{ .cur_ver }}"></script>
  75. <script src="{{ .base_path }}assets/moment/moment.min.js"></script>
  76. <script src="{{ .base_path }}assets/ant-design-vue/antd.min.js"></script>
  77. <script src="{{ .base_path }}assets/axios/axios.min.js?{{ .cur_ver }}"></script>
  78. <script src="{{ .base_path }}assets/qs/qs.min.js"></script>
  79. <script src="{{ .base_path }}assets/js/axios-init.js?{{ .cur_ver }}"></script>
  80. <script src="{{ .base_path }}assets/js/util/index.js?{{ .cur_ver }}"></script>
  81. <script>
  82. const basePath = '{{ .base_path }}';
  83. axios.defaults.baseURL = basePath;
  84. </script>
  85. <script src="{{ .base_path }}assets/js/websocket.js?{{ .cur_ver }}"></script>
  86. {{ end }}
  87. {{ define "page/body_end" }}
  88. </body>
  89. </html>
  90. {{ end }}