-
Notifications
You must be signed in to change notification settings - Fork 47
feat: onboarding, org dashboard, exclusive bounties, provider account mgmt #97
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
+1,991
−658
Conversation
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
802a703 to
07ef6ee
Compare
- Added `init_preview/2` function to create a new organization and user for preview contexts. - Introduced `OrgPreviewCallbackController` to handle preview login and session management. - Updated routing to include a new preview path and adjusted user authentication flow for preview contexts. - Enhanced `UserAuth` with methods for signing and verifying preview codes. - Updated `PreviewNav` to manage navigation for preview contexts effectively. - Added tests for the new preview functionality and verification logic.
- Introduced `Contributor` schema to track contributions associated with repositories and users. - Implemented `ensure_contributors/3` function to fetch and create contributors from GitHub. - Added `list_repository_contributors/2` function to retrieve contributors for a specific repository. - Updated `DashboardLive` to display contributors in the organization dashboard. - Created migration for the `contributors` table and added necessary indexes. - Enhanced GitHub client and behavior to support contributor retrieval.
- Introduced `complete_signup_status/1` function to track user signup completion based on the presence of a user handle. - Updated `assign_achievements/1` to include the new signup status in the dashboard achievements.
- Added `list_contributors/1` function to retrieve contributors for a specific organization from GitHub. - Updated `DashboardLive` to display contributors based on the current organization. - Removed unused GitHub integration section from the dashboard for cleaner UI.
- Updated `achievement_todo` functions to handle various achievement statuses, including new conditions for GitHub app installation. - Modified `assign_achievements` to include achievement IDs for better tracking. - Adjusted the dashboard rendering to display achievement todos alongside existing achievements.
- Added event handling for sending and verifying login codes via email. - Introduced a new form for users to input their email and receive a login code. - Enhanced the dashboard to manage login state and display appropriate forms based on the login process. - Integrated Swoosh for email delivery of login codes.
- Refactored the onboarding process for organizations to improve handle generation. - Introduced `generate_handle_from_email/1` to create user handles from email addresses. - Updated `ensure_unique_handle/1` and `ensure_unique_org_handle/1` to remove repository dependency. - Simplified the onboarding logic in `onboard_organization/1` by directly using the new handle generation methods. - Adjusted the onboarding live view to utilize the new handle generation function, enhancing code clarity and maintainability.
- Changed the user update logic to capture the updated user after changing the handle and email. - Enhanced the socket assignment to ensure the current user is updated after a successful login. - Added current user and OAuth URL to the achievement todo component for improved context.
- Changed the OAuth URL in the achievement todo component to use the `Github.authorize_url()` function for improved clarity and maintainability. - Removed the unused `oauth_url` assignment from the component's parameters to streamline the code.
- Modified the `register_github_user` function to accept the current user as a parameter, enhancing the user registration flow. - Updated user handling to ensure proper updates and deletions of existing GitHub identities during registration. - Removed the unused `update_github_token` function to streamline the codebase. - Cleaned up the dashboard live view by removing unnecessary conditional rendering for bounties.
- Enhanced the `update_user` function to utilize Ecto changesets for updating GitHub user information, improving clarity and maintainability. - Streamlined the deletion of associated identities and updated user references in related repositories and contributors. - Added debugging output in the OAuth callback controller for better traceability during the authentication process. - Updated the dashboard live view to include achievements assignment upon successful login, enhancing user experience.
- Updated the user login logic to check for existing users by email before updating their handle and email. - Implemented redirection for users with existing accounts to generate a login token, improving the login flow. - Maintained the assignment of achievements and flash messages upon successful login, enhancing user experience.
- Introduced a new `migrate_user` function to streamline the migration of user data across related entities when updating user accounts. - Updated the `update_user` function to utilize the new migration logic, improving code clarity and maintainability. - Refactored the installation callback controller to enhance the handling of user installations and ensure proper context management. - Improved the dashboard live view by correcting the subtitle rendering for bounties, enhancing UI consistency.
- Removed debugging statements and simplified the account handling logic in the `Algora.Accounts` module. - Updated the user registration process to directly use the provided user information for display names. - Enhanced the user update logic in the `Algora.Accounts.User` module to conditionally set parameters based on the presence of a provider ID, improving clarity and maintainability. - Added an alias for the `Organizations` module in the onboarding live view for better organization of dependencies.
- Updated the assignment of achievements in the dashboard live view to exclude those with a status of :completed, improving the relevance of displayed data.
- Changed the visibility of the `assign_more_bounties` function to private, enhancing encapsulation. - Updated the dashboard live view to include a new layout for displaying bounties, improving UI consistency and user experience. - Implemented tab navigation for open and completed bounties, allowing users to filter displayed bounties more effectively. - Enhanced the handling of transactions and bounties, ensuring better data management and presentation.
- Reorganized the assignment of bounties and transactions in the dashboard live view for improved clarity and performance. - Updated the handling of parameters to include current status and statistics, enhancing the data presentation. - Simplified the `to_bounty_rows` function to directly return bounty data, streamlining the code. - Adjusted UI elements for better user engagement with contributors and bounties.
- Reduced padding in section headers for a more compact layout across various live views. - Removed unnecessary margin adjustments to improve visual consistency in the display of tech badges and community elements. - Enhanced the dashboard live view by adding titles and subtitles to sections, improving context and user engagement.
- Added a new "none" button variant for improved styling flexibility. - Refactored button components in the dashboard live view to utilize the new variant, enhancing the user interface. - Streamlined button interactions for offering bounties and tips, improving user engagement and clarity in actions.
- Renamed variables and functions for clarity, changing `top_earners` to `experts` and `matching_dev` to `developer_card`. - Introduced a share drawer for sharing bounties, tips, and contracts, enhancing user interaction. - Updated event handling to support sharing opportunities, improving the overall functionality of the dashboard. - Adjusted UI elements to reflect the new sharing features, ensuring a cohesive user experience.
- Enhanced button styles for bounties, tips, and contracts to improve visual feedback with updated hover and focus states. - Added icons to buttons for bounties, tips, and contracts, enhancing user experience and clarity of actions. - Streamlined button classes for consistency across the dashboard, ensuring a cohesive design.
- Added detailed forms for sharing bounties and tips, improving user interaction and clarity. - Updated button styles and icons for consistency across the share drawer. - Enhanced the layout of the share drawer content to provide a better user experience when sharing opportunities.
- Introduced a conditional alert in the dashboard that prompts users to connect their GitHub account if they have uncompleted achievements related to GitHub status. - The alert includes a message and a button to close the share drawer, enhancing user guidance for creating a share drawer type. - Maintained existing functionality for displaying share drawer content when the GitHub connection is not required.
- Consolidated form handling by replacing individual form assignments with a single `@form` variable for contract, tip, and bounty forms. - Updated the `create_tip` function to use `selected_developer` instead of fetching the recipient from the token. - Enhanced the share drawer logic to dynamically assign the correct form based on the selected share drawer type, improving code maintainability and readability.
- Updated the ticket reference structure in the tip creation process to ensure consistent data handling. - Replaced individual form assignments with a unified approach for contract, tip, and bounty forms, improving maintainability. - Enhanced the share drawer content rendering to dynamically utilize the appropriate form based on the selected share drawer type, streamlining the user experience.
…ardLive - Modified the developer card rendering to pass the contract for each user directly, enhancing clarity and performance. - Updated button styles for better visual feedback, including hover and focus states, to improve user experience. - Simplified conditional rendering logic for contract-related buttons, ensuring consistent behavior across the dashboard.
- Enhanced conditional rendering for contract buttons based on user contract status, adding a new button for draft contracts. - Updated button styles for active and draft contracts to ensure consistent visual feedback and improve user experience.
- Updated the contract status type to include a new tuple format for querying multiple statuses. - Modified the query logic to support filtering contracts by a list of statuses, improving flexibility in contract retrieval. - Adjusted the DashboardLive module to fetch contracts based on the updated status handling, allowing for both draft and active contracts to be displayed.
…ardLive - Modified button styles for bounty and contract buttons to enhance hover and focus effects, improving user experience. - Updated shadow colors for better visual distinction and consistency across the dashboard.
…butes - Added visibility and shared_with fields to the Bounty schema, allowing for better control over bounty access. - Updated the bounty creation process to include these new attributes, enabling exclusive sharing with specified users. - Implemented alert notifications for exclusive bounties to inform shared users. - Adjusted related forms and queries to accommodate the new fields, improving overall functionality and user experience.
- Added a clause to handle empty tech stack queries, ensuring that the query remains valid and functional. - Enhanced the overall query logic for better flexibility in bounty retrieval based on tech stack criteria.
- Removed unnecessary height class from the inactive account section, streamlining the layout. - Improved overall readability and maintainability of the code in the DashboardLive module.
- Updated the query options to use the current user directly, improving clarity and maintainability. - Removed commented-out tech stack and amount filters, simplifying the code structure. - Enhanced the assignment of bounties by utilizing the updated query options, ensuring better integration with the existing logic.
- Changed the `:current_user_id` criterion to `:current_user`, improving type safety by using the User struct. - Simplified query logic for handling visibility based on the current user and owner ID, enhancing clarity and maintainability. - Adjusted the shared_with assignment in DashboardLive to handle different user scenarios, ensuring robust developer selection logic.
- Introduced a check for existing GitHub users during the update process to prevent conflicts. - Simplified the user parameter handling by consolidating the logic for setting user attributes. - Added validations for email and handle uniqueness, improving data integrity and user management.
- Removed unnecessary height classes from the inactive account, contracts, and bounties sections, streamlining the layout. - Improved overall readability and maintainability of the code in the DashboardLive module.
- Eliminated unnecessary debug statements related to user information, enhancing code cleanliness and maintainability. - Streamlined query handling by focusing on relevant logic without extraneous output.
- Updated the update_user function to include identity handling, improving the user update logic. - Consolidated the migration of old users to ensure data integrity during updates. - Streamlined the transaction process for better error handling and maintainability.
- Increased vertical spacing in the main container for improved visual hierarchy. - Reduced margin in the bounties section to enhance layout consistency and readability.
- Introduced functions to retrieve and sum followers count for users, enhancing user data handling. - Implemented logic to determine if an organization should be featured based on total followers. - Updated organization changes to reflect the new featured status during installation handling.
zcesur
added a commit
that referenced
this pull request
Apr 15, 2025
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.
No description provided.