Skip to content

Conversation

nishatalam24
Copy link

Summary

This pull request addresses and closes issue #5244 by creating a new StudioLargeLoader component and replacing the old loaders in two locations.

Changes

  • New Component: A new component, StudioLargeLoader.vue, was created to be a reusable, Vuetify-free loader that uses the Kolibri Design System's <KCircularLoader>.
  • Loader Replacement: The new component replaces the old loaders in both the ChannelSetModal and the Storage overview page.
  • CSS: Custom CSS was added to the new component to ensure it visually matches the original loader's appearance and centering.

References

This pull request closes #5244.

Reviewer Guidance

All user interactions have been manually tested, and the loaders now function as expected with a modern, KDS-compliant design.

@MisRob
Copy link
Member

MisRob commented Sep 23, 2025

Thank you @nishatalam24, we will assign a reviewer soon.

@MisRob MisRob changed the title Feature/fix loader 5244 [Remove Vuetify from Studio] Collection channels loader in Channels - New collection Sep 23, 2025
@akolson akolson self-requested a review September 23, 2025 13:44
.loader-text {
margin-top: 16px;
font-size: 1.2em;
color: #555555;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Lets use the the KDS colors here. There are quite a number of examples on how this can be done eg $themeTokens, $themePalette, etc. Heres a example

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Because of https://github.com/learningequality/studio/pull/5388/files#r2388418039, this css class should be removed as well

<KCircularLoader :size="70" />
<div class="loader-text">
<slot ></slot>
</div>
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is not required, so should be removed.

align-items: center;
justify-content: center;
min-height: 180px;
}
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

flex-direction: column;
align-items: center;
justify-content: center;
min-height: 180px;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think the loader size should be set using the size prop of the KCircularLoader so setting min-hight may not be useful in this case.

Copy link
Member

@akolson akolson left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi @nishatalam24! Great work so far! We have the building blocks in place, so just a little clean up and we should be good to go! Thanks!

@akolson
Copy link
Member

akolson commented Sep 29, 2025

Also a reminder to take a look at the linting errors reported here. I suspect that you haven't install the pre-commit hook. To install the hook, run pre-commit install and that should prevent you from committing unformatted files.

@akolson
Copy link
Member

akolson commented Oct 2, 2025

Hi @nishatalam24! This is just follow up about the progress on this. Hope everything is okay?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[Remove Vuetify from Studio] Collection channels loader in Channels - New collection
3 participants