diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml new file mode 100644 index 0000000..039f80d --- /dev/null +++ b/.github/workflows/ci.yaml @@ -0,0 +1,10 @@ +name: CI Pipeline + +on: + pull_request: + branches: [main, develop] + +jobs: + format: + name: Code Format Check + uses: ./.github/workflows/format.yaml diff --git a/.github/workflows/quality.yaml b/.github/workflows/quality.yaml new file mode 100644 index 0000000..b06073c --- /dev/null +++ b/.github/workflows/quality.yaml @@ -0,0 +1,26 @@ +name: Code Format Check + +on: + workflow_call: + +jobs: + format: + runs-on: ubuntu-latest + + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Set up Node.js + uses: actions/setup-node@v4 + with: + node-version: 20 + + - name: Install dependencies + run: npm ci + + - name: Run Prettier check + run: npx prettier --check . + + - name: Run Eslint Check + run: npx eslint . diff --git a/app/components/Countdown/index.jsx b/app/components/Countdown/index.jsx index 0c1a171..28b17c0 100644 --- a/app/components/Countdown/index.jsx +++ b/app/components/Countdown/index.jsx @@ -1,51 +1,63 @@ -'use client' +"use client"; -import { useEffect, useState } from 'react' +import { useEffect, useState } from "react"; export function Countdown({ registration }) { - - const [counter, setCounter] = useState(registration - new Date().getTime()) - const [mounted, setMounted] = useState(false) - - useEffect(() => { - setMounted(true) - setInterval(() => setCounter(registration - new Date().getTime()), 500); - }, []) - - - return mounted && ( -
{Math.max(0,Math.floor(counter / (1000 * 60 * 60 * 24)))}
-{Math.max(0,Math.floor((counter % (1000 * 60 * 60 * 24))) / (1000 * 60 * 60))}
-{Math.max(0,Math.floor((counter % (1000 * 60 * 60)) / (1000 * 60)))}
-{Math.max(0,Math.floor((counter % (1000 * 60)) / 1000))}
-+ {Math.max(0, Math.floor(counter / (1000 * 60 * 60 * 24)))} +
++ {Math.max( + 0, + Math.floor(counter % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60), + )} +
++ {Math.max( + 0, + Math.floor((counter % (1000 * 60 * 60)) / (1000 * 60)), + )} +
++ {Math.max(0, Math.floor((counter % (1000 * 60)) / 1000))} +
+test your limits, never stop
-+ test your limits, never stop +
+{document.name}
-{document.description}
-+ {document.name} +
+{document.description}
+* use desktop for best experience
-+ * use desktop for best experience +
+{message}
-{message}
+{info.question}
+ {open ? ( +{info.question}
- { open ?{info.answer}
+{info.answer}
-{q.answer}
*/} - -{q.answer}
*/} + +Register Now
- - ) : ( -Closed
-+ Register Now +
+ + ) : ( +Closed
+{name}
-{position}
-{description}
-{name}
-{position}
-{description}
-+ {name} +
+{position}
+{description}
++ {name} +
+{position}
+{description}
+1.
- HSW 2024 -2.
- Terms & Conditions -3.
- Intellectual Property -1.
+ + HSW 2024 + +2.
+ + Terms & Conditions + +3.
+ + Intellectual Property + +Intellectual Property
+ return ( ++ Intellectual Property +
-- Ownership: All intellectual property developed during Hack South West will be owned by - the original creators or their respective organisations, unless otherwise agreed upon by all - parties involved -
++ + Ownership: + {" "} + All intellectual property developed during Hack South West will be + owned by the original creators or their respective organisations, + unless otherwise agreed upon by all parties involved +
-- Individual Ownership Participants retain full ownership and control over the intellectual - property rights to their creations, including but not limited to software, hardware, designs, - algorithms, and any other original works developed during the hackathon. -
++ + Individual Ownership + {" "} + Participants retain full ownership and control over the intellectual + property rights to their creations, including but not limited to + software, hardware, designs, algorithms, and any other original + works developed during the hackathon. +
-- Team Ownership In the case of team-based projects, the ownership of intellectual - property rights will be jointly owned by all members of the team, unless otherwise agreed - upon by the team members. It is the responsibility of the team to establish clear agreements - regarding the ownership and use of intellectual property rights among team members -
++ + Team Ownership + {" "} + In the case of team-based projects, the ownership of intellectual + property rights will be jointly owned by all members of the team, + unless otherwise agreed upon by the team members. It is the + responsibility of the team to establish clear agreements regarding + the ownership and use of intellectual property rights among team + members +
-- Third-Party Assets Participants are responsible for ensuring that they have the - necessary rights, licences, or permissions to use any third-party assets, including but not - limited to code libraries, APIs, data sets, and software tools, in their projects. Participants - must adhere to the terms of use and licensing agreements associated with third-party assets - and respect the intellectual property rights of their respective owners -
++ + Third-Party Assets + {" "} + Participants are responsible for ensuring that they have the + necessary rights, licences, or permissions to use any third-party + assets, including but not limited to code libraries, APIs, data + sets, and software tools, in their projects. Participants must + adhere to the terms of use and licensing agreements associated with + third-party assets and respect the intellectual property rights of + their respective owners +
-- Open Source and Licensing Participants are encouraged to consider open-source - licensing for their projects to promote collaboration, transparency, and innovation within the - hackathon community. By default, participants should assume that their projects will be - made publicly available following the hackathon, unless they explicitly specify otherwise. -
++ + Open Source and Licensing + {" "} + Participants are encouraged to consider open-source licensing for + their projects to promote collaboration, transparency, and + innovation within the hackathon community. By default, participants + should assume that their projects will be made publicly available + following the hackathon, unless they explicitly specify otherwise. +
-- Confidential Information Participants are expected to respect the confidentiality of any - sensitive or proprietary information shared during the hackathon, including but not limited to - trade secrets, business plans, and proprietary algorithms. Participants should not disclose or - use confidential information without permission from the rightful owner. -
++ + Confidential Information + {" "} + Participants are expected to respect the confidentiality of any + sensitive or proprietary information shared during the hackathon, + including but not limited to trade secrets, business plans, and + proprietary algorithms. Participants should not disclose or use + confidential information without permission from the rightful owner. +
-- Dispute Resolution In the event of any disputes or disagreements regarding intellectual - property rights, participants are encouraged to resolve the matter amicably through mutual - discussion and negotiation. If a resolution cannot be reached, the organisers may provide - mediation or arbitration services to facilitate a fair and equitable resolution. -
++ + Dispute Resolution + {" "} + In the event of any disputes or disagreements regarding intellectual + property rights, participants are encouraged to resolve the matter + amicably through mutual discussion and negotiation. If a resolution + cannot be reached, the organisers may provide mediation or + arbitration services to facilitate a fair and equitable resolution. +
-- Organiser Rights The organisers of Hack South West reserve the right to use, - reproduce, modify, adapt, and distribute any materials, including project submissions, for - promotional, educational, or other non-commercial purposes related to the hackathon, - provided that proper attribution is given to the original creators. +
+ + Organiser Rights + {" "} + The organisers of Hack South West reserve the right to use, + reproduce, modify, adapt, and distribute any materials, including + project submissions, for promotional, educational, or other + non-commercial purposes related to the hackathon, provided that + proper attribution is given to the original creators. +
- - -- By participating in Hack South West, you acknowledge that you have read, understood, and - agree to abide by these intellectual property rules. If you have any questions or concerns - regarding intellectual property rights, please consult with the organisers for clarification -
-+ By participating in Hack South West, you acknowledge that you have + read, understood, and agree to abide by these intellectual property + rules. If you have any questions or concerns regarding intellectual + property rights, please consult with the organisers for + clarification +
+Documents Page
- return ( -Documents Page
- -Terms & Conditions
+ return ( ++ Terms & Conditions +
-- Respect Treat all participants, organisers, sponsors, mentors, and judges with respect - and consideration. Be mindful of your words and actions, and avoid behaviour that could be - perceived as disrespectful, derogatory, or offensive. -
++ Respect{" "} + Treat all participants, organisers, sponsors, mentors, and judges + with respect and consideration. Be mindful of your words and + actions, and avoid behaviour that could be perceived as + disrespectful, derogatory, or offensive. +
-- Inclusivity Embrace diversity and inclusivity in all its forms, including but not limited to - race, ethnicity, gender identity, sexual orientation, disability, religion, nationality, age, and - socioeconomic status. Be welcoming and supportive of all participants, regardless of - background or experience level. -
++ + Inclusivity + {" "} + Embrace diversity and inclusivity in all its forms, including but + not limited to race, ethnicity, gender identity, sexual orientation, + disability, religion, nationality, age, and socioeconomic status. Be + welcoming and supportive of all participants, regardless of + background or experience level. +
-- Harassment-Free Environment Harassment and discrimination have no place at Hack - South West. Harassment includes, but is not limited to: offensive verbal comments, - deliberate intimidation, stalking, following, harassing photography or recording, sustained - disruption of talks or other events, inappropriate physical contact, and unwelcome sexual - attention. If you are asked to stop any harassing behaviour, you are expected to comply - immediately. -
++ + Harassment-Free Environment + {" "} + Harassment and discrimination have no place at Hack South West. + Harassment includes, but is not limited to: offensive verbal + comments, deliberate intimidation, stalking, following, harassing + photography or recording, sustained disruption of talks or other + events, inappropriate physical contact, and unwelcome sexual + attention. If you are asked to stop any harassing behaviour, you are + expected to comply immediately. +
-- Safe Space Hack South West is intended to be a safe space for all participants. If you - feel unsafe or threatened, or if you witness any behaviour that violates this code of conduct, - please report it to an Organiser or Guru immediately. All reports will be taken seriously and - addressed promptly and confidentially. -
++ + Safe Space + {" "} + Hack South West is intended to be a safe space for all participants. + If you feel unsafe or threatened, or if you witness any behaviour + that violates this code of conduct, please report it to an Organiser + or Guru immediately. All reports will be taken seriously and + addressed promptly and confidentially. +
-- Professionalism Maintain a high standard of professionalism throughout the event. This - includes respecting deadlines, collaborating effectively with teammates, communicating - respectfully with mentors and judges, and conducting yourself in a manner that reflects - positively on yourself and the hackathon community. -
++ + Professionalism + {" "} + Maintain a high standard of professionalism throughout the event. + This includes respecting deadlines, collaborating effectively with + teammates, communicating respectfully with mentors and judges, and + conducting yourself in a manner that reflects positively on yourself + and the hackathon community. +
-- Compliance with Laws and Policies Comply with all applicable laws, regulations, and - policies, including those related to intellectual property, data privacy, and online conduct. Do - not engage in any activities that may violate the rights of others or compromise the integrity - of the hackathon. -
++ + Compliance with Laws and Policies + {" "} + Comply with all applicable laws, regulations, and policies, + including those related to intellectual property, data privacy, and + online conduct. Do not engage in any activities that may violate the + rights of others or compromise the integrity of the hackathon. +
-- Consequences of Violations Violations of this code of conduct may result in removal - from the hackathon premises, disqualification from the event, and/or other appropriate - consequences determined by the organisers. Serious or repeated violations may also result - in restrictions on participation in future hackathons. -
++ + Consequences of Violations + {" "} + Violations of this code of conduct may result in removal from the + hackathon premises, disqualification from the event, and/or other + appropriate consequences determined by the organisers. Serious or + repeated violations may also result in restrictions on participation + in future hackathons. +
-- Reporting Procedures If you experience or witness any behaviour that violates this - code of conduct, or if you have any concerns or questions, please report it to an Organiser - or Guru immediately. Reports can be made in person or via email: - excs@groups.exeterguild.com. -
++ + Reporting Procedures + {" "} + If you experience or witness any behaviour that violates this code + of conduct, or if you have any concerns or questions, please report + it to an Organiser or Guru immediately. Reports can be made in + person or via email: excs@groups.exeterguild.com. +
-- By participating in Hack South West, you acknowledge that you have read, understood, and - agree to abide by this code of conduct. We thank you for helping us create a positive and - inclusive experience for all participant -
-+ By participating in Hack South West, you acknowledge that you have + read, understood, and agree to abide by this code of conduct. We + thank you for helping us create a positive and inclusive experience + for all participant +
+Made possible with
- -and
- -The largest Hackathon in the South West
-Exeter, Bristol, Plymouth, Bournemouth
-Saturday, Nov 8th, 8:00am
-University of Exeter, Innovation Center
-Over Β£500 in prizes!
-feedback
- -- Organised by the Computer Science Society (EXCS) and Cyber Security Society (CyberSoc) of University Of Exeter, Hack South West is - the most fun and enjoyable experience for students around the UK. Available to everyone from beginners to experts, this is a great - opportunity to get into hackathons. Our welcoming atmosphere will surely encourage you to go to more! -
-- We will run two events this year! Firstly in November there will be a Capture The Flag (CTF) competition, followed by the main - hackathon event in February. The CTF will be a great way for anyone to get involved with problem solving and cybersecurity - challenges, while the main hackathon will allow participants to build projects, learn new skills, and network with like-minded - individuals. Both events include exceptional prizes and plenty of food to keep you going! To find out more about either event visit - our registration website which you may find on this part of the website and also at the top! -
-Pictures from previous events
- -- What will you be doing during our events! Here you can find out more about both of our events! -
-- Capture The Flag Event -
- -- Join us for an action-packed 12-hour Capture the Flag Hackathon on{" "} - Friday, 8th November, hosted at the Innovation Centre, Phase 2. In this track, your cybersecurity knowledge - will be pushed to the limit! With three exciting difficulties and 30 unique boxes to solve, thereβs something for - everyone. Every completed challenge will grant you a flag to unlock points at any moment{" "} - during the hackathon. Explore hidden Easter eggs around the venue, meet our sponsors, and enjoy a full day of hacking, - learning, and collaboration. -
- - {/* Schedule */} -π Schedule
- -8:00 AM
-Registration Opens + Talk To Sponsors
-8:30 AM
-Welcome Presentation
-9:00 AM
-Hacking Begins
-Throughout the Day
-Explore Easter Eggs + Food!
-9:00 PM
-Hacking Ends + Prizes
-10:00 PM
-Event Close
-- π Food and refreshments provided throughout the day! -
-π Prizes
- -π₯ 1st Place
-π₯ 2nd Place
-π₯ 3rd Place
-- Hackathon Event -
-- This event will push you to develop your own creative solution to a challenge faced by the world. We look out for solutions - that incorporate a high level of technical knowledge to a problem of significant impact in - the world. Although, you will likely only work on this problem for a limited amount of time, we encourage you to continue to - develop and deploy your solutions to either the web or other sources to both add to your portfolio, but also benefit - humanity! -
- -
- We are still working hard on organising this, please check out our socials for more information as it comes!
-
-
- Follow us on LinkedIn and Instagram for the latest updates. -
- - -Questions &
-Answers
-- Have questions? Here you'll find all the answers to your questions. If there is something missing feel free to reach out to us - with absolutely any queries via our email. -
-Questions
- -Made possible with
+ +and
+ ++ The largest Hackathon in the South West +
++ Exeter, Bristol, Plymouth, Bournemouth +
+Saturday, Nov 8th, 8:00am
++ University of Exeter, Innovation Center +
+Over Β£500 in prizes!
+feedback
+ ++ Organised by the Computer Science Society (EXCS) and Cyber + Security Society (CyberSoc) of University Of Exeter, Hack South + West is the most fun and enjoyable experience for students around + the UK. Available to everyone from beginners to experts, this is a + great opportunity to get into hackathons. Our welcoming atmosphere + will surely encourage you to go to more! +
++ We will run two events this year! Firstly in November there will + be a Capture The Flag (CTF) competition, followed by the main + hackathon event in February. The CTF will be a great way for + anyone to get involved with problem solving and cybersecurity + challenges, while the main hackathon will allow participants to + build projects, learn new skills, and network with like-minded + individuals. Both events include exceptional prizes and plenty of + food to keep you going! To find out more about either event visit + our registration website which you may find on this part of the + website and also at the top! +
++ Pictures from previous events +
+ ++ What will you be doing during our events! Here you can find out + more about both of our events! +
++ + Capture The Flag + {" "} + Event +
+ ++ Join us for an action-packed{" "} + + 12-hour Capture the Flag Hackathon + {" "} + on Friday, 8th November, hosted at the{" "} + Innovation Centre, Phase 2. In this track, your + cybersecurity knowledge will be pushed to the limit! With + three exciting difficulties and 30 unique boxes to + solve, thereβs something for everyone. Every completed + challenge will grant you a flag to unlock points at{" "} + any moment during the + hackathon. Explore hidden Easter eggs around the venue, meet + our sponsors, and enjoy a full day of hacking, learning, and + collaboration. +
+ + {/* Schedule */} ++ π Schedule +
+ ++ 8:00 AM +
++ Registration Opens + Talk To Sponsors +
++ 8:30 AM +
++ Welcome Presentation +
++ 9:00 AM +
+Hacking Begins
++ Throughout the Day +
++ Explore Easter Eggs + Food! +
++ 9:00 PM +
++ Hacking Ends + Prizes +
++ 10:00 PM +
+Event Close
++ π Food and refreshments provided throughout the day! +
++ π Prizes +
+ +π₯ 1st Place
+π₯ 2nd Place
+π₯ 3rd Place
++ Hackathon Event +
++ This event will push you to develop your own creative solution + to a challenge faced by the world. We look out for solutions + that incorporate a high level of technical knowledge to a + problem of significant{" "} + impact in the world. + Although, you will likely only work on this problem for a + limited amount of time, we encourage you to continue to + develop and deploy your solutions to either the web or other + sources to both add to your portfolio, but also benefit + humanity! +
+ +
+ We are still working hard on organising this, please check out
+ our socials for more information as it comes!
+
+ Follow us on{" "} + + LinkedIn + {" "} + and{" "} + + Instagram + {" "} + for the latest updates. +
+ ++ Questions & +
++ Answers +
++ Have questions? Here you'll find all the answers to your + questions. If there is something missing feel free to reach out to + us with absolutely any queries via our email. +
+Questions
+ +Incorrect Usage
-Incorrect Usage
+Hack
- -S
-outh
- -W
-est
-We ran the largest Hackathon in the South West
-- Exeter, - Bristol, - Plymouth, - Bournemouth, - Cardiff -
-128 tickets sold
-56% new customers
-70% male, 23% female attendees
-13 incredible financial products developed
-View More Photos
-Second Place
- -BathX
-pool
-Raspberry Pi Zeros
-First Place
- -Headge Hackers
-LendEase
-Raspberry Pi Zeros
-Third Place
- -Asians ++
-Asians ++ Training
-Raspberry Pi Zeros
-Hack
+ +S
+outh
+ +W
+est
++ We ran the largest Hackathon in the South West +
++ Exeter, + Bristol, + Plymouth, + Bournemouth, + Cardiff +
+128 tickets sold
+56% new customers
+70% male, 23% female attendees
+13 incredible financial products developed
+View More Photos
+Second Place
+ +BathX
+pool
+Raspberry Pi Zeros
+First Place
+ +Headge Hackers
+LendEase
+Raspberry Pi Zeros
+Third Place
+ +Asians ++
+Asians ++ Training
+Raspberry Pi Zeros
+