GithubHelp home page GithubHelp logo

idevecore / valuta Goto Github PK

View Code? Open in Web Editor NEW
14.0 14.0 5.0 18.26 MB

This is a simple application for converting currencies, with support for various APIs.

License: GNU General Public License v3.0

Python 82.47% CSS 1.55% Meson 15.98%

valuta's People

Contributors

bragefuglseth avatar comradekingu avatar flipflop97 avatar idevecore avatar justpassingby06 avatar nathanbnm avatar oersen avatar pentrail avatar rene-coty avatar roberehl avatar santossi avatar ser82-png avatar umeaboy avatar weblate avatar yakushabb avatar yoseforb avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

valuta's Issues

Avoiding spinner for short loading times

The loading spinner can get quite disruptive when it's shown every time a character is typed. The conversions are usually fast enough to not require one. Is it possible to only show it when the conversion turns out to take e.g. > 1 second?

Removing in-app theme selector

From the UI styling guidelines:

Per-app style preferences are primarily useful for text editing apps, or apps which users use for long periods of time. In these cases, the style preference can be useful as a way of controlling visual contrast and brightness.

Apps that don't fit this description generally shouldn't have an in-app theme switcher, but just follow the system setting instead.

Improve UI layout

The current layout of the app, for reference:

Skjermbilde fra 2023-12-08 23-40-51

It has some issues: Different elements that are actually related to each other (like output currency and the output value) aren't visually grouped, and a button press is required to make the conversion. Here's a suggestion for improving it:

currency-converter

The lightbulb icon would do the same thing as the current "disclaimer" link. The results would be updated live, and not just when the convert button is pressed.

I would have addressed the UI when beginning your Circle review, but decided to suggest this beforehand so we don't have to spend so much time on design details in the actual review process.

Graphs of exchange rate history

Would be neat if one could view historical exchange rates with a nice graph, a bit like the following between EUR and USD from Google:
image

Search using abbreviation

When searching for currencies, it would be nice to be able to search using just the abbreviation.

  • Ex: instead of being forced to type "United Sta..." one could just type "USD" instead.

GNOME Search Provider

Adding support for Search Provider would be a nice and quick way to convert currencies. Calculator already supports this, but it doesn't support as many currencies as Currency Converter.

Example of what I am talking about:
Screenshot from 2023-08-02 18-01-27

[SUGGESTION] Add country flags to list

Searching for currencies will be much more convenient if users can visually distinguish them from each other. Here is an example from the FOSS Currencies app for Android:

Currencies app

Screenshot_20230808-232931_Currencies

Unique icon

The current app icon is partially derived from the example in the app icon guidelines. It would be fun if it could have an icon that is entirely its own! You can open a request in the App Icon Requests repository when #31 has been resolved.

UI Improvements

The main UI could use a more GNOME deisgn...

I've created a mockup for it:
image

Here's the blueprint:

using Gtk 4.0;
using Adw 1;

Adw.Bin {
  Adw.Clamp {
    maximum-size: 800;
    margin-start: 12;
    margin-end: 12;
    margin-top: 12;
    margin-bottom: 12;
    
    Gtk.Box {
      orientation: vertical;
      spacing: 24;
      
      Adw.PreferencesGroup {
        title: "Convert";
        header-suffix: Gtk.Box {
          orientation: horizontal;
          spacing: 6;
          
          Gtk.Button {
            valign: center;
          
            child: Adw.ButtonContent {
              icon-name: "emblem-synchronizing-symbolic";
              label: "Switch"
            };
            
            styles ["flat"]
          }
        }
        
        Adw.ComboRow {
          title: "From";
          model: Gtk.StringList {
            strings ["USD", "EUR", "CAD"]
          };
        }
        
        Adw.ComboRow {
          title: "To";
          model: Gtk.StringList {
            strings ["EUR", "USD", "CAD"]
          };
        }
        
        Adw.EntryRow {
          title: "USD";
          text: "$5.00";
        }
      }
      
      Gtk.Button {
        halign: center;
        label: "Convert"
        
        styles ["pill", "suggested-action"]
      }
      
      Gtk.Label {
        label: "โ‚ฌ6,52";
        
        styles ["title-3"]
      }
    }
  }
}

Unique name

The current name is very generic, and the app can easily get lost among other similar ones. It would benefit from a more unique name. Some suggestions:

  • Banknotes
  • Inflation
  • Greenback
  • Pennies
  • Transactions

Value 'Abreviation' to 'Abreviation'

Hello, do you think this is something possible?

instead of searching

USD > MXN 100

We could use

1 usd to mxn

I think this is more natural and more people will find it useful

Reconsider Google as a source

The Google provider falls short in many ways, and often leaves the app hanging. Given that the data is retrieved in a pretty hacky way, maybe it should be considered removed from the app altogether? ECB seems like a trustworthy and stable alternative, and other providers could always be added.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.