From 2c24d8fc376c4f46ad6c64b47c147d96be1e4591 Mon Sep 17 00:00:00 2001 From: aaravbajaj012 <97072650+aaravbajaj012@users.noreply.github.com> Date: Fri, 26 Jan 2024 22:04:08 -0500 Subject: [PATCH] formatting and build errors fix --- .github/workflows/main.yml | 23 ++- src/pages/admin/index.tsx | 110 ++++++++++----- src/pages/api/admin/modify-permissions.ts | 164 +++++++++++----------- src/pages/api/team/leave-team.ts | 5 +- src/pages/api/user/activate_bot.ts | 5 +- src/pages/api/user/match-request.ts | 19 +-- src/pages/auth/login.tsx | 40 +++--- src/pages/getting_started.tsx | 46 ++++-- src/pages/leaderboard.tsx | 12 +- src/pages/team/[teamname].tsx | 15 +- src/pages/team/index.tsx | 21 +-- src/pages/user/profile.tsx | 103 +++++++------- src/pages/user/scrimmages.tsx | 35 +++-- src/pages/user/submissions.tsx | 20 +-- 14 files changed, 344 insertions(+), 274 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index aab86b4..5d3d621 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -1,27 +1,26 @@ name: remote ssh command on: push: - branches: [ "main" ] + branches: ['main'] workflow_dispatch: - -jobs: +jobs: build: name: Build runs-on: ubuntu-latest steps: - - name: executing remote ssh commands using password - uses: appleboy/ssh-action@v0.1.7 - with: - host: ${{ secrets.HOST }} - username: ${{ secrets.USERNAME }} - key: ${{ secrets.EC2_SSH_KEY }} - port: 22 - script: | + - name: executing remote ssh commands using password + uses: appleboy/ssh-action@v0.1.7 + with: + host: ${{ secrets.HOST }} + username: ${{ secrets.USERNAME }} + key: ${{ secrets.EC2_SSH_KEY }} + port: 22 + script: | cd awap-dashboard-2024 pm2 stop server pm2 delete server git pull sudo npm install sudo npm run build - pm2 start npm --name server -- run start \ No newline at end of file + pm2 start npm --name server -- run start diff --git a/src/pages/admin/index.tsx b/src/pages/admin/index.tsx index 8e94b74..8c9ac7a 100644 --- a/src/pages/admin/index.tsx +++ b/src/pages/admin/index.tsx @@ -90,14 +90,14 @@ const Admin: NextPage = () => { }); }; - const modifyBracketSwitching = async (enabled : boolean) => { - await axios.post('/api/admin/modify-permissions', { bracket_switching: enabled }) + const modifyBracketSwitching = async (enabled: boolean) => { + await axios + .post('/api/admin/modify-permissions', { bracket_switching: enabled }) .then((response: AxiosResponse) => { if (response.status === 200) { const effect = enabled ? 'Enabled' : 'Disabled'; toast.success(`Bracket Switching ${effect}!`); - } - else { + } else { toast.error('Unable to modify permission: Bracket Switching'); } }) @@ -108,19 +108,23 @@ const Admin: NextPage = () => { toast.error('Unable to modify permission: Bracket Switching'); } }); - } + }; - const enableBracketSwitching = async () => { modifyBracketSwitching(true); } - const disableBracketSwitching = async () => { modifyBracketSwitching(false); } + const enableBracketSwitching = async () => { + modifyBracketSwitching(true); + }; + const disableBracketSwitching = async () => { + modifyBracketSwitching(false); + }; - const modifyTeamModifications = async (enabled : boolean) => { - await axios.post('/api/admin/modify-permissions', { team_modifications: enabled }) + const modifyTeamModifications = async (enabled: boolean) => { + await axios + .post('/api/admin/modify-permissions', { team_modifications: enabled }) .then((response: AxiosResponse) => { if (response.status === 200) { const effect = enabled ? 'Enabled' : 'Disabled'; toast.success(`Team Modifications ${effect}!`); - } - else { + } else { toast.error('Unable to modify permission: Team Modifications'); } }) @@ -131,19 +135,23 @@ const Admin: NextPage = () => { toast.error('Unable to modify permission: Team Modifications'); } }); - } + }; - const enableTeamModifications = async () => { modifyTeamModifications(true); } - const disableTeamModifications = async () => { modifyTeamModifications(false); } + const enableTeamModifications = async () => { + modifyTeamModifications(true); + }; + const disableTeamModifications = async () => { + modifyTeamModifications(false); + }; - const modifyScrimmageRequests = async (enabled : boolean) => { - await axios.post('/api/admin/modify-permissions', { scrimmage_requests: enabled }) + const modifyScrimmageRequests = async (enabled: boolean) => { + await axios + .post('/api/admin/modify-permissions', { scrimmage_requests: enabled }) .then((response: AxiosResponse) => { if (response.status === 200) { const effect = enabled ? 'Enabled' : 'Disabled'; toast.success(`Scrimmage Requests ${effect}!`); - } - else { + } else { toast.error('Unable to modify permission: Scrimmage Requests'); } }) @@ -154,19 +162,23 @@ const Admin: NextPage = () => { toast.error('Unable to modify permission: Scrimmage Requests'); } }); - } + }; - const enableScrimmageRequests = async () => { modifyScrimmageRequests(true); } - const disableScrimmageRequests = async () => { modifyScrimmageRequests(false); } + const enableScrimmageRequests = async () => { + modifyScrimmageRequests(true); + }; + const disableScrimmageRequests = async () => { + modifyScrimmageRequests(false); + }; - const modifyCodeSubmissions = async (enabled : boolean) => { - await axios.post('/api/admin/modify-permissions', { code_submissions: enabled }) + const modifyCodeSubmissions = async (enabled: boolean) => { + await axios + .post('/api/admin/modify-permissions', { code_submissions: enabled }) .then((response: AxiosResponse) => { if (response.status === 200) { const effect = enabled ? 'Enabled' : 'Disabled'; toast.success(`Code Submissions ${effect}!`); - } - else { + } else { toast.error('Unable to modify permission: Code Submissions'); } }) @@ -177,10 +189,14 @@ const Admin: NextPage = () => { toast.error('Unable to modify permission: Code Submissions'); } }); - } + }; - const enableCodeSubmissions = async () => { modifyCodeSubmissions(true); } - const disableCodeSubmissions = async () => { modifyCodeSubmissions(false); } + const enableCodeSubmissions = async () => { + modifyCodeSubmissions(true); + }; + const disableCodeSubmissions = async () => { + modifyCodeSubmissions(false); + }; if (status === 'authenticated') { if (data?.user?.role === 'user') { @@ -191,16 +207,23 @@ const Admin: NextPage = () => { Admin - Manage Permissions and run ranked scrimmages and tournaments here. + + Manage Permissions and run ranked scrimmages and tournaments + here. +
- Permissions + Permissions
-
-
- -
-
- @@ -104,4 +100,4 @@ const Login: NextPage = () => { ); }; -export default Login; \ No newline at end of file +export default Login; diff --git a/src/pages/getting_started.tsx b/src/pages/getting_started.tsx index c81dc45..049937a 100644 --- a/src/pages/getting_started.tsx +++ b/src/pages/getting_started.tsx @@ -10,12 +10,36 @@ const GettingStarted: NextPage = () => ( Follow through the instructions below to learn more about installation instructions, how you can upload your bot submissions, request - scrimmages with other players, and check out your match results!
+ scrimmages with other players, and check out your match results!{' '} +
+
+ Landing Page:{' '} + + awap.acmatcmu.com + +
+ Dashboard:{' '} + + dashboard.awap.acmatcmu.com + +
+ Player Guide:{' '} + + tinyurl.com/debrisdefense +
- Landing Page: awap.acmatcmu.com
- Dashboard: dashboard.awap.acmatcmu.com
- Player Guide: tinyurl.com/debrisdefense
-
@@ -25,8 +49,8 @@ const GettingStarted: NextPage = () => ( Navigate to the submissions page to upload your bot files and view your previous submissions. You may upload submissions at any time and - your currently activated file will be used as your submission for any scrimmages - you may request or matches we run. + your currently activated file will be used as your submission for any + scrimmages you may request or matches we run. @@ -35,9 +59,10 @@ const GettingStarted: NextPage = () => ( Scrimmages Find the scrimmages page to request unranked matches with any teams - listed in the dropdown. Your team may request up to 5 scrimmages per hour. - These scrimmages do not affect your rating on the leaderboard. Only the matches - that we will run periodically throughout the competition affect your rating. + listed in the dropdown. Your team may request up to 5 scrimmages per + hour. These scrimmages do not affect your rating on the leaderboard. + Only the matches that we will run periodically throughout the + competition affect your rating. @@ -50,7 +75,6 @@ const GettingStarted: NextPage = () => ( - ); diff --git a/src/pages/leaderboard.tsx b/src/pages/leaderboard.tsx index 3d4c568..fa1ecc5 100644 --- a/src/pages/leaderboard.tsx +++ b/src/pages/leaderboard.tsx @@ -235,10 +235,12 @@ const Teams: NextPage = (props) => { {teams.map((team) => ( - - { } + {team.tname} - {team.bracket.charAt(0).toUpperCase() + team.bracket.slice(1)} + + {team.bracket.charAt(0).toUpperCase() + + team.bracket.slice(1)} + {team.rating} ))} @@ -285,7 +287,7 @@ export const getServerSideProps: GetServerSideProps = async ( ExpressionAttributeNames: { '#teamName': 'name', '#rating': 'num', - '#bracket': 'bracket' + '#bracket': 'bracket', }, }; @@ -330,7 +332,7 @@ export const getServerSideProps: GetServerSideProps = async ( ranking: idx + 1, tname: item.name.S as string, rating: parseInt(item.num && item.num.N ? item.num.N : defaultRating, 10), - bracket: (item.bracket ? item.bracket.S : "beginner") as string, + bracket: (item.bracket ? item.bracket.S : 'beginner') as string, })); function sortmap(t: Leaderboard, att: string) { diff --git a/src/pages/team/[teamname].tsx b/src/pages/team/[teamname].tsx index cfc4ff1..f9e5210 100644 --- a/src/pages/team/[teamname].tsx +++ b/src/pages/team/[teamname].tsx @@ -101,7 +101,8 @@ const TeamMemberField = ({ name }: { name: string }) => ( ); const Team: NextPage = ({ - teamData, configData, + teamData, + configData, }: InferGetServerSidePropsType) => { const router = useRouter(); const teamname: string = router.query.teamname @@ -159,7 +160,7 @@ const Team: NextPage = ({ const handleRegenerateSecretKey = async (e: any) => { e.preventDefault(); e.stopPropagation(); - if(configData.disabled_team_modifications) { + if (configData.disabled_team_modifications) { toast.error('Team modifications are currently disabled!'); return; } @@ -193,7 +194,7 @@ const Team: NextPage = ({ const handleChangeBracket = async (e: any) => { e.preventDefault(); e.stopPropagation(); - if(configData.disabled_bracket_switching) { + if (configData.disabled_bracket_switching) { toast.error('Bracket switching is currently disabled!'); return; } @@ -224,7 +225,7 @@ const Team: NextPage = ({ const handleLeaveTeam = async (e: any) => { e.preventDefault(); e.stopPropagation(); - if(configData.disabled_team_modifications) { + if (configData.disabled_team_modifications) { toast.error('Team modifications are currently disabled!'); return; } @@ -391,7 +392,7 @@ export const getServerSideProps: GetServerSideProps = async (context) => { const configData = configResult.Item; - let config: ConfigData = { + let configs: ConfigData = { disabled_bracket_switching: false, disabled_code_submissions: false, disabled_scrimmage_requests: false, @@ -399,7 +400,7 @@ export const getServerSideProps: GetServerSideProps = async (context) => { }; if (configData) { - config = { + configs = { disabled_bracket_switching: !configData.bracket_switching, disabled_code_submissions: !configData.code_submissions, disabled_scrimmage_requests: !configData.scrimmage_requests, @@ -419,7 +420,7 @@ export const getServerSideProps: GetServerSideProps = async (context) => { return { props: { teamData: teamDataInfo, - configData: config, + configData: configs, }, }; }; diff --git a/src/pages/team/index.tsx b/src/pages/team/index.tsx index e840919..dc55968 100644 --- a/src/pages/team/index.tsx +++ b/src/pages/team/index.tsx @@ -46,7 +46,8 @@ interface ConfigData { } const TeamHub: NextPage = ({ - team, configData, + team, + configData, }: InferGetServerSidePropsType) => { const [createTeamname, setCreateTeamname] = useState(''); const [joinTeamname, setJoinTeamname] = useState(''); @@ -62,9 +63,9 @@ const TeamHub: NextPage = ({ e.preventDefault(); e.stopPropagation(); - if(configData.disabled_team_modifications) { + if (configData.disabled_team_modifications) { toast.error('Team modifications are currently disabled.'); - return + return; } await axios @@ -96,9 +97,9 @@ const TeamHub: NextPage = ({ e.preventDefault(); e.stopPropagation(); - if(configData.disabled_team_modifications) { + if (configData.disabled_team_modifications) { toast.error('Team modifications are currently disabled.'); - return + return; } await axios @@ -235,7 +236,7 @@ export const getServerSideProps: GetServerSideProps = async (context) => { }; } - // query for config data + // query for config data const configParams: GetCommandInput = { TableName: process.env.AWS_TABLE_NAME, Key: { @@ -249,7 +250,7 @@ export const getServerSideProps: GetServerSideProps = async (context) => { const configData = configResult.Item; - let config: ConfigData = { + let configs: ConfigData = { disabled_bracket_switching: false, disabled_code_submissions: false, disabled_scrimmage_requests: false, @@ -257,7 +258,7 @@ export const getServerSideProps: GetServerSideProps = async (context) => { }; if (configData) { - config = { + configs = { disabled_bracket_switching: !configData.bracket_switching, disabled_code_submissions: !configData.code_submissions, disabled_scrimmage_requests: !configData.scrimmage_requests, @@ -277,12 +278,12 @@ export const getServerSideProps: GetServerSideProps = async (context) => { const result = await client.send(command); if (!result || !result.Item || !result.Item.team || result.Item.team === '') { return { - props: { team: null, configData: config }, + props: { team: null, configData: configs }, }; } return { - props: { team: result.Item.team, configData: config }, + props: { team: result.Item.team, configData: configs }, }; }; diff --git a/src/pages/user/profile.tsx b/src/pages/user/profile.tsx index 1e2db6b..f59c64f 100644 --- a/src/pages/user/profile.tsx +++ b/src/pages/user/profile.tsx @@ -37,7 +37,7 @@ const TeamMemberField = ({ id }: { id: number }) => { const ariaLabel = `Team Member ${id}`; return ( - + @@ -74,14 +74,17 @@ const Profile: NextPage = ({ const changeBracket = async (user: string | null | undefined) => { if (!user) return; const teamName = document.getElementById('teamname') as HTMLInputElement; - const newBracket = document.getElementById('newbracket') as HTMLInputElement; + const newBracket = document.getElementById( + 'newbracket', + ) as HTMLInputElement; const newBracketValue = newBracket.value; - await axios.post('/api/user/bracket-change', { - user, - bracket: newBracketValue, - teamName: teamName.value, - }) - // .then((res) => res.status) + await axios + .post('/api/user/bracket-change', { + user, + bracket: newBracketValue, + teamName: teamName.value, + }) + // .then((res) => res.status) .then((res) => { if (res.status === 400) { toast.error('Bracket change not successful!'); @@ -135,26 +138,26 @@ const Profile: NextPage = ({ if (status === 'authenticated') { return ( -
+
- + - - -

Team Actions

- + + +

Team Actions

+ {/*
*/}
Create Team
- - - + + + {/*
Add Team Members @@ -167,22 +170,22 @@ const Profile: NextPage = ({ */} -
+
- {/* + {/* */} - - -

Team Profile

-
+ + +

Team Profile

+
Team Logo
@@ -193,9 +196,7 @@ const Profile: NextPage = ({
Team Name: - - {team.name} - + {team.name}
Bracket:{' '} @@ -210,15 +211,15 @@ const Profile: NextPage = ({

-
@@ -248,7 +249,7 @@ export const getServerSideProps: GetServerSideProps = async (context) => { }, }; } - const userquery = `user:${session.user.name}`; + const userquery = `user:${session.user.name}`; const params: ScanCommandInput = { TableName: process.env.AWS_TABLE_NAME, FilterExpression: 'pk = :user_name', @@ -266,19 +267,25 @@ export const getServerSideProps: GetServerSideProps = async (context) => { props: { team: { bracket: null } }, // will be passed to the page component as props }; } - const teamquery = `team:${userData[0].team.S}`; - const result2 = await client.send(new ScanCommand({ - TableName: process.env.AWS_TABLE_NAME, - FilterExpression: 'pk = :team_name AND record_type= :bracket', - ExpressionAttributeValues: { - ':team_name': { S: teamquery }, - ':bracket': { S: 'bracket' }, - }, - })); + const teamquery = `team:${userData[0].team.S}`; + const result2 = await client.send( + new ScanCommand({ + TableName: process.env.AWS_TABLE_NAME, + FilterExpression: 'pk = :team_name AND record_type= :bracket', + ExpressionAttributeValues: { + ':team_name': { S: teamquery }, + ':bracket': { S: 'bracket' }, + }, + }), + ); const teamData = result2.Items; - - if (teamData && teamData[0] && teamData[0].bracket && typeof teamData[0].bracket.S === 'string') { + if ( + teamData && + teamData[0] && + teamData[0].bracket && + typeof teamData[0].bracket.S === 'string' + ) { bracketN = teamData[0].bracket.S; } const team = { diff --git a/src/pages/user/scrimmages.tsx b/src/pages/user/scrimmages.tsx index 6529a81..3c63a07 100644 --- a/src/pages/user/scrimmages.tsx +++ b/src/pages/user/scrimmages.tsx @@ -18,7 +18,11 @@ import { QueryCommandInput, } from '@aws-sdk/client-dynamodb'; -import { DynamoDBDocument, GetCommand, GetCommandInput } from '@aws-sdk/lib-dynamodb'; +import { + DynamoDBDocument, + GetCommand, + GetCommandInput, +} from '@aws-sdk/lib-dynamodb'; import TextField from '@mui/material/TextField'; import Autocomplete from '@mui/material/Autocomplete'; @@ -90,15 +94,15 @@ const TableBody: React.FC<{ data: Match[] }> = ({ data }) => ( ); // Team Info Component Card and button to request match -const TeamInfo: React.FC<{ oppTeam: Team; playerTeam: string, disabledScrimmageRequests: boolean }> = ({ - oppTeam, - playerTeam, - disabledScrimmageRequests, -}) => { +const TeamInfo: React.FC<{ + oppTeam: Team; + playerTeam: string; + disabledScrimmageRequests: boolean; +}> = ({ oppTeam, playerTeam, disabledScrimmageRequests }) => { const requestMatch = async () => { - if(disabledScrimmageRequests) { + if (disabledScrimmageRequests) { toast.error('Scrimmage requests are currently disabled.'); - return + return; } axios @@ -241,7 +245,11 @@ const Scrimmages: NextPage = ({
{CurrentTeamSearch && ( - + )} @@ -278,7 +286,7 @@ export const getServerSideProps: GetServerSideProps = async (context) => { }; } - // query for config data + // query for config data const configParams: GetCommandInput = { TableName: process.env.AWS_TABLE_NAME, Key: { @@ -292,7 +300,7 @@ export const getServerSideProps: GetServerSideProps = async (context) => { const configData = configResult.Item; - let config: ConfigData = { + let configs: ConfigData = { disabled_bracket_switching: false, disabled_code_submissions: false, disabled_scrimmage_requests: false, @@ -300,7 +308,7 @@ export const getServerSideProps: GetServerSideProps = async (context) => { }; if (configData) { - config = { + configs = { disabled_bracket_switching: !configData.bracket_switching, disabled_code_submissions: !configData.code_submissions, disabled_scrimmage_requests: !configData.scrimmage_requests, @@ -308,7 +316,6 @@ export const getServerSideProps: GetServerSideProps = async (context) => { }; } - const userInfo = await client.send( new GetCommand({ TableName: process.env.AWS_TABLE_NAME, @@ -365,7 +372,7 @@ export const getServerSideProps: GetServerSideProps = async (context) => { props: { userTeam: team, teams, - configData: config, + configData: configs, }, // will be passed to the page component as props }; }; diff --git a/src/pages/user/submissions.tsx b/src/pages/user/submissions.tsx index 1f430e1..74a5c22 100644 --- a/src/pages/user/submissions.tsx +++ b/src/pages/user/submissions.tsx @@ -115,7 +115,8 @@ const TableBody: React.FC<{ data: any; image: string; activateFn: any }> = ({ ); const Submissions: NextPage = ({ - teamData, configData, + teamData, + configData, }: InferGetServerSidePropsType) => { const { status, data: userData } = useSession(); const [file, setFile] = useState(null); @@ -123,7 +124,7 @@ const Submissions: NextPage = ({ const { team, submissionData } = teamData; const handleActivate = async (fileName: string) => { - if(configData.disabled_code_submissions) { + if (configData.disabled_code_submissions) { toast.error('Changing active bot is currently disabled.'); return; } @@ -166,15 +167,14 @@ const Submissions: NextPage = ({ setFile(null); }; - const handleUploadClick = async () => - { - if(configData.disabled_code_submissions) { + const handleUploadClick = async () => { + if (configData.disabled_code_submissions) { toast.error('Code submissions are currently disabled.'); return; } uploadFile(team); - } + }; useEffect(() => { if (status === 'unauthenticated') Router.replace('/auth/login'); @@ -279,7 +279,7 @@ export const getServerSideProps: GetServerSideProps = async (context) => { }; } - // query for config data + // query for config data const configParams: GetCommandInput = { TableName: process.env.AWS_TABLE_NAME, Key: { @@ -293,7 +293,7 @@ export const getServerSideProps: GetServerSideProps = async (context) => { const configData = configResult.Item; - let config: ConfigData = { + let configs: ConfigData = { disabled_bracket_switching: false, disabled_code_submissions: false, disabled_scrimmage_requests: false, @@ -301,7 +301,7 @@ export const getServerSideProps: GetServerSideProps = async (context) => { }; if (configData) { - config = { + configs = { disabled_bracket_switching: !configData.bracket_switching, disabled_code_submissions: !configData.code_submissions, disabled_scrimmage_requests: !configData.scrimmage_requests, @@ -332,7 +332,7 @@ export const getServerSideProps: GetServerSideProps = async (context) => { teamData: { team, submissionData: [], - configData: config, + configData: configs, }, }, };