From 95f4bd8d09cb705860c4959f8ff729805fe320a9 Mon Sep 17 00:00:00 2001 From: Jonathan Rainville Date: Thu, 20 Aug 2020 10:16:58 -0400 Subject: [PATCH] fix: fix pixelated icon and add description and URL for kudos --- src/app/wallet/views/collectibles_list.nim | 8 +++++- src/status/wallet/account.nim | 2 +- src/status/wallet/collectibles.nim | 21 +++++++++++++--- ui/app/AppLayouts/Wallet/CollectiblesTab.qml | 7 +++--- .../CollectiblesContent.qml | 23 ++---------------- ui/app/img/collectibles/ethermons.png | Bin 710 -> 3698 bytes ui/app/img/collectibles/kudos.png | Bin 950 -> 1709 bytes 7 files changed, 32 insertions(+), 29 deletions(-) diff --git a/src/app/wallet/views/collectibles_list.nim b/src/app/wallet/views/collectibles_list.nim index 4ba553ce7..5996e52a9 100644 --- a/src/app/wallet/views/collectibles_list.nim +++ b/src/app/wallet/views/collectibles_list.nim @@ -7,6 +7,8 @@ type Image = UserRole + 2 CollectibleId = UserRole + 3 CollectibleType = UserRole + 4 + Description = UserRole + 5 + ExternalUrl = UserRole + 6 QtObject: type CollectiblesList* = ref object of QAbstractListModel @@ -38,12 +40,16 @@ QtObject: of CollectiblesRoles.Image: result = newQVariant(collectible.image) of CollectiblesRoles.CollectibleId: result = newQVariant(collectible.id) of CollectiblesRoles.CollectibleType: result = newQVariant(collectible.collectibleType) + of CollectiblesRoles.Description: result = newQVariant(collectible.description) + of CollectiblesRoles.ExternalUrl: result = newQVariant(collectible.externalUrl) method roleNames(self: CollectiblesList): Table[int, string] = { CollectiblesRoles.Name.int:"name", CollectiblesRoles.Image.int:"image", CollectiblesRoles.CollectibleId.int:"collectibleId", - CollectiblesRoles.CollectibleType.int:"collectibleType" }.toTable + CollectiblesRoles.CollectibleType.int:"collectibleType", + CollectiblesRoles.Description.int:"description", + CollectiblesRoles.ExternalUrl.int:"externalUrl" }.toTable proc addCollectibleToList*(self: CollectiblesList, colelctible: Collectible) = self.beginInsertRows(newQModelIndex(), self.collectibles.len, self.collectibles.len) diff --git a/src/status/wallet/account.nim b/src/status/wallet/account.nim index d13ed5987..5e5969514 100644 --- a/src/status/wallet/account.nim +++ b/src/status/wallet/account.nim @@ -2,7 +2,7 @@ from eventemitter import Args import ../libstatus/types type Collectible* = ref object - name*, image*, id*, collectibleType*: string + name*, image*, id*, collectibleType*, description*, externalUrl*: string type CurrencyArgs* = ref object of Args currency*: string diff --git a/src/status/wallet/collectibles.nim b/src/status/wallet/collectibles.nim index 1f08f6d40..cee201b46 100644 --- a/src/status/wallet/collectibles.nim +++ b/src/status/wallet/collectibles.nim @@ -78,7 +78,12 @@ proc getCryptoKitties*(address: EthAddress): seq[Collectible] = finalId = $id if (not (name.kind == JNull)): finalName = $name - result.add(Collectible(id: finalId, name: finalName, image: kitty["image_url_png"].str, collectibleType: CRYPTOKITTY)) + result.add(Collectible(id: finalId, + name: finalName, + image: kitty["image_url_png"].str, + collectibleType: CRYPTOKITTY, + description: "", + externalUrl: "")) except Exception as e2: error "Error with this individual cat", msg = e2.msg, cat = kitty except Exception as e: @@ -105,7 +110,12 @@ proc getEthermons*(address: EthAddress): seq[Collectible] = var i = 0 for monsterKey in json.keys(monsters): let monster = monsters[monsterKey] - result.add(Collectible(id: $tokens[i], name: monster["class_name"].str, image: monster["image"].str, collectibleType: ETHERMON)) + result.add(Collectible(id: $tokens[i], + name: monster["class_name"].str, + image: monster["image"].str, + collectibleType: ETHERMON, + description: "", + externalUrl: "")) i = i + 1 except Exception as e: error "Error getting Ethermons", msg = e.msg @@ -133,7 +143,12 @@ proc getKudos*(address: EthAddress): seq[Collectible] = let response = client.request(url) let kudo = parseJson(response.body) - result.add(Collectible(id: $token, name: kudo["name"].str, image: kudo["image"].str, collectibleType: KUDO)) + result.add(Collectible(id: $token, + name: kudo["name"].str, + image: kudo["image"].str, + collectibleType: KUDO, + description: kudo["description"].str, + externalUrl: kudo["external_url"].str)) except Exception as e: error "Error getting Kudos", msg = e.msg diff --git a/ui/app/AppLayouts/Wallet/CollectiblesTab.qml b/ui/app/AppLayouts/Wallet/CollectiblesTab.qml index 71ba19434..b8f693069 100644 --- a/ui/app/AppLayouts/Wallet/CollectiblesTab.qml +++ b/ui/app/AppLayouts/Wallet/CollectiblesTab.qml @@ -60,7 +60,8 @@ Item { collectiblesModal: collectiblesModalComponent buttonText: qsTr("View in Ethermon") getLink: function (id) { - return `https://www.etheremon.com/#/mons/${id}` + // TODO find a more direct URL + return "https://ethermon.io/inventory" } } @@ -71,8 +72,8 @@ Item { isLoading: root.isLoading collectiblesModal: collectiblesModalComponent buttonText: qsTr("View in Gitcoin") - getLink: function (id) { - return "" + getLink: function (id, externalUrl) { + return externalUrl } } } diff --git a/ui/app/AppLayouts/Wallet/components/collectiblesComponents/CollectiblesContent.qml b/ui/app/AppLayouts/Wallet/components/collectiblesComponents/CollectiblesContent.qml index 34f3d055e..01b05831b 100644 --- a/ui/app/AppLayouts/Wallet/components/collectiblesComponents/CollectiblesContent.qml +++ b/ui/app/AppLayouts/Wallet/components/collectiblesComponents/CollectiblesContent.qml @@ -6,24 +6,6 @@ import "../../../../../imports" import "../../../../../shared" ScrollView { - property var collectibles: [{ - name: "Kitty cat1", - image: "../../../../img/collectibles/placeholders/kitty.png", - collectibleId: "1337", - description: "Avast ye! I'm the dread pirate Furbeard, and I'll most likely sleep" - }, - { - name: "Kitty cat2", - image: "../../../../img/collectibles/placeholders/kitty.png", - collectibleId: "1338", - description: "Avast ye! I'm the dread pirate Furbeard, and I'll most likely sleep" - }, - { - name: "Kitty cat3", - image: "../../../../img/collectibles/placeholders/kitty.png", - collectibleId: "1339", - description: "Avast ye! I'm the dread pirate Furbeard, and I'll most likely sleep" - }] readonly property int imageSize: 164 property string collectibleType: "cryptokitty" property var collectiblesModal @@ -100,10 +82,9 @@ ScrollView { collectiblesModal.openModal({ name: name, id: collectibleId, - // TODO do we even have a description? - description: "", + description: description, buttonText: root.buttonText, - link: root.getLink(collectibleId), + link: root.getLink(collectibleId, externalUrl), image: image }) } diff --git a/ui/app/img/collectibles/ethermons.png b/ui/app/img/collectibles/ethermons.png index 8fc72f1d4bcb79d5ccf08ed662b06fc81fdfb324..f8d85dc37a40945af5b39935039d0850803eb961 100644 GIT binary patch literal 3698 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 Q#Q*>R07*qoM6N<$f;l7^7ytkO literal 710 zcmV;%0y+JOP)p0007wNklonhL}(s^H>haw^%A|V{X#f`o9KdoH`hXCOE-KsF$ zArE%802e?6jxh=Vlv2wy#%I>IY^^z})dZ=ATvZZx4ZB*bTnp_!I-ia<#}SbtqHP*u z@0OKxH&fY6zEUb7vBV~nR7Ev>XGt+kiU{|oW_McKy)aJZ_fM&jPC@xy z_P6#)y&N1)MF(P`O&xljg?raeb0ecSpPP0(+cZ(w9&JmGwI*c=JJdj#xPvM2>DidT zd%0%u+n&#v|M=N_QA$LY&0<;(4yjtzhbwB#0{?bAl@^1qw~SlUMMaO)imAhFo?o{d zFDdIzF(wM7hI>OxJ>2~TNG5Yf2_bKcLN4Pgic^)FR`b9-6bzS0lrMO0)%WwBGi4OY zzV{%%xmL5}P$QLSM5DeOc5D!sL;!ptN+p4^A9nSa6uzv+KUw8@tISjCQ2$6QpsJo2 z@}pvd^~kJlI?zxORJz&}3vt}zw(jY!<1cglbCw=rY#^l6L|5kRjs)R{S|SGr)|p&S z3t#UKg(ph;U+RZlL3z<{Rs!U=o3;2vsN{Ge_ z8Yj$~l@F$#tZL5E*H?EgQba73ig!PL{~XVR73h_rPvIg0e+Z4Wx}_6rgYfqJ+Ou;5 z*=&Xa0HxH>^(QMEbHRwCg*llrv^fT0q=IhAI|t(@`m*h9fJhM$00?E&_g4PyEa~Q! s?N*T}JeLXzy>j3}M}`wc0N@z=4@mG%Kvijy&;S4c07*qoM6N<$g2uT!ZU6uP diff --git a/ui/app/img/collectibles/kudos.png b/ui/app/img/collectibles/kudos.png index b5d43e082481474f2f62ffea69cd06b3d7b33035..cc7dbfd6eaae5493d46d0991b04aa9d052285fda 100644 GIT binary patch literal 1709 zcmV;e22%NnP)#L#`5S7?P3A{)Uvcz5+&}iv|(c{uaZnBxr{u}!b)JWZ*HFv|#5+7U*cWLICfZ~7gDo{iV zJNHa89QU`&(}lIMd>$&i!aCW3C6^6Iswv&q)Zb__DFmB?k)a@%(27o zt&c-%);N^GGoVkH)`(n_g-P-yl-uTit24_jJ6m0kbQic8on2X6yQj+I+Mr|^z3bf z?}P7u@&@ZWTE1qEL~y2Ov7U}$semLnZ)IX8CpJA5)!d`#L8#u_2(OnOW!DA8v9ZW< zjF{>`U==Kq5W$3MCdpAWpva-d9&afl-qzGDOFAONKBRA9;@=PyNP;1&vrBgr@z6G= zxp%m}5+>*R*k(*|_(VehHa@uv`X@r{py5nU+CgN3L94S5_+DZCr~ZK9948*TI&kYb z?DxXr#9c@`a2;HOe?p1~B_%;xoE9D#3bBY{29hXAGv@&ZoH*DDANWpz6{t=(L#uek zZ^==lg=q^R6;ia&a~cWsLA|&al7n5kFbqjTKyE>4n`r{+XrqA9=6Whn$DD@Z>?lf; zJa#WS3K3CnLpJ=g+cUrjl=B!M7<(S%G;@wl(q)sU<7Szqi(MGfx&niYWFj~*vRnoo}z zcOqIIKBFmh5KO8BGGfF=t>)IvNG`4xWK{Z~EZd_TOSVdoOm59Fj^x~GE@s6eBB^HZosBZbq%s%yyAh*`2)iOa&lIk@Lpp*HTRj~*O zyq+HNE9)>R5#%IY5KHd8diT}#X<}y*nmIYkA=VOzD6cOI>I7WCn)G|O`dEEh(63L^ zU_G~Q%djLt1F|0Mq@N;OyeWT%pvHcJfS88{AqD&m6q^s(EKpgt00000NkvXXu0mjf D%KRw1 literal 950 zcmV;n14;aeP)DnF+p?iUCWLsMMxv9#t15(4rz@X=2iq zV12a0F~z`FsQlhZ+2dB(8=K&^mr z0sDo*7wP-o{0)Sz9XQb$PZa$pV9-WjBY+u*hw~=K(`7w z0dORFL*z584zf!F4!7G_ZQTYdJWb#+7*fqkuyv`&y4qPfb4S|WTI&X1)w87VD1Qc+0b%O;E{#Lr9eX=^vZteYZYBVgi7*EIrD#|72pbR z1^9mhN>;_9{kOtpVMLbXEdUAtpJdeUj!pJdFPk>mQ*FaYFB~?561`BsmGw0Cq8GO} zw-}f{K=%o}>7kol|1P@*6(*qV$bijnO!win`cBED9^?MjW$oxqNvLdgQI z9P3_X44x;=Hb6BJzAQp-WV4xZJhb<6S+KyWlU+B49-9r!Yc$vZ={%qV^I`5CH13(Z zV!gUz2#ihiG+E&Vf|~#(BzzcJcOZkpS*+ikD)CQr#;f2xAZND`XooZ}=$LaDN;meO zUL0S(M1B9VUpb$6)WWt2+C*|r&W%dpq11&7)0keX_?CP<#Ws>{1mc1|55bXi`1{dv zUG;BkV&&;qR}qoThI|IXy#l9UG$J8Fv6a9*fKEB$1BE)CZs@=G&uZdAO$E_JHob<{ z+X7(+fEYjnAnBmDi!L0^RaE?lwZXEBaH)QJB^IBJ*1&q5g!1{&?aAk}GkAD!W~mW> Y0)*C$Vg5G!zyJUM07*qoM6N<$f@HzGbN~PV