https://typecard.com/c3566082/

Submitted URL:
https://typecard.com/q/db0c8c83/Redirected
Report Finished:

The outgoing links identified from the page

LinkText
https://www.facebook.com/hassaangulofficialFacebook
https://www.instagram.com/hassaangul_officialInstagram

JavaScript Variables ยท 13 found

Global JavaScript variables loaded on the window object of a page, are variables declared outside of functions and accessible from anywhere in the code within the current scope

NameType
onbeforetoggleobject
documentPictureInPictureobject
onscrollendobject
contactButtonobject
notContactobject
shareContactobject
shareContactCloseobject
originalTextstring
shareContactDetailsInnerobject
shareContactDetailsSuccessobject

Console log messages ยท 0 found

Messages logged to the web console

HTML

The raw HTML body of the page

<!DOCTYPE html><html lang="en" class="antialiased"><head>
        <title>Hassaan Gul's digital business card</title>

        
<!-- Schema.org for Google -->
<meta itemprop="name" content="Connect with Hassaan Gul">
<meta itemprop="description" content="Hassaan Gul's digital business card">
<!-- Twitter -->
<meta name="twitter:card" content="summary">
<meta name="twitter:title" content="Connect with Hassaan Gul">
<meta name="twitter:description" content="Hassaan Gul's digital business card">
<meta name="twitter:site" content="@typecard">
<meta name="twitter:creator" content="@typecard">
<meta name="twitter:image:src" content="https://typecard.comhttps://media.typecard.com/media/ugc/WhatsApp_Image_2024-07-13_at_4.41.14_PM.jpeg">
<!-- Open Graph general (Facebook, Pinterest & Google+) -->
<meta property="og:image" content="https://typecard.comhttps://media.typecard.com/media/ugc/WhatsApp_Image_2024-07-13_at_4.41.14_PM.jpeg">
<meta name="og:title" content="Connect with Hassaan Gul">
<meta name="og:description" content="Hassaan Gul's digital business card">
<meta name="og:url" content="https://typecard.com/c3566082">
<meta name="og:site_name" content="Typecard">
<meta name="og:locale" content="en_US">
<meta name="og:type" content="website">


        
        <!-- Google Tag Manager -->
        <!-- End Google Tag Manager -->
        

      
      <meta name="theme-color" content="#6e0000">
      

    	<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
      <link rel="apple-touch-icon" sizes="57x57" href="/static/website/images/icons/apple-icon-57x57.png">
      <link rel="apple-touch-icon" sizes="60x60" href="/static/website/images/icons/apple-icon-60x60.png">
      <link rel="apple-touch-icon" sizes="72x72" href="/static/website/images/icons/apple-icon-72x72.png">
      <link rel="apple-touch-icon" sizes="76x76" href="/static/website/images/icons/apple-icon-76x76.png">
      <link rel="apple-touch-icon" sizes="114x114" href="/static/website/images/icons/apple-icon-114x114.png">
      <link rel="apple-touch-icon" sizes="120x120" href="/static/website/images/icons/apple-icon-120x120.png">
      <link rel="apple-touch-icon" sizes="144x144" href="/static/website/images/icons/apple-icon-144x144.png">
      <link rel="apple-touch-icon" sizes="152x152" href="/static/website/images/icons/apple-icon-152x152.png">
      <link rel="apple-touch-icon" sizes="180x180" href="/static/website/images/icons/apple-icon-180x180.png">
      <link rel="icon" type="image/png" sizes="192x192" href="/static/website/images/icons/android-icon-192x192.png">
      <link rel="icon" type="image/png" sizes="32x32" href="/static/website/images/icons/favicon-32x32.png">
      <link rel="icon" type="image/png" sizes="96x96" href="/static/website/images/icons/favicon-96x96.png">
      <link rel="icon" type="image/png" sizes="16x16" href="/static/website/images/icons/favicon-16x16.png">
      <link rel="shortcut icon" type="image/png" href="/static/website/images/logo.png">

    	
        <link rel="stylesheet" type="text/css" href="/static/css/styles.css?q=23">
    	


    	

      <script src="https://cdnjs.cloudflare.com/polyfill/v3/polyfill.min.js?version=3.52.1&amp;features=fetch"></script>

      <script>
        if (typeof window.queueMicrotask !== "function") {
          window.queueMicrotask = function (callback) {
            Promise.resolve()
              .then(callback)
              .catch(e => setTimeout(() => { throw e; }));
          };
      }
      </script>

    	

      
      

    </head>

    
    <body class="text-slate-900 antialiased ">
    
