Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Option to get Flag from Currency #49

Open
wants to merge 16 commits into
base: main
Choose a base branch
from

Conversation

Crucialjun
Copy link

@Crucialjun Crucialjun commented Dec 13, 2024

Description

--> The pull requests add functionality to be able to get flags by passing the currency of the country eg USD => USA Flag

--> Example app is updated to new dependencies and migrated from the Deprecated imperative apply of Flutter's Gradle plugins

--> The example app has also been updated to show the currency flags

--> Example code refactored for easier management

--> Example App refactored into tabs to reduce the immense scrolling to see flag types, screenshots attached

Screenshot_1734095666
Screenshot_1734095672
Screenshot_1734095676

Type of Change

  • ✨ New feature (non-breaking change which adds functionality)
  • 🛠️ Bug fix (non-breaking change which fixes an issue)
  • ❌ Breaking change (fix or feature that would cause existing functionality to change)
  • 🧹 Code refactor
  • ✅ Build configuration change
  • 📝 Documentation
  • 🗑️ Chore

Crucialjun and others added 11 commits December 13, 2024 12:19
Moves UI code to separate widget file for better organization and maintainability.
*Total -- 3,215.01kb -> 3,159.70kb (1.72%)

/res/svg/ax.svg -- 0.54kb -> 0.46kb (15.27%)
/res/svg/in.svg -- 1.04kb -> 0.89kb (14.86%)
/res/svg/ch.svg -- 0.28kb -> 0.25kb (12.76%)
/res/svg/eu.svg -- 1.22kb -> 1.06kb (12.69%)
/res/svg/uz.svg -- 1.42kb -> 1.24kb (12.69%)
/res/svg/bj.svg -- 0.48kb -> 0.42kb (12.58%)
/res/svg/ps.svg -- 0.54kb -> 0.47kb (12.5%)
/res/svg/ve.svg -- 1.14kb -> 1.00kb (12.2%)
/res/svg/to.svg -- 0.34kb -> 0.30kb (11.93%)
/res/svg/jo.svg -- 0.69kb -> 0.62kb (10.69%)
/res/svg/sd.svg -- 0.48kb -> 0.43kb (10.45%)
/res/svg/gm.svg -- 0.52kb -> 0.47kb (10.43%)
/res/svg/kw.svg -- 0.49kb -> 0.44kb (10.2%)
/res/svg/la.svg -- 0.44kb -> 0.40kb (10.2%)
/res/svg/sy.svg -- 0.42kb -> 0.38kb (9.86%)
/res/svg/aw.svg -- 14.60kb -> 13.19kb (9.69%)
/res/svg/ly.svg -- 0.52kb -> 0.47kb (9.66%)
/res/svg/cg.svg -- 0.47kb -> 0.42kb (9.62%)
/res/svg/za.svg -- 0.84kb -> 0.76kb (9.62%)
/res/svg/uy.svg -- 1.67kb -> 1.52kb (9.45%)
/res/svg/tz.svg -- 0.53kb -> 0.48kb (9.44%)
/res/svg/bs.svg -- 0.53kb -> 0.48kb (9.39%)
/res/svg/bw.svg -- 0.24kb -> 0.22kb (9.24%)
/res/svg/cl.svg -- 0.54kb -> 0.49kb (9.21%)
/res/svg/ir.svg -- 15.05kb -> 13.68kb (9.08%)
/res/svg/cf.svg -- 0.67kb -> 0.61kb (8.96%)
/res/svg/is.svg -- 0.50kb -> 0.46kb (8.93%)
/res/svg/pw.svg -- 0.45kb -> 0.41kb (8.89%)
/res/svg/mu.svg -- 0.31kb -> 0.28kb (8.86%)
/res/svg/bv.svg -- 0.56kb -> 0.51kb (8.85%)
/res/svg/pk.svg -- 0.72kb -> 0.66kb (8.83%)
/res/svg/jp.svg -- 0.45kb -> 0.41kb (8.82%)
/res/svg/dj.svg -- 0.57kb -> 0.52kb (8.76%)
/res/svg/td.svg -- 0.26kb -> 0.24kb (8.71%)
/res/svg/tl.svg -- 0.58kb -> 0.53kb (8.59%)
/res/svg/hu.svg -- 0.26kb -> 0.24kb (8.49%)
/res/svg/ga.svg -- 0.26kb -> 0.24kb (8.49%)
/res/svg/sl.svg -- 0.27kb -> 0.24kb (8.46%)
/res/svg/ye.svg -- 0.27kb -> 0.24kb (8.46%)
/res/svg/vn.svg -- 0.47kb -> 0.43kb (8.45%)
/res/svg/ml.svg -- 0.27kb -> 0.24kb (8.42%)
/res/svg/eh.svg -- 0.77kb -> 0.70kb (8.42%)
/res/svg/so.svg -- 0.48kb -> 0.44kb (8.4%)
/res/svg/cw.svg -- 0.66kb -> 0.60kb (8.33%)
/res/svg/cu.svg -- 0.60kb -> 0.55kb (8.32%)
/res/svg/ci.svg -- 0.27kb -> 0.25kb (8.3%)
/res/svg/pl.svg -- 0.21kb -> 0.20kb (8.22%)
/res/svg/fo.svg -- 0.55kb -> 0.50kb (8.2%)
/res/svg/ru.svg -- 0.28kb -> 0.25kb (8.13%)
/res/svg/bg.svg -- 0.28kb -> 0.25kb (8.13%)
/res/svg/pr.svg -- 0.61kb -> 0.56kb (8.12%)
/res/svg/th.svg -- 0.28kb -> 0.25kb (8.1%)
/res/svg/ic.svg -- 0.28kb -> 0.26kb (8.04%)
/res/svg/co.svg -- 0.28kb -> 0.26kb (8.04%)
/res/svg/be.svg -- 0.28kb -> 0.26kb (8.01%)
/res/svg/cp.svg -- 0.28kb -> 0.26kb (7.96%)
/res/svg/gp.svg -- 0.28kb -> 0.26kb (7.96%)
/res/svg/it.svg -- 0.28kb -> 0.26kb (7.96%)
/res/svg/pm.svg -- 0.28kb -> 0.26kb (7.96%)
/res/svg/mq.svg -- 0.28kb -> 0.26kb (7.96%)
/res/svg/fr.svg -- 0.28kb -> 0.26kb (7.96%)
/res/svg/gf.svg -- 0.28kb -> 0.26kb (7.96%)
/res/svg/re.svg -- 0.28kb -> 0.26kb (7.96%)
/res/svg/ie.svg -- 0.28kb -> 0.26kb (7.96%)
/res/svg/yt.svg -- 0.28kb -> 0.26kb (7.96%)
/res/svg/bl.svg -- 0.28kb -> 0.26kb (7.96%)
/res/svg/wf.svg -- 0.28kb -> 0.26kb (7.96%)
/res/svg/mf.svg -- 0.28kb -> 0.26kb (7.96%)
/res/svg/cr.svg -- 0.28kb -> 0.26kb (7.93%)
/res/svg/gn.svg -- 0.29kb -> 0.26kb (7.88%)
/res/svg/tw.svg -- 2.43kb -> 2.24kb (7.86%)
/res/svg/lv.svg -- 0.22kb -> 0.21kb (7.83%)
/res/svg/lr.svg -- 0.70kb -> 0.65kb (7.81%)
/res/svg/tg.svg -- 0.70kb -> 0.65kb (7.79%)
/res/svg/kp.svg -- 0.77kb -> 0.71kb (7.77%)
/res/svg/ua.svg -- 0.23kb -> 0.21kb (7.76%)
/res/svg/mg.svg -- 0.29kb -> 0.27kb (7.69%)
/res/svg/mc.svg -- 0.23kb -> 0.21kb (7.69%)
/res/svg/lc.svg -- 0.36kb -> 0.33kb (7.63%)
/res/svg/ro.svg -- 0.29kb -> 0.27kb (7.62%)
/res/svg/at.svg -- 0.23kb -> 0.21kb (7.59%)
/res/svg/pa.svg -- 0.72kb -> 0.67kb (7.59%)
/res/svg/ag.svg -- 0.72kb -> 0.67kb (7.57%)
/res/svg/cm.svg -- 0.80kb -> 0.74kb (7.44%)
/res/svg/nz.svg -- 2.14kb -> 1.99kb (7.29%)
/res/svg/jm.svg -- 0.38kb -> 0.35kb (7.25%)
/res/svg/ee.svg -- 0.31kb -> 0.29kb (7.23%)
/res/svg/nr.svg -- 0.63kb -> 0.58kb (7.18%)
/res/svg/st.svg -- 0.89kb -> 0.83kb (7.01%)
/res/svg/ng.svg -- 0.25kb -> 0.23kb (7%)
/res/svg/kn.svg -- 0.79kb -> 0.73kb (6.96%)
/res/svg/dm.svg -- 15.58kb -> 14.50kb (6.91%)
/res/svg/rw.svg -- 0.73kb -> 0.68kb (6.85%)
/res/svg/tn.svg -- 0.73kb -> 0.68kb (6.84%)
/res/svg/gy.svg -- 0.47kb -> 0.44kb (6.8%)
/res/svg/na.svg -- 0.97kb -> 0.91kb (6.63%)
/res/svg/gd.svg -- 6.16kb -> 5.75kb (6.54%)
/res/svg/bf.svg -- 0.34kb -> 0.32kb (6.52%)
/res/svg/gi.svg -- 2.88kb -> 2.69kb (6.45%)
/res/svg/hn.svg -- 1.08kb -> 1.01kb (6.31%)
/res/svg/vc.svg -- 0.43kb -> 0.41kb (6.29%)
/res/svg/km.svg -- 1.03kb -> 0.96kb (6.28%)
/res/svg/il.svg -- 0.88kb -> 0.82kb (6.24%)
/res/svg/sn.svg -- 0.41kb -> 0.39kb (6.18%)
/res/svg/ai.svg -- 36.52kb -> 34.30kb (6.07%)
/res/svg/mm.svg -- 0.68kb -> 0.64kb (6.03%)
/res/svg/ke.svg -- 1.34kb -> 1.27kb (5.88%)
/res/svg/sg.svg -- 0.86kb -> 0.81kb (5.78%)
/res/svg/bi.svg -- 1.05kb -> 0.99kb (5.68%)
/res/svg/ae.svg -- 0.25kb -> 0.23kb (5.58%)
/res/svg/gr.svg -- 0.85kb -> 0.80kb (5.53%)
/res/svg/np.svg -- 0.99kb -> 0.93kb (5.44%)
/res/svg/sb.svg -- 0.92kb -> 0.87kb (5.4%)
/res/svg/sc.svg -- 0.31kb -> 0.29kb (5.36%)
/res/svg/fm.svg -- 0.75kb -> 0.71kb (5.35%)
/res/svg/sj.svg -- 0.31kb -> 0.29kb (5.35%)
/res/svg/no.svg -- 0.31kb -> 0.29kb (5.35%)
/res/svg/lt.svg -- 0.43kb -> 0.41kb (5.24%)
/res/svg/de.svg -- 0.21kb -> 0.19kb (5.24%)
/res/svg/ss.svg -- 0.37kb -> 0.35kb (5.22%)
/res/svg/ne.svg -- 0.27kb -> 0.25kb (5.13%)
/res/svg/sv.svg -- 81.33kb -> 77.18kb (5.09%)
/res/svg/tr.svg -- 0.54kb -> 0.51kb (5.09%)
/res/svg/gh.svg -- 0.27kb -> 0.26kb (5.04%)
/res/svg/bq.svg -- 0.22kb -> 0.21kb (4.98%)
/res/svg/nl.svg -- 0.22kb -> 0.21kb (4.98%)
/res/svg/mv.svg -- 0.28kb -> 0.27kb (4.9%)
/res/svg/lu.svg -- 0.22kb -> 0.21kb (4.89%)
/res/svg/am.svg -- 0.22kb -> 0.21kb (4.82%)
/res/svg/gw.svg -- 0.79kb -> 0.75kb (4.81%)
/res/svg/dk.svg -- 0.23kb -> 0.22kb (4.66%)
/res/svg/kh.svg -- 7.10kb -> 6.77kb (4.63%)
/res/svg/gb-eng.svg -- 0.23kb -> 0.22kb (4.6%)
/res/svg/et.svg -- 1.19kb -> 1.14kb (4.59%)
/res/svg/id.svg -- 0.17kb -> 0.17kb (4.49%)
/res/svg/sr.svg -- 0.30kb -> 0.29kb (4.49%)
/res/svg/gt.svg -- 35.28kb -> 33.71kb (4.46%)
/res/svg/py.svg -- 16.84kb -> 16.10kb (4.4%)
/res/svg/bd.svg -- 0.18kb -> 0.17kb (4.28%)
/res/svg/vu.svg -- 2.07kb -> 1.99kb (4.1%)
/res/svg/om.svg -- 22.15kb -> 21.27kb (3.97%)
/res/svg/tf.svg -- 1.06kb -> 1.02kb (3.96%)
/res/svg/az.svg -- 0.50kb -> 0.48kb (3.93%)
/res/svg/cn.svg -- 0.78kb -> 0.75kb (3.9%)
/res/svg/hk.svg -- 3.41kb -> 3.28kb (3.89%)
/res/svg/pt.svg -- 8.17kb -> 7.85kb (3.89%)
/res/svg/gg.svg -- 0.58kb -> 0.56kb (3.89%)
/res/svg/tj.svg -- 1.78kb -> 1.71kb (3.84%)
/res/svg/cefta.svg -- 0.89kb -> 0.86kb (3.83%)
/res/svg/se.svg -- 0.21kb -> 0.20kb (3.76%)
/res/svg/dz.svg -- 0.29kb -> 0.28kb (3.74%)
/res/svg/va.svg -- 89.03kb -> 85.70kb (3.74%)
/res/svg/si.svg -- 2.00kb -> 1.93kb (3.71%)
/res/svg/tm.svg -- 31.44kb -> 30.29kb (3.65%)
/res/svg/cv.svg -- 1.37kb -> 1.32kb (3.63%)
/res/svg/cz.svg -- 0.38kb -> 0.37kb (3.61%)
/res/svg/gl.svg -- 0.22kb -> 0.21kb (3.59%)
/res/svg/ba.svg -- 1.27kb -> 1.22kb (3.54%)
/res/svg/tt.svg -- 0.30kb -> 0.29kb (3.53%)
/res/svg/gb-sct.svg -- 0.22kb -> 0.21kb (3.51%)
/res/svg/mz.svg -- 2.55kb -> 2.46kb (3.48%)
/res/svg/ug.svg -- 3.85kb -> 3.72kb (3.45%)
/res/svg/ws.svg -- 0.67kb -> 0.65kb (3.35%)
/res/svg/ms.svg -- 6.34kb -> 6.13kb (3.34%)
/res/svg/sz.svg -- 4.68kb -> 4.52kb (3.3%)
/res/svg/vg.svg -- 10.47kb -> 10.13kb (3.25%)
/res/svg/ma.svg -- 0.24kb -> 0.23kb (3.24%)
/res/svg/kr.svg -- 3.08kb -> 2.98kb (3.2%)
/res/svg/es-ga.svg -- 28.03kb -> 27.13kb (3.2%)
/res/svg/cd.svg -- 0.34kb -> 0.33kb (3.18%)
/res/svg/gb.svg -- 0.52kb -> 0.51kb (3.18%)
/res/svg/bh.svg -- 0.25kb -> 0.24kb (3.17%)
/res/svg/mr.svg -- 0.43kb -> 0.42kb (3.16%)
/res/svg/es-ct.svg -- 0.25kb -> 0.24kb (3.14%)
/res/svg/mh.svg -- 0.72kb -> 0.70kb (3.12%)
/res/svg/li.svg -- 8.10kb -> 7.85kb (3.08%)
/res/svg/mn.svg -- 1.41kb -> 1.36kb (3.06%)
/res/svg/nu.svg -- 0.84kb -> 0.82kb (3.01%)
/res/svg/br.svg -- 8.00kb -> 7.77kb (2.99%)
/res/svg/fj.svg -- 25.30kb -> 24.55kb (2.98%)
/res/svg/mk.svg -- 0.37kb -> 0.36kb (2.9%)
/res/svg/mt.svg -- 8.58kb -> 8.33kb (2.88%)
/res/svg/ki.svg -- 5.67kb -> 5.51kb (2.86%)
/res/svg/xx.svg -- 0.28kb -> 0.27kb (2.8%)
/res/svg/nc.svg -- 1.25kb -> 1.21kb (2.75%)
/res/svg/ad.svg -- 33.06kb -> 32.18kb (2.66%)
/res/svg/zm.svg -- 5.37kb -> 5.23kb (2.64%)
/res/svg/my.svg -- 0.66kb -> 0.64kb (2.52%)
/res/svg/ao.svg -- 1.56kb -> 1.52kb (2.44%)
/res/svg/gb-nir.svg -- 23.16kb -> 22.60kb (2.43%)
/res/svg/af.svg -- 20.74kb -> 20.25kb (2.34%)
/res/svg/md.svg -- 10.99kb -> 10.73kb (2.33%)
/res/svg/dg.svg -- 22.60kb -> 22.07kb (2.32%)
/res/svg/io.svg -- 22.60kb -> 22.07kb (2.32%)
/res/svg/lb.svg -- 2.75kb -> 2.68kb (2.31%)
/res/svg/bt.svg -- 24.72kb -> 24.15kb (2.31%)
/res/svg/bb.svg -- 0.59kb -> 0.58kb (2.31%)
/res/svg/qa.svg -- 0.35kb -> 0.34kb (2.25%)
/res/svg/iq.svg -- 1.44kb -> 1.41kb (2.17%)
/res/svg/cc.svg -- 3.06kb -> 2.99kb (2.14%)
/res/svg/eg.svg -- 9.72kb -> 9.51kb (2.11%)
/res/svg/cx.svg -- 2.40kb -> 2.35kb (2.07%)
/res/svg/mp.svg -- 22.85kb -> 22.38kb (2.05%)
/res/svg/ec.svg -- 28.66kb -> 28.07kb (2.05%)
/res/svg/ht.svg -- 57.76kb -> 56.59kb (2.03%)
/res/svg/sx.svg -- 12.96kb -> 12.70kb (2%)
/res/svg/gq.svg -- 5.05kb -> 4.95kb (1.99%)
/res/svg/sk.svg -- 1.17kb -> 1.15kb (1.92%)
/res/svg/pf.svg -- 4.18kb -> 4.10kb (1.89%)
/res/svg/sm.svg -- 15.56kb -> 15.27kb (1.81%)
/res/svg/kg.svg -- 3.29kb -> 3.23kb (1.81%)
/res/svg/mo.svg -- 1.47kb -> 1.45kb (1.79%)
/res/svg/es.svg -- 89.66kb -> 88.07kb (1.77%)
/res/svg/ea.svg -- 89.66kb -> 88.07kb (1.77%)
/res/svg/im.svg -- 9.68kb -> 9.52kb (1.67%)
/res/svg/ls.svg -- 1.18kb -> 1.17kb (1.65%)
/res/svg/by.svg -- 5.81kb -> 5.72kb (1.65%)
/res/svg/pg.svg -- 1.62kb -> 1.59kb (1.63%)
/res/svg/tv.svg -- 1.39kb -> 1.37kb (1.61%)
/res/svg/bz.svg -- 45.70kb -> 45.00kb (1.52%)
/res/svg/ar.svg -- 23.40kb -> 23.05kb (1.49%)
/res/svg/hm.svg -- 1.31kb -> 1.29kb (1.49%)
/res/svg/au.svg -- 1.31kb -> 1.29kb (1.49%)
/res/svg/um.svg -- 4.41kb -> 4.34kb (1.44%)
/res/svg/fk.svg -- 53.86kb -> 53.08kb (1.44%)
/res/svg/tk.svg -- 0.76kb -> 0.75kb (1.41%)
/res/svg/zw.svg -- 6.62kb -> 6.53kb (1.34%)
/res/svg/gs.svg -- 32.19kb -> 31.76kb (1.34%)
/res/svg/je.svg -- 15.33kb -> 15.13kb (1.27%)
/res/svg/gu.svg -- 5.00kb -> 4.94kb (1.27%)
/res/svg/bm.svg -- 22.31kb -> 22.03kb (1.26%)
/res/svg/tc.svg -- 24.00kb -> 23.70kb (1.25%)
/res/svg/ca.svg -- 0.63kb -> 0.62kb (1.24%)
/res/svg/pe.svg -- 263.10kb -> 259.89kb (1.22%)
/res/svg/mx.svg -- 93.17kb -> 92.04kb (1.22%)
/res/svg/ck.svg -- 1.85kb -> 1.83kb (1.21%)
/res/svg/kz.svg -- 11.07kb -> 10.93kb (1.21%)
/res/svg/bn.svg -- 14.03kb -> 13.86kb (1.2%)
/res/svg/ky.svg -- 72.86kb -> 71.99kb (1.19%)
/res/svg/vi.svg -- 8.54kb -> 8.44kb (1.17%)
/res/svg/sa.svg -- 10.04kb -> 9.93kb (1.13%)
/res/svg/pn.svg -- 13.67kb -> 13.52kb (1.11%)
/res/svg/mw.svg -- 3.62kb -> 3.58kb (1.03%)
/res/svg/ge.svg -- 1.36kb -> 1.35kb (1%)
/res/svg/us.svg -- 4.32kb -> 4.28kb (0.95%)
/res/svg/ph.svg -- 1.47kb -> 1.45kb (0.93%)
/res/svg/er.svg -- 3.12kb -> 3.10kb (0.88%)
/res/svg/ta.svg -- 30.16kb -> 29.94kb (0.73%)
/res/svg/ac.svg -- 30.16kb -> 29.94kb (0.73%)
/res/svg/sh.svg -- 30.16kb -> 29.94kb (0.73%)
/res/svg/bo.svg -- 226.76kb -> 225.14kb (0.72%)
/res/svg/as.svg -- 31.61kb -> 31.40kb (0.65%)
/res/svg/hr.svg -- 40.58kb -> 40.33kb (0.59%)
/res/svg/nf.svg -- 5.70kb -> 5.66kb (0.57%)
/res/svg/me.svg -- 61.40kb -> 61.06kb (0.55%)
/res/svg/lk.svg -- 38.42kb -> 38.27kb (0.4%)
/res/svg/aq.svg -- 2.76kb -> 2.75kb (0.39%)
/res/svg/al.svg -- 3.14kb -> 3.13kb (0.37%)
/res/svg/rs.svg -- 803.67kb -> 801.12kb (0.32%)
/res/svg/gb-wls.svg -- 8.96kb -> 8.93kb (0.32%)
/res/svg/un.svg -- 19.70kb -> 19.65kb (0.24%)
/res/svg/cy.svg -- 5.79kb -> 5.77kb (0.24%)
/res/svg/xk.svg -- 9.18kb -> 9.16kb (0.23%)

Signed-off-by: ImgBotApp <[email protected]>
@arturograu
Copy link
Owner

Hi @Crucialjun , thank you for your work!
Can you please make sure the flag svg files don't appear as a change in this PR?

Thank you again!

@Crucialjun
Copy link
Author

@arturograu done

Copy link
Owner

Choose a reason for hiding this comment

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

Hi @Crucialjun ! thank you again for this PR.
Would you be able to move back to the main.dart file the example? I would like to keep the example as simple as possible.

Another request (and this will be the last for this file) is about keeping the example as it was. You can add the new feature to the example but it has to be in the same format as before: not using tabs but using the slivers.

This is also helping me to test the performance of the package by rendering everything in the same list and scroll through all the flags.

Thank you!

Copy link
Author

Choose a reason for hiding this comment

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

Copy link
Owner

Choose a reason for hiding this comment

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

thank you @Crucialjun !

Adds a new named constructor `fromCountryName` to the `CountryFlag` class.  This allows creating a `CountryFlag` widget directly from a country name string.

A mapping of country names to flag codes has been added to `FlagCode` to support this functionality.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants