| 
									
										
										
										
											2025-06-21 08:38:43 +00:00
										 |  |  | {{ template "page/head_start" .}} | 
					
						
							| 
									
										
										
										
											2023-02-09 19:18:06 +00:00
										 |  |  | <style> | 
					
						
							| 
									
										
										
										
											2024-02-22 19:20:38 +00:00
										 |  |  |   html * { | 
					
						
							|  |  |  |     -webkit-font-smoothing: antialiased; | 
					
						
							|  |  |  |     -moz-osx-font-smoothing: grayscale; | 
					
						
							|  |  |  |   } | 
					
						
							| 
									
										
										
										
											2025-04-01 12:24:03 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-12-08 18:44:09 +00:00
										 |  |  |   h1 { | 
					
						
							|  |  |  |     text-align: center; | 
					
						
							| 
									
										
										
										
											2025-04-27 04:22:43 +00:00
										 |  |  |     /*margin: 20px 0 50px 0;*/ | 
					
						
							| 
									
										
										
										
											2024-02-22 19:20:38 +00:00
										 |  |  |     height: 110px; | 
					
						
							| 
									
										
										
										
											2023-12-08 18:44:09 +00:00
										 |  |  |   } | 
					
						
							| 
									
										
										
										
											2025-04-01 12:24:03 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-04-27 04:22:43 +00:00
										 |  |  |   .ant-form-item-children .ant-btn, | 
					
						
							| 
									
										
										
										
											2023-12-08 18:44:09 +00:00
										 |  |  |   .ant-input { | 
					
						
							|  |  |  |     height: 50px; | 
					
						
							|  |  |  |     border-radius: 30px; | 
					
						
							|  |  |  |   } | 
					
						
							| 
									
										
										
										
											2025-04-01 12:24:03 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-12-08 18:44:09 +00:00
										 |  |  |   .ant-input-group-addon { | 
					
						
							|  |  |  |     border-radius: 0 30px 30px 0; | 
					
						
							|  |  |  |     width: 50px; | 
					
						
							|  |  |  |     font-size: 18px; | 
					
						
							|  |  |  |   } | 
					
						
							| 
									
										
										
										
											2025-04-01 12:24:03 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-12-08 18:44:09 +00:00
										 |  |  |   .ant-input-affix-wrapper .ant-input-prefix { | 
					
						
							|  |  |  |     left: 23px; | 
					
						
							|  |  |  |   } | 
					
						
							| 
									
										
										
										
											2025-04-01 12:24:03 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-12-08 18:44:09 +00:00
										 |  |  |   .ant-input-affix-wrapper .ant-input:not(:first-child) { | 
					
						
							|  |  |  |     padding-left: 50px; | 
					
						
							|  |  |  |   } | 
					
						
							| 
									
										
										
										
											2025-04-01 12:24:03 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-12-08 18:44:09 +00:00
										 |  |  |   .centered { | 
					
						
							|  |  |  |     display: flex; | 
					
						
							|  |  |  |     text-align: center; | 
					
						
							|  |  |  |     align-items: center; | 
					
						
							|  |  |  |     justify-content: center; | 
					
						
							| 
									
										
										
										
											2023-12-13 15:57:36 +00:00
										 |  |  |     width: 100%; | 
					
						
							| 
									
										
										
										
											2023-12-08 18:44:09 +00:00
										 |  |  |   } | 
					
						
							| 
									
										
										
										
											2025-04-01 12:24:03 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-12-08 18:44:09 +00:00
										 |  |  |   .title { | 
					
						
							| 
									
										
										
										
											2025-04-27 04:22:43 +00:00
										 |  |  |     font-size: 2rem; | 
					
						
							|  |  |  |     margin-block-end: 2rem; | 
					
						
							| 
									
										
										
										
											2024-02-22 19:20:38 +00:00
										 |  |  |   } | 
					
						
							| 
									
										
										
										
											2025-04-01 12:24:03 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-02-22 19:20:38 +00:00
										 |  |  |   .title b { | 
					
						
							|  |  |  |     font-weight: bold !important; | 
					
						
							| 
									
										
										
										
											2023-12-08 18:44:09 +00:00
										 |  |  |   } | 
					
						
							| 
									
										
										
										
											2025-04-01 12:24:03 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-12-08 18:44:09 +00:00
										 |  |  |   #app { | 
					
						
							|  |  |  |     overflow: hidden; | 
					
						
							|  |  |  |   } | 
					
						
							| 
									
										
										
										
											2025-04-01 12:24:03 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-12-08 18:44:09 +00:00
										 |  |  |   #login { | 
					
						
							|  |  |  |     animation: charge 0.5s both; | 
					
						
							|  |  |  |     background-color: #fff; | 
					
						
							|  |  |  |     border-radius: 2rem; | 
					
						
							| 
									
										
										
										
											2025-04-27 04:22:43 +00:00
										 |  |  |     padding: 4rem 3rem; | 
					
						
							| 
									
										
										
										
											2023-12-08 18:44:09 +00:00
										 |  |  |     transition: all 0.3s; | 
					
						
							| 
									
										
										
										
											2025-04-01 12:24:03 +00:00
										 |  |  |     user-select: none; | 
					
						
							|  |  |  |     -webkit-user-select: none; | 
					
						
							| 
									
										
										
										
											2024-02-28 11:05:01 +00:00
										 |  |  |     -moz-user-select: none; | 
					
						
							| 
									
										
										
										
											2023-12-08 18:44:09 +00:00
										 |  |  |   } | 
					
						
							| 
									
										
										
										
											2025-04-01 12:24:03 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-12-08 18:44:09 +00:00
										 |  |  |   #login:hover { | 
					
						
							|  |  |  |     box-shadow: 0 2px 8px rgba(0, 0, 0, 0.09); | 
					
						
							|  |  |  |   } | 
					
						
							| 
									
										
										
										
											2025-04-01 12:24:03 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-12-08 18:44:09 +00:00
										 |  |  |   @keyframes charge { | 
					
						
							|  |  |  |     from { | 
					
						
							|  |  |  |       transform: translateY(5rem); | 
					
						
							|  |  |  |       opacity: 0; | 
					
						
							| 
									
										
										
										
											2023-12-04 18:03:41 +00:00
										 |  |  |     } | 
					
						
							| 
									
										
										
										
											2025-04-01 12:24:03 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-12-08 18:44:09 +00:00
										 |  |  |     to { | 
					
						
							|  |  |  |       transform: translateY(0); | 
					
						
							|  |  |  |       opacity: 1; | 
					
						
							| 
									
										
										
										
											2023-12-04 18:03:41 +00:00
										 |  |  |     } | 
					
						
							| 
									
										
										
										
											2023-12-08 18:44:09 +00:00
										 |  |  |   } | 
					
						
							| 
									
										
										
										
											2025-04-01 12:24:03 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-12-08 18:44:09 +00:00
										 |  |  |   .under { | 
					
						
							| 
									
										
										
										
											2023-12-16 17:59:08 +00:00
										 |  |  |     background-color: #c7ebe2; | 
					
						
							|  |  |  |     z-index: 0; | 
					
						
							| 
									
										
										
										
											2023-12-08 18:44:09 +00:00
										 |  |  |   } | 
					
						
							| 
									
										
										
										
											2025-04-01 12:24:03 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-12-08 18:44:09 +00:00
										 |  |  |   .dark .under { | 
					
						
							| 
									
										
										
										
											2024-02-28 11:05:01 +00:00
										 |  |  |     background-color: var(--dark-color-login-wave); | 
					
						
							| 
									
										
										
										
											2023-12-08 18:44:09 +00:00
										 |  |  |   } | 
					
						
							| 
									
										
										
										
											2025-04-01 12:24:03 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-12-08 18:44:09 +00:00
										 |  |  |   .dark #login { | 
					
						
							| 
									
										
										
										
											2024-02-28 11:05:01 +00:00
										 |  |  |     background-color: var(--dark-color-surface-100); | 
					
						
							| 
									
										
										
										
											2023-12-08 18:44:09 +00:00
										 |  |  |   } | 
					
						
							| 
									
										
										
										
											2025-04-01 12:24:03 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-12-08 18:44:09 +00:00
										 |  |  |   .dark h1 { | 
					
						
							| 
									
										
										
										
											2024-02-22 19:20:38 +00:00
										 |  |  |     color: rgba(255, 255, 255); | 
					
						
							| 
									
										
										
										
											2023-12-08 18:44:09 +00:00
										 |  |  |   } | 
					
						
							| 
									
										
										
										
											2025-04-01 12:24:03 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-12-08 18:44:09 +00:00
										 |  |  |   .ant-btn-primary-login { | 
					
						
							|  |  |  |     width: 100%; | 
					
						
							|  |  |  |   } | 
					
						
							| 
									
										
										
										
											2025-04-01 12:24:03 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-12-08 18:44:09 +00:00
										 |  |  |   .ant-btn-primary-login:focus, | 
					
						
							|  |  |  |   .ant-btn-primary-login:hover { | 
					
						
							|  |  |  |     color: #fff; | 
					
						
							| 
									
										
										
										
											2023-12-10 12:32:48 +00:00
										 |  |  |     background-color: #006655; | 
					
						
							|  |  |  |     border-color: #006655; | 
					
						
							| 
									
										
										
										
											2025-04-01 12:24:03 +00:00
										 |  |  |     background-image: linear-gradient(270deg, | 
					
						
							|  |  |  |         rgba(123, 199, 77, 0) 30%, | 
					
						
							|  |  |  |         #009980, | 
					
						
							|  |  |  |         rgba(123, 199, 77, 0) 100%); | 
					
						
							| 
									
										
										
										
											2023-12-08 18:44:09 +00:00
										 |  |  |     background-repeat: no-repeat; | 
					
						
							|  |  |  |     animation: ma-bg-move ease-in-out 5s infinite; | 
					
						
							|  |  |  |     background-position-x: -500px; | 
					
						
							|  |  |  |     width: 95%; | 
					
						
							|  |  |  |     animation-delay: -0.5s; | 
					
						
							|  |  |  |     box-shadow: 0 2px 0 rgba(0, 0, 0, 0.045); | 
					
						
							|  |  |  |   } | 
					
						
							| 
									
										
										
										
											2025-04-01 12:24:03 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-12-08 18:44:09 +00:00
										 |  |  |   .ant-btn-primary-login.active, | 
					
						
							|  |  |  |   .ant-btn-primary-login:active { | 
					
						
							|  |  |  |     color: #fff; | 
					
						
							| 
									
										
										
										
											2023-12-10 12:32:48 +00:00
										 |  |  |     background-color: #006655; | 
					
						
							|  |  |  |     border-color: #006655; | 
					
						
							| 
									
										
										
										
											2023-12-08 18:44:09 +00:00
										 |  |  |   } | 
					
						
							| 
									
										
										
										
											2025-04-01 12:24:03 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-12-08 18:44:09 +00:00
										 |  |  |   @keyframes ma-bg-move { | 
					
						
							|  |  |  |     0% { | 
					
						
							|  |  |  |       background-position: -500px 0; | 
					
						
							| 
									
										
										
										
											2023-12-04 18:03:41 +00:00
										 |  |  |     } | 
					
						
							| 
									
										
										
										
											2025-04-01 12:24:03 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-12-08 18:44:09 +00:00
										 |  |  |     50% { | 
					
						
							|  |  |  |       background-position: 1000px 0; | 
					
						
							| 
									
										
										
										
											2023-12-04 18:03:41 +00:00
										 |  |  |     } | 
					
						
							| 
									
										
										
										
											2025-04-01 12:24:03 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-12-08 18:44:09 +00:00
										 |  |  |     100% { | 
					
						
							|  |  |  |       background-position: 1000px 0; | 
					
						
							| 
									
										
										
										
											2023-12-04 18:03:41 +00:00
										 |  |  |     } | 
					
						
							| 
									
										
										
										
											2023-12-08 18:44:09 +00:00
										 |  |  |   } | 
					
						
							| 
									
										
										
										
											2025-04-01 12:24:03 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-12-08 18:44:09 +00:00
										 |  |  |   .wave-btn-bg { | 
					
						
							|  |  |  |     position: relative; | 
					
						
							|  |  |  |     border-radius: 25px; | 
					
						
							|  |  |  |     width: 100%; | 
					
						
							| 
									
										
										
										
											2025-04-01 12:24:03 +00:00
										 |  |  |     transition: all 0.3s cubic-bezier(.645, .045, .355, 1); | 
					
						
							| 
									
										
										
										
											2023-12-08 18:44:09 +00:00
										 |  |  |   } | 
					
						
							| 
									
										
										
										
											2025-04-01 12:24:03 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-12-08 18:44:09 +00:00
										 |  |  |   .dark .wave-btn-bg { | 
					
						
							|  |  |  |     color: #fff; | 
					
						
							|  |  |  |     position: relative; | 
					
						
							|  |  |  |     background-color: #0a7557; | 
					
						
							|  |  |  |     border: 2px double transparent; | 
					
						
							|  |  |  |     background-origin: border-box; | 
					
						
							|  |  |  |     background-clip: padding-box, border-box; | 
					
						
							|  |  |  |     background-size: 300%; | 
					
						
							|  |  |  |     width: 100%; | 
					
						
							| 
									
										
										
										
											2023-12-17 15:16:50 +00:00
										 |  |  |     z-index: 1; | 
					
						
							| 
									
										
										
										
											2023-12-08 18:44:09 +00:00
										 |  |  |   } | 
					
						
							| 
									
										
										
										
											2025-04-01 12:24:03 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  |   .dark .wave-btn-bg:hover { | 
					
						
							|  |  |  |     animation: wave-btn-tara 4s ease infinite; | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-12-08 18:44:09 +00:00
										 |  |  |   .dark .wave-btn-bg-cl { | 
					
						
							|  |  |  |     background-image: linear-gradient(rgba(13, 14, 33, 0), rgba(13, 14, 33, 0)), | 
					
						
							| 
									
										
										
										
											2023-12-10 12:32:48 +00:00
										 |  |  |       radial-gradient(circle at left top, #006655, #009980, #006655) !important; | 
					
						
							| 
									
										
										
										
											2023-12-08 18:44:09 +00:00
										 |  |  |     border-radius: 3em; | 
					
						
							|  |  |  |   } | 
					
						
							| 
									
										
										
										
											2025-04-01 12:24:03 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-12-08 18:44:09 +00:00
										 |  |  |   .dark .wave-btn-bg-cl:hover { | 
					
						
							|  |  |  |     width: 95%; | 
					
						
							|  |  |  |   } | 
					
						
							| 
									
										
										
										
											2025-04-01 12:24:03 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-12-08 18:44:09 +00:00
										 |  |  |   .dark .wave-btn-bg-cl:before { | 
					
						
							|  |  |  |     position: absolute; | 
					
						
							|  |  |  |     content: ""; | 
					
						
							|  |  |  |     top: -5px; | 
					
						
							|  |  |  |     left: -5px; | 
					
						
							|  |  |  |     bottom: -5px; | 
					
						
							|  |  |  |     right: -5px; | 
					
						
							|  |  |  |     z-index: -1; | 
					
						
							|  |  |  |     background: inherit; | 
					
						
							|  |  |  |     background-size: inherit; | 
					
						
							|  |  |  |     border-radius: 4em; | 
					
						
							|  |  |  |     opacity: 0; | 
					
						
							|  |  |  |     transition: 0.5s; | 
					
						
							|  |  |  |   } | 
					
						
							| 
									
										
										
										
											2025-04-01 12:24:03 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-12-08 18:44:09 +00:00
										 |  |  |   .dark .wave-btn-bg-cl:hover::before { | 
					
						
							|  |  |  |     opacity: 1; | 
					
						
							|  |  |  |     filter: blur(20px); | 
					
						
							|  |  |  |     animation: wave-btn-tara 8s linear infinite; | 
					
						
							|  |  |  |   } | 
					
						
							| 
									
										
										
										
											2025-04-01 12:24:03 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-12-08 18:44:09 +00:00
										 |  |  |   @keyframes wave-btn-tara { | 
					
						
							|  |  |  |     to { | 
					
						
							|  |  |  |       background-position: 300%; | 
					
						
							| 
									
										
										
										
											2023-12-04 18:03:41 +00:00
										 |  |  |     } | 
					
						
							| 
									
										
										
										
											2023-12-08 18:44:09 +00:00
										 |  |  |   } | 
					
						
							| 
									
										
										
										
											2025-04-01 12:24:03 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-12-08 18:44:09 +00:00
										 |  |  |   .dark .ant-btn-primary-login { | 
					
						
							|  |  |  |     font-size: 14px; | 
					
						
							|  |  |  |     color: #fff; | 
					
						
							|  |  |  |     text-align: center; | 
					
						
							| 
									
										
										
										
											2025-04-01 12:24:03 +00:00
										 |  |  |     background-image: linear-gradient(rgba(13, 14, 33, 0.45), | 
					
						
							|  |  |  |         rgba(13, 14, 33, 0.35)); | 
					
						
							| 
									
										
										
										
											2023-12-08 18:44:09 +00:00
										 |  |  |     border-radius: 2rem; | 
					
						
							|  |  |  |     border: none; | 
					
						
							|  |  |  |     outline: none; | 
					
						
							|  |  |  |     background-color: transparent; | 
					
						
							|  |  |  |     height: 46px; | 
					
						
							|  |  |  |     position: relative; | 
					
						
							|  |  |  |     white-space: nowrap; | 
					
						
							|  |  |  |     cursor: pointer; | 
					
						
							|  |  |  |     touch-action: manipulation; | 
					
						
							|  |  |  |     padding: 0 15px; | 
					
						
							|  |  |  |     width: 100%; | 
					
						
							|  |  |  |     animation: none; | 
					
						
							|  |  |  |     background-position-x: 0; | 
					
						
							|  |  |  |     box-shadow: none; | 
					
						
							|  |  |  |   } | 
					
						
							| 
									
										
										
										
											2025-04-01 12:24:03 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-12-16 17:59:08 +00:00
										 |  |  |   .waves-header { | 
					
						
							|  |  |  |     position: fixed; | 
					
						
							|  |  |  |     width: 100%; | 
					
						
							|  |  |  |     text-align: center; | 
					
						
							|  |  |  |     background-color: #dbf5ed; | 
					
						
							|  |  |  |     color: white; | 
					
						
							|  |  |  |     z-index: -1; | 
					
						
							|  |  |  |   } | 
					
						
							| 
									
										
										
										
											2025-04-01 12:24:03 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-12-16 17:59:08 +00:00
										 |  |  |   .dark .waves-header { | 
					
						
							| 
									
										
										
										
											2024-02-28 11:05:01 +00:00
										 |  |  |     background-color: var(--dark-color-login-background); | 
					
						
							| 
									
										
										
										
											2023-12-16 17:59:08 +00:00
										 |  |  |   } | 
					
						
							| 
									
										
										
										
											2025-04-01 12:24:03 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-12-16 17:59:08 +00:00
										 |  |  |   .waves-inner-header { | 
					
						
							|  |  |  |     height: 50vh; | 
					
						
							|  |  |  |     width: 100%; | 
					
						
							|  |  |  |     margin: 0; | 
					
						
							|  |  |  |     padding: 0; | 
					
						
							|  |  |  |   } | 
					
						
							| 
									
										
										
										
											2025-04-01 12:24:03 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-12-16 17:59:08 +00:00
										 |  |  |   .waves { | 
					
						
							|  |  |  |     position: relative; | 
					
						
							|  |  |  |     width: 100%; | 
					
						
							|  |  |  |     height: 15vh; | 
					
						
							| 
									
										
										
										
											2025-04-01 12:24:03 +00:00
										 |  |  |     margin-bottom: -8px; | 
					
						
							|  |  |  |     /*Fix for safari gap*/ | 
					
						
							| 
									
										
										
										
											2023-12-16 17:59:08 +00:00
										 |  |  |     min-height: 100px; | 
					
						
							|  |  |  |     max-height: 150px; | 
					
						
							|  |  |  |   } | 
					
						
							| 
									
										
										
										
											2025-04-01 12:24:03 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  |   .parallax>use { | 
					
						
							| 
									
										
										
										
											2023-12-16 17:59:08 +00:00
										 |  |  |     animation: move-forever 25s cubic-bezier(0.55, 0.5, 0.45, 0.5) infinite; | 
					
						
							|  |  |  |   } | 
					
						
							| 
									
										
										
										
											2025-04-01 12:24:03 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  |   .dark .parallax>use { | 
					
						
							| 
									
										
										
										
											2024-02-28 11:05:01 +00:00
										 |  |  |     fill: var(--dark-color-login-wave); | 
					
						
							| 
									
										
										
										
											2023-12-16 17:59:08 +00:00
										 |  |  |   } | 
					
						
							| 
									
										
										
										
											2025-04-01 12:24:03 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  |   .parallax>use:nth-child(1) { | 
					
						
							| 
									
										
										
										
											2023-12-16 17:59:08 +00:00
										 |  |  |     animation-delay: -2s; | 
					
						
							| 
									
										
										
										
											2024-02-17 16:22:23 +00:00
										 |  |  |     animation-duration: 4s; | 
					
						
							| 
									
										
										
										
											2023-12-16 17:59:08 +00:00
										 |  |  |     opacity: 0.2; | 
					
						
							|  |  |  |   } | 
					
						
							| 
									
										
										
										
											2025-04-01 12:24:03 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  |   .parallax>use:nth-child(2) { | 
					
						
							| 
									
										
										
										
											2023-12-16 17:59:08 +00:00
										 |  |  |     animation-delay: -3s; | 
					
						
							| 
									
										
										
										
											2024-02-17 16:22:23 +00:00
										 |  |  |     animation-duration: 7s; | 
					
						
							| 
									
										
										
										
											2023-12-16 17:59:08 +00:00
										 |  |  |     opacity: 0.4; | 
					
						
							|  |  |  |   } | 
					
						
							| 
									
										
										
										
											2025-04-01 12:24:03 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  |   .parallax>use:nth-child(3) { | 
					
						
							| 
									
										
										
										
											2023-12-16 17:59:08 +00:00
										 |  |  |     animation-delay: -4s; | 
					
						
							| 
									
										
										
										
											2024-02-17 16:22:23 +00:00
										 |  |  |     animation-duration: 10s; | 
					
						
							| 
									
										
										
										
											2023-12-16 17:59:08 +00:00
										 |  |  |     opacity: 0.6; | 
					
						
							|  |  |  |   } | 
					
						
							| 
									
										
										
										
											2025-04-01 12:24:03 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  |   .parallax>use:nth-child(4) { | 
					
						
							|  |  |  |     animation-delay: -5s; | 
					
						
							|  |  |  |     animation-duration: 13s; | 
					
						
							| 
									
										
										
										
											2024-02-17 16:22:23 +00:00
										 |  |  |   } | 
					
						
							| 
									
										
										
										
											2025-04-01 12:24:03 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-12-16 17:59:08 +00:00
										 |  |  |   @keyframes move-forever { | 
					
						
							|  |  |  |     0% { | 
					
						
							|  |  |  |       transform: translate3d(-90px, 0, 0); | 
					
						
							|  |  |  |     } | 
					
						
							| 
									
										
										
										
											2025-04-01 12:24:03 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-12-16 17:59:08 +00:00
										 |  |  |     100% { | 
					
						
							|  |  |  |       transform: translate3d(85px, 0, 0); | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  |   } | 
					
						
							| 
									
										
										
										
											2025-04-01 12:24:03 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-12-16 17:59:08 +00:00
										 |  |  |   @media (max-width: 768px) { | 
					
						
							|  |  |  |     .waves { | 
					
						
							|  |  |  |       height: 40px; | 
					
						
							|  |  |  |       min-height: 40px; | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  |   } | 
					
						
							| 
									
										
										
										
											2025-06-18 15:31:10 +00:00
										 |  |  |    | 
					
						
							|  |  |  |     @media (max-width: 1024px) { | 
					
						
							|  |  |  |     .title { | 
					
						
							|  |  |  |       font-size: 1.4rem; | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  |   } | 
					
						
							| 
									
										
										
										
											2025-04-01 12:24:03 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-02-22 19:20:38 +00:00
										 |  |  |   .words-wrapper { | 
					
						
							|  |  |  |     width: 100%; | 
					
						
							|  |  |  |     display: inline-block; | 
					
						
							|  |  |  |     position: relative; | 
					
						
							|  |  |  |     text-align: center; | 
					
						
							|  |  |  |   } | 
					
						
							| 
									
										
										
										
											2025-04-01 12:24:03 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-02-22 19:20:38 +00:00
										 |  |  |   .words-wrapper b { | 
					
						
							|  |  |  |     width: 100%; | 
					
						
							|  |  |  |     display: inline-block; | 
					
						
							|  |  |  |     position: absolute; | 
					
						
							|  |  |  |     left: 0; | 
					
						
							|  |  |  |     top: 0; | 
					
						
							|  |  |  |   } | 
					
						
							| 
									
										
										
										
											2025-04-01 12:24:03 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-02-22 19:20:38 +00:00
										 |  |  |   .words-wrapper b.is-visible { | 
					
						
							|  |  |  |     position: relative; | 
					
						
							|  |  |  |   } | 
					
						
							| 
									
										
										
										
											2025-04-01 12:24:03 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-02-22 19:20:38 +00:00
										 |  |  |   .headline.zoom .words-wrapper { | 
					
						
							|  |  |  |     -webkit-perspective: 300px; | 
					
						
							|  |  |  |     -moz-perspective: 300px; | 
					
						
							|  |  |  |     perspective: 300px; | 
					
						
							|  |  |  |   } | 
					
						
							| 
									
										
										
										
											2025-04-01 12:24:03 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-02-22 19:20:38 +00:00
										 |  |  |   .headline { | 
					
						
							|  |  |  |     display: flex; | 
					
						
							|  |  |  |     justify-content: center; | 
					
						
							|  |  |  |     align-items: center; | 
					
						
							|  |  |  |   } | 
					
						
							| 
									
										
										
										
											2025-04-01 12:24:03 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-02-22 19:20:38 +00:00
										 |  |  |   .headline.zoom b { | 
					
						
							|  |  |  |     opacity: 0; | 
					
						
							|  |  |  |   } | 
					
						
							| 
									
										
										
										
											2025-04-01 12:24:03 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-02-22 19:20:38 +00:00
										 |  |  |   .headline.zoom b.is-visible { | 
					
						
							|  |  |  |     opacity: 1; | 
					
						
							|  |  |  |     -webkit-animation: zoom-in 0.8s; | 
					
						
							|  |  |  |     -moz-animation: zoom-in 0.8s; | 
					
						
							|  |  |  |     animation: cubic-bezier(0.215, 0.610, 0.355, 1.000) zoom-in 0.8s; | 
					
						
							|  |  |  |   } | 
					
						
							| 
									
										
										
										
											2025-04-01 12:24:03 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-02-22 19:20:38 +00:00
										 |  |  |   .headline.zoom b.is-hidden { | 
					
						
							|  |  |  |     -webkit-animation: zoom-out 0.8s; | 
					
						
							|  |  |  |     -moz-animation: zoom-out 0.8s; | 
					
						
							|  |  |  |     animation: cubic-bezier(0.215, 0.610, 0.355, 1.000) zoom-out 0.4s; | 
					
						
							|  |  |  |   } | 
					
						
							| 
									
										
										
										
											2025-04-01 12:24:03 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-02-22 19:20:38 +00:00
										 |  |  |   @-webkit-keyframes zoom-in { | 
					
						
							|  |  |  |     0% { | 
					
						
							|  |  |  |       opacity: 0; | 
					
						
							|  |  |  |       -webkit-transform: translateZ(100px); | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     100% { | 
					
						
							|  |  |  |       opacity: 1; | 
					
						
							|  |  |  |       -webkit-transform: translateZ(0); | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  |   } | 
					
						
							| 
									
										
										
										
											2025-04-01 12:24:03 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-02-22 19:20:38 +00:00
										 |  |  |   @-moz-keyframes zoom-in { | 
					
						
							|  |  |  |     0% { | 
					
						
							|  |  |  |       opacity: 0; | 
					
						
							|  |  |  |       -moz-transform: translateZ(100px); | 
					
						
							|  |  |  |     } | 
					
						
							| 
									
										
										
										
											2025-04-01 12:24:03 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-02-22 19:20:38 +00:00
										 |  |  |     100% { | 
					
						
							|  |  |  |       opacity: 1; | 
					
						
							|  |  |  |       -moz-transform: translateZ(0); | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  |   } | 
					
						
							| 
									
										
										
										
											2025-04-01 12:24:03 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-02-22 19:20:38 +00:00
										 |  |  |   @keyframes zoom-in { | 
					
						
							|  |  |  |     0% { | 
					
						
							|  |  |  |       opacity: 0; | 
					
						
							|  |  |  |       -webkit-transform: translateZ(100px); | 
					
						
							|  |  |  |       -moz-transform: translateZ(100px); | 
					
						
							|  |  |  |       -ms-transform: translateZ(100px); | 
					
						
							|  |  |  |       -o-transform: translateZ(100px); | 
					
						
							|  |  |  |       transform: translateZ(100px); | 
					
						
							|  |  |  |     } | 
					
						
							| 
									
										
										
										
											2025-04-01 12:24:03 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-02-22 19:20:38 +00:00
										 |  |  |     100% { | 
					
						
							|  |  |  |       opacity: 1; | 
					
						
							|  |  |  |       -webkit-transform: translateZ(0); | 
					
						
							|  |  |  |       -moz-transform: translateZ(0); | 
					
						
							|  |  |  |       -ms-transform: translateZ(0); | 
					
						
							|  |  |  |       -o-transform: translateZ(0); | 
					
						
							|  |  |  |       transform: translateZ(0); | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  |   } | 
					
						
							| 
									
										
										
										
											2025-04-01 12:24:03 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-02-22 19:20:38 +00:00
										 |  |  |   @-webkit-keyframes zoom-out { | 
					
						
							|  |  |  |     0% { | 
					
						
							|  |  |  |       opacity: 1; | 
					
						
							|  |  |  |       -webkit-transform: translateZ(0); | 
					
						
							|  |  |  |     } | 
					
						
							| 
									
										
										
										
											2025-04-01 12:24:03 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-02-22 19:20:38 +00:00
										 |  |  |     100% { | 
					
						
							|  |  |  |       opacity: 0; | 
					
						
							|  |  |  |       -webkit-transform: translateZ(-100px); | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  |   } | 
					
						
							| 
									
										
										
										
											2025-04-01 12:24:03 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-02-22 19:20:38 +00:00
										 |  |  |   @-moz-keyframes zoom-out { | 
					
						
							|  |  |  |     0% { | 
					
						
							|  |  |  |       opacity: 1; | 
					
						
							|  |  |  |       -moz-transform: translateZ(0); | 
					
						
							|  |  |  |     } | 
					
						
							| 
									
										
										
										
											2025-04-01 12:24:03 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-02-22 19:20:38 +00:00
										 |  |  |     100% { | 
					
						
							|  |  |  |       opacity: 0; | 
					
						
							|  |  |  |       -moz-transform: translateZ(-100px); | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  |   } | 
					
						
							| 
									
										
										
										
											2025-04-01 12:24:03 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-02-22 19:20:38 +00:00
										 |  |  |   @keyframes zoom-out { | 
					
						
							|  |  |  |     0% { | 
					
						
							|  |  |  |       opacity: 1; | 
					
						
							|  |  |  |       -webkit-transform: translateZ(0); | 
					
						
							|  |  |  |       -moz-transform: translateZ(0); | 
					
						
							|  |  |  |       -ms-transform: translateZ(0); | 
					
						
							|  |  |  |       -o-transform: translateZ(0); | 
					
						
							|  |  |  |       transform: translateZ(0); | 
					
						
							|  |  |  |     } | 
					
						
							| 
									
										
										
										
											2025-04-01 12:24:03 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-02-22 19:20:38 +00:00
										 |  |  |     100% { | 
					
						
							|  |  |  |       opacity: 0; | 
					
						
							|  |  |  |       -webkit-transform: translateZ(-100px); | 
					
						
							|  |  |  |       -moz-transform: translateZ(-100px); | 
					
						
							|  |  |  |       -ms-transform: translateZ(-100px); | 
					
						
							|  |  |  |       -o-transform: translateZ(-100px); | 
					
						
							|  |  |  |       transform: translateZ(-100px); | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  |   } | 
					
						
							| 
									
										
										
										
											2025-04-01 12:24:03 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  |   .setting-section { | 
					
						
							|  |  |  |     position: absolute; | 
					
						
							|  |  |  |     top: 0; | 
					
						
							|  |  |  |     right: 0; | 
					
						
							| 
									
										
										
										
											2025-04-27 04:22:43 +00:00
										 |  |  |     padding: 22px; | 
					
						
							| 
									
										
										
										
											2024-03-09 13:06:16 +00:00
										 |  |  |   } | 
					
						
							| 
									
										
										
										
											2025-04-01 12:24:03 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-04-27 04:22:43 +00:00
										 |  |  |   .ant-space-item .ant-switch { | 
					
						
							|  |  |  |     margin: 2px 0 4px; | 
					
						
							| 
									
										
										
										
											2024-03-09 13:06:16 +00:00
										 |  |  |   } | 
					
						
							| 
									
										
										
										
											2023-02-09 19:18:06 +00:00
										 |  |  | </style> | 
					
						
							| 
									
										
										
										
											2025-06-21 08:38:43 +00:00
										 |  |  | {{ template "page/head_end" .}} | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | {{ template "page/body_start" .}} | 
					
						
							|  |  |  | <a-layout id="app" v-cloak :class="themeSwitcher.currentTheme"> | 
					
						
							|  |  |  |   <transition name="list" appear> | 
					
						
							|  |  |  |     <a-layout-content class="under" :style="{ minHeight: '0' }"> | 
					
						
							|  |  |  |       <div class="waves-header"> | 
					
						
							|  |  |  |         <div class="waves-inner-header"></div> | 
					
						
							|  |  |  |         <svg class="waves" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" | 
					
						
							|  |  |  |           viewBox="0 24 150 28" preserveAspectRatio="none" shape-rendering="auto"> | 
					
						
							|  |  |  |           <defs> | 
					
						
							|  |  |  |             <path id="gentle-wave" d="M-160 44c30 0 58-18 88-18s 58 18 88 18 58-18 88-18 58 18 88 18 v44h-352z" /> | 
					
						
							|  |  |  |           </defs> | 
					
						
							|  |  |  |           <g class="parallax"> | 
					
						
							|  |  |  |             <use xlink:href="#gentle-wave" x="48" y="0" fill="rgba(0, 135, 113, 0.08)" /> | 
					
						
							|  |  |  |             <use xlink:href="#gentle-wave" x="48" y="3" fill="rgba(0, 135, 113, 0.08)" /> | 
					
						
							|  |  |  |             <use xlink:href="#gentle-wave" x="48" y="5" fill="rgba(0, 135, 113, 0.08)" /> | 
					
						
							|  |  |  |             <use xlink:href="#gentle-wave" x="48" y="7" fill="#c7ebe2" /> | 
					
						
							|  |  |  |           </g> | 
					
						
							|  |  |  |         </svg> | 
					
						
							|  |  |  |       </div> | 
					
						
							|  |  |  |       <a-row type="flex" justify="center" align="middle" :style="{ height: '100%', overflow: 'auto', overflowX: 'hidden' }"> | 
					
						
							|  |  |  |         <a-col :xs="22" :sm="12" :md="10" :lg="8" :xl="6" :xxl="5" id="login" :style="{ margin: '3rem 0' }"> | 
					
						
							|  |  |  |           <div class="setting-section"> | 
					
						
							|  |  |  |             <a-popover :overlay-class-name="themeSwitcher.currentTheme" title='{{ i18n "menu.settings" }}' placement="bottomRight" trigger="click"> | 
					
						
							|  |  |  |               <template slot="content"> | 
					
						
							|  |  |  |                 <a-space direction="vertical" :size="10"> | 
					
						
							|  |  |  |                   <a-theme-switch-login></a-theme-switch-login> | 
					
						
							|  |  |  |                   <span>{{ i18n "pages.settings.language" }}</span> | 
					
						
							|  |  |  |                   <a-select ref="selectLang" :style="{ width: '100%' }" v-model="lang" @change="LanguageManager.setLanguage(lang)" :dropdown-class-name="themeSwitcher.currentTheme"> | 
					
						
							|  |  |  |                     <a-select-option :value="l.value" label="English" v-for="l in LanguageManager.supportedLanguages"> | 
					
						
							|  |  |  |                       <span role="img" aria-label="l.name" v-text="l.icon"></span> | 
					
						
							|  |  |  |                         <span v-text="l.name"></span> | 
					
						
							|  |  |  |                     </a-select-option> | 
					
						
							|  |  |  |                   </a-select> | 
					
						
							|  |  |  |                 </a-space> | 
					
						
							|  |  |  |               </template> | 
					
						
							|  |  |  |               <a-button shape="circle" icon="setting"></a-button> | 
					
						
							|  |  |  |             </a-popover> | 
					
						
							|  |  |  |           </div> | 
					
						
							|  |  |  |           <a-row type="flex" justify="center"> | 
					
						
							|  |  |  |             <a-col :style="{ width: '100%' }"> | 
					
						
							|  |  |  |               <h2 class="title headline zoom"> | 
					
						
							|  |  |  |                 <span class="words-wrapper"> | 
					
						
							|  |  |  |                   <b class="is-visible">{{ i18n "pages.login.hello" }}</b> | 
					
						
							|  |  |  |                   <b>{{ i18n "pages.login.title" }}</b> | 
					
						
							|  |  |  |                 </span> | 
					
						
							|  |  |  |               </h2> | 
					
						
							|  |  |  |             </a-col> | 
					
						
							|  |  |  |           </a-row> | 
					
						
							|  |  |  |           <a-row type="flex" justify="center"> | 
					
						
							|  |  |  |             <a-col span="24"> | 
					
						
							|  |  |  |               <a-form> | 
					
						
							|  |  |  |                 <a-space direction="vertical" size="middle"> | 
					
						
							|  |  |  |                   <a-form-item> | 
					
						
							|  |  |  |                     <a-input autocomplete="username" name="username" v-model.trim="user.username" | 
					
						
							|  |  |  |                       placeholder='{{ i18n "username" }}' @keydown.enter.native="login" autofocus> | 
					
						
							|  |  |  |                       <a-icon slot="prefix" type="user" :style="{ fontSize: '1rem' }"></a-icon> | 
					
						
							|  |  |  |                     </a-input> | 
					
						
							|  |  |  |                   </a-form-item> | 
					
						
							|  |  |  |                   <a-form-item> | 
					
						
							|  |  |  |                     <a-input-password autocomplete="password" name="password" v-model.trim="user.password" | 
					
						
							|  |  |  |                       placeholder='{{ i18n "password" }}' @keydown.enter.native="login"> | 
					
						
							|  |  |  |                       <a-icon slot="prefix" type="lock" :style="{ fontSize: '1rem' }"></a-icon> | 
					
						
							|  |  |  |                     </a-input-password> | 
					
						
							|  |  |  |                   </a-form-item> | 
					
						
							|  |  |  |                   <a-form-item v-if="twoFactorEnable"> | 
					
						
							|  |  |  |                     <a-input autocomplete="totp" name="twoFactorCode" v-model.trim="user.twoFactorCode" | 
					
						
							|  |  |  |                       placeholder='{{ i18n "twoFactorCode" }}' @keydown.enter.native="login"> | 
					
						
							|  |  |  |                       <a-icon slot="prefix" type="key" :style="{ fontSize: '1rem' }"></a-icon> | 
					
						
							|  |  |  |                     </a-input> | 
					
						
							|  |  |  |                   </a-form-item> | 
					
						
							|  |  |  |                   <a-form-item> | 
					
						
							|  |  |  |                     <a-row justify="center" class="centered"> | 
					
						
							|  |  |  |                       <div :style="{ height: '50px', marginTop: '1rem', ...loading ? { width: '52px' } : { display: 'inline-block' } }" class="wave-btn-bg wave-btn-bg-cl"> | 
					
						
							|  |  |  |                         <a-button class="ant-btn-primary-login" type="primary" :loading="loading" @click="login" | 
					
						
							|  |  |  |                           :icon="loading ? 'poweroff' : undefined"> | 
					
						
							|  |  |  |                           [[ loading ? '' : '{{ i18n "login" }}' ]] | 
					
						
							|  |  |  |                         </a-button> | 
					
						
							|  |  |  |                       </div> | 
					
						
							|  |  |  |                     </a-row> | 
					
						
							|  |  |  |                   </a-form-item> | 
					
						
							|  |  |  |                 </a-space> | 
					
						
							|  |  |  |               </a-form> | 
					
						
							|  |  |  |             </a-col> | 
					
						
							|  |  |  |           </a-row> | 
					
						
							|  |  |  |         </a-col> | 
					
						
							|  |  |  |       </a-row> | 
					
						
							|  |  |  |     </a-layout-content> | 
					
						
							|  |  |  |   </transition> | 
					
						
							|  |  |  | </a-layout> | 
					
						
							|  |  |  | {{template "page/body_scripts" .}} | 
					
						
							|  |  |  | {{template "component/aThemeSwitch" .}} | 
					
						
							|  |  |  | <script> | 
					
						
							|  |  |  |   const app = new Vue({ | 
					
						
							|  |  |  |     delimiters: ['[[', ']]'], | 
					
						
							|  |  |  |     el: '#app', | 
					
						
							|  |  |  |     data: { | 
					
						
							|  |  |  |       themeSwitcher, | 
					
						
							|  |  |  |       loading: false, | 
					
						
							|  |  |  |       user: { | 
					
						
							|  |  |  |         username: "", | 
					
						
							|  |  |  |         password: "", | 
					
						
							|  |  |  |         twoFactorCode: "" | 
					
						
							| 
									
										
										
										
											2024-04-20 18:45:36 +00:00
										 |  |  |       }, | 
					
						
							| 
									
										
										
										
											2025-06-21 08:38:43 +00:00
										 |  |  |       twoFactorEnable: false, | 
					
						
							|  |  |  |       lang: "" | 
					
						
							|  |  |  |     }, | 
					
						
							|  |  |  |     async mounted() { | 
					
						
							|  |  |  |       this.lang = LanguageManager.getLanguage(); | 
					
						
							|  |  |  |       this.twoFactorEnable = await this.getTwoFactorEnable(); | 
					
						
							|  |  |  |     }, | 
					
						
							|  |  |  |     methods: { | 
					
						
							|  |  |  |       async login() { | 
					
						
							|  |  |  |         this.loading = true; | 
					
						
							|  |  |  |         const msg = await HttpUtil.post('/login', this.user); | 
					
						
							|  |  |  |         this.loading = false; | 
					
						
							|  |  |  |         if (msg.success) { | 
					
						
							|  |  |  |           location.href = basePath + 'panel/'; | 
					
						
							|  |  |  |         } | 
					
						
							| 
									
										
										
										
											2024-04-20 18:45:36 +00:00
										 |  |  |       }, | 
					
						
							| 
									
										
										
										
											2025-06-21 08:38:43 +00:00
										 |  |  |       async getTwoFactorEnable() { | 
					
						
							|  |  |  |         this.loading = true; | 
					
						
							|  |  |  |         const msg = await HttpUtil.post('/getTwoFactorEnable'); | 
					
						
							|  |  |  |         this.loading = false; | 
					
						
							|  |  |  |         if (msg.success) { | 
					
						
							|  |  |  |           this.twoFactorEnable = msg.obj; | 
					
						
							|  |  |  |           return msg.obj; | 
					
						
							|  |  |  |         } | 
					
						
							| 
									
										
										
										
											2025-04-01 12:24:03 +00:00
										 |  |  |       }, | 
					
						
							| 
									
										
										
										
											2025-06-21 08:38:43 +00:00
										 |  |  |     }, | 
					
						
							|  |  |  |   }); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   document.addEventListener("DOMContentLoaded", function () { | 
					
						
							|  |  |  |     var animationDelay = 2000; | 
					
						
							|  |  |  |     initHeadline(); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     function initHeadline() { | 
					
						
							|  |  |  |       animateHeadline(document.querySelectorAll('.headline')); | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     function animateHeadline(headlines) { | 
					
						
							|  |  |  |       var duration = animationDelay; | 
					
						
							|  |  |  |       headlines.forEach(function (headline) { | 
					
						
							| 
									
										
										
										
											2025-04-01 12:24:03 +00:00
										 |  |  |         setTimeout(function () { | 
					
						
							| 
									
										
										
										
											2025-06-21 08:38:43 +00:00
										 |  |  |           hideWord(headline.querySelector('.is-visible')); | 
					
						
							|  |  |  |         }, duration); | 
					
						
							|  |  |  |       }); | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     function hideWord(word) { | 
					
						
							|  |  |  |       var nextWord = takeNext(word); | 
					
						
							|  |  |  |       switchWord(word, nextWord); | 
					
						
							|  |  |  |       setTimeout(function () { | 
					
						
							|  |  |  |         hideWord(nextWord); | 
					
						
							|  |  |  |       }, animationDelay); | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     function takeNext(word) { | 
					
						
							|  |  |  |       return word.nextElementSibling ? word.nextElementSibling : word.parentElement.firstElementChild; | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     function switchWord(oldWord, newWord) { | 
					
						
							|  |  |  |       oldWord.classList.remove('is-visible'); | 
					
						
							|  |  |  |       oldWord.classList.add('is-hidden'); | 
					
						
							|  |  |  |       newWord.classList.remove('is-hidden'); | 
					
						
							|  |  |  |       newWord.classList.add('is-visible'); | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  |   }); | 
					
						
							|  |  |  | </script> | 
					
						
							|  |  |  | {{ template "page/body_end" .}} |