82 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			HTML
		
	
	
	
		
			Vendored
		
	
	
	
			
		
		
	
	
			82 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			HTML
		
	
	
	
		
			Vendored
		
	
	
	
{{define "theme-mdui/viewpassword"}}
 | 
						|
<!doctype html>
 | 
						|
<html lang="{{.Conf.Language}}">
 | 
						|
 | 
						|
<head>
 | 
						|
  <meta charset="utf-8">
 | 
						|
  <meta name="viewport" content="width=device-width, initial-scale=1"/>
 | 
						|
  <title>{{.Title}}</title>
 | 
						|
 | 
						|
  <!-- MDUI CSS -->
 | 
						|
  <link rel="stylesheet" href="https://lf6-cdn-tos.bytecdntp.com/cdn/expire-1-y/mdui/1.0.2/css/mdui.min.css"/>
 | 
						|
  <link rel="stylesheet" href="/static/theme-mdui/mdui.css" type="text/css">
 | 
						|
  {{if ts .CustomCode}}
 | 
						|
  {{.CustomCode|safe}}
 | 
						|
  {{end}}
 | 
						|
</head>
 | 
						|
 | 
						|
<body>
 | 
						|
  <div class="mdui-container" id="container">
 | 
						|
    <div class="mdui-dialog mdui-dialog-prompt mdui-dialog-open">
 | 
						|
      <div class="mdui-dialog-title">{{tr "VerifyPassword"}}</div>
 | 
						|
 | 
						|
      <div class="mdui-dialog-content">
 | 
						|
        <div class="mdui-textfield">
 | 
						|
          <i class="mdui-icon material-icons">lock</i>
 | 
						|
          <label class="mdui-textfield-label">{{tr "EnterPassword"}}</label>
 | 
						|
          <input class="mdui-textfield-input" type="password" id="password">
 | 
						|
        </div>
 | 
						|
      </div>
 | 
						|
 | 
						|
      <div class="mdui-dialog-actions">
 | 
						|
        <button class="mdui-btn mdui-ripple mdui-text-color-primary" id="confimBtn">{{tr "Confirm"}}</button>
 | 
						|
      </div>
 | 
						|
    </div>
 | 
						|
  </div>
 | 
						|
 | 
						|
  <script src="https://lf6-cdn-tos.bytecdntp.com/cdn/expire-1-y/mdui/1.0.2/js/mdui.min.js"></script>
 | 
						|
  <script src="https://lf6-cdn-tos.bytecdntp.com/cdn/expire-1-y/jquery/3.6.0/jquery.min.js"></script>
 | 
						|
  <script>
 | 
						|
    var $input = mdui.$('#container').find('.mdui-textfield-input');
 | 
						|
    var $dialog = new mdui.Dialog(mdui.$('.mdui-dialog'));
 | 
						|
    var onConfirm = async function() {
 | 
						|
      var pwd = $input.val();
 | 
						|
      const res = await fetch("/view-password", {
 | 
						|
        method: 'POST',
 | 
						|
        headers: {'Content-Type': 'application/json'},
 | 
						|
        redirect: 'follow',
 | 
						|
        body: JSON.stringify({ Password: pwd }),
 | 
						|
      });
 | 
						|
      if (res.ok) {
 | 
						|
        if (res.redirected) {
 | 
						|
          window.location.href = res.url;
 | 
						|
        } else {
 | 
						|
          mdui.snackbar({
 | 
						|
           message: '{{tr "WrongPassword"}}',
 | 
						|
           position: 'top',
 | 
						|
           timeout: 2000,
 | 
						|
         });
 | 
						|
          mdui.mutation();
 | 
						|
        }
 | 
						|
      }
 | 
						|
    };
 | 
						|
 | 
						|
    mdui.updateTextFields($input);
 | 
						|
    $input.on('keydown', function (event) {
 | 
						|
      if (event.keyCode === 13) {
 | 
						|
        var value = $input.val();
 | 
						|
        onConfirm(value);
 | 
						|
        return false;
 | 
						|
      }
 | 
						|
      return;
 | 
						|
    });
 | 
						|
    document.getElementById('confimBtn').addEventListener('click', onConfirm);
 | 
						|
 | 
						|
    $dialog.open();
 | 
						|
    $input[0].focus();
 | 
						|
    mdui.mutation();
 | 
						|
  </script>
 | 
						|
</body>
 | 
						|
</html>
 | 
						|
{{end}}
 |