Skip to content

[Remove Vuetify from Studio] Copy token input in Settings - Account #5064

Open
@MisRob

Description

@MisRob

🙂 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:

  • KTextbox as basis
  • KIconButton copy button and logic
  • KCircularLoader for loading state

Then use StudioCopyToken in Account/index instead of CopyToken.

How to get there

Guidance

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
  • All user-facing strings are translated properly
  • The notranslate class 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

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions