-
Notifications
You must be signed in to change notification settings - Fork 4.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add developers pages, Proxify as a partner #2985
Merged
Merged
Conversation
This file contains 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
* feat: Add Talent profile dummy images New images are added as dummy placeholders * Add Proxify partner SVG logos Added two new SVG logos for the Proxify partner to the project: `proxify.svg` for standard view and `proxify-dark.svg` for dark mode compatibility. These additions ensure proper branding representation across various themes. * feat: Rename 'Partners' to 'Experts' and add 'Talent' item Updated the navigation menu by renaming the 'Partners' section to 'Experts' to encompass both 'Partners' and 'Talent'. Now, 'Experts' includes links to both '/partners/' and the newly added '/talents/' page. * feat: Add optional contact page link for partners page Updated the partner type definition to include an optional contactPage field. Modified PartnerPage.vue to conditionally create a mailto link or use the contactPage link if available. Improved the rendering of the description with unique keys for each paragraph. * feat: Add initial data about Proxify to partners.json * feat: Add initial dummy talent profiles to talent.json This commit introduces a talent.json file containing dummy information about developers. * feat: Add partner configuration file for Proxify integration with Talents Introduced a new partnerConfig.js file to configure Proxify as a partner. * feat: Add CardList reusable component with shuffling and filtering support Introduces a new CardList component in Vue, supporting item shuffling and filtering based on provided props. This component ensures that items are correctly displayed and includes conditional rendering for an optional link to browse all items. * feat: Add PageHero reusable component Introduce a new PageHero component to the theme, including slots for title and lead content. The component also comes with responsive styling and color transitions for a polished visual presentation. * feat: Add reusable PageSearchableListLayout component Introduces a new Vue component to support searchable lists with filtering functionality. Includes a search input tied to a computed filtered list of items and slots for customizable content and styling. * feat: Add reusable PageShowcaseListLayout component Introduce PageShowcaseListLayout.vue to streamline the layout for showcasing and featuring content. This component includes sections for hero, spotlight, featured items, and an optional join section, improving the modularity and reusability of the codebase. * feat: Add reusable CallToActionSection component Introduce a new CallToActionSection component with props for title, description, link, and linkText. The component includes basic styling and functionality for displaying a call-to-action with a styled button and description. * refactor: Refactor partner components using reusable layouts Replaced custom partner components with reusable layout components to enhance maintainability and consistency. This update includes migrating sections to `PageShowcaseListLayout`, `PageHero`, `CardList`, and `PageSearchableListLayout` components, and removing now redundant styles and logic. * feat: Add Talent profile page section components Introduced four new Vue components: TalentCompensations, TalentEducation, TalentExperiences, and TalentProficiencies. These components aim to modularize and display talent-related information, improving the structure and readability of the code. * feat: Add new Talent page hero and join sections This commit introduces two new components: TalentHero and TalentJoin. TalentHero showcases certified freelancers and includes links for more information. TalentJoin provides a call-to-action for developers to apply for long-term positions. * feat: Add TalentPageFooter.vue component Introduce the TalentPageFooter component to display footer content on the Talent Page. The footer contains partner logos, social links, and a contact button, all dynamically populated from the partnerConfig. * feat: Add TypeScript interfaces and utility function for talents Introduced comprehensive interfaces to represent talent profiles, experiences, and compensations in `type.ts`. Also, added a utility function `getProfileImage` in `utils.ts` to generate profile image URLs. This helps in organizing and managing talent-related data more efficiently. * refactor: Refactor compensation and proficiency Talent components Updated class names and styles for consistency in TalentCompensations.vue. Added titleTag prop in TalentProficiencies.vue to allow dynamic heading tags. * feat: Add TalentCard.vue component Introduce a new TalentCard component to display talent profiles. Includes hero and non-hero styles, conditional rendering for profile image, and sections for compensation and proficiencies. * feat: Add searchable Talents page Introduce a new talents page with search functionality. Implement TalentAll.vue component to filter talents by name, region, or skill using a user-friendly interface. * faat: Add dynamic talent page with routing paths Created a dynamic page for talents using `vitepress`, rendering talent-specific data based on URL parameters. Also added corresponding routing paths by mapping talent IDs from a JSON file. * feat: Add talent loading components Introduce TalentLoading component and integrate it into the talents index page. Modify button styling in PageShowcaseListLayout.vue to use the "accent-button" class for better consistency across the application. * feat: Add TalentPage component This new component displays detailed information about a talent profile, including name, location, description, compensation, proficiencies, experiences, and education. It also features responsive design adjustments and links for contacting the talent. * fix: Fix title for TalentProficiencies and update TalentHero Added a conditional title prop to the TalentProficiencies component in TalentCard.vue to enhance clarity when displayed with a hero. Also, improved the user experience in TalentHero.vue by adding a line break before the 'Apply here' link for better readability. * feat: Add "highlighted" attribute to talent entries This update introduces the "highlighted" attribute to specific talent entries in the talent.json file. The attribute is set to true, marking these entries as noteworthy for potential feature use. * feat: Add proficiency section to partner config for talent page Introduced a new `proficiencies` object to the partner configuration. This object includes a `skillsPerCard` property with a value of 5, enhancing the organization and display of partner skills. * feat: Add show all/less button to Talent Proficiencies Implemented the "show all" button to toggle the visibility of proficiencies when they exceed the partner-configured limit. This involves updating the component logic and adding a new button with relevant styles. * feat: Refactor styles and update UI components on talent pages Refactored various CSS selectors to enhance the visual consistency across different components. Added missing text decorations and adjusted padding and font sizes for better readability. Removed redundant styles and improved responsiveness on smaller screens. * feat: Remove unused divider and update section borders in talent page Eliminated the redundant divider element and associated CSS. Added a bottom border to the last text section for consistent styling. * feat: Add TalentTimezoneFilter component Implemented TalentTimezoneFilter component for selecting timezones. Removed redundant timezone selection logic from TalentLoading.vue and optimized its layout accordingly. * feat: Make browse more link optional in page layout This change allows `browseLinkText` and `browseLinkUrl` to be optional props, enhancing flexibility. The featured CTA slot now conditionally displays the browse link only if `browseLinkUrl` is defined. This ensures the layout remains clean when the browse link is not provided. * refactor: Remove PageSearchableListLayout component Removed the PageSearchableListLayout.vue component and PartnerAll.vue is reverted to original file. * refactor: Remove TalentAll component and associated files Deleted src/talents/all.md and src/talents/components/TalentAll.vue. This removes the Browse All Talents page and its related components, reducing redundancy in the codebase. * feat: Remove highlighted profile logic and update UI elements Removed the highlighted profile feature in `talent.json` and related logic in `TalentLoading.vue`. Updated UI elements to reflect these changes, including adjusting filters and adding a new call-to-action button for contacting us. * feat: Update TalentPage styling and navigation link Change the "Back to all talents" link to point to "index.html" and adjust the border styling for text sections. Additionally, add margin adjustments for better spacing and visual consistency in the talent description area. * feat: Prevent button click event propagation and refactor styling Added stop modifier to prevent event propagation on the 'Show all' button click in TalentProficiencies. Refactored TalentCard component for better structure and responsive design, improving maintainability and readability. * feat: Toggle visible proficiencies in TalentProficiencies.vue Add conditional logic to control the visibility of proficiencies based on the enableShowAll prop. This ensures that only the necessary proficiencies are displayed unless the show-all feature is enabled. * feat: Refactor TalentCard links to use router navigation Replaced anchor tags with router navigation for better SPA behavior. Updated styles to ensure proper responsiveness and interaction feedback. Adjusted media queries for improved layout consistency. * feat: Refactor and enhance talent components UI and UX Removed redundant v-if conditions in TalentCompensations.vue. Refactored TalentPage.vue to improve image handling and ensure responsive design. Updated styles in TalentEducation.vue and TalentExperiences.vue for better consistency, and corrected media query breakpoint in TalentLoading.vue. * feat: Add diagram component for talent profile Introduced a new Vue component, TalentProfileDiagram, that dynamically fetches and displays SVG content based on props. This component supports optional title, image, and text properties for enhanced customization. * refactor: Refactor TalentPage to use TalentProfileDiagram component Replaced static profile image and score sections with the reusable TalentProfileDiagram component for better modularity and maintainability. Updated utility function name to `getTalentProfileImage` for consistency with the new component. * refactor: Rename getProfileImage to getTalentProfileImage in talent utils This change clarifies the function's purpose by specifying that it deals with talent profile images. It improves code readability and maintainability by making the function's intent more explicit. * refactor: Rename image retrieval function in TalentCard.vue Updated the function call from `getProfileImage` to `getTalentProfileImage` for better clarity and consistency. This change improves code readability and ensures the purpose of the function is more precisely communicated. * feat: Replace talent profile SVG images This commit replaces SVG files for each talent profile. * refactor: Replace talent profile SVG images Updated the SVG assets for all talent profiles to newer versions. The new images provide better clarity and align with the latest design guidelines. * feat: Adjust media query breakpoints in TalentCard.vue Increase the maximum width for small screens from 560px to 640px and adjust the corresponding breakpoint for medium screens. These changes ensure better responsiveness across different devices and screen sizes. * refactor: Update svg files for Talent The 1-score.svg file in the talents images directory has been removed. Score files are updated with new ones. * refactor: Update SVG paths to enhance visual precision Adjusted coordinates and dimension values in the SVG paths to improve visual accuracy and alignment. These updates ensure the SVG rendering is more consistent and visually appealing in various contexts. * refactor: Refactor talents directories to developers Renamed all instances of "talent" to "developer" within the project. This includes file and directory names, variable names, import paths, and template contents to better represent the content and maintain clarity. * feat: Add developer SVG asset Introduced a new SVG file to represent developer scores, profile, and image. * feat: Update developer profiles in developers.json New developers are added on the list. Enhanced formatting by using nested descriptions and reordered proficiencies. * refactor: Refactor developer's JSON descriptions into structured format Replaced string descriptions with structured JSON objects providing clear paragraphs and lists. This improves readability, maintainability, and consistency across the developer's JSON profiles. * feat: Update Proxify partner details in JSON file Revised Proxify's introduction and description to reflect their capabilities in hiring expert Vue.js developers quickly and at fair prices. Detailed the benefits of working with Proxify, including their rigorous vetting process, time-to-hire, and flexible, cost-effective solutions. * feat: Update developer's partner configuration and links to use UTM parameters Refactor partnerConfig.js to include UTM-based URLs for various links, and update related Vue components to use these new URLs. This enhances tracking capabilities for partner interactions. * refactor: Rename developer paths to include developer slug Updated developer paths and components to use slugs based on developer IDs and aliases for more descriptive URLs. Changes were made to file routes, Vue component props, and path generation. * feat: Add titles to developer and partner pages Updated the `src/developers/index.md` and `src/partners/index.md` files to include titles "Vue Developers" and "Vue Partners" respectively. This improves clarity and user experience by providing clear headings for each page. * refactor: Rename "timezone" to "region" in developers module Updated all instances of "timezone" to "region" across JSON profiles, Vue components, and type definitions. This enhances clarity and consistency in the representation of developer data. * refactor: Refactor component classes to follow BEM naming conventions Updated the .vitepress components to use BEM naming conventions for improved readability and consistency. Changes include renaming various class names across several components and updating associated styles accordingly. * feat: Add names to developer profiles configuration Updated developers.json to include the full names of developers. Adjusted the DeveloperProfile interface in type.ts to accommodate the new 'name' field. * refactor: Refactor to improve code readability and consistency along Developer components Standardized class naming across components for better consistency and readability. Removed redundant alias references, making way for a more intuitive "name" property. Simplified template structures and reduced repetitive code, enhancing maintainability. * refactor: Update URLs and clean up UTM campaign parameters Changed URLs in partnerConfig.js and partners.json to ensure consistency with the "hire-vuejs" path. Updated the UTM campaign parameter to replace slashes with hyphens and remove extra dashes for better readability and tracking. * feat: Update developers.json: revise proficiencies and compensations Reordered and streamlined the list of proficiencies for various developers. Updated compensation details to reflect new rates for both part-time and full-time engagements. * feat: Update DeveloperPage.vue score title for clarity Changed the title from "Candidate score" to "Engineering excellence score" to better reflect the nature of the evaluation. This update aims to provide a clearer understanding of the score's context and significance for Vue.js developers. * feat: Update hero section titles in developers partnerConfig.js Changed the title from 'Vue Developer' to 'Vue Developers' and updated the description to reflect the plural form. This enhances clarity and consistency in messaging about the Vue freelancers. * feat: Add JSDoc comments and improve utility functions for developer utils Enhanced the utility functions by adding detailed JSDoc comments for better readability and documentation. Improved the `generateUTMUrl` function to handle empty base URLs properly and added a new `truncateTextFromArray` function to combine and truncate strings from an array. * feat: Truncate developer descriptions and update media queries for developer card Introduced text truncation for developer descriptions to improve UI consistency. Adjusted media queries for the developer card header to enhance layout adaptability on different screen sizes. * refactor: Remove max-width constraint on showcase list items This change removes the max-width property from the showcase list items, allowing them to expand beyond 260px if necessary. This adjustment aims to provide more flexibility in item display and improve visual consistency. * refactor: Refactor text truncation utility function for developer profiles Combined text array into a single variable for clarity and streamlined the implementation logic. Added logic to remove trailing commas or punctuation before appending ellipsis for cleaner output. * refactor: Refactor CSS styles in Developer Card Reorganize CSS by moving hero-specific styles for developer name and location into a consolidated section. This improves readability and maintainability of styling rules. * refactor: Refactor DeveloperExperienceDescription interface Split DeveloperExperienceDescription into separate ParagraphDescription and UnorderedListDescription interfaces. This change improves type safety by providing specific interfaces for paragraph and unordered list descriptions. * refactor: Update Proxify URLs in partners.json Corrected the URL format in the Proxify partner entry to use dashes instead of slashes in the utm_campaign parameter. This ensures consistency and proper tracking for partnership-related traffic. * feat: Update SVGs and CSS for responsive design for developer profile diagrams Replaced fixed width and height attributes in SVGs with 100% for width and auto for height, ensuring they are responsive. Modified CSS to improve layout flexibility and enhance responsiveness of profile images. * feat: Enhance spotlighted profile selection logic Refactored the spotlighted profile selection to use a reactive `ref` rather than `computed` for better control. Moved profile initialization to `onMounted` to ensure proper component lifecycle handling. This approach improves maintainability and extensibility of the profile selection logic. * feat: Add prependText to CandidateProfile component in developer profile This commit enhances the CandidateProfile component by adding prependText detailing how developer parameters correlate with future success. It also includes minor formatting adjustments for improved readability. * feat: Update 'Contact us' text to 'Contact Proxify' in developer pages Changed the text in 'accent-button' links from 'Contact us for a tailored fit' to 'Contact Proxify for a tailored fit'. This modification ensures brand consistency across the DeveloperLoading.vue component. * refactor: Remove DeveloperRegionFilter component from developer pages Deleted the DeveloperRegionFilter.vue file and related references in DeveloperLoading.vue. Streamlined the logic by removing region-based filtering and updated layout styles accordingly. * feat: Make CallToActionSection props optional and add slot support Updated `CallToActionSection.vue` to make `props` optional and provided a default value for `showDivider`. Additionally, added conditional rendering for `title`, `description`, and `link` props, and introduced a slot for more flexible content injection. * feat: Enhance CardList component with item splitting and default props Added support for splitting items by a given property and shuffled items only when specified. Refactored to include default prop values and renamed some variables for better readability and consistency. * feat: Adjust layout and spacing on DeveloperPage and DeveloperExperiences Reduced column gap on DeveloperPage component for smaller screens and introduced larger gap for wider screens. Added margin to the description section and adjusted gap between items in DeveloperExperiences component for better responsiveness. * feat: Update compensation descriptions in developers.json Revised the compensation details for part-time and full-time roles across multiple entries to clarify "per month" and "40 h per week" information. This change ensures consistency and improves the readability of the compensation data. * Simplify featured-actions CSS rules for page showcase layout Remove redundant flexbox properties from the .featured-actions class and unnecessary nested rule, ensuring cleaner and more maintainable styles. This change improves code readability and reduces complexity in the CSS layout. * feat: Update partner name dynamically in Developer Loading page Modified the contact button text to display the partner name dynamically using `partnerConfig.partnerName` instead of the hardcoded "Proxify". Removed unnecessary deep-scoped styles targeting `.featured-actions`. * Make titles optional and improve layout styling for developer loading page Add conditional rendering for titles in PageShowcaseListLayout.vue. Enhance DeveloperLoading.vue with better action selection styles and responsive design adjustments. * feat: Update currency format in developers.json file Changed currency format from "EUR" to "€" for part-time and monthly compensations across multiple entries to standardize representation. This improves readability and consistency in the document. * refactor: Improve layout of featured-actions in DeveloperLoading.vue Adjusted the CSS for the .featured-actions class to set width to auto and display to block. This ensures better alignment and positioning on different screen sizes. * feat: Format compensation numbers in developers.json Added commas to the compensation amounts for better readability. This change affects the part-time and monthly compensation fields across multiple developer entries. No logic or content updates were made. * feat: Update labels and styling on Developer components Changed the "Back to all developers" label to "All Vue.js certified developers" in DeveloperPage.vue. Modified the featured title in DeveloperLoading.vue from "Vue.js Certified individuals" to "Vue.js Certified developers". Added a cursor style to the .developer-card__proficiencies class in DeveloperCard.vue. * feat: Adjust page grid layout and image sizes on Developer pages Updated the grid-template-rows and margins on DeveloperPage.vue for better layout support for various screen sizes. Improved alignment and positioning of main action buttons, especially for responsive design. Added flex properties to developer card avatars to maintain consistent sizing. * feat: Update developer ids and rename profile image files accordingly Renamed the developer profile image files for better consistency and traceability in the naming convention * feat: Add page title to developer page configuration This commit introduces a new metadata field, 'title', to the developer page configuration. It helps to ensure that the page has a proper title for better identification and user experience. * feat: Update website link for Vue partner config Replaces `websiteUrl + 'vue'` with `hireUrl` to ensure proper redirection for Vue's partner page. This change fixes a routing issue for users accessing the partner section. * feat: Open developer page footer website link in new tab Updated the website link in DeveloperPageFooter to open in a new tab. This enhances user experience by preventing disruption of the current browsing session. * feat: Update margins and styles for developer components Adjusted various margin and styling properties in DeveloperPage.vue, DeveloperLoading.vue, DeveloperProfileDiagram.vue, and DeveloperCard.vue to improve consistency and layout. Changes include modifying margin-bottom values, adding border styles, and updating font-weight and font-size specifications. * feat: Rename CSS class in DeveloperProfileDiagram.vue Updated the CSS class name from `.developer-diagram` to `.developer-diagram__svg-wrapper` for better clarity and specificity. This change affects dark mode styles as well to maintain consistency. * feat: Add profile and score diagram sections to partnerConfig for developer pages Introduced 'profileDiagram' and 'scoreDiagram' configurations in `partnerConfig.js` to display candidate profile and engineering excellence score details. These additions aim to provide more insights into the candidate's evaluation and score distribution. * refactor: Remove image property and related utilities from developer components Simplified image handling by directly using developer ID for profile images. Removed unused image property from components and type definitions. Ensured optional sections are conditionally rendered. * feat: Enhance developer components conditional rendering and fix developers page name Refactored multiple components to include conditional rendering for various elements, ensuring only available data is displayed. Updated `DeveloperLoading.vue` to `DeveloperLanding.vue` and adjusted imports accordingly. * feat: Update developer profile diagrams Updated the SVG files for developers profiles. * feat: Adjust SVG wrapper width in DeveloperProfileDiagram Removed redundant color declarations and set a max-width of 500px for the SVG wrapper. This improves responsiveness and simplifies styling by focusing on width constraints. * feat: Update monthly compensation for developers The monthly compensation for the full-time developer was corrected from €6,199 to €7,375. This update reflects a change in the expected salary for the given hours worked. * feat: Remove border from DeveloperCard component This change updates the DeveloperCard component styles by eliminating the border to ensure a cleaner appearance. The modification is minimal but improves the overall design consistency. * feat: Fix formatting issue in developers.json Corrected the spacing inconsistency in the compensations section for monthly salaries. This improves the readability and consistency of the JSON data. * feat: Remove redundant dark mode hover styles for developer buttons Deleted unused hover styles for dark mode elements from multiple components. This cleanup reduces CSS redundancy and enhances maintainability. * refactor: Update descriptions structure for developer experience Refactored the JSON schema and component logic to use 'isGrouped' property instead of 'type' for experience descriptions. This simplifies the handling of grouped and ungrouped content and improves the overall code readability. * refactor: Remove unnecessary semicolons for consistent code style This commit removes unnecessary semicolons from several Vue component files to align with the existing coding style. Additionally, it ensures the codebase has a consistent appearance and improves readability. * feat: Update key for description list in PartnerPage.vue Changed the key for the description list items from the description value to their index. This prevents potential issues with duplicate keys and improves the rendering stability. * feat: Replace developer 5328 profile image Updated the developer profile image to one with the correct aspect ratio. This ensures the profile image displays properly across all devices. * feat: Replace proxify hero image Updated the hero image to use a new version with better resolution. This change is intended to improve the visual appeal and clarity of the homepage. Updated file paths and references accordingly. * feat: Clean list of skills of developers Removing obvious skills such as git and JIRA. Rearranging the proficiencies in order of importance, making sure the top five most relevant skills are shown in the top. * get dev images optimized from cloudinary * update svg scores * update dev experience periods * add website hostname to hire form query params * remove hostname form hire form url * fix cloudinary default props * add developer titles * update devs to be taken by slug, remove unnecessary computed variables * move cloudinary URL to partnerConfig * comment to keep semicolon --------- Co-authored-by: Viktor Jarnheimer <[email protected]> Co-authored-by: Avet <[email protected]>
* update proxify links in developer pages * remove unnecessary commas and semicolons * rename developer image component
✅ Deploy Preview for vuejs ready!
To edit notification comments on pull requests, go to your Netlify site configuration. |
I have switched this to draft, as we are waiting for @vue/theme navbar badge approval. |
* add badge to menu * update dev profile SVGs * change a developer profile * update nav badge config to object type * add new developer profile * update @vue/theme package to support nav badges
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 of Problem
Add Proxify to the partners list, Add Vue developers pages