<div class="xs:max-w-sm mx-auto xs:my-12 xs:p-2">
    <div class="overflow-hidden relative xs:rounded-lg xs:shadow xs:border">
        <div class="col-span-1 flex flex-col text-white text-center min-h-screen xs:min-h-0" style="color: #FFFFFF;
  background-color: #6e0000;
  ">
	<div class="flex flex-1 flex-col p-8">
		<div>
	        
	        <div class="pb-4">
	          <img class="ml-auto h-8 rounded-xl" src="https://media.typecard.com/media/ugc/FB__Insta_Post.png" alt="">
	        </div>
	        

	        
	          <div class="mx-auto h-32 w-32 flex-shrink-0 rounded-lg" style="background-color: rgba(255,255,255,0.4); background-image: url('https://media.typecard.com/media/ugc/WhatsApp_Image_2024-07-13_at_4.41.14_PM.jpeg'); background-repeat:no-repeat; background-position: center; background-size: cover;"></div>
	        
	        
	          <h3 class="mt-4 font-semibold text-lg">Hassaan Gul</h3>
	        
	        
	        <dl class="mt-1 flex flex-col justify-between">
	          <dt class="sr-only">Role</dt>
	          <dd class="text-sm">Council Candidate (Fawkner &amp; Coburg North) at Merri-Bek City Council - Bababi Djinanang Ward</dd>
	        </dl>
	        

	        
	        <dl class="mt-4 pb-1 flex text-left">
	          <dt class="sr-only">Bio</dt>
	          <dd>Your Hardworking Local - Candidate for Council</dd>
	        </dl>
	        
        

			
      <dl class="not-contact mt-4 space-y-6" style="color: #FFFFFF"> 
				
				
					
					<a href="mailto:[email protected]" class="flex items-top space-x-2 hover:underline">
						<div class="w-6">
							<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="w-6 h-6 flex-shrink-0">
							<path stroke-linecap="round" stroke-linejoin="round" d="M21.75 6.75v10.5a2.25 2.25 0 0 1-2.25 2.25h-15a2.25 2.25 0 0 1-2.25-2.25V6.75m19.5 0A2.25 2.25 0 0 0 19.5 4.5h-15a2.25 2.25 0 0 0-2.25 2.25m19.5 0v.243a2.25 2.25 0 0 1-1.07 1.916l-7.5 4.615a2.25 2.25 0 0 1-2.36 0L3.32 8.91a2.25 2.25 0 0 1-1.07-1.916V6.75"></path>
							</svg>
						</div>
						<div class="text-left">
							
						  <p class="truncate">[email protected]</p>
						</div>
					</a>
					
					
					

					

					

					

					

					



					
				
					
					
					<a href="tel:+61425229420" class="flex items-top space-x-2 hover:underline">
						<div class="w-6">
								<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="w-6 h-6">
								<path stroke-linecap="round" stroke-linejoin="round" d="M2.25 6.75c0 8.284 6.716 15 15 15h2.25a2.25 2.25 0 0 0 2.25-2.25v-1.372c0-.516-.351-.966-.852-1.091l-4.423-1.106c-.44-.11-.902.055-1.173.417l-.97 1.293c-.282.376-.769.542-1.21.38a12.035 12.035 0 0 1-7.143-7.143c-.162-.441.004-.928.38-1.21l1.293-.97c.363-.271.527-.734.417-1.173L6.963 3.102a1.125 1.125 0 0 0-1.091-.852H4.5A2.25 2.25 0 0 0 2.25 4.5v2.25Z"></path>
							</svg>
						</div>
					  <div class="text-left">
							
						  <div class="truncate">+61425 229 420</div>
						</div>
					</a>
					
					

					

					

					

					

					



					
				
			</dl>
			

				
				<dl class="not-contact mt-6 space-y-6" style="color: #FFFFFF"> 
					
						
						  
						  <a href="https://www.facebook.com/hassaangulofficial" target="_blank" rel="nofollow" class="flex items-center space-x-2 hover:underline">
						    <div class="w-6">
						      <svg xmlns="http://www.w3.org/2000/svg" fill="currentColor" class="w-5 h-5 block m-auto" viewBox="0 0 16 16">
  <path d="M16 8.049c0-4.446-3.582-8.05-8-8.05C3.58 0-.002 3.603-.002 8.05c0 4.017 2.926 7.347 6.75 7.951v-5.625h-2.03V8.05H6.75V6.275c0-2.017 1.195-3.131 3.022-3.131.876 0 1.791.157 1.791.157v1.98h-1.009c-.993 0-1.303.621-1.303 1.258v1.51h2.218l-.354 2.326H9.25V16c3.824-.604 6.75-3.934 6.75-7.951"></path>
</svg>
						    </div>
						    <span>Facebook</span>
						  </a>
						  
						
					
						
						  
						  <a href="https://www.instagram.com/hassaangul_official" target="_blank" rel="nofollow" class="flex items-center space-x-2 hover:underline">
						    <div class="w-6">
						      <svg xmlns="http://www.w3.org/2000/svg" fill="currentColor" class="w-5 h-5 block m-auto" viewBox="0 0 16 16">
  <path d="M8 0C5.829 0 5.556.01 4.703.048 3.85.088 3.269.222 2.76.42a3.9 3.9 0 0 0-1.417.923A3.9 3.9 0 0 0 .42 2.76C.222 3.268.087 3.85.048 4.7.01 5.555 0 5.827 0 8.001c0 2.172.01 2.444.048 3.297.04.852.174 1.433.372 1.942.205.526.478.972.923 1.417.444.445.89.719 1.416.923.51.198 1.09.333 1.942.372C5.555 15.99 5.827 16 8 16s2.444-.01 3.298-.048c.851-.04 1.434-.174 1.943-.372a3.9 3.9 0 0 0 1.416-.923c.445-.445.718-.891.923-1.417.197-.509.332-1.09.372-1.942C15.99 10.445 16 10.173 16 8s-.01-2.445-.048-3.299c-.04-.851-.175-1.433-.372-1.941a3.9 3.9 0 0 0-.923-1.417A3.9 3.9 0 0 0 13.24.42c-.51-.198-1.092-.333-1.943-.372C10.443.01 10.172 0 7.998 0zm-.717 1.442h.718c2.136 0 2.389.007 3.232.046.78.035 1.204.166 1.486.275.373.145.64.319.92.599s.453.546.598.92c.11.281.24.705.275 1.485.039.843.047 1.096.047 3.231s-.008 2.389-.047 3.232c-.035.78-.166 1.203-.275 1.485a2.5 2.5 0 0 1-.599.919c-.28.28-.546.453-.92.598-.28.11-.704.24-1.485.276-.843.038-1.096.047-3.232.047s-2.39-.009-3.233-.047c-.78-.036-1.203-.166-1.485-.276a2.5 2.5 0 0 1-.92-.598 2.5 2.5 0 0 1-.6-.92c-.109-.281-.24-.705-.275-1.485-.038-.843-.046-1.096-.046-3.233s.008-2.388.046-3.231c.036-.78.166-1.204.276-1.486.145-.373.319-.64.599-.92s.546-.453.92-.598c.282-.11.705-.24 1.485-.276.738-.034 1.024-.044 2.515-.045zm4.988 1.328a.96.96 0 1 0 0 1.92.96.96 0 0 0 0-1.92m-4.27 1.122a4.109 4.109 0 1 0 0 8.217 4.109 4.109 0 0 0 0-8.217m0 1.441a2.667 2.667 0 1 1 0 5.334 2.667 2.667 0 0 1 0-5.334"></path>
</svg>
						    </div>
						    <span>Instagram</span>
						  </a>
						  
						
					
				</dl>
				

			
			<a id="addToContacts" hdata-url="/vcard/c3566082/" class="hover:scale-105 px-4 py-2 block transition rounded mt-6 font-semibold rounded-lg" style="background: #edf3fe; color: #222222" href="/vcard/c3566082/">+ Save contact</a>
			
		</div>
    </div>
    
	<div class="bg-white p-4 rounded text-left text-slate-800 transition-transform duration-200 bottom-0 w-full translate-y-full absolute border-t" id="shareContact">
		<div class="text-right">
		  <button class="inline-block" id="closeShareContact">
		    <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1" stroke="currentColor" class="h-8 w-8">
		      <path stroke-linecap="round" stroke-linejoin="round" d="m9.75 9.75 4.5 4.5m0-4.5-4.5 4.5M21 12a9 9 0 1 1-18 0 9 9 0 0 1 18 0Z"></path>
		    </svg>
		    <span class="sr-only">Close contact share modal</span>
		  </button>
		</div>
		<div id="shareContactDetailsInner">
		  <h2 class="text-lg mb-4">Share your contact details with <span class="font-semibold">Hassaan Gul</span></h2>
		  <form action="/c3566082/">
		    <input type="hidden" name="csrfmiddlewaretoken" value="ZnG19LjCQAJvUWACnxAsJDXDhDBsVA40AHD0JiPGCBeNsthfuql5NsI6LlwuUgtt">
		    
		    
    
    
        <div class="mb-6" id="id_name_group">
  <label for="id_name" class="block text-sm font-medium text-slate-900">Name</label>
  
  <div class="mt-1">
    <input maxlength="400" required="" type="text" name="name" id="id_name" class="h-10 shadow-sm focus:ring-sky-500 focus:border-sky-500 block w-full sm:text-sm border-slate-300 rounded-md" placeholder="">
  </div>
  
</div>

    



    
    <div class="mb-6" id="id_email_address_group">
  <label for="id_email_address" class="block text-sm font-medium text-slate-900">Email address</label>
  
  <div class="mt-1">
    <input maxlength="254" type="email" name="email_address" id="id_email_address" class="h-10 shadow-sm focus:ring-sky-500 focus:border-sky-500 block w-full sm:text-sm border-slate-300 rounded-md" placeholder="">
  </div>
  
</div>






		    <button type="submit" class="button-primary w-full block">Send</button>
		  </form>
		</div>
		<div id="shareContactDetailsSuccess" class="hidden text-slate-800">
		  <h2 class="text-lg mb-4">Your contact details have been sent to <span class="font-semibold">Hassaan Gul</span></h2>
		  <p>Create your own digital business card with Typecard for free</p>
		  <a href="/select-theme/?ref=contact-c3566082" target="_blank" rel="nofollow" class="button-primary block mt-4 text-center">Create your Typecard</a>
		</div>
	</div>
    
</div>
    </div>
</div>

       
           
             
           
       

       
       

       
<script>
    var contactButton = document.querySelector('#addToContacts');
    var notContact = document.querySelectorAll('.not-contact');
    var shareContact = document.querySelector('#shareContact');
    var shareContactClose = shareContact.querySelector("#closeShareContact");
    var originalText = contactButton.textContent;
    var shareContactDetailsInner = shareContact.querySelector("#shareContactDetailsInner");
    var shareContactDetailsSuccess = shareContact.querySelector("#shareContactDetailsSuccess");
    var shareContactForm = shareContact.querySelector("form");

    function showContactModal(){
        contactButton.textContent = "Loading...";
        contactButton.disabled = true;

        // Wait for 1.5 seconds
        setTimeout(function() {
                // Perform the original actions
            notContact.forEach(function(element) {
                element.classList.add('hidden');
            });
            contactButton.classList.add('hidden');
            shareContact.classList.remove('translate-y-full');
            shareContact.classList.remove('absolute');

            // Change button text back to original
            contactButton.textContent = originalText;
            contactButton.disabled = false;  // Re-enable the button if you disabled it
        }, 1000);  // 1500 milliseconds = 1.5 seconds

    };

    function hideContactModal(){
        notContact.forEach(function(element) {
            element.classList.remove('hidden');
        });
        contactButton.classList.remove('hidden');
        shareContact.classList.add('translate-y-full');
        shareContact.classList.add('absolute');
        shareContactDetailsInner.classList.remove('hidden');
        shareContactDetailsSuccess.classList.add('hidden');
    };

    contactButton.addEventListener('click', function() {
        showContactModal();
    });

    shareContactClose.addEventListener('click', function(e){
        hideContactModal();
    });

    // shareContactForm.addEventListener('submit', function(e){
    //     e.preventDefault();
    //     shareContactDetailsInner.classList.add('hidden');
    //     shareContactDetailsSuccess.classList.remove('hidden');
    // });

    shareContactForm.addEventListener('submit', function (event) {
        event.preventDefault();

        const formData = new FormData(shareContactForm);
        const csrfToken = document.querySelector('[name=csrfmiddlewaretoken]').value;

        fetch(shareContactForm.action, {
            method: 'POST',
            headers: {
                'X-Requested-With': 'XMLHttpRequest',
                'X-CSRFToken': csrfToken,
            },
            body: formData
        })
        .then(response => response.json())
        .then(data => {
            if (data.success) {
                shareContactDetailsInner.classList.add('hidden');
                shareContactDetailsSuccess.classList.remove('hidden');
            } else {
                // Handle errors
                const errors = data.errors;
                for (const [field, messages] of Object.entries(errors)) {
                    const input = document.querySelector(`[name="${field}"]`);
                    if (input) {
                        // Remove previous error messages if any
                        const existingError = input.parentElement.querySelector('.error');
                        if (existingError) {
                            existingError.remove();
                        }
                        // Add new error message
                        const errorDiv = document.createElement('div');
                        errorDiv.className = 'error';
                        errorDiv.textContent = messages.join(', ');
                        input.parentElement.appendChild(errorDiv);
                    }
                }
            }
        })
        .catch(error => {
            console.error('Network error:', error);
        });
    });

</script>

         <div class="flex justify-center fixed bottom-0 right-10 hidden xs:block">
           <a target="_blank" rel="nofollow" href="https://typecard.com/?ref=c3566082" class="flex items-center space-x-2 text-xs font-semibold hover:py-2 hover:px-4 transition-all border-t border-l border-r border-slate-400 text-slate-600 py-1 rounded-t-lg bg-white px-3">
            <span>Create your Typecard</span>
              <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="3" stroke="currentColor" class="w-3 h-3">
              <path stroke-linecap="round" stroke-linejoin="round" d="m4.5 19.5 15-15m0 0H8.25m11.25 0v11.25"></path>
            </svg>
           </a>
        </div>
    

</body></html>