<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Scott Panton | IT Consultant</title>
    <link>https://scott.panton.au/</link>
    <description>Recent content on Scott Panton | IT Consultant</description>
    <image>
      <title>Scott Panton | IT Consultant</title>
      <url>https://scott.panton.au/android-chrome-512x512.png</url>
      <link>https://scott.panton.au/android-chrome-512x512.png</link>
    </image>
    <generator>Hugo</generator>
    <language>en</language>
    <lastBuildDate>Thu, 31 Oct 2024 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://scott.panton.au/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>First post</title>
      <link>https://scott.panton.au/posts/first/</link>
      <pubDate>Thu, 31 Oct 2024 00:00:00 +0000</pubDate>
      <guid>https://scott.panton.au/posts/first/</guid>
      <description>&lt;p&gt;This is a post. It only exists so that there is something here.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Contact Me</title>
      <link>https://scott.panton.au/contact/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://scott.panton.au/contact/</guid>
      <description>&lt;p&gt;If you would like to get in touch, please fill out the form below. I will respond as soon as possible.&lt;/p&gt;

&lt;form id=&#34;contactForm&#34; class=&#34;contact-form&#34;&gt;
  &lt;div class=&#34;form-group&#34;&gt;
    &lt;label for=&#34;name&#34;&gt;Name&lt;/label&gt;
    &lt;input type=&#34;text&#34; id=&#34;name&#34; name=&#34;name&#34; required&gt;
  &lt;/div&gt;
  
  &lt;div class=&#34;form-group&#34;&gt;
    &lt;label for=&#34;email&#34;&gt;Email&lt;/label&gt;
    &lt;input type=&#34;email&#34; id=&#34;email&#34; name=&#34;email&#34; required&gt;
  &lt;/div&gt;
  
  &lt;div class=&#34;form-group&#34;&gt;
    &lt;label for=&#34;message&#34;&gt;Message&lt;/label&gt;
    &lt;textarea id=&#34;message&#34; name=&#34;message&#34; rows=&#34;6&#34; required&gt;&lt;/textarea&gt;
  &lt;/div&gt;

  &lt;!-- Cloudflare Turnstile Widget --&gt;
  &lt;!-- REPLACE data-sitekey with your actual Turnstile Site Key --&gt;
  &lt;div class=&#34;cf-turnstile&#34; data-sitekey=&#34;0x4AAAAAADJDslFka5ZrAAiF&#34; data-theme=&#34;light&#34;&gt;&lt;/div&gt;

  &lt;button type=&#34;submit&#34; id=&#34;submitBtn&#34;&gt;Send Message&lt;/button&gt;
  &lt;div id=&#34;formStatus&#34; style=&#34;margin-top: 15px; font-weight: bold;&#34;&gt;&lt;/div&gt;
&lt;/form&gt;

&lt;script src=&#34;https://challenges.cloudflare.com/turnstile/v0/api.js&#34; async defer&gt;&lt;/script&gt;
&lt;script&gt;
document.getElementById(&#39;contactForm&#39;).addEventListener(&#39;submit&#39;, async (e) =&gt; {
  e.preventDefault();
  
  const statusDiv = document.getElementById(&#39;formStatus&#39;);
  const submitBtn = document.getElementById(&#39;submitBtn&#39;);
  
  statusDiv.innerText = &#34;Sending...&#34;;
  statusDiv.style.color = &#34;var(--primary)&#34;;
  submitBtn.disabled = true;

  const formData = new FormData(e.target);
  const data = Object.fromEntries(formData.entries());

  try {
    const response = await fetch(&#39;/api/contact&#39;, {
      method: &#39;POST&#39;,
      headers: { &#39;Content-Type&#39;: &#39;application/json&#39; },
      body: JSON.stringify(data)
    });

    if (response.ok) {
      statusDiv.innerText = &#34;Message sent successfully! I&#39;ll be in touch soon.&#34;;
      statusDiv.style.color = &#34;green&#34;;
      e.target.reset();
      turnstile.reset(); // Reset the widget after success
    } else {
      const err = await response.json();
      statusDiv.innerText = `Error: ${err.error}`;
      statusDiv.style.color = &#34;red&#34;;
      turnstile.reset(); // Reset the widget so they can try again
    }
  } catch (err) {
    statusDiv.innerText = &#34;A network error occurred. Please try again.&#34;;
    statusDiv.style.color = &#34;red&#34;;
    turnstile.reset();
  } finally {
    submitBtn.disabled = false;
  }
});
&lt;/script&gt;

&lt;style&gt;
/* Styling to seamlessly integrate with PaperMod&#39;s aesthetic */
.contact-form { max-width: 600px; margin-top: 2rem; }
.contact-form .form-group { margin-bottom: 1.5rem; }
.contact-form label { display: block; margin-bottom: 0.5rem; font-weight: bold; }
.contact-form input, 
.contact-form textarea { 
  width: 100%; 
  padding: 0.75rem; 
  border: 1px solid var(--border); 
  background: var(--entry); 
  color: var(--primary); 
  border-radius: 6px;
  font-family: inherit;
}
.contact-form input:focus, 
.contact-form textarea:focus {
  outline: none;
  border-color: #0056b3; /* Match the professional blue from earlier */
}
.contact-form button { 
  padding: 0.75rem 1.5rem; 
  background-color: #0056b3; 
  color: #ffffff; 
  border: none; 
  cursor: pointer; 
  border-radius: 6px; 
  font-size: 1rem;
  font-weight: bold;
  transition: opacity 0.2s;
}
.contact-form button:hover { opacity: 0.8; }
.contact-form button:disabled { background-color: var(--tertiary); cursor: not-allowed; }
.cf-turnstile { margin-bottom: 1.5rem; }
&lt;/style&gt;</description>
    </item>
    <item>
      <title>What I Offer</title>
      <link>https://scott.panton.au/services/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://scott.panton.au/services/</guid>
      <description>&lt;p&gt;I deliver solutions tailored to meet your exacting requirements while remaining mindful of your budgetary concerns. My hands-on approach reduces the frustration of remote help desks, providing you with direct, professional support.&lt;/p&gt;
&lt;h2 id=&#34;onsite--remote-support&#34;&gt;Onsite &amp;amp; Remote Support&lt;/h2&gt;
&lt;p&gt;Tailored support for your IT systems, so you can relax. I am available for both onsite visits and remote administration to ensure your operations run smoothly without interruption.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Ready to simplify your IT infrastructure?&lt;/strong&gt;&lt;br&gt;
Drop me a line via the contact page to discuss your requirements.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
