diff --git a/package-lock.json b/package-lock.json index 6af153f..5121aba 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12,6 +12,7 @@ "@headlessui/react": "^2.1.2", "@heroicons/react": "^1.0.6", "clsx": "^2.1.1", + "comclub-website-2024": "file:", "date-fns": "^3.6.0", "framer-motion": "^11.3.21", "react": "^18.2.0", @@ -2348,6 +2349,10 @@ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" }, + "node_modules/comclub-website-2024": { + "resolved": "", + "link": true + }, "node_modules/commander": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", diff --git a/package.json b/package.json index c9f969b..3fd5ff1 100644 --- a/package.json +++ b/package.json @@ -14,6 +14,7 @@ "@headlessui/react": "^2.1.2", "@heroicons/react": "^1.0.6", "clsx": "^2.1.1", + "comclub-website-2024": "file:", "date-fns": "^3.6.0", "framer-motion": "^11.3.21", "react": "^18.2.0", diff --git a/public/elections/27th Computing Club Elections Info Pamphlet.pdf b/public/elections/27th Computing Club Elections Info Pamphlet.pdf new file mode 100644 index 0000000..185d341 Binary files /dev/null and b/public/elections/27th Computing Club Elections Info Pamphlet.pdf differ diff --git a/public/elections/27th Management Committee Nominee Application FormA.docx b/public/elections/27th Management Committee Nominee Application FormA.docx new file mode 100644 index 0000000..17894d0 Binary files /dev/null and b/public/elections/27th Management Committee Nominee Application FormA.docx differ diff --git a/public/elections/27th Management Committee Nominee Application FormB.docx b/public/elections/27th Management Committee Nominee Application FormB.docx new file mode 100644 index 0000000..89cbaeb Binary files /dev/null and b/public/elections/27th Management Committee Nominee Application FormB.docx differ diff --git a/public/elections/46th EXCO REPRESENTATIVE NOMINATION FORM.docx b/public/elections/46th EXCO REPRESENTATIVE NOMINATION FORM.docx new file mode 100644 index 0000000..a713f1d Binary files /dev/null and b/public/elections/46th EXCO REPRESENTATIVE NOMINATION FORM.docx differ diff --git a/public/elections/Computing Club 27th MC Election Standing Order AY2425.pdf b/public/elections/AY2024_25_NUS_Students'_Computing_Club_Election_Standing_Orders.pdf similarity index 61% rename from public/elections/Computing Club 27th MC Election Standing Order AY2425.pdf rename to public/elections/AY2024_25_NUS_Students'_Computing_Club_Election_Standing_Orders.pdf index 443a905..38a89ea 100644 Binary files a/public/elections/Computing Club 27th MC Election Standing Order AY2425.pdf and b/public/elections/AY2024_25_NUS_Students'_Computing_Club_Election_Standing_Orders.pdf differ diff --git a/public/elections/Union Election Standing Orders AY24-25.pdf b/public/elections/Union Election Standing Orders AY24-25.pdf new file mode 100644 index 0000000..e7930a7 Binary files /dev/null and b/public/elections/Union Election Standing Orders AY24-25.pdf differ diff --git a/src/pages/elections/Process.tsx b/src/pages/elections/Process.tsx new file mode 100644 index 0000000..2b96d25 --- /dev/null +++ b/src/pages/elections/Process.tsx @@ -0,0 +1,126 @@ +import React from 'react'; +import './index.css'; + +function ElectionsProcess() { + return ( +
+
+

Nominations

+

+ Learn more about how you can apply today. +

+
+ {/* NOMINATION PROCESS */} +
+

Nominations Process

+
+
    +
  1. + Nomination period: 12 - 18 August 2024 (1200H) +
  2. +
  3. + Only a Club Member* shall be eligible to be nominated for an election. +
  4. +
  5. + As a member of the NUS Students' Computing Club, you have 2 options**: +
      +
    1. Run as a Management Committee Member
    2. +
    3. Run as a NUSSU EXCO Representative
    4. +
    + +
  6. +
  7. + The Election Committee shall prescribe a procedure for Club Members to follow in order to be nominated for the election. This procedure shall adhere to the following: +
      +
    1. Any nomination of a Club Member shall be endorsed by a Proposer and a Seconder who must both be Club Members;
    2. +
    3. A Club Member shall not be the Proposer or the Seconder for his own nomination;
    4. +
    5. The Club Member being nominated must accept the nomination in writing before being considered a Nominee.
    6. +
    +
  8. +
  9. + You are NOT eligible for this election if you are: +
      +
    1. Guilty of a disciplinary offence
    2. +
    3. Under academic warning or probation
    4. +
    +
  10. +
