Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

C org thank you pages #102

Merged
merged 2 commits into from
Mar 5, 2024
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion apps/eo_web/dist/manifest.json
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
"css": [
"assets/main-ddf44b1d.css"
],
"file": "assets/main-00c7f2f9.js",
"file": "assets/main-8c8162e1.js",
"isEntry": true,
"src": "src/main.tsx"
}
Expand Down
7 changes: 3 additions & 4 deletions apps/eo_web/src/components/FAQs.tsx
Original file line number Diff line number Diff line change
@@ -1,14 +1,13 @@
import { Typography } from '@eo/ui'
import React from 'react'
import { faqs, pilotFaqs } from '~/copy/copy'
import { faqs, type Copy } from '~/copy/copy'
import { Collapsible } from './Collapsible'

interface FAQsProps {
pilot?: boolean
faqList?: Copy[]
}

export const FAQs = ({ pilot = false }: FAQsProps) => {
const faqList = pilot ? pilotFaqs : faqs
export const FAQs = ({ faqList = faqs }: FAQsProps) => {
return (
<section className="px-6 py-12 md:mx-0 md:my-[100px]">
<div className="mx-auto my-0 flex max-w-[900px] flex-col">
Expand Down
84 changes: 84 additions & 0 deletions apps/eo_web/src/copy/copy.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -101,6 +101,90 @@ export const CarrouselItems = [
},
];

export const cOrgFaqs: Copy[] = [
{
title: "How much does EO cost?",
content: "As a valued member of our community, your care is completely free. This includes your clinician-reviewed plan, ongoing plan optimization based on your feedback and unlimited phone calls and in-app messaging with our care team. Note that the cost of your recommended products is NOT included in your plan unless you’re participating in an EO clinical pilot.",
},
{
title: "Do I order the products that are included in my care plan or do you do it for me?",
content: "After you’ve approved your recommended products, we’ll order your THC products for you and let you know when they’re ready for pick-up. You can order any non-THC products (e.g. CBD, CBN or CBG products) directly from our recommended retail partners for home delivery.",
},
{
title: "Do I need a medical card to use EO?",
content: "No. You can use EO without a medical card. We’ll ask you about your medical card status when you’re sharing your profile information.",
},
{
title: "What should I bring with me when I pick-up my products?",
content: "Bring your valid medical card (if you have one), a state I.D. or driver’s license and a debit card or enough cash to pay for products.",
},
{
title: "How long should it take my clinical and member services teams to respond to a message, email or phone question/ inquiry?",
content: "No more than 24 hours and typically within 2-3 hours.",
},
{
title: "Why can’t I see my initial care plan as soon as I submit my profile information? ",
content: "Every profile submitted and piece of feedback provided is initially assessed by our proprietary data model and a draft care plan or care plan update is created. That plan is then closely reviewed and edited as needed by a licensed EO clinician. This can take as long as 24 hours or this can take as little as an hour, depending on the complexity of your profile, your care plan and clinician availability.",
},
{
title: "How do you decide which products, doses and times of use are most right for me?",
content: (
<>
The EO data model and your clinical team bases all recommendations on
relevant aspects of your medical history, cannabis use history, your daily
schedule and the feedback you provide as you use your care plan.
<br />
<br />
The model and your team also considers the profiles, experiences and
feedback provided by other EO patients like you and the recommendations
of our proprietary data model. And your clinical team (of course) always
draws upon their extensive cannabis treatment and research experience to
provide the best possible care for you.
</>
),
},
{
title: "What happens if I miss a dose?",
content: "Just take your next dose as scheduled!",
},
{
title: "What happens if I’m late taking a dose? ",
content: "If you’re less than 30 minutes late, go ahead and take your scheduled dose (also be sure to take the next dose at the originally scheduled time). If you’re more than 30 minutes late just wait for your next scheduled dose.",
},
{
title: "What happens if I miss an opportunity to provide feedback?",
content: "Needless to say, the more feedback you provide, the better we can care for you. However, we know sometimes schedules change and life happens. If you can’t provide feedback when prompted, don’t worry. Just keep going as guided.",
},
{
title: "How long should it take to get my cannabis regimen “right”?",
content: (
<>
Everyone is different when it comes to the time it takes to reach
satisfaction with a care plan. For some, all it takes is a few days
or a week or two. For others, it can take longer.
<br />
<br />
It’s important to note, however, that very few people retain a static
relationship to cannabis for long periods of time. Products, doses
and times of use typically change as your reasons for use, symptoms,
cannabis tolerance, body and daily schedule evolves.
<br />
<br />
As your feedback and needs change, we’ll be with you to alter and
optimize your care plan, guide your care and answer your questions.
</>
)
},
{
title: "Can I use a different dispensary or delivery provider than the one you’ve recommended? ",
content: "The answer is an honest “maybe”. If you’d like to make a change just email us at [email protected] or call 888-823-6143. We’ll do everything we can to accommodate your request.",
},
{
title: "What happens if I run out of a particular product?",
content: "No problem. Just email us at [email protected] or call 888-823-6143. We’ll update your care plan in the very near term to accommodate the absence of that product if/as appropriate and coordinate the ordering of the needed product or a responsible replacement.",
},
];

export const pilotFaqs: Copy[] = [
{
title: "How much does EO cost?",
Expand Down
10 changes: 8 additions & 2 deletions apps/eo_web/src/screens/Cancer/CancerSurveyThankYou.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -14,13 +14,14 @@ import { LayoutDefault } from "~/layouts";
import { FooterFull } from "~/layouts/FooterFull";
import { useProfilingStore } from "~/stores/useProfilingStore";
import { useSurveyStore } from "~/stores/useSurveyStore";
import { cOrgFaqs, faqs, pilotFaqs } from "~/copy/copy";


export const CancerSurveyThankYou = () => {
const [searchParams] = useSearchParams();

const { email, phase } = useSurveyStore();
const { usePayment } = useProfilingStore();
const { usePayment, flow } = useProfilingStore();

const submission_id = searchParams.get("submission_id") ?? "";

Expand Down Expand Up @@ -48,6 +49,11 @@ export const CancerSurveyThankYou = () => {

useMount(() => mutate({ email, phase, submission_id }));

const flowsWithCOrgFaqs = ["c_org", "twist_out_cancer", "resource_center_1", "resource_center_2"]
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I prefer to pass the flow and usePayment variables to ≤FAQs /> Component to avoid duplicating the logic.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I thought of that but didn't do it because I don't think the FAQs component should know about flows or payments, and wanted to make it as dumb as possible.

But I guess both approaches have their advantages.

let faqList = faqs
if (flowsWithCOrgFaqs.includes(flow)) faqList = cOrgFaqs
else if (!usePayment) faqList = pilotFaqs

return (
<LayoutDefault>
<AllDonePanel>
Expand All @@ -73,7 +79,7 @@ export const CancerSurveyThankYou = () => {
</Typography>
</AllDonePanel>
<HowEOWorks pilot={!usePayment} />
<FAQs pilot={!usePayment} />
<FAQs faqList={faqList} />
<FooterFull />
</LayoutDefault>
);
Expand Down
8 changes: 7 additions & 1 deletion apps/eo_web/src/screens/ProfilingThankYou.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ import { LayoutDefault } from "~/layouts";
import { FooterFull } from "~/layouts/FooterFull";
import { ROUTES } from "~/router";
import { useProfilingStore } from "~/stores/useProfilingStore";
import { cOrgFaqs, faqs, pilotFaqs } from "~/copy/copy";


export const ProfilingThankYou = () => {
Expand Down Expand Up @@ -70,6 +71,11 @@ export const ProfilingThankYou = () => {
window.location.href = WEB_APP_URL;
};

const flowsWithCOrgFaqs = ["c_org", "twist_out_cancer", "resource_center_1", "resource_center_2"]
let faqList = faqs
if (flowsWithCOrgFaqs.includes(flow)) faqList = cOrgFaqs
else if (channel === "cancer" && !usePayment) faqList = pilotFaqs

return (
<LayoutDefault>
<AllDonePanel>
Expand Down Expand Up @@ -99,7 +105,7 @@ export const ProfilingThankYou = () => {
</Typography>
</AllDonePanel>
<HowEOWorks pilot={channel === "cancer" && !usePayment} />
<FAQs pilot={channel === "cancer" && !usePayment} />
<FAQs faqList={faqList} />
<FooterFull />
</LayoutDefault>
);
Expand Down
4 changes: 3 additions & 1 deletion apps/eo_web/src/stores/useProfilingStore.ts
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,9 @@ export type Flows =
| "cancer_pilot"
| "employer_center"
| "cancer_support_community"
| "twist_out_cancer";
| "twist_out_cancer"
| "resource_center_1"
| "resource_center_2";

export interface ProfilingStore {
symptoms: string[];
Expand Down
Loading