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

Almost done prizes info #894

Merged
merged 1 commit into from
Jan 9, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
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
2 changes: 1 addition & 1 deletion frontend/src/components/CountdownDisplay.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -106,7 +106,7 @@ const CountdownDisplay: React.FC<CountdownDisplayProps> = ({ date }) => {
((MINUTES_HOUR - countdownInfo.minutes) / MINUTES_HOUR) * 100;

return (
<div className="grid auto-cols-min auto-rows-min grid-cols-3 place-items-center gap-5">
<div className="grid auto-cols-min auto-rows-min grid-cols-3 place-items-center gap-5 md:max-w-[600px]">
<ProgressCircle
progressPercentage={percentageDays}
labelText={`${countdownInfo.days} Days`}
Expand Down
2 changes: 1 addition & 1 deletion frontend/src/components/EpisodeLayout.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ const EpisodeLayout: React.FC = () => {
Cookies.set("sidebar-collapsed", newCollapsedState.toString());
};
return (
<div className="h-screen bg-gray-200/80">
<div className="h-full min-h-screen bg-gray-200/80">
<Header toggleSidebar={toggleSidebar} />
<Sidebar collapsed={collapsed} />
<motion.div
Expand Down
46 changes: 33 additions & 13 deletions frontend/src/components/compete/TournamentCountdown.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@ import { useCallback } from "react";
import type { Tournament } from "../../api/_autogen";
import { dateTime } from "../../utils/dateTime";
import { NavLink } from "react-router-dom";
import { useEpisodeId } from "contexts/EpisodeContext";
import CountdownDisplay from "components/CountdownDisplay";

interface TournamentCountdownProps {
tournament?: Tournament;
Expand All @@ -11,6 +13,8 @@ interface TournamentCountdownProps {
const TournamentCountdown: React.FC<TournamentCountdownProps> = ({
tournament,
}) => {
const { episodeId } = useEpisodeId();

const dateHasPassed = useCallback(
(date: Date) => date.getTime() < Date.now(),
[],
Expand All @@ -19,8 +23,8 @@ const TournamentCountdown: React.FC<TournamentCountdownProps> = ({
return (
<div>
{tournament !== undefined ? (
<div>
<p>
<div className="flex flex-col gap-4">
<span>
The submission deadline for the <b>{tournament.name_long}</b>{" "}
{dateHasPassed(tournament.submission_freeze) ? "was" : "is"} at{" "}
{dateTime(tournament.submission_freeze).estDateStr} Eastern Time,
Expand All @@ -29,36 +33,52 @@ const TournamentCountdown: React.FC<TournamentCountdownProps> = ({
{dateTime(tournament.submission_freeze).localFullString} in your
local time.
</b>
</p>
<p>
</span>
<span>
Make sure you have{" "}
<NavLink className="hover:underline" to="tournaments">
<NavLink
className="text-cyan-600 hover:underline"
to={`/${episodeId}/tournaments`}
>
checked your tournament eligibility
</NavLink>{" "}
prior to the deadline! You can indicate your eligibility on your{" "}
<NavLink className="hover:underline" to="team">
<NavLink
className="text-cyan-600 hover:underline"
to={`/${episodeId}/my_team`}
>
team profile page
</NavLink>
.
</p>
</span>
{tournament.require_resume && (
<p>
<span>
Also make sure to have all members upload a resume, at your{" "}
<NavLink className="hover:underline" to="/account">
<NavLink
className="text-cyan-600 hover:underline"
to={`/account`}
>
personal profile page
</NavLink>
. See the eligibility rules given in the{" "}
<NavLink className="hover:underline" to="team">
<NavLink
className="text-cyan-600 hover:underline"
to={`/${episodeId}/tournament/${tournament.name_short}`}
>
tournament page
</NavLink>{" "}
for more info.
</p>
</span>
)}

<div className="flex w-full items-center justify-center">
<CountdownDisplay date={tournament.submission_freeze} />
</div>
</div>
) : (
<p>
<span>
The submission deadline for the next tournament has not been set yet.
</p>
</span>
)}
</div>
);
Expand Down
18 changes: 13 additions & 5 deletions frontend/src/content/bc25java.ts
Original file line number Diff line number Diff line change
Expand Up @@ -346,11 +346,19 @@ The deadline to submit code for each non-final tournament is usually 7 pm EST *t
Please note that **all times on this page are in your current time zone**. Refer to the submission freeze countdown timer for the time remaining before the next submission freeze.
`,
Prizes: `
Prize amounts are approximate and will be finalized soon!

- **Final Tournament prizes:** Prizes will range from $5000 for 1st place to $500 for 16th place.
- **Sprint prizes:** Winner of each tournament will receive $250.
- **Novice, High School prizes:** Prizes will range from $600 to $200 for the top 3 teams.
- **Final Tournament Prizes:** Prizes will range from $5000 for 1st place to $500 for 16th place.
- **Sprint Prizes:** Winner of each tournament will receive $250.
- **High School Prizes:** Prizes will range from $600 to $200 for the top 3 teams.
- **MIT Novice Prizes:** Prizes will range from $500 to $200 for the top 3 teams.\n\n

- **Most Innovative Breakthrough Prize:** $1000 prize given by our Platinum Sponsor, [Adobe](https://www.adobe.com/). More details to come!
- **Most Adaptive Strategy Prize:** $800 prize given by our Gold Sponsor, [Amplitude](https://www.amplitude.com/). More details to come!\n\n

- **Winning Team Prize:** For the first time ever, there is a new Battlecode prize in addition to $$$ and Eternal Glory.
Amplitude is offering all the members of this year's winning team Amplitude internships. That is right, winning Battlecode now guarantees you a career as well!
*Offer details and fine print: Software engineering internship for summer of 2025 at Amplitude offices in San Francisco. You must be able to work in the US and relocate to San Francisco.
If you aren't able to work in the US or can't relocate to San Francisco, we'll try to work with you but we can't guarantee a role.
Most interns receive full time offers to join the Amplitude team at the end of the internship. More on Amplitude here: [https://amplitude.com/careers](https://amplitude.com/careers).*

If you are an international participant, please note that [US export regulations](https://www.bis.doc.gov/index.php/policy-guidance/country-guidance/sanctioned-destinations) may restrict our ability to award prizes to students from certain countries.
`,
Expand Down
3 changes: 1 addition & 2 deletions frontend/src/content/bc25python.ts
Original file line number Diff line number Diff line change
Expand Up @@ -104,8 +104,7 @@ export const TOURNAMENTS: Partial<Record<TourneyPageKey, string>> = {
Please note that **all times on this page are in your current time zone**. Refer to the submission freeze countdown timer for the time remaining before the next submission freeze.
`,
Prizes: `
Battlecode 2025 Python will have several tournaments throughout the month! We stream and commentate all tournaments online.
Due to its experimental nature, we have not finalized the tournament schedule or prizes. Please check back later for more information.
- **Sprint Prizes:** Winner of each tournament will receive $250.
`,
/*
"Tournament Format": `
Expand Down
Loading