diff --git a/src/components/waitlist/WaitlistAlreadyIn.tsx b/src/components/waitlist/WaitlistAlreadyIn.tsx index cfed4a6..c2676a3 100644 --- a/src/components/waitlist/WaitlistAlreadyIn.tsx +++ b/src/components/waitlist/WaitlistAlreadyIn.tsx @@ -1,4 +1,4 @@ -import { createResource, Show } from "solid-js"; +import { createResource, Show, onMount } from "solid-js"; const relayUrls = [ "wss://nostr.zebedee.cloud", @@ -33,6 +33,16 @@ const postsFetcher = async () => { export function WaitlistAlreadyIn() { const [posts] = createResource("", postsFetcher); + // Allow invite parameter to bypass waitlist + onMount(() => { + const urlParams = new URLSearchParams(window.location.search); + const invite = urlParams.get('invite'); + if (invite === 'true') { + localStorage.setItem('already_approved', 'true'); + window.location.href = "/"; + } + }); + return (
diff --git a/src/components/waitlist/WaitlistForm.tsx b/src/components/waitlist/WaitlistForm.tsx index 8309b49..68d5819 100644 --- a/src/components/waitlist/WaitlistForm.tsx +++ b/src/components/waitlist/WaitlistForm.tsx @@ -1,4 +1,4 @@ -import { Match, Switch, createSignal } from "solid-js"; +import { Match, Switch, createSignal, onMount } from "solid-js"; import { Button } from "~/components/layout"; import { StyledRadioGroup } from "../layout/Radio"; import { TextField } from "../layout/TextField"; @@ -37,6 +37,16 @@ export default function WaitlistForm() { const [loading, setLoading] = createSignal(false); + // Allow invite parameter to bypass waitlist + onMount(() => { + const urlParams = new URLSearchParams(window.location.search); + const invite = urlParams.get('invite'); + if (invite === 'true') { + localStorage.setItem('already_approved', 'true'); + window.location.href = "/"; + } + }); + const newHandleSubmit: SubmitHandler = async ( f: WaitlistForm ) => {