diff --git a/react-ui/src/App.jsx b/react-ui/src/App.jsx index 40f06978..ac9075ed 100644 --- a/react-ui/src/App.jsx +++ b/react-ui/src/App.jsx @@ -24,6 +24,9 @@ import { Settings, Submission, } from './pages'; +// TODO: Remove when removing pages index file +// eslint-disable-next-line no-restricted-imports +import ContestRules from './pages/submission/ContestRules'; function App() { return ( @@ -69,7 +72,9 @@ function ModalSwitch() { } /> } /> } /> - } /> + }> + } /> + ( + // eslint-disable-next-line react/jsx-props-no-spreading )); } diff --git a/react-ui/src/pages/hallOfFame/HallOfFameCard.jsx b/react-ui/src/pages/hallOfFame/HallOfFameCard.jsx index 0cb5f303..1a706f1c 100644 --- a/react-ui/src/pages/hallOfFame/HallOfFameCard.jsx +++ b/react-ui/src/pages/hallOfFame/HallOfFameCard.jsx @@ -20,7 +20,6 @@ import { ExternalLink, FormattedContent, LazyLoadCardImage, - RedditMarkdown, RedditUserAttribution, } from '../../components'; import flair from '../../images/flair.png'; diff --git a/react-ui/src/pages/submission/ContestRules.jsx b/react-ui/src/pages/submission/ContestRules.jsx new file mode 100644 index 00000000..8645b367 --- /dev/null +++ b/react-ui/src/pages/submission/ContestRules.jsx @@ -0,0 +1,30 @@ +// TODO: Remove when deleting index files +/* eslint-disable no-restricted-imports */ +import Dialog from '@material-ui/core/Dialog'; +import { makeStyles } from '@material-ui/core/styles'; + +import Header from '../../components/Header'; +import PageContainer from '../../components/PageContainer'; +import StaticContent from '../../components/StaticContent'; + +const useStyles = makeStyles((theme) => ({ + container: { + marginTop: theme.spacing(3), + }, +})); + +function ContestRules() { + const classes = useStyles(); + return ( + +
+ Contest Rules +
+ + + +
+ ); +} + +export default ContestRules; diff --git a/react-ui/src/pages/submission/SubmissionPrompt.jsx b/react-ui/src/pages/submission/SubmissionPrompt.jsx index cf23c16c..9599706f 100644 --- a/react-ui/src/pages/submission/SubmissionPrompt.jsx +++ b/react-ui/src/pages/submission/SubmissionPrompt.jsx @@ -1,20 +1,33 @@ /** * Prompt for contest submission */ +import Typography from '@material-ui/core/Typography'; import PropTypes from 'prop-types'; +import { Outlet } from 'react-router-dom'; -import { FormattedContent } from '../../components'; +import { FormattedContent, InternalLink } from '../../components'; import May23 from './content/May23'; function SubmissionPrompt({ contestId, prompt }) { - if (contestId === 'may23') { - return ; - } if (!prompt) { return null; } - return ; + let content = ; + if (contestId === 'may23') { + content = ; + } + return ( + <> + {content} + + + Please read the contest rules in full before submitting. + + + + + ); } export default SubmissionPrompt; diff --git a/static_content/README.md b/static_content/README.md index 0f812c6d..599628f1 100644 --- a/static_content/README.md +++ b/static_content/README.md @@ -1,3 +1,3 @@ The files in this directory are copies of the files that are stored in the static_content table in the database, placed here for reference. Best effort should be made to keep them in sync, but the -database is the source of truth. \ No newline at end of file +database is the source of truth. diff --git a/static_content/contest_rules.html b/static_content/contest_rules.html new file mode 100644 index 00000000..96653957 --- /dev/null +++ b/static_content/contest_rules.html @@ -0,0 +1,69 @@ +
+ You will be asked to confirm you followed each rule upon submission. Repeated rule violators will + be banned from the contest for the rest of the year. +
    +
  • + + Rule 1: Submission limit + + - You may submit up to + TWO + entries to each contest. + In the event + you submit more than two designs, moderators will reach out via Reddit Direct Messages for + clarification. + In the event + clarification is not received, the two most recent entries will be accepted, while all others + will be rejected. +
  • +
  • + + Rule 2: Technical limit + + - Flags should be at most + 3000 pixels wide + . They should also be flat and not textured. +
  • +
  • + + Rule 3: Sharing prohibition + + - + DO NOT + post your flag designs elsewhere on the r/vexillology subreddit before the winners are + announced. Don't post it as another thread. Don't post it as a response to the contest + announcement thread. The contest aims to keep the submissions anonymous until results are + announced, so as to avoid a popularity contest. +
  • +
  • + + Rule 4: Attribution requirement + + - If you take components from public domain, or other sources that are not your own work, + please attribute them in the description portion of your submission. +
  • +
  • + + Rule 5: Sincerity requirement + + - Your flag should be a sincere attempt to respond to the prompt. It should not be designed to + troll. +
  • +
  • + + Rule 6: Deadline + + - Entries are generally due by the + 18th + of the month, unless otherwise specified in the contest prompt. +
  • +
  • + + Rule 7: Contest specific rules + + - Each contest will have specific rules outlined in the announcement thread. Please read them + and follow them accordingly. +
  • +
+ Best of luck! +