183 lines
		
	
	
		
			9.1 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			183 lines
		
	
	
		
			9.1 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
<head>
 | 
						|
  <link href="style.css" rel="stylesheet" />
 | 
						|
</head>
 | 
						|
<body class="h-full">
 | 
						|
  <form
 | 
						|
    class="py-2 text-indigo-300 md:px-10 lg:col-start-2 lg:row-start-1 lg:mx-auto lg:w-full lg:max-w-lg lg:bg-transparent lg:px-0"
 | 
						|
    action="/chpass/changepassword"
 | 
						|
    method="post"
 | 
						|
    enctype="multipart/form-data"
 | 
						|
  >
 | 
						|
    <div class="display-none text-red-800 font-bold"></div>
 | 
						|
    <div
 | 
						|
      class="relative mx-auto gap-x-16 bg-slate-100 w-full lg-w-1/2 lg:px-8 lg:pt-16"
 | 
						|
    >
 | 
						|
      <!-- element order 1  forms.element{Name:"email", Label:"Email Address", LabelClasses:"", InputClasses:"", Type:"text", Hint:"", Required:false, Classes:"", Validator:"email", vreg:(*regexp.Regexp)(nil), valid:false, FailMessage:"Must be a valid email address", Value:"", Autocomplete:"off", Order:1, OnClick:"", Choices:[]forms.choice(nil)}-->
 | 
						|
      <div
 | 
						|
        class="py-2 text-indigo-300 md:px-10 lg:col-start-2 lg:row-start-1 lg:mx-auto lg:w-full lg:max-w-lg lg:bg-transparent lg:px-0"
 | 
						|
      >
 | 
						|
        <label for="email" class="block text-sm font-medium text-gray-700"
 | 
						|
          >Email Address</label
 | 
						|
        ><input
 | 
						|
          type="text"
 | 
						|
          autocomplete="off"
 | 
						|
          name="email"
 | 
						|
          class="block w-full rounded-md border-gray-300 shadow-sm focus:border-indigo-500 focus:ring-indigo-500 sm:text-sm"
 | 
						|
          value=""
 | 
						|
        />
 | 
						|
      </div>
 | 
						|
      <div class="text-red-800 font-bold" for="email">
 | 
						|
        <span class="error">Must be a valid email address</span>
 | 
						|
      </div>
 | 
						|
      <!-- element order 2  forms.element{Name:"oldpassword", Label:"Old Password", LabelClasses:"", InputClasses:"", Type:"password", Hint:"", Required:false, Classes:"", Validator:"", vreg:(*regexp.Regexp)(nil), valid:false, FailMessage:"Passsword Incorrect", Value:"", Autocomplete:"off", Order:2, OnClick:"", Choices:[]forms.choice(nil)}-->
 | 
						|
      <div
 | 
						|
        class="relative py-2 text-indigo-300 md:px-10 lg:col-start-2 lg:row-start-1 lg:mx-auto lg:w-full lg:max-w-lg lg:bg-transparent lg:px-0"
 | 
						|
      >
 | 
						|
        <label for="oldpassword" class="block text-sm font-medium text-gray-700"
 | 
						|
          >Old Password</label
 | 
						|
        ><input
 | 
						|
          id="input-oldpassword"
 | 
						|
          autocomplete="off"
 | 
						|
          type="password"
 | 
						|
          name="oldpassword"
 | 
						|
          class="block w-full rounded-md border-gray-300 shadow-sm focus:border-indigo-500 focus:ring-indigo-500 sm:text-sm"
 | 
						|
          value=""
 | 
						|
        /><button
 | 
						|
          class="absolute inline right-3"
 | 
						|
          type="button"
 | 
						|
          onClick='togglePassword("input-oldpassword")'
 | 
						|
        >
 | 
						|
          <svg
 | 
						|
            class="svg-icon"
 | 
						|
            style="
 | 
						|
              width: 1.6em;
 | 
						|
              height: 1.6em;
 | 
						|
              vertical-align: middle;
 | 
						|
              fill: currentColor;
 | 
						|
              overflow: hidden;
 | 
						|
            "
 | 
						|
            viewBox="0 0 1024 1024"
 | 
						|
            version="1.1"
 | 
						|
            xmlns="http://www.w3.org/2000/svg"
 | 
						|
          >
 | 
						|
            <path
 | 
						|
              d="M1024 512c0 96-211.2 307.2-512 307.2-294.4 0-512-204.8-512-307.2s217.6-307.2 512-307.2c300.8 0 512 204.8 512 307.2l0 0zM512 262.4c-134.4 0-243.2 108.8-243.2 249.6s108.8 249.6 249.6 249.6c134.4 0 249.6-115.2 249.6-249.6-6.4-140.8-121.6-249.6-256-249.6l0 0zM512 352c-89.6 0-160 70.4-160 160s70.4 160 160 160c89.6 0 160-70.4 160-160s-70.4-160-160-160l0 0z"
 | 
						|
            />
 | 
						|
          </svg>
 | 
						|
        </button>
 | 
						|
      </div>
 | 
						|
      <div class="text-red-800 font-bold" for="oldpassword">
 | 
						|
        <span class="error">Passsword Incorrect</span>
 | 
						|
      </div>
 | 
						|
      <!-- element order 3  forms.element{Name:"newpassword", Label:"New Password", LabelClasses:"", InputClasses:"", Type:"password", Hint:"", Required:false, Classes:"", Validator:"minlength=8;haslowercase;hasuppercase;hasdigit", vreg:(*regexp.Regexp)(nil), valid:false, FailMessage:"Password must be at least 8 characters long and contain at least one uppercase letter, one lowercase letter and one digit", Value:"", Autocomplete:"off", Order:3, OnClick:"", Choices:[]forms.choice(nil)}-->
 | 
						|
      <div
 | 
						|
        class="relative py-2 text-indigo-300 md:px-10 lg:col-start-2 lg:row-start-1 lg:mx-auto lg:w-full lg:max-w-lg lg:bg-transparent lg:px-0"
 | 
						|
      >
 | 
						|
        <label for="newpassword" class="block text-sm font-medium text-gray-700"
 | 
						|
          >New Password</label
 | 
						|
        ><input
 | 
						|
          id="input-newpassword"
 | 
						|
          autocomplete="off"
 | 
						|
          type="password"
 | 
						|
          name="newpassword"
 | 
						|
          class="block w-full rounded-md border-gray-300 shadow-sm focus:border-indigo-500 focus:ring-indigo-500 sm:text-sm"
 | 
						|
          value=""
 | 
						|
        /><button
 | 
						|
          class="absolute inline right-3"
 | 
						|
          type="button"
 | 
						|
          onClick='togglePassword("input-newpassword")'
 | 
						|
        >
 | 
						|
          <svg
 | 
						|
            class="svg-icon"
 | 
						|
            style="
 | 
						|
              width: 1.6em;
 | 
						|
              height: 1.6em;
 | 
						|
              vertical-align: middle;
 | 
						|
              fill: currentColor;
 | 
						|
              overflow: hidden;
 | 
						|
            "
 | 
						|
            viewBox="0 0 1024 1024"
 | 
						|
            version="1.1"
 | 
						|
            xmlns="http://www.w3.org/2000/svg"
 | 
						|
          >
 | 
						|
            <path
 | 
						|
              d="M1024 512c0 96-211.2 307.2-512 307.2-294.4 0-512-204.8-512-307.2s217.6-307.2 512-307.2c300.8 0 512 204.8 512 307.2l0 0zM512 262.4c-134.4 0-243.2 108.8-243.2 249.6s108.8 249.6 249.6 249.6c134.4 0 249.6-115.2 249.6-249.6-6.4-140.8-121.6-249.6-256-249.6l0 0zM512 352c-89.6 0-160 70.4-160 160s70.4 160 160 160c89.6 0 160-70.4 160-160s-70.4-160-160-160l0 0z"
 | 
						|
            />
 | 
						|
          </svg>
 | 
						|
        </button>
 | 
						|
      </div>
 | 
						|
      <div class="text-red-800 font-bold" for="newpassword">
 | 
						|
        <span class="error"
 | 
						|
          >Password must be at least 8 characters long and contain at least one
 | 
						|
          uppercase letter, one lowercase letter and one digit</span
 | 
						|
        >
 | 
						|
      </div>
 | 
						|
      <!-- element order 4  forms.element{Name:"confirmpassword", Label:"Confirm Password", LabelClasses:"", InputClasses:"", Type:"password", Hint:"", Required:false, Classes:"", Validator:"mustmatch=newpassword", vreg:(*regexp.Regexp)(nil), valid:false, FailMessage:"Passwords do not match", Value:"", Autocomplete:"off", Order:4, OnClick:"", Choices:[]forms.choice(nil)}-->
 | 
						|
      <div
 | 
						|
        class="relative py-2 text-indigo-300 md:px-10 lg:col-start-2 lg:row-start-1 lg:mx-auto lg:w-full lg:max-w-lg lg:bg-transparent lg:px-0"
 | 
						|
      >
 | 
						|
        <label
 | 
						|
          for="confirmpassword"
 | 
						|
          class="block text-sm font-medium text-gray-700"
 | 
						|
          >Confirm Password</label
 | 
						|
        ><input
 | 
						|
          id="input-confirmpassword"
 | 
						|
          autocomplete="off"
 | 
						|
          type="password"
 | 
						|
          name="confirmpassword"
 | 
						|
          class="block w-full rounded-md border-gray-300 shadow-sm focus:border-indigo-500 focus:ring-indigo-500 sm:text-sm"
 | 
						|
          value=""
 | 
						|
        /><button
 | 
						|
          class="absolute inline right-3"
 | 
						|
          type="button"
 | 
						|
          onClick='togglePassword("input-confirmpassword")'
 | 
						|
        >
 | 
						|
          <svg
 | 
						|
            class="svg-icon"
 | 
						|
            style="
 | 
						|
              width: 1.6em;
 | 
						|
              height: 1.6em;
 | 
						|
              vertical-align: middle;
 | 
						|
              fill: currentColor;
 | 
						|
              overflow: hidden;
 | 
						|
            "
 | 
						|
            viewBox="0 0 1024 1024"
 | 
						|
            version="1.1"
 | 
						|
            xmlns="http://www.w3.org/2000/svg"
 | 
						|
          >
 | 
						|
            <path
 | 
						|
              d="M1024 512c0 96-211.2 307.2-512 307.2-294.4 0-512-204.8-512-307.2s217.6-307.2 512-307.2c300.8 0 512 204.8 512 307.2l0 0zM512 262.4c-134.4 0-243.2 108.8-243.2 249.6s108.8 249.6 249.6 249.6c134.4 0 249.6-115.2 249.6-249.6-6.4-140.8-121.6-249.6-256-249.6l0 0zM512 352c-89.6 0-160 70.4-160 160s70.4 160 160 160c89.6 0 160-70.4 160-160s-70.4-160-160-160l0 0z"
 | 
						|
            />
 | 
						|
          </svg>
 | 
						|
        </button>
 | 
						|
      </div>
 | 
						|
      <div class="text-red-800 font-bold" for="confirmpassword">
 | 
						|
        <span class="error">Passwords do not match</span>
 | 
						|
      </div>
 | 
						|
      <!-- element order 5  forms.element{Name:"", Label:"Change Password", LabelClasses:"", InputClasses:"flex w-full justify-center rounded-md bg-indigo-600 px-3 py-1.5 text-sm font-semibold leading-6 text-white shadow-sm hover:bg-indigo-500 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-indigo-600", Type:"submit", Hint:"", Required:false, Classes:"", Validator:"", vreg:(*regexp.Regexp)(nil), valid:false, FailMessage:"", Value:"", Autocomplete:"off", Order:5, OnClick:"", Choices:[]forms.choice(nil)}-->
 | 
						|
      <div
 | 
						|
        class="py-2 text-indigo-300 md:px-10 lg:col-start-2 lg:row-start-1 lg:mx-auto lg:w-full lg:max-w-lg lg:bg-transparent lg:px-0"
 | 
						|
      >
 | 
						|
        <button
 | 
						|
          type="submit"
 | 
						|
          class="flex w-full justify-center rounded-md bg-indigo-600 px-3 py-1.5 text-sm font-semibold leading-6 text-white shadow-sm hover:bg-indigo-500 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-indigo-600"
 | 
						|
        >
 | 
						|
          <span class="block text-sm font-medium text-gray-700"
 | 
						|
            >Change Password</span
 | 
						|
          >
 | 
						|
        </button>
 | 
						|
      </div>
 | 
						|
      <div class="text-red-800 font-bold" for="">
 | 
						|
        <span class="error">Invalid entry.</span>
 | 
						|
      </div>
 | 
						|
    </div>
 | 
						|
  </form>
 | 
						|
  <script>
 | 
						|
    function togglePassword(f) {
 | 
						|
      var a = document.getElementById(f);
 | 
						|
      if (a.type == "password") a.type = "text";
 | 
						|
      else a.type = "password";
 | 
						|
    }
 | 
						|
  </script>
 | 
						|
</body>
 |