Conversation
04kash
reviewed
Apr 1, 2025
Comment on lines
-138
to
-154
| const formatSalaryRange = (min, max, rateOfPayFrequency) => { | ||
| // Convert to numbers | ||
| const minNum = Number(min); | ||
| const maxNum = Number(max); | ||
|
|
||
| switch (rateOfPayFrequency) { | ||
| case "Annually": { | ||
| const formattedMin = `${Math.floor(minNum / 1000)}K`; | ||
| const formattedMax = `${Math.floor(maxNum / 1000)}K`; | ||
|
|
||
| return `$${formattedMin}/year - $${formattedMax}/year`; | ||
| } | ||
| default: | ||
| return `$${minNum} - $${maxNum} ${rateOfPayFrequency}`; | ||
| } | ||
| }; | ||
|
|
Collaborator
There was a problem hiding this comment.
@miekoyao just wondering why this was removed? We're using a similar logic for the single job post page so it makes sense to me to follow that
Contributor
There was a problem hiding this comment.
I think Mieko may have replaced this with displayCompensationRange from utils folder to make compensation formatting consistent across pages?
Collaborator
There was a problem hiding this comment.
Hmm, looks like the one from the utils folder is not ideal of our use case as it doesn't add a custom rate of pay frequency, it seems to assume that all reported compensation rates are by the hour, that's why I'd prefer to use the exisiting one
04kash
approved these changes
Apr 2, 2025
miekoyao
added a commit
that referenced
this pull request
Apr 2, 2025
* added Kashish Mittal to README.md (#94) Co-authored-by: root <root@LAPTOP-9VOLP0N6> * TCE-15(doc): Added my name (William Lam) under the 'Contributors (2024-2025) list. author: William Lam<[email protected]> (#95) * Update README.md (#97) * chore: added my name to contributors readme (#98) * Added name to contributors (#99) * Update README.md (#101) * complete adding my name (Dhairya Thakkar) to Contributors 24-25 (#102) * Update .env.example (#103) * add names to readme! (#104) added mine and Olya's name to the readme (since I don't think we told her to) * Add files/folders for job posts and job applications CRUD (#105) * add files/folders for job posts and job applications CRUD Signed-off-by: root <root@LAPTOP-9VOLP0N6> * add job_post and job_applications folders in controllers Signed-off-by: root <root@LAPTOP-9VOLP0N6> * Rename DeleteJobPost.js to deleteJobPost.js renamed file for camel case conventions! * Rename UpdateJobPost.js to updateJobPost.js renamed file for camel case conventions! --------- Signed-off-by: root <root@LAPTOP-9VOLP0N6> Co-authored-by: root <root@LAPTOP-9VOLP0N6> Co-authored-by: Mieko <[email protected]> * Add functions to interact with S3 (#108) * Add functions to interact with S3 Signed-off-by: Kashish Mittal <[email protected]> * fix lint errors --------- Signed-off-by: Kashish Mittal <[email protected]> * [TCES-19] Create JobPosting Model (#109) * feat: create JobPosting model * chore: run formatter * update soe fields to allow NULLs Signed-off-by: root <root@LAPTOP-9VOLP0N6> * fix prettier issues * update rate_of_pay formatting --------- Signed-off-by: root <root@LAPTOP-9VOLP0N6> Co-authored-by: root <root@LAPTOP-9VOLP0N6> Co-authored-by: Kashish Mittal <[email protected]> * [TCES-21] Create JobApplication Model (#110) * feat: create JobApplication Model * add status_other field Signed-off-by: Kashish Mittal <[email protected]> * update status_in_canada formatting --------- Signed-off-by: Kashish Mittal <[email protected]> Co-authored-by: root <root@LAPTOP-9VOLP0N6> * [TCES-51] - Fixing compatibility issues with MySQL in the Job Post model file (#117) * fix: fixed compatibility errors with Job Posting * chore: ran linter and formatter * chore: removed unnecessary comments in index.js and sequelize.js * fix: fixed ENUM incapatibilities with MySQL by changing the ENUM type 'Base_Comission' to 'Base Comission' in the Job Posts Model and 'R & I' to 'R and I' in the Job Applications Model. * test: testing valid and invalid ENUM types for the job_type attribute in the Job Posts Model. * chore: run linter and formatter * test: updated test to match CI/CD pipeline * test: remove need for CI/CD pipeline for test file * fix: reverted wrong file change and added new ci/cd tests for job posts. * test: removed ci/cd test for now since controller/routes aren't implemented yet * chore: removed MySQL incapatibilities comment * Update server/src/models/job_posts.model.js * add more valid job types * add comma for linting --------- Co-authored-by: Kashish Mittal <[email protected]> Co-authored-by: Mieko <[email protected]> * update job_posts_model to include description (#123) * update job_posts_model to include description Signed-off-by: Kashish Mittal <[email protected]> * fix linter issues Signed-off-by: Kashish Mittal <[email protected]> --------- Signed-off-by: Kashish Mittal <[email protected]> * remove yarn.lock files (#124) Signed-off-by: Kashish Mittal <[email protected]> * remove applied_date from job applications model (#127) Signed-off-by: Kashish Mittal <[email protected]> * remove description field (#128) Signed-off-by: root <root@LAPTOP-9VOLP0N6> Co-authored-by: root <root@LAPTOP-9VOLP0N6> * [TCES-27]: GET Request for Job Applications (#119) * feat: rough implementation of getAllJobApplications GET request. Returns mainly three things: the total number of job applications, all job applications saved in the database, and the unique names of all job applicants. * refactor: added try catch statement for getAllJobApplications GET request * feat: added functionality to get all job applications for a job post in getAllJobApplications.js if a job posting id is given. * feat: implemented getOneJobApplication.js to filter through job applications through an applicant's name * feat: added routing logic and connected it to index.js * fix: fixed compatibility errors with Job Posting * chore: ran linter and formatter * chore: run linter and formatter * feat: updated job_posts_model.js file * chore: removed unnecessary comments * feat: added api calls to api.js in the frontend * fix: applications are returned in most recent to least recent order * fix: trying to include createdAt field into the response body * feat: added frontend API calls to job application get requests * chore: deleted get application functions from api.js * [TCES-25]: POST request for Job Applications (#118) * feat: initialized skeleton code for implementation of POST request for Job Applications author: William Lam<[email protected]> * chore: added 'RequestHandler' to the end of the addJobRequestHandler function for the adding job application controller for consistency author: William Lam<[email protected]> * implemented rough draft for adding job applications author: William Lam<[email protected]> * feat: implemented POST functionality for job applications and router logic for POST requests author: William Lam<[email protected]> * test: tested creation of job application and was successfully (POST REQUEST) * chore: ran linter and formatter * feat: added file upload with uploadFileToS3 function for POST requests for Job Applications * feat: implemented file upload functionality with multer for post requests for Job Applications. * feat: implemented file upload for POST requests for Job Applications. * feat: client calls API endpoint for creating Job Applications * feat: updated job_posts_model.js file * feat: presignedURL for resume PDF upload is now attached to the correct user * chore: run formatter and linter * chore: removed placeholder code for getAllJobAppications.js * chore: added isAdmin middleware back to createUserRequestHandler * bug: fixed R & I to R and I for correct Application status for the Job Application model * fix: moved API calls for Job Application POST requests to job_applications_api.js in the client/src/utils directory * chore: removed comments in server/src/index.js * fix: resume attribute includes the filename now instead of the presigned URL * chore: added uploadJobApplication to job_applications_api/js in client/src/utils * chore: removed unused import in addJobApplication.js * refactor: removed description attribute in job_posts.model.js * fix: removed export default statement in job_applications_api.js * feat: added router code for Job Application POST request * feat: added check that if status_in_canada is other, then a status_other attribute needs to be given. * [TCES-47][READY-FOR-REVIEW]: Implement DELETE request for Job Postings (#126) * chore: added skeleton structure for DELETE HTTP requests for Job Posts * feat: implemented logic for deleting a Job Post * feat: implemented routing for DELETE HTTP request for Job Posts * feat: configured routing in index.js file * fix: changed URL from 'job_posts' to 'job_postings' to fit table name * feat: implemented API call from the frontend for DELETE HTTP request for Job Posts * feat: resumes are deleted along with Job Applications of related Job Post * refactor: changed job_posts.js in routes folder to match employer_timeline_entries.js format * fix: added await for async objects to resolve promise objects and added transaction commits and rollbacks for atomicity * fix: resolved promise object for deleting S3 files when using array.map * refactor: removed sequelize import * feat: deleted fully works now * feat: delete works now for Job Posts * [TCES-24][READY-FOR-REVIEW]: Implement POST request for Job Postings (#125) * chore: added skeleton code for Job Post POST request. * chore: provided logic of code implementation for Job Posts POST requests before implementation. * chore: added additional comments on beforeUpdate hook with the status attribute in Job Posts * fix: export addJobPostRequestHandler in addJobPost.js * feat: implemented job posts POST request logic. * feat: added validation for Job Post POST requests to check that the max compensation is greater than the min compensation, that the close date is always greater than the current date * fix: state would be set to 'Active' after the job post is created. * fix: state is now correctly set depending on if the job post is a draft or not * feat: implemented routing for job posts POST request * feat: added API call on the frontend in src/utils/job_posts_api.js to call POST HTTP request to create a new job posting * fix: Job posts is attached to req.user.id now * fix: added isAdmin middleware back to the createUser route * feat: changed URL from 'job_posts' to 'job_postings' to fit Table name * fix: corrected the URL in the API call to create a Job Post in client/src/utils/job_posts_api.js * cleanup: removed check for employee in the database for adding a job post. * feat: added isLoggedIn middleware to route and changed format of job_posts.js in the server/src/routes directory to match previous routing files. * chore: fix merge conflicts * Update readme (#130) Added my name * [TCES-44] Updated Navbar and Dashboard to include Job Postings and Job Applications buttons (#120) * Feat: Added Job Postings and Job Applications Buttons to Dashboard * Feat: Added the Job Applications and Job Postings Buttons to Navbar * Chore: Ran linter and formatter * fixup! Signed-off-by: Kashish Mittal <[email protected]> --------- Signed-off-by: Kashish Mittal <[email protected]> Co-authored-by: Kashish Mittal <[email protected]> * [TCES-56][READY-FOR-REVIEW]: Create Custom Job Type Chips (#129) * chore: initialized files/directory for job-type-chips-component * feat: implemented job type chips * feat: changed the colour for 'Freelance' to make the pink a bit darker to differentiate it from the 'Full-Time' job type. * refactor: removed unused import * feat: changed job type to better match given job type image * feat: updated colours and border colours of job type chips based on given image * feat: decreased height of job type chips to better match image. * feat: changed font type to 'Roboto' * refactor: moved job-types-chip-component into a 'view-job-posts-component' directory. * TCES-26: CRUD for Job Posts - Get Requests (#116) * Starter logic for get path for job posts * Starter logic for get path for job posts - all job posts * Removed job type filter * rename to singular * added sample endpoint calls * Added endpoint to route * fix lint issues Signed-off-by: Kashish Mittal <[email protected]> * fixup! Signed-off-by: Kashish Mittal <[email protected]> * Add location and job_type to searchConfig attributes * Update server/src/controllers/job_posts/getAllJobPosts.js --------- Signed-off-by: Kashish Mittal <[email protected]> Co-authored-by: Kashish Mittal <[email protected]> Co-authored-by: Kashish Mittal <[email protected]> * TCES-28: CRUD for Job Posts - PUT Request (#121) * Added skeleton logic for update - missing check for update status * Added check that all fields are not null when updating status to active * Cleaned comments/code * Starter documentation * Cleaned comments * Added call to endpoint * Updated typo * fix: updating job posts works now. * chore: run formatter * fixup! Signed-off-by: Kashish Mittal <[email protected]> --------- Signed-off-by: Kashish Mittal <[email protected]> Co-authored-by: William Nhut Lam <[email protected]> Co-authored-by: Kashish Mittal <[email protected]> Co-authored-by: Kashish Mittal <[email protected]> * TCES-43: Create Add New Job Post Page (#122) * copied files from add-job-lead as template for new job post page * chore: added new job-post route * modified job title, employer name, location, and compensation fields in posting form. modified corresponding job post initial state types * added new compoensation rate type constant * got all values and inputs to look the same as design * moved job info form to own folder and created component for next page * creating form page for application fields * got application form fields to look mostly the same, created back and forward functionality with buttons * removed some unnecessary code (used for job lead, but not job post) and refactored format of jobpost data * added input change functionality, which updates jobInfo state * temp values to test in form, got values to be stored in jobPostData state * compensation and hours are number types now * renamed addJobLead to addJobPosting * making buttons more similar to figma * created new dialog componnet for displaying save/publish result, added temp values into the form * created new dialog component for displaying save/publish result * completed application fields page, with new module style sheet * removed unnecessary props * removed unnecessary props * added console logs just to remove unsued errors * moved Discard dialog to outside of form, refactored to make submission buttons handle submission * added correct initial state values, removed unused props * fixed linter bugs * fixed values/labels for compensationRate select * removed setLocalExitRoute * made button container wrap * removed setLocalExitRoute from props * fix linter issue * add space in upload section * fix linter issue * added comments for clarity, removed unnecessary comments * renamed job-post/add link to job-posts * redirect to dashboard on job post cancel * put authguard back in job post page route * changed jobPostData prop type to object in index.jsx * modified upload text to pdf only * renamed all components with 'lead' in them to 'post' * Update client/src/utils/contants.js Co-authored-by: Kashish Mittal <[email protected]> * removed cover letter section * creation date now disabled and only for today's date * renamed label to description in first page of form * fixed constants.js name * Update client/src/utils/contants.js Co-authored-by: Kashish Mittal <[email protected]> * fixed linter isue, updated job_types list * renamed the contants to constants file everywhere * replaced employment type to be multiselect * renamed additionalInfo to Description * centered the form pages * deleted contants (replaced with constants.js) * modified initialState keys to match job post model * all variables in job info form correspond to renamed jobPostData keys * Renamed base & commission to Base and Commission * prevent user from entering max compensation less than min * use separate variables for Job Posts constants Signed-off-by: Kashish Mittal <[email protected]> --------- Signed-off-by: Kashish Mittal <[email protected]> Co-authored-by: Kashish Mittal <[email protected]> Co-authored-by: Kashish Mittal <[email protected]> * add name to readme (#131) * add contributor name (Houman Ebrahimi) (#133) Co-authored-by: John Doe <[email protected]> * Update README.md (#134) * [TCES-65][MERGED] Separate Get Job Postings Endpoint into Two Distinct Endpoints for Public and Protected Job Postings (#132) * feat: implemented getAllActiveJobPosts.js logic and added corresponding route to the job_posts.js routes file. * refactor: changed function name to 'getAllActiveJobPostsRequestHandler' for clarity * fix: put static route over dynamic route with /active and /:job_post_id to fix endpoint matching * feat: added unit test files for getting active job posts and getting all job posts * fix: added login middleware only for getting all job posts * feat: implemented unit testing for getting all job postings * test: added one more unit test testing just normally getting all job posts * tests: added unit testing for getAllActiveJobPosts * chore: run formatter * test: removed redundant test case * fix: fixed possible division by 0 error for totalPages computation and the getAllJobPosts route returns all the job posts now without it being separated * test: changed tests to match new getAllJobPosts controller now that it doesn't return a separate publicJobs key value item * Houmanebrahimi67/tces 69 create a table component for all job postings view (#139) * add contributor name (Houman Ebrahimi) * Add table component * fix server packaging files * fix space * fix packaging * Add table component * fix server packaging files * fix space * fix packaging * test * change chip color * change colors * change * server change * change color * upadte css and bold text * increase column width for icons * make the width wider * get rid of horizontal scrolling Signed-off-by: Kashish Mittal <[email protected]> * get rid of vertical scrolling Signed-off-by: Kashish Mittal <[email protected]> --------- Signed-off-by: Kashish Mittal <[email protected]> Co-authored-by: John Doe <[email protected]> Co-authored-by: Kashish Mittal <[email protected]> * [TCES-59 Create a component with the Job Type, Location and Sort buttons (#140) * job type, location, status, and sort buttons that open dropdown of radio buttons with different options * pass the locations as a prop * Fix some issues with job_posts_api.js (#144) * fix some issues with job_posts_api.js Signed-off-by: Kashish Mittal <[email protected]> * fix modifyJobPost function Signed-off-by: Kashish Mittal <[email protected]> --------- Signed-off-by: Kashish Mittal <[email protected]> * [TCES-30] CRUD For Job Applications Put Requests (#141) * completed bulk of application status put request * mostly finished controller, added post route * modified error codes, created job application call * refactored to use request params instead of passing id to body * added a few lines of docs for job app status change handler * changed job app not found code back to 404 * added login middleware * Add sort and filter menu (#143) * Add sort and filter menu * fix padding for the table and add string to employer --------- Co-authored-by: John Doe <[email protected]> * [TCES-68] Create Job Posts Page: Replace mock data with backend endpoints (#137) * Task completed - Save as Draft and Publish buttons now call backend and not mockresponse - Buttons now redirect to job posts page and not dashboard - Made route names more consistent * Updated Job Posting - description field is now properly updated when publish button is pushed * Published job posts now marked as active, and not drafts * Job post creations accurately reflect draft or active * Removed unnecessary log * fix job_type and close_date field updates Signed-off-by: Kashish Mittal <[email protected]> --------- Signed-off-by: Kashish Mittal <[email protected]> Co-authored-by: Kashish Mittal <[email protected]> * change /job-posts/add to /job-postings/add (#147) Signed-off-by: Kashish Mittal <[email protected]> * [TCES-80][READY-FOR-REVIEW] Create Unit Tests for Job Applications and Job Posts (#142) * chore: created test files for job applications and job posts endpoints * test: implemented addJobPost.test.js and fixed file path changes in testing for getting job posts. * test: 3/4 tests work for deleting a job post; need to somehow include a test where deleting a job post will also delete the job applications associated with it * test: deleteJobPost.test.js works now. The caveat is that it uses a mock s3 deletion function * test: implemented tests for getOneJobPost with getOneJobPost.test.js * test: implemented tests for updateJobPost.js * test: fixed addJobPost.test.js by adding a create function to the associated mock file * test: addJobApplications.test.js is now implemented. There is a caveat where the S3 upload is not tested though * test: implemented getAllJobApplications.test.js * test: implemented getOneJobApplications.test.js * delete: removed tests for updating job apps since it is not implemented yet * test: added temporary upload folder for resume upload and made the unit testing create the mock file for testing addJobApplications * chore: run formatter * chore: added 'uploads' folder for testing * Lanawehbeh12/tces 58 create a table component for job postings client view 1 (#146) * Added Client Dashboard Table * Added Urls for Table * ran formatter * Update client/src/components/job-postings-client-dashboard-component/job-postings-client-dashboard-table/index.jsx Co-authored-by: Kashish Mittal <[email protected]> * Update client/src/components/job-postings-client-dashboard-component/job-postings-client-dashboard-table/index.jsx Co-authored-by: Kashish Mittal <[email protected]> * Update client/src/components/job-postings-client-dashboard-component/job-postings-client-dashboard-table/index.jsx Co-authored-by: Kashish Mittal <[email protected]> * Updated row key to data id * minor fixup! Signed-off-by: Kashish Mittal <[email protected]> --------- Signed-off-by: Kashish Mittal <[email protected]> Co-authored-by: Kashish Mittal <[email protected]> Co-authored-by: Kashish Mittal <[email protected]> * [TCES-49] Filtering & Sorting for Job Posts (#145) * get requests for filtering and sorting job posts * get requests for filtering and sorting job posts * combine sorting and filtering into one endpoint. apply this and location retrieval to only active job posts. add endpoint to retrieve sorted job posts by close date and/or filter them by their status * combine sorting and filtering into one endpoint. apply this and location retrieval to only active job posts. add endpoint to retrieve sorted job posts by close date and/or filter them by their status * fix getAllLocations endpoint + some misc fixes Signed-off-by: Kashish Mittal <[email protected]> * fixup! Signed-off-by: Kashish Mittal <[email protected]> * fix job_type filtering and pagination * rename the filtering endpoints, reorgnaise job_post routes and fix minor issue in updateJobPosts Signed-off-by: Kashish Mittal <[email protected]> * update client utils Signed-off-by: Kashish Mittal <[email protected]> * fix unit tests Signed-off-by: Kashish Mittal <[email protected]> * fix unit tests Signed-off-by: Kashish Mittal <[email protected]> * update tests for updateJobPost Signed-off-by: Kashish Mittal <[email protected]> --------- Signed-off-by: Kashish Mittal <[email protected]> Co-authored-by: Kashish Mittal <[email protected]> * fix job_posts_api.js (#149) Signed-off-by: Kashish Mittal <[email protected]> * [TCES-48]: add endpoint to download resume (#136) * feat: add endpoint to download resume Signed-off-by: Kashish Mittal <[email protected]> * Fixed query * Job Application Endpoints Endpoints can now: - get all job applications - get job application by id * Detect React to no trigger linter * Previous changes were not needed * Added isLoggedIn middleware * Removed log * For the linter * Removed unnecessary spaces --------- Signed-off-by: Kashish Mittal <[email protected]> Co-authored-by: Jamie Yi <[email protected]> Co-authored-by: penguinc00kies <[email protected]> * All Job Posts View: Replace mock data with backend endpoints (#148) * All Job Posts View: Replace mock data with backend endpoints * change function name * add pagination * edit job postings * fix query parameters for endpoints * fix page and pageSize parameters * fix filter sort * fix delete endpoint Signed-off-by: Kashish Mittal <[email protected]> * fix dialog for deleting job posts * clean up! Signed-off-by: Kashish Mittal <[email protected]> * fix error logs * clear error logs * fix error logs * fix error handling issues * Add a button to reset all applied filters * fix the reset button width and font * fixup! Signed-off-by: Kashish Mittal <[email protected]> * disable and enable reset all button --------- Signed-off-by: Kashish Mittal <[email protected]> Co-authored-by: John Doe <[email protected]> Co-authored-by: Kashish Mittal <[email protected]> Co-authored-by: Kashish Mittal <[email protected]> * Lanawehbeh12/tces 70 implement the job postings client view page (#150) * Updated routing to home page * Created header for client dashboard page * Created client dashboard page * add a NavBar for Public Pages Signed-off-by: Kashish Mittal <[email protected]> * added public navbar + updated route name * Updated component name to align with file name + repo standard * Updated navbar component name * Update navbar route to job-postings Co-authored-by: Kashish Mittal <[email protected]> * Update Navbar Component Name -> NavBar Co-authored-by: Kashish Mittal <[email protected]> * Updated NavBar name for consistency * Added padding for client view job postings * fixup! Signed-off-by: Kashish Mittal <[email protected]> --------- Signed-off-by: Kashish Mittal <[email protected]> Co-authored-by: Kashish Mittal <[email protected]> Co-authored-by: Kashish Mittal <[email protected]> * [TCES-84] Add an endpoint to fetch a public job post's info (#151) * add /active/job_posting_id endpoint Signed-off-by: Kashish Mittal <[email protected]> * add tests for getOneActiveJobPost and 404 error case to getOneJobPost Signed-off-by: Kashish Mittal <[email protected]> * address review comments Signed-off-by: Kashish Mittal <[email protected]> --------- Signed-off-by: Kashish Mittal <[email protected]> * [TCES-77] Create a Table Component For Job Applications View + Entire Job Application View page (#152) * creating table component * fix: fixed parameter issue with fetchAllJobApplications in job_appications_api.js * components worked on for job application view, route added * restructured components to match rest of pages structure, organized code into components, finished most of everything except for filter implementation mocks * deleted unnecessary lines, move some variables into more relevant components * added proptypes and wrote future todos for application table component * add proptypes to search inputs * added proptypes to dashboard component * removed unnecessary proptype here, and fixed sort values * created mock job application fetch functions mainly for testing * mostly completed job application view, need to rework organization of loading applications, considering using a loader function * fixed table width, removed console logs * fixed requested changes, moved some components to styled component (application table) * fixed eslint errors * Update client/src/components/job-applications-view-component/search-component/index.jsx Co-authored-by: Kashish Mittal <[email protected]> * fixed nan and undefined on clear bugs, reset now resets sort and sort default is now descending * fixed sort reset, also sort keeps applied value on menu exit --------- Co-authored-by: William Nhut Lam <[email protected]> Co-authored-by: Kashish Mittal <[email protected]> * Update NavBar for public/logged-out views (#158) * Update NavBar for public/logged-out views Added title to PublicNavBar component * fixup! Signed-off-by: Kashish Mittal <[email protected]> --------- Signed-off-by: Kashish Mittal <[email protected]> Co-authored-by: Kashish Mittal <[email protected]> * [TCES-74] Single Job Applications Page (#157) * Single Job Applications Page * fixup: add error checking Signed-off-by: Kashish Mittal <[email protected]> * show current application status on the application status dropdown --------- Signed-off-by: Kashish Mittal <[email protected]> Co-authored-by: Kashish Mittal <[email protected]> Co-authored-by: Kashish Mittal <[email protected]> * [TCES-86][TCES-87][READY-FOR-REVIEW] Complete Routing for Job Info Page and Replace Mock Data with Backend Endpoints in Job Posts Client View (#155) * chore: initialized file for file upload component * chore: added comments to detail implementation of file upload button * chore: run formatter * feat: use prop drilling to make the file upload button functional * feat: when a file is uploaded, it shows at the bottom as well as its status * feat: matched file upload visual at the bottom to be more like the figma design * feat: file upload button now displays the required message when the file is too big * feat: added HTTP request for file upload after upload meter hits 100% * delete: deleted file upload button component to merge it with the Job Info page * feat: merged component into job info page code * feat: text box renders dynamically beside the 'Status In Canada' text box when 'Other' is selected. * feat: updated info module to include a 'read more' button if the description is too long * feat: added cover letter text field * feat: changed loading meter bar for file to account for the fact that the file upload is done through the backend; the loading meter will fail if the backend responds with an error * feat: updated form to include all necessary attributes to fit model file for job applications; added module for adding custom responses * feat: added base code for google recaptcha, fixed file upload UI bug * feat: added google widget. the widget currently has my site key but this will be used for demonstrative purposes for the pull request * feat: added google widget. the widget currently has my site key but this will be used for demonstrative purposes for the pull request * style: changed width of button to match the width of the google recaptcha widget * feat: added error handling for files that are greater than 5mb * feat: added an error message when a file that is greater than 5 mb is uploaded * chore: added props back to the component * chore: run formatter * feat: added job title and company at the top of the job posting page * feat: connected job info application page frontend and backend * fix: fixed UI bug when the user selects 'other' as their statis in canada * fix: fixed UX bug with adding custom responses * refactor: changed react component to use props again for dynamic rendering * refactor: changed routing to show main page again * chore: updated package.json * fix: fixed package.json and package-lock.json * refactor: added props again * feat: implemented a function to validate recaptcha tokens * refactor: removed statusOptions and handleSubmit props in Job Info Application page * feat: updated addJobApplication.js to include reCAPTCHA token validation * feat: token validation works now for Google reCAPTCHA * style: made job info application page smaller so that it fits on the screen entirely * feat: updated job post info page with new dropzone element (react-dropzone) * test: added token validation mock function for addJobApplications.test.js and added a token validation test * chore: run formatter * test: fixed addJobApplications.test.js * fix: fixing addJobApplications.test.js * fix: fixing addJobApplications.test.js * fix: trying to fix file creation error in addJobApplication.test.js * fix: attempting a fix by adding a mock pdf file * fix: attempting a fix by adding a mock pdf file * fix: trying to fix file upload testing in addJobApplications.test.js * fix: trying to fix file upload testing in addJobApplications.test.js * fix: trying to fix file upload testing in addJobApplications.test.js * feat: added better UIUX design when user uploads a file that is too large * style: made everything a bit smaller so it fits on one page * fix: adding print statements to debug * fix: adding print statements to debug * fix: trying to fix unit tests * fix: trying to fix unit tests * fix: trying to fix unit tests * fix: trying to fix unit tests * fix: removed unnecessaru console.log and console.error statements * refactor: removed console.log statements that were added during debugging * feat: page is now fetching job post information using an API call * feat: job postings are fetched from the database in the job postings table client view * feat: when clicking on the title of the job posting the corret url is dynamically created * feat: Job postings client table is now connected to the separate job posting view page * feat: when directed to the specific job posting application page, the correct job posting data is fetched * feat: replaced hardcoded locations with locations present in database * style: added style changes * style: added more padding for the input fields * chore: run formatter * style: added more padding for input fields * fix: fixed file upload component * chore: run prettier * fix: 'read more' button only shows when there is text overflowing from the job description * chore: removed unused import * fix: sort button works for ascending / descending job apps now * feat: filtering by job types work now * chore: run prettier * feat: sorting by date, job type, and location works and sorting combinations work * chore: run prettier * chore: fixed all eslint issues * refactor: made job posting sort fetching more efficient --------- Co-authored-by: Kashish Mittal <[email protected]> Co-authored-by: Mieko <[email protected]> * [TCES-89] Clean Up Job Applications Backend (#159) * job applications sorting and filtering (not fully functional) * remove uniqueApplicants * fixup! Signed-off-by: Kashish Mittal <[email protected]> --------- Signed-off-by: Kashish Mittal <[email protected]> Co-authored-by: Kashish Mittal <[email protected]> * Dthakkar/tces 50 filtering and sorting for job applications get endpoints for (#153) * add get request check * make base query with params * finish the export * add routing * remove unncessary comments * solve merge conflict in job_posts_api * fix typo * fix namingmismatches * fix typo in controller * fix syntax issues * Ensure all files are in job_applications and not job_posts * fixup! --------- Co-authored-by: Kashish Mittal <[email protected]> * Houmanebrahimi67/tces 73 single job posting page edit job post page (#156) * All Job Posts View: Replace mock data with backend endpoints * change function name * add pagination * edit job postings * fix query parameters for endpoints * fix page and pageSize parameters * fix filter sort * fix delete endpoint Signed-off-by: Kashish Mittal <[email protected]> * fix dialog for deleting job posts * clean up! Signed-off-by: Kashish Mittal <[email protected]> * fix error logs * clear error logs * fix error logs * fix error handling issues * Add a button to reset all applied filters * fix the reset button width and font * fixup! Signed-off-by: Kashish Mittal <[email protected]> * disable and enable reset all button * add single job post and edit page to all job postings * update edit job posting * fixing edit form bug, refactoring to remove unused files * remove console.log * fix routing issue & clean up some variable names * update component edits * fix frontend validation of min and max compensation Signed-off-by: Kashish Mittal <[email protected]> * add space between the the max and min text boxes Signed-off-by: Kashish Mittal <[email protected]> --------- Signed-off-by: Kashish Mittal <[email protected]> Co-authored-by: John Doe <[email protected]> Co-authored-by: Kashish Mittal <[email protected]> Co-authored-by: Mieko <[email protected]> Co-authored-by: Kashish Mittal <[email protected]> * styled filters to match border radius of figma, implemented reset button (#161) * 04kash/fixups (#163) * remove unused controller Signed-off-by: Kashish Mittal <[email protected]> * some UI/UX improvements Signed-off-by: Kashish Mittal <[email protected]> * some more fixups! Signed-off-by: Kashish Mittal <[email protected]> --------- Signed-off-by: Kashish Mittal <[email protected]> * make filter options query case insensitive (#165) * [TCES-76][READY-FOR-REVIEW] AWS Resume Storage & Retrieval (#160) * feat: added file name sanitization for resume upload * feat: changed filename to include job posting id so that all resumes associated with a job posting are deleted when the job posting is deleted * fix: file upload to s3 bucket works now * chore: run prettier * chore: removed unused imports * feat: skeleton code for handling presigned url download is commented * chore: run prettier * fix: fixed correct route url for getting presigned url * feat: presigned url PDF download works now * feat: presigned url link download works from the client side now * feat: presigned resume URL download works * chore: run prettier * fix: fixed incorrect return code * feat: fixed protected route usage for getting presigned URL for resume download * chore: run prettier * refactor: added back missing IsLoggedIn middleware and removed console.log statements. * fix: added isLoggedIn middleware to resume upload * fix: removed typo in addJobApplication controller * chore: remove console.log statement * delete: removed getOneJobApplication.js * fix: fixed submitting a job application * add success dialog box Signed-off-by: Kashish Mittal <[email protected]> --------- Signed-off-by: Kashish Mittal <[email protected]> Co-authored-by: Kashish Mittal <[email protected]> Co-authored-by: Kashish Mittal <[email protected]> * tces 107 : clean up frontend error checking (#164) * All Job Posts View: Replace mock data with backend endpoints * change function name * add pagination * edit job postings * fix query parameters for endpoints * fix page and pageSize parameters * fix filter sort * fix delete endpoint Signed-off-by: Kashish Mittal <[email protected]> * fix dialog for deleting job posts * clean up! Signed-off-by: Kashish Mittal <[email protected]> * fix error logs * clear error logs * fix error logs * fix error handling issues * Add a button to reset all applied filters * fix the reset button width and font * fixup! Signed-off-by: Kashish Mittal <[email protected]> * disable and enable reset all button * add single job post and edit page to all job postings * update edit job posting * fixing edit form bug, refactoring to remove unused files * remove console.log * fix routing issue & clean up some variable names * update component edits * fix frontend validation of min and max compensation Signed-off-by: Kashish Mittal <[email protected]> * add space between the the max and min text boxes Signed-off-by: Kashish Mittal <[email protected]> * clean up front end error * add dialog box instead of alert and console.error * error logs * add Divider * fixup! Signed-off-by: Kashish Mittal <[email protected]> --------- Signed-off-by: Kashish Mittal <[email protected]> Co-authored-by: John Doe <[email protected]> Co-authored-by: Kashish Mittal <[email protected]> Co-authored-by: Mieko <[email protected]> Co-authored-by: Kashish Mittal <[email protected]> * [TCES-101] Job Applications View: Replace mock data with backend endpoints (#162) * replace mock data with backend endpoints in job application view * fix sorting * pagination --------- Co-authored-by: Kashish Mittal <[email protected]> * [TCES-95] CSS Fixes Public Job Board (#168) * made background grey * chanaged bg color to grey, added scroll to top feature on pagination change * [TCES-96] CSS Fixes All Job Postings Page (#169) * rounded corners, changed background color, changed checkbox component and other miscellaneous styling fixes * navbar has higher z-index position so shadow always shown * fix table overlap background color cutoff --------- Co-authored-by: Kashish Mittal <[email protected]> * css fixes for job post single pages (#166) * css fixes for job post single pages * update pay frequency --------- Co-authored-by: Kashish Mittal <[email protected]> * make download resume button functional and also fix some prettier issues (#167) Signed-off-by: Kashish Mittal <[email protected]> --------- Signed-off-by: root <root@LAPTOP-9VOLP0N6> Signed-off-by: Kashish Mittal <[email protected]> Signed-off-by: Kashish Mittal <[email protected]> Co-authored-by: Kashish Mittal <[email protected]> Co-authored-by: root <root@LAPTOP-9VOLP0N6> Co-authored-by: William Nhut Lam <[email protected]> Co-authored-by: Harshith Latchupatula <[email protected]> Co-authored-by: Michelle Huang <[email protected]> Co-authored-by: Lana W <[email protected]> Co-authored-by: Shahmeer Khan <[email protected]> Co-authored-by: Dhairya Thakkar <[email protected]> Co-authored-by: Kashish Mittal <[email protected]> Co-authored-by: Jamie Yi <[email protected]> Co-authored-by: William Nhut Lam <[email protected]> Co-authored-by: Alex Lewis <[email protected]> Co-authored-by: Houman Ebrahimi <[email protected]> Co-authored-by: John Doe <[email protected]> Co-authored-by: penguinc00kies <[email protected]>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
CSS fixes for Public job post info page, and job post single page