-
Notifications
You must be signed in to change notification settings - Fork 270
[Remove Vuetify from Studio] Main navigation in Channels #5642
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
base: unstable
Are you sure you want to change the base?
[Remove Vuetify from Studio] Main navigation in Channels #5642
Conversation
|
👋 Thanks for contributing! We will assign a reviewer within the next two weeks. In the meantime, please ensure that:
We'll be in touch! 😊 |
|
Hlo @MisRob I have raised the draft pr ,so I think i should start with asking some clearification:
These above are the issue i wanted to clear and also just giving you a check on the work yet left :
|
| }, | ||
| fixedWidth: { | ||
| type: Boolean, | ||
| required: false, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@MisRob This prop is added here to deal with the full width functionality of sidepanelmodel
2acfefc to
4e0395c
Compare
|
Hi @MisRob, I’m making good progress on the sliding animation and scroll logic for the tabs. However, with the added implementation for the indicator and chevron behavior, StudioNavigation.vue is approaching 800 lines. To keep the components modular and maintainable, would you be open to me splitting the tab-wrapper logic into a third component, StudioNavigationTabs.vue? This would house the scrollable container and sliding indicator, leaving StudioNavigation.vue to focus purely on the KToolbar ,SidePanelModal and top-level layout. Or should I stick strictly to the two components mentioned in the issue description? (There can be some redudant logic which i am currenlty removing ,i just wanted to check if it is a problem if Studionavigation is of this size? or should i do something about it) |
|
Hi @Prashant-thakur77, nice work here, and I appreciate you're reaching out to clarify. Basically below you will find just confirmation for your ideas though :) and a clarification about scope. (1)
Yes that makes much sense and yes it's better than trying to override from outside. (2)
Again yes. As soon as work is finished, I will let a reviewer to check on details, but high-level configuring this behavior via a prop makes sense to me. (3)
I appreciate that you try to stay close to the original, but you don't need to replicate this part exactly - just use Kolibri navigation as reference. (4)
👍 (5)
Oh you're very diligent :)! Same answer as for (3). I'm sorry I think I should have emphasize this in the issue better. To begin with, you can just make it behave as in Kolibri. If there's any Studio-specific fine-tuning needed, we can open a follow-up issue, but right now I don't expect it will be needed (but if you already have some code, it'd be pity to lose it - so maybe keep it as backup, just in case?) (6)
I don't know if it's still relevant after my answer for (5), but in general, absolutely - any optimizations are welcome. Code snippets in issues only show direction that I consider important, and doesn't mean that it cannot be further improved - quite the opposite, I really welcome that you think about maintainability. |
|
@MisRob Thanks for the clarification.Now if we are not going very deep in the specific sliding and ripple animations ,then it does make the task easier,i was trying to replicate the sliding, scrolling of the tabs currently and yes i will keep it with me if needed later :) |
|
Re: (3) and (5) now I see that I wrote in the issue
in bold - so again apologies for that. I think I didn't realize that some details like animations etc. are a bit different from Kolibri's. Glad that we had a chance to talk through a draft and hopefully you didn't spend much time on those parts. |
|
@Prashant-thakur77 Good thanks for your patience :) |
No prob,to be frank i did learnt a lot while working on it.😁 |
|
Also I'm going to update the issue now @Prashant-thakur77 to reflect above - just to make it clear to reviewers too. |
|
Sure |
|
Issue update done @Prashant-thakur77, just search the body for "Update Jan 15 by MisRob" text and you will see three updated places. Please let me know if it's all clear or if you noticed any other areas like this. |
|
@MisRob Regarding the use of Side Panel Modal,I need to ask about a prop problem studio/contentcuration/contentcuration/frontend/shared/views/SidePanelModal/index.vue Lines 99 to 105 in ad4d81e
Currenlty 2 types of icon can be passed to sidepanelmodal and when we pass the close icon it gets to the righmost side and when we pass any other icon it moves to the left side studio/contentcuration/contentcuration/frontend/shared/views/SidePanelModal/index.vue Lines 26 to 30 in ad4d81e
Due to the above logic , and in current usecase of sidepanel for navigation I have passed the clear as the prop,hence it appears to the left side
but there are some prop errors such as What are your thoughts regarding this matter? |
|
Hi @Prashant-thakur77, do I understand right that the problem is: You need to use If so, then I would encourage you to update
or similar. Feel free to play and try to find a meaningful and clear API for all our use-cases :) Thanks for checking first. |
yes ,i also think this is the best way going forward for future implications too.
And it's working as required :) |



Fixes #5369
Summary
This Pull Request replaces the Vuetify-based AppBar and navigation components in the Channels view with new, custom-built components using the Kolibri Design System (KDS). This is a sub-issue of the larger project to remove Vuetify dependencies (#5060).
Components such as StudioNavigation, StudioNavigationTab, SkipNavigationLink;
Screencast From 2026-01-15 01-54-52.webm
References
Sub-issue of #5060.
Reviewer guidance
Login as a@a.com with password a
Go to Channels
This is currently a draft and progress is on going on it.