Skip to content

Bitcoin Price Provider Selection in Settings #196

Description

@nejos97

Background

Currently, the app fetches the Bitcoin price from a single provider (Yadio) using the YADIO_API_URL environment variable. The goal is to allow users to select their preferred Bitcoin price provider from a list in the app's settings. This will make it easier to add new providers in the future and improve flexibility.

Objectives

  • Add a new menu item in the Bitcoin settings: Bitcoin Price Settings.
  • Display a list of available Bitcoin price providers (for now, only Yadio).
  • Allow the user to select their preferred provider (single selection).
  • Refactor the client code to hardcode the provider URL(s) instead of using the environment variable.
  • The selected provider should be used to fetch the Bitcoin price.
  • Prepare the codebase for easy addition of new providers and adapters in the future.

Acceptance Criteria

  • A new menu item Bitcoin Price Settings appears in the settings screen.
  • The settings screen displays a list of available Bitcoin price providers (currently only Yadio).
  • The user can select a provider from the list (single selection, radio button style).
  • The selected provider is persisted and used for all subsequent Bitcoin price fetches.
  • The provider URL is hardcoded in the client, not passed via environment variable.
  • The code is structured to allow easy addition of new providers and adapters.

Notes

  • For this ticket, only Yadio is available as a provider. Future tickets will add more providers and adapters.
  • UI/UX should be consistent with existing settings screens.
  • Ensure type safety and maintainability.

Out of Scope

  • Adding new providers or adapters (future work).
  • Changing the UI/UX of other settings screens.

References:

Activity

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions