run prettier and fix bug on safari
All checks were successful
continuous-integration/drone/push Build is passing
All checks were successful
continuous-integration/drone/push Build is passing
This commit is contained in:
parent
115ca3bbf2
commit
bd9fcb53a5
@ -1,7 +1,7 @@
|
||||
a {
|
||||
text-decoration: none;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.border-darkish {
|
||||
border-bottom: 1px dashed #666666;
|
||||
border-bottom: 1px dashed #666666;
|
||||
}
|
||||
|
22
src/app.html
22
src/app.html
@ -1,4 +1,4 @@
|
||||
<!DOCTYPE html>
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
@ -7,14 +7,26 @@
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Misty Mountains Therapy</title>
|
||||
|
||||
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC" crossorigin="anonymous">
|
||||
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/js/bootstrap.bundle.min.js" integrity="sha384-MrcW6ZMFYlzcLA8Nl+NtUVF0sA7MsXsP1UyJoMp4YLEuNSfAP+JcXn/tWtIaxVXM" crossorigin="anonymous"></script>
|
||||
<link
|
||||
href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css"
|
||||
rel="stylesheet"
|
||||
integrity="sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC"
|
||||
crossorigin="anonymous"
|
||||
/>
|
||||
<script
|
||||
src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/js/bootstrap.bundle.min.js"
|
||||
integrity="sha384-MrcW6ZMFYlzcLA8Nl+NtUVF0sA7MsXsP1UyJoMp4YLEuNSfAP+JcXn/tWtIaxVXM"
|
||||
crossorigin="anonymous"
|
||||
></script>
|
||||
|
||||
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.8.1/font/bootstrap-icons.css">
|
||||
<link
|
||||
rel="stylesheet"
|
||||
href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.8.1/font/bootstrap-icons.css"
|
||||
/>
|
||||
|
||||
%svelte.head%
|
||||
</head>
|
||||
<body class="d-flex flex-column min-vh-100" style="background-color: #e8e8e8">
|
||||
%svelte.body%
|
||||
%svelte.body%
|
||||
</body>
|
||||
</html>
|
||||
|
@ -9,13 +9,13 @@
|
||||
<div class="col-md-4 text-center order-sm-1">
|
||||
<img class="img-fluid rounded shadow" src={imageSpec.image} alt={imageSpec.alt} />
|
||||
</div>
|
||||
<div class="col-md-8 border p-2 bg-light rounded shadow order-sm-2">
|
||||
<div class="col-md-8 border p-4 bg-light rounded shadow order-sm-2">
|
||||
<slot />
|
||||
</div>
|
||||
</div>
|
||||
{:else}
|
||||
<div class="row d-flex align-items-center my-2">
|
||||
<div class="col-md-8 border p-2 bg-light rounded shadow order-md-first order-last">
|
||||
<div class="col-md-8 border p-4 bg-light rounded shadow order-md-first order-last">
|
||||
<slot />
|
||||
</div>
|
||||
<div class="col-md-4 text-center">
|
||||
|
@ -13,15 +13,15 @@
|
||||
</div>
|
||||
<div class="d-flex flex-row align-items-center border-darkish p-1">
|
||||
<i class="bi bi-mailbox"></i>
|
||||
<a href="mailto:jeffer@mistymountainstherapy.com">
|
||||
<a href="mailto:contact@mistymountainstherapy.com">
|
||||
<div class="px-4">
|
||||
<span>jeffer@mistymountainstherapy.com</span>
|
||||
<span>contact@mistymountainstherapy.com</span>
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
<div class="d-flex flex-row align-items-center p-1">
|
||||
<i class="bi bi-pin-map"></i>
|
||||
<a href="https://goo.gl/maps/DdkzDQTRHBTtG8ys6">
|
||||
<a href="https://maps.app.goo.gl/s1AFqfKvUKgXDCrq5">
|
||||
<div class="px-4">
|
||||
<span>534 Trejo Street, Suite 200F</span>
|
||||
<br>
|
||||
@ -38,7 +38,7 @@
|
||||
<div class="p-1">
|
||||
<span class="text-muted">Copyright © 2024 Misty Mountains Therapy</span>
|
||||
<br>
|
||||
<span class="text-muted">High quality therapy services for the Rexburg area.</span>
|
||||
<span class="text-muted">High quality therapy services for the greater Rexburg area.</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -1,8 +1,8 @@
|
||||
import { createClient } from '@supabase/supabase-js';
|
||||
|
||||
export const supabase = createClient(
|
||||
import.meta.env.VITE_SUPABASE_URL as string,
|
||||
import.meta.env.VITE_SUPABASE_ANON_KEY as string,
|
||||
import.meta.env.VITE_SUPABASE_URL as string,
|
||||
import.meta.env.VITE_SUPABASE_ANON_KEY as string
|
||||
);
|
||||
|
||||
export default supabase;
|
||||
export default supabase;
|
||||
|
@ -9,37 +9,36 @@ export const RETRY_JITTER_MAX = 3_000;
|
||||
const waitFor = (ms: number) => new Promise((res) => setTimeout(res, ms));
|
||||
|
||||
const exponentialStrategyWithJitter: RetryStrategyF = (retries: number) =>
|
||||
WAIT_MS * Math.pow(RETRY_EXPONENT, RETRY_EXPONENTIAL_FACTOR * retries) +
|
||||
RETRY_JITTER_MAX * Math.random();
|
||||
WAIT_MS * Math.pow(RETRY_EXPONENT, RETRY_EXPONENTIAL_FACTOR * retries) +
|
||||
RETRY_JITTER_MAX * Math.random();
|
||||
|
||||
export const continueRetryUntilValidation = async <T>(
|
||||
promiseFn: () => Promise<T> | T | Promise<void> | void,
|
||||
validationFn: (x: T) => Promise<boolean> | boolean = (x: T) =>
|
||||
Promise.resolve(!!x),
|
||||
maxRetries = MAX_DEFAULT_RETRY_AMOUNT,
|
||||
waitTimeStrategy: RetryStrategyF = exponentialStrategyWithJitter,
|
||||
retries = 0,
|
||||
lastError: undefined | unknown = undefined
|
||||
promiseFn: () => Promise<T> | T | Promise<void> | void,
|
||||
validationFn: (x: T) => Promise<boolean> | boolean = (x: T) => Promise.resolve(!!x),
|
||||
maxRetries = MAX_DEFAULT_RETRY_AMOUNT,
|
||||
waitTimeStrategy: RetryStrategyF = exponentialStrategyWithJitter,
|
||||
retries = 0,
|
||||
lastError: undefined | unknown = undefined
|
||||
): Promise<T> => {
|
||||
if (retries >= maxRetries) {
|
||||
if (lastError) throw lastError;
|
||||
throw new Error("Exceeded maximum retry amount");
|
||||
}
|
||||
try {
|
||||
if (retries) await waitFor(waitTimeStrategy(retries));
|
||||
if (retries >= maxRetries) {
|
||||
if (lastError) throw lastError;
|
||||
throw new Error('Exceeded maximum retry amount');
|
||||
}
|
||||
try {
|
||||
if (retries) await waitFor(waitTimeStrategy(retries));
|
||||
|
||||
const res = await promiseFn();
|
||||
if (res && (await validationFn(res))) return res;
|
||||
const res = await promiseFn();
|
||||
if (res && (await validationFn(res))) return res;
|
||||
|
||||
throw new Error("Validation predicate unsuccessful");
|
||||
} catch (e: unknown) {
|
||||
return continueRetryUntilValidation(
|
||||
promiseFn,
|
||||
validationFn,
|
||||
maxRetries,
|
||||
waitTimeStrategy,
|
||||
retries + 1,
|
||||
e
|
||||
);
|
||||
}
|
||||
};
|
||||
throw new Error('Validation predicate unsuccessful');
|
||||
} catch (e: unknown) {
|
||||
return continueRetryUntilValidation(
|
||||
promiseFn,
|
||||
validationFn,
|
||||
maxRetries,
|
||||
waitTimeStrategy,
|
||||
retries + 1,
|
||||
e
|
||||
);
|
||||
}
|
||||
};
|
||||
|
@ -1,12 +1,11 @@
|
||||
import { supabase } from '../supabase';
|
||||
|
||||
export const setImageUrl = (imageSpec) => {
|
||||
const { publicURL, error } = supabase
|
||||
.storage
|
||||
.from('mistymountains')
|
||||
.getPublicUrl(imageSpec.image);
|
||||
if (!error) {
|
||||
return { ...imageSpec, image: publicURL };
|
||||
}
|
||||
return imageSpec;
|
||||
}
|
||||
const { publicURL, error } = supabase.storage
|
||||
.from('mistymountains')
|
||||
.getPublicUrl(imageSpec.image);
|
||||
if (!error) {
|
||||
return { ...imageSpec, image: publicURL };
|
||||
}
|
||||
return imageSpec;
|
||||
};
|
||||
|
@ -1,10 +1,10 @@
|
||||
<main>
|
||||
<h1 class="text-center">Our Approach</h1>
|
||||
<h1 class="text-center">Our Approach.</h1>
|
||||
<div class="bg-light rounded p-4 shadow">
|
||||
<div class="row justify-content-center">
|
||||
<div class="col-sm-10">
|
||||
<div style="text-align:center">
|
||||
<img src="https://ztxoywaazhxdeiftmsiy.supabase.co/storage/v1/object/public/mistymountains/boats.jpg" alt="boats in water" style="width:60%">
|
||||
<img class="shadow" src="https://ztxoywaazhxdeiftmsiy.supabase.co/storage/v1/object/public/mistymountains/boats.jpg" alt="boats in water" style="width:60%;border-radius: 0.25em;">
|
||||
</div>
|
||||
<br>
|
||||
<p>We meet each client where they are at and customize their therapeutic journey to best fit their personality and issues. Some of the approaches we use most are listed below:</p>
|
||||
@ -38,6 +38,4 @@
|
||||
|
||||
<p>We use this method to teach families how to treat and prevent behavioral and emotional problems in children and teens. We use a holistic approach and address concerns in the family, school, and community. We will not tell you how to parent, rather we will give you tools and ideas to manage misbehavior, set rules, encourage behavior you like, and take care of yourself so you can feel good and be confident in your parenting skills.</p>
|
||||
</div>
|
||||
|
||||
</main>
|
||||
|
||||
|
@ -69,9 +69,9 @@
|
||||
</script>
|
||||
|
||||
<main>
|
||||
<h1 class="text-center">Get in touch</h1>
|
||||
<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-2 d-flex align-items-center flex-column m-2">
|
||||
<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
|
||||
@ -84,25 +84,35 @@
|
||||
</a>
|
||||
</p>
|
||||
</div>
|
||||
<div class="border shadow bg-light py-2 col-lg-2 d-flex align-items-center flex-column m-2">
|
||||
<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;">
|
||||
For scheduling and other: <a href="tel:12084994517">(208) 499 - 4517</a>
|
||||
Scheduling and Other
|
||||
<br>
|
||||
<a href="tel:12084994517">(208) 499 - 4517</a>
|
||||
</p>
|
||||
</div>
|
||||
<div class="border shadow bg-light py-2 col-lg-2 d-flex align-items-center flex-column m-2">
|
||||
<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>
|
||||
<p style="hyphens: auto;">
|
||||
For billing: <a href="mailto:billing@mistymountainstherapy.com">billing@mistymountainstherapy.com</a>
|
||||
<br>
|
||||
For other questions: <a href="mailto:jeffer@mistymountainsthreapy.com">jeffer@mistymountainstherapy.com</a>
|
||||
</p>
|
||||
<div>
|
||||
<p style="hyphens: auto;">
|
||||
Billing
|
||||
<br>
|
||||
<a href="mailto:billing@mistymountainstherapy.com">billing@mistymountainstherapy.com</a>
|
||||
</p>
|
||||
<p style="hyphens: auto;">
|
||||
Inqueries
|
||||
<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>
|
||||
<h3>Or send us a message</h3>
|
||||
<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>
|
||||
@ -130,7 +140,19 @@
|
||||
/>
|
||||
</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>
|
||||
</main>
|
||||
|
||||
<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>
|
||||
|
@ -39,7 +39,7 @@
|
||||
</Swiper>
|
||||
</div>
|
||||
<div class="col-md-5 my-2">
|
||||
<h2>Helping you conquer Mount Doom</h2>
|
||||
<h2>Helping you conquer Mount Doom.</h2>
|
||||
<p><a href="/contact" class="btn btn-success shadow">FREE 15 Minute Consultation</a></p>
|
||||
</div>
|
||||
</div>
|
||||
@ -61,8 +61,8 @@
|
||||
believe that therapy should be fun, engaging, and most importantly, useful to our clients.
|
||||
</p>
|
||||
<p>
|
||||
We are currently accepting new clients and offer a variety of services to help you live the
|
||||
life you desire. To find the right fit for you, schedule a <a href="/contact"
|
||||
We are currently accepting new clients and offer a variety of services to <strong>help you live the
|
||||
life you desire</strong>. To find the right fit for you, schedule a <a href="/contact"
|
||||
>free 15-minute consultation</a
|
||||
>.
|
||||
</p>
|
||||
|
@ -3,28 +3,30 @@
|
||||
</script>
|
||||
|
||||
<main>
|
||||
<h1 class="text-center">Services</h1>
|
||||
<h1 class="text-center">Our Services.</h1>
|
||||
<DirectionCard direction="left" imageSpec={{image: "https://ztxoywaazhxdeiftmsiy.supabase.co/storage/v1/object/public/mistymountains/girl.jpg", alt: "Girl looking at camera"}}>
|
||||
<h2>Therapy</h2>
|
||||
<em>We provide personalized, unassuming, and nonjudgemental guidance in the following:</em>
|
||||
<ul>
|
||||
<li>Addiction</li>
|
||||
<li>Adolescents</li>
|
||||
<li>ADHD</li>
|
||||
<li>Depression</li>
|
||||
<li>Anxiety</li>
|
||||
<li>Autism Spectrum</li>
|
||||
<li>Couples</li>
|
||||
<li>Depression</li>
|
||||
<li>Families</li>
|
||||
<li>LGBTQ+ Identity</li>
|
||||
<li>Gender Identity</li>
|
||||
<li>Couples</li>
|
||||
<li>Families</li>
|
||||
<li>Human Sexuality</li>
|
||||
<li>Individuals</li>
|
||||
<li>LGBTQ+</li>
|
||||
<li>Roommates/Friends</li>
|
||||
<li>Sexuality</li>
|
||||
<li>And more</li>
|
||||
<li>Friends / Roomates</li>
|
||||
<li><em>And more</em></li>
|
||||
</ul>
|
||||
</DirectionCard>
|
||||
<DirectionCard direction="right" imageSpec={{image: "https://ztxoywaazhxdeiftmsiy.supabase.co/storage/v1/object/public/mistymountains/guy.jpg", alt: "Boy smiling to left"}}>
|
||||
<h2>Screeners</h2>
|
||||
<em>We perform high quality screening for:</em>
|
||||
<ul>
|
||||
<li>ADHD</li>
|
||||
<li>Anxiety</li>
|
||||
|
@ -20,7 +20,7 @@
|
||||
</script>
|
||||
|
||||
<main>
|
||||
<h1 class="text-center">Our Team</h1>
|
||||
<h1 class="text-center">Our Team.</h1>
|
||||
{#if people.length}
|
||||
{#each people as person, i}
|
||||
<div class="row border-bottom">
|
||||
|
Loading…
Reference in New Issue
Block a user