feat(career): rebuild the public career frontend#2113
Merged
Conversation
This replaces the free-form `VacancyCategory` entity with a hard-coded `VacancyCategories` enum and reworks the public career pages, giving the 'Career' menu its own "Companies" entry so companies stay reachable even when they have no active vacancies. The categories (jobs, internships, traineeships, student jobs and thesis projects) now live in the enum, which also carries their singular and plural labels and a badge colour per category. They are stored as an `enumType` column on `VacancyRevision`. A migration backfills the new column from the old slugs and drops the table. The companies overview is a four-per-row card grid with a featured company spotlight, and each card links through to that company's page. A company page puts a details card, an "Open positions" list with one vacancy per category and a list of up to three upcoming activities the company organises in a sidebar, with the description next to it. The vacancies overview is a new `Career:VacancyOverview` live component whose category, company, label and search filters sync to the query string, the same way the activity overview works. A vacancy page mirrors the company one: the company, a coloured category badge, its labels and links out to the external website and any attachment sit in the sidebar, with the description alongside. On the overview the vacancy cards show a small company logo, the coloured badge and a clamped excerpt, and the whole card is a link. The seeders gained companies with vacancies across every category and descriptions of varying length, and a few upcoming activities are now tagged with an organising company. Closes GEWISGH-2068. Closes GEWISGH-2069.
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
This replaces the free-form
VacancyCategoryentity with a hard-codedVacancyCategoriesenum and reworks the public career pages, giving the 'Career' menu its own "Companies" entry so companies stay reachable even when they have no active vacancies.The categories (jobs, internships, traineeships, student jobs and thesis projects) now live in the enum, which also carries their singular and plural labels and a badge colour per category. They are stored as an
enumTypecolumn onVacancyRevision. A migration backfills the new column from the old slugs and drops the table.The companies overview is a four-per-row card grid with a featured company spotlight, and each card links through to that company's page. A company page puts a details card, an "Open positions" list with one vacancy per category and a list of up to three upcoming activities the company organises in a sidebar, with the description next to it. The vacancies overview is a new
Career:VacancyOverviewlive component whose category, company, label and search filters sync to the query string, the same way the activity overview works. A vacancy page mirrors the company one: the company, a coloured category badge, its labels and links out to the external website and any attachment sit in the sidebar, with the description alongside. On the overview the vacancy cards show a small company logo, the coloured badge and a clamped excerpt, and the whole card is a link.The seeders gained companies with vacancies across every category and descriptions of varying length, and a few upcoming activities are now tagged with an organising company.
Related issues/external references
Closes GH-2068.
Closes GH-2069.
Types of changes