mirror of
https://github.com/coder/coder.git
synced 2026-09-24 15:04:27 +08:00
feat(site): add Codernauts lunar lander game (#25001)
This commit is contained in:
@@ -79,6 +79,28 @@ export const UserDropdownContent: FC<UserDropdownContentProps> = ({
|
||||
))}
|
||||
</>
|
||||
)}
|
||||
<DropdownMenuItem asChild>
|
||||
<Link to="/coder-cup">
|
||||
<svg
|
||||
viewBox="0 0 24 24"
|
||||
fill="none"
|
||||
stroke="currentColor"
|
||||
strokeWidth="1.5"
|
||||
strokeLinecap="round"
|
||||
strokeLinejoin="round"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
>
|
||||
<path d="M7,10 L5,15 L19,15 L17,10 Z" />
|
||||
<path d="M8,10 L9,7 L11,5 L13,5 L15,7 L16,10" />
|
||||
<line x1="6" y1="15" x2="4" y2="19" />
|
||||
<line x1="2" y1="19" x2="6" y2="19" />
|
||||
<line x1="18" y1="15" x2="20" y2="19" />
|
||||
<line x1="18" y1="19" x2="22" y2="19" />
|
||||
<path d="M10,15 L10.5,18 L13.5,18 L14,15" />
|
||||
</svg>
|
||||
<span>Codernauts</span>
|
||||
</Link>
|
||||
</DropdownMenuItem>{" "}
|
||||
<DropdownMenuSeparator />
|
||||
<Tooltip disableHoverableContent>
|
||||
<TooltipTrigger asChild>
|
||||
|
||||
@@ -0,0 +1,31 @@
|
||||
import type { FC } from "react";
|
||||
import { Link } from "react-router";
|
||||
import { LunarLander } from "./LunarLander";
|
||||
|
||||
const CoderCupPage: FC = () => {
|
||||
return (
|
||||
<div className="relative w-screen h-screen bg-black overflow-hidden">
|
||||
<title>Codernauts</title>
|
||||
|
||||
{/* Coder logo - links back to the main app */}
|
||||
<Link
|
||||
to="/workspaces"
|
||||
className="absolute top-3 left-3 z-10 opacity-60 hover:opacity-100 transition-opacity"
|
||||
>
|
||||
<svg
|
||||
fill="currentColor"
|
||||
className="w-8 h-4 text-white"
|
||||
viewBox="0 0 120 60"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
>
|
||||
<title>Coder logo</title>
|
||||
<path d="M34.5381 0C54.5335 6.29882e-05 65.7432 10.1355 66.122 25.0544L48.853 25.6216C48.3984 17.3514 41.544 11.9189 34.5381 12.0809C24.919 12.2836 17.7989 19.1351 17.7988 29.9999C17.7988 40.8648 24.919 47.5951 34.5381 47.5951C41.544 47.5945 48.2468 42.4055 49.0043 34.1352L66.2733 34.5408C65.8189 49.7027 53.9276 60 34.5381 60C15.1484 60 0 48.2433 0 29.9999C7.1014e-05 11.6757 14.5426 0 34.5381 0ZM120 1.7728V58.5299H74.5559V1.7728H120Z" />
|
||||
</svg>
|
||||
</Link>
|
||||
|
||||
<LunarLander />
|
||||
</div>
|
||||
);
|
||||
};
|
||||
|
||||
export default CoderCupPage;
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,26 @@
|
||||
/**
|
||||
* Codernaut roster.
|
||||
*
|
||||
* To change who appears in the game, edit the entries below.
|
||||
*/
|
||||
|
||||
interface RosterEntry {
|
||||
name: string;
|
||||
role: string;
|
||||
}
|
||||
|
||||
export const ROSTER: RosterEntry[] = [
|
||||
{ name: "Marcin Tojek", role: "Senior Engineering Manager" },
|
||||
{ name: "Ben Potter", role: "VP of Product" },
|
||||
{ name: "Atif Ali", role: "Product Manager" },
|
||||
{ name: "Jiachen Jiang", role: "Senior Product Manager" },
|
||||
{ name: "David Fraley", role: "Product Manager" },
|
||||
{ name: "Cian Johnston", role: "Staff Engineer" },
|
||||
{ name: "Danielle Maywood", role: "Software Engineer" },
|
||||
{ name: "Stephen Kirby", role: "Solutions Engineer" },
|
||||
{ name: "Bartek Gatz", role: "Staff Product Manager" },
|
||||
{ name: "Josh Epstein", role: "President & CBO" },
|
||||
{ name: "Seth Shelnutt", role: "VP of Engineering" },
|
||||
{ name: "Janessa Poole", role: "Chief of Staff" },
|
||||
{ name: "Jessamyn Sweet", role: "Senior Product Marketing Manager" },
|
||||
];
|
||||
@@ -408,6 +408,7 @@ import {
|
||||
AgentsPageSkeleton,
|
||||
} from "./pages/AgentsPage/components/AgentsSkeletons";
|
||||
|
||||
const CoderCupPage = lazy(() => import("./pages/CoderCupPage/CoderCupPage"));
|
||||
const TasksPage = lazy(() => import("./pages/TasksPage/TasksPage"));
|
||||
const TaskPage = lazy(() => import("./pages/TaskPage/TaskPage"));
|
||||
const AIBridgeLayout = lazy(
|
||||
@@ -716,6 +717,7 @@ export const router = createBrowserRouter(
|
||||
element={<TerminalPage />}
|
||||
/>
|
||||
<Route path="/cli-auth" element={<CliAuthPage />} />
|
||||
<Route path="/coder-cup" element={<CoderCupPage />} />
|
||||
<Route path="/icons" element={<IconsPage />} />
|
||||
<Route path="/tasks/:username/:taskId" element={<TaskPage />} />
|
||||
<Route
|
||||
|
||||
Reference in New Issue
Block a user