Skip to content

Commit fc79965

Browse files
committed
Adds a background image to the welcome onboarding page
1 parent 2e5cf77 commit fc79965

File tree

1 file changed

+92
-91
lines changed

1 file changed

+92
-91
lines changed

apps/webapp/app/routes/confirm-basic-details.tsx

Lines changed: 92 additions & 91 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import { motion } from "framer-motion";
88
import { forwardRef, useState } from "react";
99
import { z } from "zod";
1010
import { AppContainer, MainCenteredContainer } from "~/components/layout/AppLayout";
11+
import { BackgroundWrapper } from "~/components/BackgroundWrapper";
1112
import { Button } from "~/components/primitives/Buttons";
1213
import { Fieldset } from "~/components/primitives/Fieldset";
1314
import { FormButtons } from "~/components/primitives/FormButtons";
@@ -113,7 +114,7 @@ export const action: ActionFunction = async ({ request }) => {
113114
const HandIcon = forwardRef<HTMLDivElement, {}>(({}, ref) => {
114115
return (
115116
<div ref={ref}>
116-
<HandRaisedIcon className="h-7 w-7 text-amber-300" />
117+
<HandRaisedIcon className="h-7 w-7 text-amber-400" />
117118
</div>
118119
);
119120
});
@@ -139,106 +140,106 @@ export default function Page() {
139140

140141
return (
141142
<AppContainer>
142-
<MainCenteredContainer className="max-w-[22rem]">
143-
<Form method="post" {...form.props}>
144-
<FormTitle
145-
title="Welcome to Trigger.dev"
146-
LeadingIcon={
147-
<MotionHand
148-
style={{
149-
originY: 0.75,
150-
}}
151-
initial={{
152-
rotate: 0,
153-
}}
154-
animate={{
155-
rotate: [0, -20, 0, 20, 0, -20, 0, 20, 0],
156-
}}
157-
transition={{
158-
delay: 1,
159-
duration: 1,
160-
repeatDelay: 5,
161-
repeat: Infinity,
162-
ease: "linear",
163-
}}
164-
/>
165-
}
166-
description="We just need you to confirm a couple of details, it'll only take a minute."
167-
/>
168-
<Fieldset>
169-
<InputGroup>
170-
<Label htmlFor={name.id}>Full name</Label>
171-
<Input
172-
{...conform.input(name, { type: "text" })}
173-
defaultValue={user.name ?? ""}
174-
placeholder="Your full name"
175-
icon={UserIcon}
176-
autoFocus
177-
/>
178-
<Hint>Your team will see this name and we'll use it if we need to contact you.</Hint>
179-
<FormError id={name.errorId}>{name.error}</FormError>
180-
</InputGroup>
181-
<InputGroup>
182-
<Label htmlFor={email.id}>Email</Label>
183-
<Input
184-
{...conform.input(email, { type: "email" })}
185-
defaultValue={enteredEmail}
186-
onChange={(e) => {
187-
setEnteredEmail(e.target.value);
188-
}}
189-
placeholder="Your email address"
190-
icon={EnvelopeIcon}
191-
spellCheck={false}
192-
/>
193-
{!shouldShowConfirm && (
194-
<Hint>
195-
Check this is the email you'd like associated with your Trigger.dev account.
196-
</Hint>
197-
)}
198-
<FormError id={email.errorId}>{email.error}</FormError>
199-
</InputGroup>
200-
201-
{shouldShowConfirm ? (
143+
<BackgroundWrapper>
144+
<MainCenteredContainer className="max-w-[26rem] rounded-lg border border-grid-bright bg-background-dimmed p-5">
145+
<Form method="post" {...form.props}>
146+
<FormTitle
147+
title="Welcome to Trigger.dev"
148+
LeadingIcon={
149+
<MotionHand
150+
style={{
151+
originY: 0.75,
152+
}}
153+
initial={{
154+
rotate: 0,
155+
}}
156+
animate={{
157+
rotate: [0, -20, 0, 20, 0, -20, 0, 20, 0],
158+
}}
159+
transition={{
160+
delay: 1,
161+
duration: 1,
162+
repeatDelay: 5,
163+
repeat: Infinity,
164+
ease: "linear",
165+
}}
166+
/>
167+
}
168+
description="We just need you to confirm a couple of details."
169+
/>
170+
<Fieldset>
202171
<InputGroup>
203-
<Label htmlFor={confirmEmail.id}>Confirm email</Label>
172+
<Label htmlFor={name.id}>Full name</Label>
204173
<Input
205-
{...conform.input(confirmEmail, { type: "email" })}
206-
placeholder="Your email, again"
207-
icon={EnvelopeIcon}
208-
spellCheck={false}
174+
{...conform.input(name, { type: "text" })}
175+
defaultValue={user.name ?? ""}
176+
placeholder="Your full name"
177+
icon={UserIcon}
178+
autoFocus
209179
/>
210-
<Hint>
211-
Check this is the email you'd like associated with your Trigger.dev account.
212-
</Hint>
213-
<FormError id={confirmEmail.errorId}>{confirmEmail.error}</FormError>
180+
<Hint>Your team will see this name and we'll use it to contact you.</Hint>
181+
<FormError id={name.errorId}>{name.error}</FormError>
214182
</InputGroup>
215-
) : (
216-
<>
217-
<input {...conform.input(confirmEmail, { type: "hidden" })} value={user.email} />
218-
</>
219-
)}
220-
{isManagedCloud && (
221183
<InputGroup>
222-
<Label htmlFor={confirmEmail.id}>How did you hear about us?</Label>
184+
<Label htmlFor={email.id}>Email</Label>
223185
<Input
224-
{...conform.input(referralSource, { type: "text" })}
225-
placeholder="Google, X (Twitter)…?"
226-
icon={HeartIcon}
186+
{...conform.input(email, { type: "email" })}
187+
defaultValue={enteredEmail}
188+
onChange={(e) => {
189+
setEnteredEmail(e.target.value);
190+
}}
191+
placeholder="Your email address"
192+
icon={EnvelopeIcon}
227193
spellCheck={false}
228194
/>
195+
{!shouldShowConfirm && (
196+
<Hint>Confirm this is the email you'd like for your Trigger.dev account.</Hint>
197+
)}
198+
<FormError id={email.errorId}>{email.error}</FormError>
229199
</InputGroup>
230-
)}
231200

232-
<FormButtons
233-
confirmButton={
234-
<Button type="submit" variant={"primary/small"} TrailingIcon={ArrowRightIcon}>
235-
Continue
236-
</Button>
237-
}
238-
/>
239-
</Fieldset>
240-
</Form>
241-
</MainCenteredContainer>
201+
{shouldShowConfirm ? (
202+
<InputGroup>
203+
<Label htmlFor={confirmEmail.id}>Confirm email</Label>
204+
<Input
205+
{...conform.input(confirmEmail, { type: "email" })}
206+
placeholder="Your email, again"
207+
icon={EnvelopeIcon}
208+
spellCheck={false}
209+
/>
210+
<Hint>
211+
Check this is the email you'd like associated with your Trigger.dev account.
212+
</Hint>
213+
<FormError id={confirmEmail.errorId}>{confirmEmail.error}</FormError>
214+
</InputGroup>
215+
) : (
216+
<>
217+
<input {...conform.input(confirmEmail, { type: "hidden" })} value={user.email} />
218+
</>
219+
)}
220+
{isManagedCloud && (
221+
<InputGroup>
222+
<Label htmlFor={confirmEmail.id}>How did you hear about us?</Label>
223+
<Input
224+
{...conform.input(referralSource, { type: "text" })}
225+
placeholder="LLM, Google, X (Twitter)…?"
226+
icon={HeartIcon}
227+
spellCheck={false}
228+
/>
229+
</InputGroup>
230+
)}
231+
232+
<FormButtons
233+
confirmButton={
234+
<Button type="submit" variant={"primary/small"} TrailingIcon={ArrowRightIcon}>
235+
Continue
236+
</Button>
237+
}
238+
/>
239+
</Fieldset>
240+
</Form>
241+
</MainCenteredContainer>
242+
</BackgroundWrapper>
242243
</AppContainer>
243244
);
244245
}

0 commit comments

Comments
 (0)