-
Couldn't load subscription status.
- Fork 236
Open
Labels
DEV: frontendcommunity-contribution-in-progressgood first issueSelf-contained, straightforward, low-complexitySelf-contained, straightforward, low-complexityhelp wantedOpen source contributors welcomeOpen source contributors welcome
Description
🙂 Looking for an issue? Welcome! This issue is open for contribution. If this is the first time you’re requesting an issue, please:
- Read Contributing guidelines carefully. Pay extra attention to Using generative AI. Pull requests and comments that don’t follow the guidelines won’t be answered.
- Confirm that you’ve read the guidelines in your comment.
Sub-issue of #5060.
Complexity: Medium
Blocked by
learningequality/kolibri-design-system#1030
Summary
Migrate copy token input in Settings > Account from Vuetify to Kolibri Design System.
shared/views/CopyToken that is built with VTextField is used for the token. To remove this dependency from Account/index, create a new StudioCopyToken component with:
KTextboxas basisKIconButtoncopy button and logicKCircularLoaderfor loading state
Then use StudioCopyToken in Account/index instead of CopyToken.
How to get there
- Login as
[email protected]with passworda - Go to Settings > Account
Guidance
- Read the project this issue is part of
- When implementing the copy button, pay attention to a11y. Kolibri's search input clear button is a good example.
Out of Scope
- Do not refactor any other areas of the codebase
- Do not modify
CopyToken
Expected UI/UX changes
- Minor visual differences naturally stemming from the use of KDS
- When loading, instead of the blue linear loader on the bottom of the input, there will be a circular loader displayed in the place of the input
Acceptance criteria
General
- The specification above is followed.
- Except for "Expected UI/UX changes," there are no functional or visual differences in user experience.
- All user interactions are manually tested with no regressions.
- Pull request includes screenshots.
a11y and i18n
See the project's "Guidance" for useful references.
- Implementation meets a11y standards
- All components are LTR and RTL compliant (preview with
pnpm run devserversince:hotdoesn't render RTL properly) - All user-facing strings are translated properly
- The
notranslateclass been added to elements that shouldn't be translated by Google Chrome's automatic translation feature (e.g. user-generated text) - Mobile experience is reasonable
Unit tests
- If there is a unit test suite already, it is meaningfully updated (even if tests don't fail)
- If there is no unit test suite, a new one is created. Do not use obsolete
@vue/test-utilsapproach. Instead, use Vue Testing Library.
Metadata
Metadata
Assignees
Labels
DEV: frontendcommunity-contribution-in-progressgood first issueSelf-contained, straightforward, low-complexitySelf-contained, straightforward, low-complexityhelp wantedOpen source contributors welcomeOpen source contributors welcome
