|
1 | | -import Image from "next/image"; |
| 1 | +import Navigation from '@/components/Navigation'; |
| 2 | +import { Container, Paper, Stack, Typography } from '@mui/material'; |
2 | 3 |
|
3 | 4 | export default function Home() { |
4 | | - return ( |
5 | | - <main className="flex min-h-screen flex-col items-center justify-between p-24"> |
6 | | - <div className="z-10 w-full max-w-5xl items-center justify-between font-mono text-sm lg:flex"> |
7 | | - <p className="fixed left-0 top-0 flex w-full justify-center border-b border-gray-300 bg-gradient-to-b from-zinc-200 pb-6 pt-8 backdrop-blur-2xl dark:border-neutral-800 dark:bg-zinc-800/30 dark:from-inherit lg:static lg:w-auto lg:rounded-xl lg:border lg:bg-gray-200 lg:p-4 lg:dark:bg-zinc-800/30"> |
8 | | - Get started by editing |
9 | | - <code className="font-mono font-bold">src/app/page.tsx</code> |
10 | | - </p> |
11 | | - <div className="fixed bottom-0 left-0 flex h-48 w-full items-end justify-center bg-gradient-to-t from-white via-white dark:from-black dark:via-black lg:static lg:size-auto lg:bg-none"> |
12 | | - <a |
13 | | - className="pointer-events-none flex place-items-center gap-2 p-8 lg:pointer-events-auto lg:p-0" |
14 | | - href="https://vercel.com?utm_source=create-next-app&utm_medium=appdir-template&utm_campaign=create-next-app" |
15 | | - target="_blank" |
16 | | - rel="noopener noreferrer" |
17 | | - > |
18 | | - By{" "} |
19 | | - <Image |
20 | | - src="/vercel.svg" |
21 | | - alt="Vercel Logo" |
22 | | - className="dark:invert" |
23 | | - width={100} |
24 | | - height={24} |
25 | | - priority |
26 | | - /> |
27 | | - </a> |
28 | | - </div> |
29 | | - </div> |
30 | | - |
31 | | - <div className="relative z-[-1] flex place-items-center before:absolute before:h-[300px] before:w-full before:-translate-x-1/2 before:rounded-full before:bg-gradient-radial before:from-white before:to-transparent before:blur-2xl before:content-[''] after:absolute after:-z-20 after:h-[180px] after:w-full after:translate-x-1/3 after:bg-gradient-conic after:from-sky-200 after:via-blue-200 after:blur-2xl after:content-[''] before:dark:bg-gradient-to-br before:dark:from-transparent before:dark:to-blue-700 before:dark:opacity-10 after:dark:from-sky-900 after:dark:via-[#0141ff] after:dark:opacity-40 sm:before:w-[480px] sm:after:w-[240px] before:lg:h-[360px]"> |
32 | | - <Image |
33 | | - className="relative dark:drop-shadow-[0_0_0.3rem_#ffffff70] dark:invert" |
34 | | - src="/next.svg" |
35 | | - alt="Next.js Logo" |
36 | | - width={180} |
37 | | - height={37} |
38 | | - priority |
39 | | - /> |
40 | | - </div> |
41 | | - |
42 | | - <div className="mb-32 grid text-center lg:mb-0 lg:w-full lg:max-w-5xl lg:grid-cols-4 lg:text-left"> |
43 | | - <a |
44 | | - href="https://nextjs.org/docs?utm_source=create-next-app&utm_medium=appdir-template&utm_campaign=create-next-app" |
45 | | - className="group rounded-lg border border-transparent px-5 py-4 transition-colors hover:border-gray-300 hover:bg-gray-100 hover:dark:border-neutral-700 hover:dark:bg-neutral-800/30" |
46 | | - target="_blank" |
47 | | - rel="noopener noreferrer" |
48 | | - > |
49 | | - <h2 className="mb-3 text-2xl font-semibold"> |
50 | | - Docs{" "} |
51 | | - <span className="inline-block transition-transform group-hover:translate-x-1 motion-reduce:transform-none"> |
52 | | - -> |
53 | | - </span> |
54 | | - </h2> |
55 | | - <p className="m-0 max-w-[30ch] text-sm opacity-50"> |
56 | | - Find in-depth information about Next.js features and API. |
57 | | - </p> |
58 | | - </a> |
| 5 | + const serviceSummary = { |
| 6 | + numUsers: 55202, |
| 7 | + numProblems: 372278, |
| 8 | + numInvokers: 0, |
| 9 | + }; |
| 10 | + const changeLogs = [ |
| 11 | + '27 Jun 2016 - Polygon API has been released. You can view documentation here.', |
| 12 | + '7 Dec 2011 - Now you may download testlib and polygon documentation from Polygon installation.', |
| 13 | + '17 Jul 2010 - Supported contests and PDF-statements.', |
| 14 | + '3 Nov 2009 - Released new version. Tags and problem filters supported. Also many other smaller fixes done.', |
| 15 | + '8 Mar 2009 - Use public issue tracker to post bug or feature request.', |
| 16 | + '8 Mar 2009 - Beta version has been deployed.', |
| 17 | + ]; |
59 | 18 |
|
60 | | - <a |
61 | | - href="https://nextjs.org/learn?utm_source=create-next-app&utm_medium=appdir-template-tw&utm_campaign=create-next-app" |
62 | | - className="group rounded-lg border border-transparent px-5 py-4 transition-colors hover:border-gray-300 hover:bg-gray-100 hover:dark:border-neutral-700 hover:dark:bg-neutral-800/30" |
63 | | - target="_blank" |
64 | | - rel="noopener noreferrer" |
65 | | - > |
66 | | - <h2 className="mb-3 text-2xl font-semibold"> |
67 | | - Learn{" "} |
68 | | - <span className="inline-block transition-transform group-hover:translate-x-1 motion-reduce:transform-none"> |
69 | | - -> |
70 | | - </span> |
71 | | - </h2> |
72 | | - <p className="m-0 max-w-[30ch] text-sm opacity-50"> |
73 | | - Learn about Next.js in an interactive course with quizzes! |
74 | | - </p> |
75 | | - </a> |
76 | | - |
77 | | - <a |
78 | | - href="https://vercel.com/templates?framework=next.js&utm_source=create-next-app&utm_medium=appdir-template&utm_campaign=create-next-app" |
79 | | - className="group rounded-lg border border-transparent px-5 py-4 transition-colors hover:border-gray-300 hover:bg-gray-100 hover:dark:border-neutral-700 hover:dark:bg-neutral-800/30" |
80 | | - target="_blank" |
81 | | - rel="noopener noreferrer" |
82 | | - > |
83 | | - <h2 className="mb-3 text-2xl font-semibold"> |
84 | | - Templates{" "} |
85 | | - <span className="inline-block transition-transform group-hover:translate-x-1 motion-reduce:transform-none"> |
86 | | - -> |
87 | | - </span> |
88 | | - </h2> |
89 | | - <p className="m-0 max-w-[30ch] text-sm opacity-50"> |
90 | | - Explore starter templates for Next.js. |
91 | | - </p> |
92 | | - </a> |
93 | | - |
94 | | - <a |
95 | | - href="https://vercel.com/new?utm_source=create-next-app&utm_medium=appdir-template&utm_campaign=create-next-app" |
96 | | - className="group rounded-lg border border-transparent px-5 py-4 transition-colors hover:border-gray-300 hover:bg-gray-100 hover:dark:border-neutral-700 hover:dark:bg-neutral-800/30" |
97 | | - target="_blank" |
98 | | - rel="noopener noreferrer" |
99 | | - > |
100 | | - <h2 className="mb-3 text-2xl font-semibold"> |
101 | | - Deploy{" "} |
102 | | - <span className="inline-block transition-transform group-hover:translate-x-1 motion-reduce:transform-none"> |
103 | | - -> |
104 | | - </span> |
105 | | - </h2> |
106 | | - <p className="m-0 max-w-[30ch] text-balance text-sm opacity-50"> |
107 | | - Instantly deploy your Next.js site to a shareable URL with Vercel. |
108 | | - </p> |
109 | | - </a> |
110 | | - </div> |
111 | | - </main> |
| 19 | + return ( |
| 20 | + <Container component='main'> |
| 21 | + <Navigation /> |
| 22 | + <Stack direction={{ sm: 'column', md: 'row' }} gap={2} mt={2}> |
| 23 | + <Paper sx={{ p: 2 }} elevation={3}> |
| 24 | + <Typography variant='body1'> |
| 25 | + The mission of Polygon is to provide platform for creation of |
| 26 | + programming contest problems. Polygon supports the whole development |
| 27 | + cycle: |
| 28 | + </Typography> |
| 29 | + {/* The following has to have a list using Tailwind CSS */} |
| 30 | + <ul className='list-disc list-inside'> |
| 31 | + <li>problem statement writing</li> |
| 32 | + <li>test data preparing (generators supported)</li> |
| 33 | + <li>model solutions (including correct and wittingly incorrect)</li> |
| 34 | + <li>judging</li> |
| 35 | + <li>automatic validation</li> |
| 36 | + </ul> |
| 37 | + </Paper> |
| 38 | + <Stack direction='column' gap={2}> |
| 39 | + <Paper sx={{ p: 2 }} elevation={3}> |
| 40 | + <Typography variant='body2'> |
| 41 | + Registered users: {serviceSummary.numUsers} |
| 42 | + </Typography> |
| 43 | + <Typography variant='body2'> |
| 44 | + Problems total: {serviceSummary.numProblems} |
| 45 | + </Typography> |
| 46 | + <Typography variant='body2'> |
| 47 | + Invokers waiting: {serviceSummary.numInvokers} |
| 48 | + </Typography> |
| 49 | + </Paper> |
| 50 | + <Paper sx={{ p: 2 }} elevation={3}> |
| 51 | + {changeLogs.map((log, index) => ( |
| 52 | + <Typography key={index} variant='body2'> |
| 53 | + {log} |
| 54 | + </Typography> |
| 55 | + ))} |
| 56 | + </Paper> |
| 57 | + </Stack> |
| 58 | + </Stack> |
| 59 | + </Container> |
112 | 60 | ); |
113 | 61 | } |
0 commit comments