Build contribution calendar component on profile
What does this MR do and why?
Related to #378676 (closed)
In &9056 we are incrementally migrating the tabs on the profile from a mix of HAML/jQuery to full Vue.
This MR creates a Vue component for the contribution calendar and renders it in the Overview tab
. It does not yet implement clicking on a day to see the specific activity. That is currently blocked by #378695 (closed) and will implemented in a separate MR.
Furthermore, since app/assets/javascripts/pages/users/activity_calendar.js is still required when the profile_tabs_vue
feature flag is disabled we are keeping it for now and using it in the Vue component. Once we finish &9056 and remove the feature flag we can move that logic directly into app/assets/javascripts/profile/components/activity_calendar.vue
and remove that file. This will be tracked in #393099
Screenshots or screen recordings
Desktop
profile_tabs_vue feature flag disabled |
profile_tabs_vue enabled |
---|---|
![]() |
![]() |
Tablet
profile_tabs_vue feature flag disabled |
profile_tabs_vue enabled |
---|---|
![]() |
![]() |
Mobile
profile_tabs_vue feature flag disabled |
profile_tabs_vue enabled |
---|---|
![]() |
![]() |
How to set up and validate locally
- Enable the
profile_tabs_vue
feature flagbin/rails console
Feature.enable(:profile_tabs_vue)
- Go to your profile
MR acceptance checklist
This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.
-
I have evaluated the MR acceptance checklist for this MR.