Skip to content

Commit

Permalink
Check for VATUSA account before showing visit eligibility
Browse files Browse the repository at this point in the history
  • Loading branch information
williammck committed Nov 25, 2024
1 parent a8d5b21 commit 5da209f
Show file tree
Hide file tree
Showing 2 changed files with 57 additions and 42 deletions.
98 changes: 56 additions & 42 deletions src/app/visit/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,8 @@ const Visit: NextPage = async () => {
<Page {...metadata}>
<PageContent>
<p className="mb-3">
Hello and thank you for your interest in becoming a visiting controller at the virtual Houston ARTCC!
Onced trained, visiting controllers are able to control the same positions and fields as home controllers.
Thank you for your interest in becoming a visiting controller at the virtual Houston ARTCC!
Once trained, visiting controllers are able to control the same positions and fields as home controllers.
If you would like to leave your current facility and join Houston as a home controller, you must instead
{' '}
<a href="https://www.vatusa.net/my/profile">submit a transfer request through VATUSA</a>.
Expand All @@ -34,46 +34,60 @@ const Visit: NextPage = async () => {
visiting controllers. You must contact your home facility's training department for rating training. The
Houston ARTCC training department will only provide local procedure training and major endorsement checkouts.
</p>
<h3 className="mb-3 text-2xl font-medium">Visiting Checklist</h3>
<ul className="mb-8 ml-0 list-none">
<li className="flex items-center gap-2">
<VisitCriterion status={eligibility.has_home_facility} />
You have a home facility
</li>
<li className="flex items-center gap-2">
<VisitCriterion status={eligibility.rce_completed} />
You have completed the appropriate rating competency exam
</li>
<li className="flex items-center gap-2">
<VisitCriterion status={eligibility.has_s3_rating} />
You have earned at least an S3 rating
</li>
<li className="flex items-center gap-2">
<VisitCriterion status={eligibility.time_since_visit} />
It has been at least 60 days since you joined a visiting roster
</li>
<li className="flex items-center gap-2">
<VisitCriterion status={eligibility.time_since_promo} />
It has been at least 90 days since promotion to S1, S2, S3, or C1
</li>
<li className="flex items-center gap-2">
<VisitCriterion status={eligibility.controlling_time} />
You have controlled 50 hours since promotion to S1, S2, S3, or C1
</li>
<li className="flex items-center gap-2">
<VisitCriterion status={eligibility.membership_check} />
You are not already an active controller at Houston
</li>
<li className="flex items-center gap-2">
<VisitCriterion status={eligibility.pending_application_check} />
You do not have any pending visiting applications
</li>
<hr className="my-2 w-96 border-slate-200" />
<li className="flex items-center gap-2">
<VisitCriterion status={eligibility.is_eligible} />
You are eligible to apply as a visiting controller at Houston
</li>
</ul>
{eligibility.has_vatusa_user ? (
<>
<h3 className="mb-3 text-2xl font-medium">Visiting Checklist</h3>
<ul className="mb-8 ml-0 list-none">
<li className="flex items-center gap-2">
<VisitCriterion status={eligibility.has_home_facility} />
You have a home facility
</li>
<li className="flex items-center gap-2">
<VisitCriterion status={eligibility.rce_completed} />
You have completed the appropriate rating competency exam
</li>
<li className="flex items-center gap-2">
<VisitCriterion status={eligibility.has_s3_rating} />
You have earned at least an S3 rating
</li>
<li className="flex items-center gap-2">
<VisitCriterion status={eligibility.time_since_visit} />
It has been at least 60 days since you joined a visiting roster
</li>
<li className="flex items-center gap-2">
<VisitCriterion status={eligibility.time_since_promo} />
It has been at least 90 days since promotion to S1, S2, S3, or C1
</li>
<li className="flex items-center gap-2">
<VisitCriterion status={eligibility.controlling_time} />
You have controlled 50 hours since promotion to S1, S2, S3, or C1
</li>
<li className="flex items-center gap-2">
<VisitCriterion status={eligibility.membership_check} />
You are not already an active controller at Houston
</li>
<li className="flex items-center gap-2">
<VisitCriterion status={eligibility.pending_application_check} />
You do not have any pending visiting applications
</li>
<hr className="my-2 w-96 border-slate-200" />
<li className="flex items-center gap-2">
<VisitCriterion status={eligibility.is_eligible} />
You are eligible to apply as a visiting controller at Houston
</li>
</ul>
</>
) : (
<p className="mb-8 font-bold">
You must have a VATUSA user profile to continue. Please
{' '}
<a href="https://www.vatusa.net/login" target="_blank">
sign in to VATUSA.net
</a>
{' '}
and then reload this page.
</p>
)}
{eligibility.is_eligible && <VisitForm />}
</PageContent>
</Page>
Expand Down
1 change: 1 addition & 0 deletions src/types/visit.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ export type VisitRequest = {
};

export type VisitEligibility = {
has_vatusa_user: boolean;
has_home_facility: boolean;
rce_completed: boolean;
has_s3_rating: boolean;
Expand Down

0 comments on commit 5da209f

Please sign in to comment.