| | |
| | | <!DOCTYPE html> |
| | | <html lang="en"> |
| | | <html lang="en" id="htmlRoot"> |
| | | <head> |
| | | <meta charset="UTF-8" /> |
| | | <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" /> |
| | |
| | | name="viewport" |
| | | content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=0" |
| | | /> |
| | | |
| | | <title><%= title %></title> |
| | | <link rel="icon" href="/favicon.ico" /> |
| | | </head> |
| | | <body> |
| | | <script> |
| | | (() => { |
| | | var htmlRoot = document.getElementById('htmlRoot'); |
| | | var theme = window.localStorage.getItem('__APP__DARK__MODE__'); |
| | | if (htmlRoot && theme) { |
| | | htmlRoot.setAttribute('data-theme', theme); |
| | | theme = htmlRoot = null; |
| | | } |
| | | })(); |
| | | </script> |
| | | <div id="app"> |
| | | <style> |
| | | html[data-theme='dark'] .app-loading { |
| | | background-color: #2c344a; |
| | | } |
| | | |
| | | html[data-theme='dark'] .app-loading .app-loading-title { |
| | | color: rgb(255 255 255 / 85%); |
| | | } |
| | | |
| | | .app-loading { |
| | | display: flex; |
| | | width: 100%; |
| | |
| | | justify-content: center; |
| | | align-items: center; |
| | | flex-direction: column; |
| | | background: #f4f7f9; |
| | | background-color: #f4f7f9; |
| | | } |
| | | |
| | | .app-loading .app-loading-wrap { |
| | |
| | | top: 50%; |
| | | left: 50%; |
| | | display: flex; |
| | | -webkit-transform: translate3d(-50%, -50%, 0); |
| | | transform: translate3d(-50%, -50%, 0); |
| | | justify-content: center; |
| | | align-items: center; |
| | |
| | | display: flex; |
| | | margin-top: 30px; |
| | | font-size: 30px; |
| | | color: rgba(0, 0, 0, 0.85); |
| | | color: rgb(0 0 0 / 85%); |
| | | justify-content: center; |
| | | align-items: center; |
| | | } |
| | |
| | | height: 20px; |
| | | background-color: #0065cc; |
| | | border-radius: 100%; |
| | | opacity: 0.3; |
| | | opacity: 30%; |
| | | transform: scale(0.75); |
| | | animation: antSpinMove 1s infinite linear alternate; |
| | | transform-origin: 50% 50%; |
| | |
| | | .dot i:nth-child(2) { |
| | | top: 0; |
| | | right: 0; |
| | | -webkit-animation-delay: 0.4s; |
| | | animation-delay: 0.4s; |
| | | } |
| | | |
| | | .dot i:nth-child(3) { |
| | | right: 0; |
| | | bottom: 0; |
| | | -webkit-animation-delay: 0.8s; |
| | | animation-delay: 0.8s; |
| | | } |
| | | |
| | | .dot i:nth-child(4) { |
| | | bottom: 0; |
| | | left: 0; |
| | | -webkit-animation-delay: 1.2s; |
| | | animation-delay: 1.2s; |
| | | } |
| | | @keyframes antRotate { |
| | | to { |
| | | -webkit-transform: rotate(405deg); |
| | | transform: rotate(405deg); |
| | | } |
| | | } |
| | | @-webkit-keyframes antRotate { |
| | | @keyframes antRotate { |
| | | to { |
| | | -webkit-transform: rotate(405deg); |
| | | transform: rotate(405deg); |
| | | } |
| | | } |
| | | @keyframes antSpinMove { |
| | | to { |
| | | opacity: 1; |
| | | opacity: 100%; |
| | | } |
| | | } |
| | | @-webkit-keyframes antSpinMove { |
| | | @keyframes antSpinMove { |
| | | to { |
| | | opacity: 1; |
| | | opacity: 100%; |
| | | } |
| | | } |
| | | </style> |