1(function () { 2 const _root = document.querySelector('#root'); 3 if (_root && _root.innerHTML === '') { 4 _root.innerHTML = ` 5 <style> 6 html, 7 body, 8 #root { 9 height: 100%; 10 margin: 0; 11 padding: 0; 12 } 13 #root { 14 background-repeat: no-repeat; 15 background-size: 100% auto; 16 } 17 18 .loading-title { 19 font-size: 1.1rem; 20 } 21 22 .loading-sub-title { 23 margin-top: 20px; 24 font-size: 1rem; 25 color: #888; 26 } 27 28 .page-loading-warp { 29 display: flex; 30 align-items: center; 31 justify-content: center; 32 padding: 26px; 33 } 34 .ant-spin { 35 position: absolute; 36 display: none; 37 -webkit-box-sizing: border-box; 38 box-sizing: border-box; 39 margin: 0; 40 padding: 0; 41 color: rgba(0, 0, 0, 0.65); 42 color: #1890ff; 43 font-size: 14px; 44 font-variant: tabular-nums; 45 line-height: 1.5; 46 text-align: center; 47 list-style: none; 48 opacity: 0; 49 -webkit-transition: -webkit-transform 0.3s 50 cubic-bezier(0.78, 0.14, 0.15, 0.86); 51 transition: -webkit-transform 0.3s 52 cubic-bezier(0.78, 0.14, 0.15, 0.86); 53 transition: transform 0.3s cubic-bezier(0.78, 0.14, 0.15, 0.86); 54 transition: transform 0.3s cubic-bezier(0.78, 0.14, 0.15, 0.86), 55 -webkit-transform 0.3s cubic-bezier(0.78, 0.14, 0.15, 0.86); 56 -webkit-font-feature-settings: "tnum"; 57 font-feature-settings: "tnum"; 58 } 59 60 .ant-spin-spinning { 61 position: static; 62 display: inline-block; 63 opacity: 1; 64 } 65 66 .ant-spin-dot { 67 position: relative; 68 display: inline-block; 69 width: 20px; 70 height: 20px; 71 font-size: 20px; 72 } 73 74 .ant-spin-dot-item { 75 position: absolute; 76 display: block; 77 width: 9px; 78 height: 9px; 79 background-color: #1890ff; 80 border-radius: 100%; 81 -webkit-transform: scale(0.75); 82 -ms-transform: scale(0.75); 83 transform: scale(0.75); 84 -webkit-transform-origin: 50% 50%; 85 -ms-transform-origin: 50% 50%; 86 transform-origin: 50% 50%; 87 opacity: 0.3; 88 -webkit-animation: antspinmove 1s infinite linear alternate; 89 animation: antSpinMove 1s infinite linear alternate; 90 } 91 92 .ant-spin-dot-item:nth-child(1) { 93 top: 0; 94 left: 0; 95 } 96 97 .ant-spin-dot-item:nth-child(2) { 98 top: 0; 99 right: 0; 100 -webkit-animation-delay: 0.4s; 101 animation-delay: 0.4s; 102 } 103 104 .ant-spin-dot-item:nth-child(3) { 105 right: 0; 106 bottom: 0; 107 -webkit-animation-delay: 0.8s; 108 animation-delay: 0.8s; 109 } 110 111 .ant-spin-dot-item:nth-child(4) { 112 bottom: 0; 113 left: 0; 114 -webkit-animation-delay: 1.2s; 115 animation-delay: 1.2s; 116 } 117 118 .ant-spin-dot-spin { 119 -webkit-transform: rotate(45deg); 120 -ms-transform: rotate(45deg); 121 transform: rotate(45deg); 122 -webkit-animation: antrotate 1.2s infinite linear; 123 animation: antRotate 1.2s infinite linear; 124 } 125 126 .ant-spin-lg .ant-spin-dot { 127 width: 32px; 128 height: 32px; 129 font-size: 32px; 130 } 131 132 .ant-spin-lg .ant-spin-dot i { 133 width: 14px; 134 height: 14px; 135 } 136 137 @media all and (-ms-high-contrast: none), (-ms-high-contrast: active) { 138 .ant-spin-blur { 139 background: #fff; 140 opacity: 0.5; 141 } 142 } 143 144 @-webkit-keyframes antSpinMove { 145 to { 146 opacity: 1; 147 } 148 } 149 150 @keyframes antSpinMove { 151 to { 152 opacity: 1; 153 } 154 } 155 156 @-webkit-keyframes antRotate { 157 to { 158 -webkit-transform: rotate(405deg); 159 transform: rotate(405deg); 160 } 161 } 162 163 @keyframes antRotate { 164 to { 165 -webkit-transform: rotate(405deg); 166 transform: rotate(405deg); 167 } 168 } 169 </style> 170 171 <div id="div-background" 172 style=" 173 display: flex; 174 flex-direction: column; 175 align-items: center; 176 justify-content: center; 177 height: 100%; 178 min-height: 420px; 179 "> 180 <img src="./logo.svg" alt="logo" width="256" /> 181 <div class="page-loading-warp"> 182 <div class="ant-spin ant-spin-lg ant-spin-spinning">
183 <span class="ant-spin-dot ant-spin-dot-spin"> 184 <i class="ant-spin-dot-item"></i> 185 <i class="ant-spin-dot-item"></i> 186 <i class="ant-spin-dot-item"></i><i class="ant-spin-dot-item"></i> 187 </span> 188 </div> 189 </div> 190 <div style="display: flex; align-items: center; justify-content: center"> 191 <img 192 src="./logo.svg" 193 width="32" 194 style="margin-right: 8px" 195 /> 196 <span id="span-console">RustDesk Console</span> 197 </div> 198 </div> 199 `; 200 } 201 202 var isDarkTheme = false; 203 const theme = localStorage.getItem('navTheme'); 204 if (theme === 'realDark') { 205 isDarkTheme = true; 206 } else if (theme === 'light') { 207 isDarkTheme = false; 208 } else { 209 isDarkTheme = window.matchMedia('(prefers-color-scheme: dark)').matches; 210 } 211 212 const divBackground = document.querySelector('#div-background'); 213 if (divBackground) { 214 divBackground.style.backgroundColor = isDarkTheme ? '#000' : '#fff'; 215 } 216 const spanConsole = document.querySelector('#span-console'); 217 if (spanConsole) { 218 spanConsole.style.color = isDarkTheme ? '#fff' : '#000'; 219 } 220})();
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.