aboutsummaryrefslogtreecommitdiff
path: root/src/routes/contact/index.svelte
diff options
context:
space:
mode:
authorElizabeth Hunt <me@liz.coffee>2026-01-01 18:32:49 -0800
committerElizabeth Hunt <me@liz.coffee>2026-01-01 18:32:49 -0800
commit9af1854a7e35785a8e86426c4fb1edd465f164a3 (patch)
tree8a070c6a9498d952c9ef4ba045f2ebfb25f7b335 /src/routes/contact/index.svelte
parent0248a3899ed910f005dccaeefc1d9dcb893e8154 (diff)
downloadmistymountainstherapy-9af1854a7e35785a8e86426c4fb1edd465f164a3.tar.gz
mistymountainstherapy-9af1854a7e35785a8e86426c4fb1edd465f164a3.zip
Massive refactor courtesy of 5 dollars of AI tokens
Diffstat (limited to 'src/routes/contact/index.svelte')
-rw-r--r--src/routes/contact/index.svelte158
1 files changed, 0 insertions, 158 deletions
diff --git a/src/routes/contact/index.svelte b/src/routes/contact/index.svelte
deleted file mode 100644
index 5bd68f1..0000000
--- a/src/routes/contact/index.svelte
+++ /dev/null
@@ -1,158 +0,0 @@
-<script context="module">
- import { browser } from '$app/env';
- import { toast } from '@zerodevx/svelte-toast'
- import HCaptcha from 'svelte-hcaptcha';
-
- let submission = {
- name: '',
- email: '',
- message: '',
- phone: '',
- captchaToken: '',
- };
-
- let captcha;
-
- function handleSubmit (e) {
- e.preventDefault();
-
- if (browser) {
- const sendToast = toast.push('Sending...', {
- duration: 300,
- initial: 0,
- next: 0.2,
- dismissable: false
- });
- fetch('/contact/submit', {
- method: "POST",
- body: JSON.stringify(submission)
- })
- .then((x) => x.json())
- .then((x) => {
- toast.set(sendToast, { next: 1 });
-
- if (x.success) {
- toast.push('Success! Reloading...', {
- theme: {
- '--toastBackground': '#48BB78',
- '--toastBarBackground': '#2F855A'
- },
- duration: 1000,
- onpop: () => { window.location.reload(); },
- });
- } else if (x.error) {
- toast.push(x.error, {
- theme: {
- '--toastBackground': '#F56565',
- '--toastBarBackground': '#C53030'
- }
- });
- }
- })
- .catch((err) => console.log(err));
- }
- }
-
- function onCaptchaError () {
- toast.push('Failed to verify captcha, try again.', {
- theme: {
- '--toastBackground': '#F56565',
- '--toastBarBackground': '#C53030'
- }
- });
- captcha.reset();
- }
-
- function onCaptchaSuccess ({ detail: { token } }) {
- submission.captchaToken = token;
- }
-</script>
-
-<main>
- <h1 class="text-center">Get in touch.</h1>
- <div class="d-flex justify-content-center flex-row row">
- <div class="border shadow bg-light py-2 col-lg-3 d-flex align-items-center flex-column m-2">
- <h1><i class="bi bi-map-fill"></i></h1>
- <p style="hyphens: auto;">
- <a href="https://maps.app.goo.gl/s1AFqfKvUKgXDCrq5">534 Trejo Street
- <br>
- Suite 200F
- <br>
- Rexburg, ID
- <br>
- 83440
- </a>
- </p>
- </div>
- <div class="border shadow bg-light py-2 col-lg-3 d-flex align-items-center flex-column m-2">
- <div><h1><i class="bi bi-phone-fill"></i></h1></div>
- <p style="hyphens: auto;">
- Scheduling and Other
- <br>
- <a href="tel:12084994517">(208) 499 - 4517</a>
- </p>
- </div>
- <div class="border shadow bg-light py-2 col-lg-3 d-flex align-items-center flex-column m-2" style="word-break: break-all;">
- <h1><i class="bi bi-envelope-fill"></i></h1>
- <div>
- <p style="hyphens: auto;">
- Billing
- <br>
- <a href="mailto:billing@mistymountainstherapy.com">billing@mistymountainstherapy.com</a>
- </p>
- <p style="hyphens: auto;">
- Inquiries
- <br>
- <a href="mailto:contact@mistymountainsthreapy.com">contact@mistymountainstherapy.com</a>
- </p>
- <div><em>note: please watch spam for replies</em></div>
- </div>
- </div>
- </div>
- <br>
- <hr>
- <form class="bg-light border shadow p-4" on:submit|preventDefault={handleSubmit}>
- <h2>Or send us a message.</h2>
- <div class="row mb-2">
- <div class="form-group col-md-6">
- <label for="email">Email *</label>
- <input id="email" type="email" class="form-control" bind:value={submission.email} placeholder="johnnyappleseed@example.com" required>
- </div>
- <div class="form-group col-md-6">
- <label for="name">Name *</label>
- <input id="name" type="text" class="form-control" bind:value={submission.name} placeholder="Johnny Appleseed" required>
- </div>
- </div>
- <div class="form-group">
- <label for="phone">Phone</label>
- <input id="phone" type="text" class="form-control" bind:value={submission.phone} placeholder="(208) 123-4567">
- </div>
- <div class="form-group">
- <label for="message">Message *</label>
- <textarea id="message" class="form-control" bind:value={submission.message} rows="3" placeholder="Hello! I would like to schedule a free 15-minute consultation..." required></textarea>
- </div>
- <div class="pt-2">
- <HCaptcha
- sitekey={import.meta.env.VITE_HCAPTCHA_KEY}
- bind:this={captcha}
- on:success={onCaptchaSuccess}
- on:error={onCaptchaError}
- />
- </div>
- <button type="submit" class="btn btn-primary">Submit</button>
- <div class="my-2"><em>note: please watch spam for any replies</em></div>
- </form>
- <br>
-
- <div class="bg-light border shadow p-4">
- <div class="d-flex justify-content-center">
- <div class="col-md-8 mt-2">
- <div>
- We do not have a crisis line. If you or someone you know is in danger please call 911, visit
- your nearest emergency room, call the National Suicide Prevention Lifeline for free crisis
- counseling at <a href="tel:18002738255">(800)273-TALK</a> (8255), or text HELLO to 741-741.
- </div>
- </div>
- </div>
- </div>
-</main>