+

* All full-time undergraduate students in the School of Computing are members of the NUS Students' Computing Club by default.

+

** You may not run for both positions concurrently.

+
+
+ +
+ + {/* NOMINATION FOR MANAGEMENT COMMITTEE MEMBER */} +
+

Nomination for Management Committee Member

+
+
    +
  1. + Candidates are required to submit the following documents to elections@nuscomputing.com by 18 August 2024, 1200H: +
      +
    1. Nominee Agreement Form (Form A)
    2. +
    3. Nominee Agreement Form (Form B)
    4. +
    +
  2. +
  3. + Candidates must declare the primary position they are contesting for. Declaring a secondary position will be optional. A Nominee will not be allowed to change their primary position after the end of the nomination period. A Nominee can change their secondary position up till the Internal Elections. +
  4. +
+
+
+ +
+ + {/* NOMINATION FOR NUSSU EXCO REPRESENTATIVE */} +
+

Nomination for NUSSU EXCO Representative

+
+
    +
  1. + Candidates are required to submit the following documents to elections@nuscomputing.com by 18 August 2024, 1200H: +
      +
    1. 46th EXCO Representative Nomination
    2. +
    +
  2. +
  3. + Candidates must get an outgoing elected member of the Constituent Club Management Committee to indicate that the candidate has consulted with the member(s) of the Constituent Club Management Committee to sign the nomination form. +
  4. +
  5. + Consultation will be on the expected roles and duties to be undertaken as a NUSSU Executive Committee Representative. In order to provide a more holistic view of the expected roles and duties, the consultation will be limited to elected members of the Presidential Wing*** +
  6. +
+

*** The full list of members can be found in the AY 2024/2025 NUSSU Students' Computing Club Election Standing Orders under the documents.

+
+
+ +
+ + {/* CAMPAIGN PROCESS */} +
+

Campaign Process

+
+
    +
  1. Campaign period: 20 - 26 August 2024
  2. +
  3. Nominees are to abide by the rules and regulations laid out in the Computing Club Election Standing Orders.
  4. +
  5. A live-broadcasted physical campaign speech + Q&A will be held on 22 - 24 August 2024.
  6. +
  7. All Nominees are required to prepare a set of slides based on the following statements: +
      +
    1. A general introduction about yourself
    2. +
    3. Which role do you wish to take up and why?
    4. +
    5. What relevant past experiences (if any) do you have?
    6. +
    7. What qualities do you possess that make you suitable for this role?
    8. +
    9. What are your goals and how do you intend to achieve them?
    10. +
    +
  8. +
  9. You may include any additional information that supports your campaign.
  10. +
  11. More information regarding the physial speech will be released via a confirmation email.
  12. +
