1
0

page.html 3.1 KB

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