Convert entrypoints/sign_up to Typescript (#30106)
				
					
				
			This commit is contained in:
		
							
								
								
									
										48
									
								
								app/javascript/entrypoints/sign_up.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										48
									
								
								app/javascript/entrypoints/sign_up.ts
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,48 @@
 | 
			
		||||
import './public-path';
 | 
			
		||||
import axios from 'axios';
 | 
			
		||||
 | 
			
		||||
import ready from '../mastodon/ready';
 | 
			
		||||
 | 
			
		||||
async function checkConfirmation() {
 | 
			
		||||
  const response = await axios.get('/api/v1/emails/check_confirmation');
 | 
			
		||||
 | 
			
		||||
  if (response.data) {
 | 
			
		||||
    window.location.href = '/start';
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
ready(() => {
 | 
			
		||||
  setInterval(() => {
 | 
			
		||||
    void checkConfirmation();
 | 
			
		||||
  }, 5000);
 | 
			
		||||
 | 
			
		||||
  document
 | 
			
		||||
    .querySelectorAll<HTMLButtonElement>('button.timer-button')
 | 
			
		||||
    .forEach((button) => {
 | 
			
		||||
      let counter = 30;
 | 
			
		||||
 | 
			
		||||
      const container = document.createElement('span');
 | 
			
		||||
 | 
			
		||||
      const updateCounter = () => {
 | 
			
		||||
        container.innerText = ` (${counter})`;
 | 
			
		||||
      };
 | 
			
		||||
 | 
			
		||||
      updateCounter();
 | 
			
		||||
 | 
			
		||||
      const countdown = setInterval(() => {
 | 
			
		||||
        counter--;
 | 
			
		||||
 | 
			
		||||
        if (counter === 0) {
 | 
			
		||||
          button.disabled = false;
 | 
			
		||||
          button.removeChild(container);
 | 
			
		||||
          clearInterval(countdown);
 | 
			
		||||
        } else {
 | 
			
		||||
          updateCounter();
 | 
			
		||||
        }
 | 
			
		||||
      }, 1000);
 | 
			
		||||
 | 
			
		||||
      button.appendChild(container);
 | 
			
		||||
    });
 | 
			
		||||
}).catch((e: unknown) => {
 | 
			
		||||
  throw e;
 | 
			
		||||
});
 | 
			
		||||
		Reference in New Issue
	
	Block a user