+
+
+
+ ); +} + +export default ElectionsProcess; diff --git a/src/pages/elections/Regulations.tsx b/src/pages/elections/Regulations.tsx index 079ed41..d233235 100644 --- a/src/pages/elections/Regulations.tsx +++ b/src/pages/elections/Regulations.tsx @@ -1,17 +1,52 @@ import React from 'react'; import './index.css'; -import { regulationsData } from './constants'; +import { informationalData, nominationsFormsData, regulationsData } from './constants'; -function Regulations() { +function Documents() { return ( -
+
-

Regulations

+

Documents

- Last updated as of 2 August, 2024. + Last updated as of 12 August, 2024.

+

Nomination Forms

+ {nominationsFormsData.map((regulation, index) => ( +
+
+ +
+

+ + {regulation.title} + +

+
+ ))} +
+ +
+

Informational Docs

+ {informationalData.map((regulation, index) => ( +
+
+ +
+

+ + {regulation.title} + +

+
+ ))} +
+ +
+

Standing Orders and Regulations

{regulationsData.map((regulation, index) => (
@@ -30,4 +65,4 @@ function Regulations() { ); } -export default Regulations; +export default Documents; diff --git a/src/pages/elections/Roles.tsx b/src/pages/elections/Roles.tsx index 521db5c..f501fae 100644 --- a/src/pages/elections/Roles.tsx +++ b/src/pages/elections/Roles.tsx @@ -4,6 +4,7 @@ import React from 'react'; import './index.css'; import { wingsData } from './constants'; import WindowCard from '../../layout/WindowCard'; +import { FaArrowUpRightFromSquare } from "react-icons/fa6"; function Roles() { return ( @@ -20,7 +21,7 @@ function Roles() {
- +
}>
@@ -76,6 +77,10 @@ function Roles() {
))}
+
+ Find out more + +
); }; diff --git a/src/pages/elections/constants.js b/src/pages/elections/constants.js index 0e1f4b3..248f6ef 100644 --- a/src/pages/elections/constants.js +++ b/src/pages/elections/constants.js @@ -108,12 +108,49 @@ export const FAQ = [ }, ]; +export const nominationsFormsData = [ + { + title: '27th Management Committee Application FormA', + link: '/elections/27th Management Committee Nominee Application FormA.docx', + color: '#778beb', + }, + { + title: '27th Management Committee Application FormB', + link: '/elections/27th Management Committee Nominee Application FormB.docx', + color: '#f19066', + }, + { + title: '46th Exco Representative Nomination Form', + link: '/elections/46th EXCO REPRESENTATIVE NOMINATION FORM.docx', + color: '#395B9B', + }, +]; + +export const informationalData = [ + { + title: + 'AY 2024/2025 NUSSU Students\' Computing Club Election Standing Orders', + link: '/elections/AY2024_25_NUS_Students\'_Computing_Club_Election_Standing_Orders', + color: '#78e08f', + }, + { + title: 'Computing Club 27th MC Elections Information Pamphlet', + link: '/elections/27th Computing Club Elections Info Pamphlet.pdf', + color: '#93c6c3', + }, +]; + export const regulationsData = [ // { // title: 'Union Elections Standing Orders', // link: 'assets/elections/regulations/Union_Election_Standing_Orders.pdf', // color: '#78e08f', // }, + { + title: 'Union Election Standing Orders', + link: '/elections/Union Election Standing Orders AY24-25.pdf', + color: '#778beb', + }, { title: 'NUSSU Executive Committee Election Regulations', link: '/elections/NUSSU_Executive_Committee_Election_Regulations_Rev_Ed_2021_Mar.pdf', @@ -122,20 +159,14 @@ export const regulationsData = [ { title: 'Constituent Club Management Committee Election Regulations', link: '/elections/Constituent_Club_Management_Committee_Election_Regulations_Rev_Ed.pdf', - color: '#395B9B', - }, - { - title: - 'AY 2024/2025 NUSSU Students\' Computing Club Election Standing Orders', - link: '/elections/Computing Club 27th MC Election Standing Order AY2425.pdf', - color: '#778beb', - }, - { - title: - 'Constitution of the National University of Singapore Students\' Union', - link: '/elections/NUSSU_Constitution_approved_by_BOT_on_26072018.pdf', - color: '#93c6c3', + color: '#78e08f', }, + // { + // title: + // 'Constitution of the National University of Singapore Students\' Union', + // link: '/elections/NUSSU_Constitution_approved_by_BOT_on_26072018.pdf', + // color: '#93c6c3', + // }, ]; export const officers = [ diff --git a/src/pages/elections/index.css b/src/pages/elections/index.css index f10901e..9a61f08 100644 --- a/src/pages/elections/index.css +++ b/src/pages/elections/index.css @@ -11,7 +11,7 @@ ; } -.faq>h1, .elections .title, .regulations>h1, .officers>h1, .roles>h1 { +.faq>h1, .elections .title, .regulations>h1, .officers>h1, .roles>h1, .process>h1 { @apply mx-8 md:mx-64 diff --git a/src/pages/elections/index.tsx b/src/pages/elections/index.tsx index b89011c..f5dd3aa 100644 --- a/src/pages/elections/index.tsx +++ b/src/pages/elections/index.tsx @@ -1,10 +1,11 @@ import React from 'react'; import Faq from './Faq'; import Timeline from './Timeline'; -import Regulations from './Regulations'; +import Documents from './Regulations'; import Footer from './Footer'; import Officer from './Officer'; import Roles from './Roles'; +import ElectionProcess from './Process'; function Elections() { return ( @@ -17,7 +18,8 @@ function Elections() {

- + +