diff --git a/package-lock.json b/package-lock.json index 520d6671..db22306d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -15773,12 +15773,6 @@ "jiti": "bin/jiti.js" } }, - "node_modules/jquery": { - "version": "3.7.1", - "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.7.1.tgz", - "integrity": "sha512-m4avr8yL8kmFN8psrbFFFmB/If14iN5o9nw/NgnnM+kybDJpRsAynV2BsfpTYrTRysYUdADVD7CkUUizgkpLfg==", - "peer": true - }, "node_modules/js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", diff --git a/package.json b/package.json index ecc04c31..43d98ed8 100644 --- a/package.json +++ b/package.json @@ -42,6 +42,7 @@ "react-scroll-parallax": "^1.3.5", "react-scrollable-anchor": "^0.6.1", "react-select": "^2.1.2", + "react-select-country-list": "^2.2.3", "react-spinners": "^0.9.0", "react-toggle": "^4.1.1", "react-window": "^1.8.5", diff --git a/public/tailwind-output-f23.css b/public/tailwind-output-f23.css index 528f452f..1ae93a10 100644 --- a/public/tailwind-output-f23.css +++ b/public/tailwind-output-f23.css @@ -715,6 +715,10 @@ video { bottom: 8rem; } +.left-32 { + left: 8rem; +} + .left-4 { left: 1rem; } @@ -799,6 +803,14 @@ video { top: 95rem; } +.right-24 { + right: 6rem; +} + +.right-28 { + right: 7rem; +} + .z-0 { z-index: 0; } @@ -920,6 +932,10 @@ video { margin-top: 8rem; } +.mr-24 { + margin-right: 6rem; +} + .block { display: block; } @@ -1393,6 +1409,10 @@ video { padding-right: 0.5rem; } +.pr-20 { + padding-right: 5rem; +} + .pr-4 { padding-right: 1rem; } @@ -1425,6 +1445,10 @@ video { padding-top: 2rem; } +.pr-24 { + padding-right: 6rem; +} + .text-left { text-align: left; } diff --git a/src/components/Dashboard/Forms/UserProfileForm/ProfileCards/About.jsx b/src/components/Dashboard/Forms/UserProfileForm/ProfileCards/About.jsx index 6b70fb51..6ac19b9b 100644 --- a/src/components/Dashboard/Forms/UserProfileForm/ProfileCards/About.jsx +++ b/src/components/Dashboard/Forms/UserProfileForm/ProfileCards/About.jsx @@ -10,6 +10,8 @@ import { ProfileType } from "../../../../Profile"; import PropTypes from "prop-types"; import { PulseLoader } from "react-spinners"; +import countryList from "react-select-country-list"; + class About extends Component { // constructor(props) { @@ -50,7 +52,7 @@ class About extends Component { update_user.gender = this.state.user.gender; update_user.ethnicity = this.state.user.ethnicity; update_user.hackathon_count = this.state.user.hackathon_count; - + update_user.country_of_residence = this.state.user.country_of_residence; this.props.profile.Set(update_user) .then(res => { this.setState({ @@ -92,7 +94,8 @@ class About extends Component { required: { value: true, errorMessage: "Invalid first name" }, pattern: { value: "^[A-Za-z0-9]+$", errorMessage: "Invalid character" }, minLength: { value: 1, errorMessage: "Invalid length" }, - maxLength: { value: 100, errorMessage: "Invalid length" } }} /> + maxLength: { value: 100, errorMessage: "Invalid length" } + }} /> + maxLength: { value: 100, errorMessage: "Invalid length" } + }} /> @@ -117,8 +121,9 @@ class About extends Component { value={user.phone_number} onChange={(e) => { user.phone_number = e.target.value; this.updateUser(user); }} validate={{ - required: { value: true, errorMessage: "Invalid number"}, - pattern: { value: "^[\\+]?[0-9]{0,3}?[-\\s\\.]?[(]?[0-9]{3}[)]?[-\\s\\.]?[0-9]{3}[-\\s\\.]?[0-9]{4,6}$", errorMessage: "Invalid number" } }} /> + required: { value: true, errorMessage: "Invalid number" }, + pattern: { value: "^[\\+]?[0-9]{0,3}?[-\\s\\.]?[(]?[0-9]{3}[)]?[-\\s\\.]?[0-9]{3}[-\\s\\.]?[0-9]{4,6}$", errorMessage: "Invalid number" } + }} /> @@ -160,7 +164,7 @@ class About extends Component { + validate={{ required: { value: true, errorMessage: "Invalid input" } }}>
+ + +
+ { user.country_of_residence = e.value; this.updateUser(user); }} + options={countryList().getData()} /> +
+
+
{ user.hackathon_count = e.target.value; this.updateUser(user); }} validate={{ required: { value: true, errorMessage: "Invalid hackathon count" }, - min: { value: 0, errorMessage: "Hackathon count must be non-negative" } }} /> + min: { value: 0, errorMessage: "Hackathon count must be non-negative" } + }} /> {message}
+ type="submit"> {this.state.loading ? : "Update"}
); @@ -208,7 +226,7 @@ class About extends Component { color: theme.disabled[0], padding: 5, minHeight: 35 }; let field = (text) => { - return

{(text) ? text : unanswered }

; + return

{(text) ? text : unanswered}

; }; return (
@@ -253,6 +271,10 @@ class About extends Component { {field(user.ethnicity)} + + + {field(user.country_of_residence)} + {field(user.hackathon_count)} diff --git a/src/components/Dashboard/Forms/UserProfileForm/ProfileCards/Questions.jsx b/src/components/Dashboard/Forms/UserProfileForm/ProfileCards/Questions.jsx index 8b9bd7e1..17618017 100644 --- a/src/components/Dashboard/Forms/UserProfileForm/ProfileCards/Questions.jsx +++ b/src/components/Dashboard/Forms/UserProfileForm/ProfileCards/Questions.jsx @@ -123,14 +123,7 @@ class Questions extends Component { value={user.short_answer} onChange={(e) => { user.short_answer = e.target.value; this.updateUser(user); }} /> - - - { user.virtual_short_answer = e.target.value; this.updateUser(user); }} /> - + What are you hoping to experience at HackRU? {field(user.short_answer)} - - - {field(user.virtual_short_answer)} - {field(user.special_needs)} diff --git a/src/components/_Landing/Landing.tsx b/src/components/_Landing/Landing.tsx index e65eb83a..23998721 100644 --- a/src/components/_Landing/Landing.tsx +++ b/src/components/_Landing/Landing.tsx @@ -34,16 +34,26 @@ function LandingPage(props: any) { /> - +
+ +
- +
+ +
- - +
+ +
- - +
+ +