\u003Cbr /> \u003Cimg width=\"502\" alt=\"Screen Shot 2022-03-25 at 2 57 18 PM\" src=\"https://user-images.githubusercontent.com/734428/160080618-1320d0f9-5674-4133-9a57-9fd7f6e77ce2.png\"> | **3m** \u003Cbr />\u003Cbr /> \u003Cimg width=\"498\" alt=\"Screen Shot 2022-03-25 at 2 54 50 PM\" src=\"https://user-images.githubusercontent.com/734428/160080718-4f3fad38-71e5-4793-a839-797a0f87b65e.png\">\r\nInstall Deps in Actions | [1m 25s](https://github.com/kodadot/nft-gallery/runs/5676422402?check_suite_focus=true#step:4:35) | [**28s**](https://github.com/kodadot/nft-gallery/runs/5687650302?check_suite_focus=true#step:6:467)\r\n\r\n\r\nimpressive time savings.\r\nCurious if you would be keen to write an article on how we've migrated from yarn to pnpm? \r\nSome people might find it interesting as we are still early! \r\nThis morning found friends deciding between npm and yarn 😅.\r\n\r\nWe are usually publishing at https://medium.com/kodadot :)\r\n\r\nIssue is reserved for @preschian \r\n\r\n_Originally posted by @yangwao in https://github.com/kodadot/nft-gallery/issues/2643#issuecomment-1078864547_\r\n\r\n### Ref \r\n- https://medium.com/pnpm/why-should-we-use-pnpm-75ca4bfe7d93#:~:text=pnpm%20is%20not%20only%20faster,them%20from%20the%20global%20store.\r\n- https://rushjs.io/pages/maintainer/package_managers/\r\n- https://blog.logrocket.com/javascript-package-managers-compared/\r\n- [What does make pnpm special?](https://twitter.com/moo9000/status/1507297097070043184)\r\n- PNPM is the only option that solves the [NPM doppelgangers](https://rushjs.io/pages/advanced/npm_doppelgangers/) problem. In a complex monorepo, doppelgangers sometimes cause a lot of trouble, so PNPM has an important advantage in this regard.\r\n- we can push KodaDot logo to https://pnpm.io/users",[1984,1987,1990],{"name":1985,"color":1986},"$$","0E8A16",{"name":1988,"color":1989},"p3","D4C5F9",{"name":1991,"color":1992},"A-writing-✍️","FBCA04",2671,"kodadot","nft-gallery","open","How we've migrated from yarn to pnpm","2023-05-18T11:23:54Z","https://github.com/kodadot/nft-gallery/issues/2671",0.801074,{"description":2002,"labels":2003,"number":2004,"owner":1994,"repository":2005,"state":1996,"title":2006,"updated_at":2007,"url":2008,"score":2009},"Based on Cloudflare KV worker we should be able to:\r\n\r\n- Register new handle - url\r\n- change handle's url\r\n- remove handle\r\n- redirect to url \r\n\r\n\r\nRef:\r\n- https://github.com/kodadot/ops-internal/issues/287\r\n\r\n\r\nTech stack:\r\n- Rust preffered\r\n- Typescript with Hono possible",[],52,"workers","Make url shortener","2023-04-28T18:18:11Z","https://github.com/kodadot/workers/issues/52",0.81284213,{"description":2011,"labels":2012,"number":2025,"owner":1994,"repository":1995,"state":2026,"title":2027,"updated_at":2028,"url":2029,"score":2030},"rewrite i18 module with Nuxt3 migration\r\n\r\npossible candidate:\r\n- i18 next: https://v8.i18n.nuxtjs.org/getting-started/setup (w/ or w/o bridge)\r\n- intlify: https://github.com/intlify/nuxt3",[2013,2016,2017,2019,2021,2023],{"name":2014,"color":2015},"external","cfd3d7",{"name":1985,"color":1986},{"name":2018,"color":1989},"p2",{"name":2020,"color":1992},"A-nuxt",{"name":2022,"color":1992},"A-refactoring",{"name":2024,"color":1992},"A-vue3",3916,"closed","Refactor: i18n module","2023-09-25T06:35:35Z","https://github.com/kodadot/nft-gallery/issues/3916",0.7342955,{"description":2032,"labels":2033,"number":2037,"owner":1994,"repository":1995,"state":2026,"title":2038,"updated_at":2039,"url":2040,"score":2041},"Let's move most of the stuff files which don't have strong requirements to be in / somewhere else so users visit our \"frontpage\" readme.md doesn't need to scroll through like Eiffel tower \r\n\r\n\r\nTIL https://en.wikipedia.org/wiki/Gustave_Eiffel\r\nhttps://en.wikipedia.org/wiki/Eiffel_Tower\r\n\r\ncurrent status\r\n\r\n",[2034,2035,2036],{"name":1985,"color":1986},{"name":1988,"color":1989},{"name":2020,"color":1992},1559,"Move most of stuff from / to some utils folder or where it fits best","2021-12-25T10:27:14Z","https://github.com/kodadot/nft-gallery/issues/1559",0.74342686,{"description":2043,"labels":2044,"number":2050,"owner":1994,"repository":1995,"state":2026,"title":2051,"updated_at":2052,"url":2053,"score":2054},"followup for #2039\r\n\r\nResearch task regarding `@/utils/config/i18n.ts` file and it utilising package `markdown-it`\r\n\r\nGlancing over it I'm not even certain if this file does anything useful or is necessary for our needs.\r\n\r\n- [x] check purpose of `@/utils/config/i18n.ts`\r\n- [x] check for necessity of `markdown-it`\r\n- [x] If it provides actual value, I want to check if we can abstract it into `nuxt.config.js`\r\n- [x] further refactor every occurrence of `i18n.t` into `this.$i18n.t`\r\n- [x] in `spotlight/utils.ts` and `series/utils.ts` columns property needs to move to component in order to use $i18n context\r\n",[2045,2047,2049],{"name":2046,"color":1986},"$",{"name":2048,"color":1992},"A-research",{"name":2022,"color":1992},2096,"Check if @/utils/config/i18n and markdown-it is necessary 📦 ","2022-02-28T09:11:20Z","https://github.com/kodadot/nft-gallery/issues/2096",0.74947715,{"description":2056,"labels":2057,"number":2061,"owner":1994,"repository":1995,"state":2026,"title":2062,"updated_at":2063,"url":2064,"score":2065},"Curious where we could have this, utils should be best new home for this?\r\n\r\nhttps://github.com/kodadot/nft-gallery/blob/main-nuxt/directives/DeviceOrientation.ts",[2058,2059,2060],{"name":2046,"color":1986},{"name":2018,"color":1989},{"name":2020,"color":1992},1745,"Move DeviceOrientation.ts to utils?","2022-01-14T11:25:55Z","https://github.com/kodadot/nft-gallery/issues/1745",0.7870742,{"description":2067,"labels":2068,"number":2075,"owner":1994,"repository":1995,"state":2026,"title":2076,"updated_at":2077,"url":2078,"score":2079},"With #1350, we need to refactor code (chainproperty, checkindexer, etc..) and move it outside layout directory as it's not first entry point. \r\n\r\n#### Suggestions\r\n- We could move check Indexer to Vuex (#1308)\r\n- Or we could create a [plug-in](https://nuxtjs.org/docs/directory-structure/plugins/#vue-plugins)\r\n- Check Nuxt [lifecycle](https://nuxtjs.org/docs/concepts/nuxt-lifecycle/)",[2069,2072,2073,2074],{"name":2070,"color":2071},"enhancement","a2eeef",{"name":2046,"color":1986},{"name":1988,"color":1989},{"name":2020,"color":1992},1360,"Refactoring code outside layout","2022-03-21T10:03:29Z","https://github.com/kodadot/nft-gallery/issues/1360",0.7931072,{"description":2081,"labels":2082,"number":2089,"owner":1994,"repository":1995,"state":2026,"title":2090,"updated_at":2091,"url":2092,"score":2093},"### What happened?\n\n.\n\n### Please reproduce in steps\n\n.\n\n### Expected Behavior\n\n.\n\n### What browsers are you seeing the problem on?\n\nChrome\n\n### At which address did you encounter bug?\n\nkodadot.xyz\n\n### Are you logged in?\n\nNone\n\n### Which wallet you are using?\n\n_No response_\n\n### Screenshots\n\n\u003Cimg width=\"1479\" alt=\"Screenshot 2024-08-26 at 9 20 28\" src=\"https://github.com/user-attachments/assets/524cfa5f-22cb-4720-aee1-e52295f9f5e2\">\r\n\n\n### Wallet Address & Transaction hash\n\n_No response_\n\n### Relevant log output\n\n_No response_\n\n### Payment link for reward\n\nhttps://canary.kodadot.xyz/dot/transfer/?target=\u003CMy_Polkadot_Address_check_https://github.com/kodadot/nft-gallery/blob/main/REWARDS.md#creating-your-dot-address>\n\n### Code of Conduct\n\n- [X] I agree to follow this project's Code of Conduct",[2083,2086,2087],{"name":2084,"color":2085},"bug","d73a4a",{"name":2018,"color":1989},{"name":2088,"color":1992},"A-statemint-ahp",10904,"Mint count doesnt work // is too slow to load","2024-09-10T09:55:16Z","https://github.com/kodadot/nft-gallery/issues/10904",0.8026775,{"description":2095,"labels":2096,"number":2099,"owner":1994,"repository":1995,"state":2026,"title":2100,"updated_at":2101,"url":2102,"score":2103},"- [ ] markdown-first\r\n- [ ] choose from 7 fonts - we can use fron https://github.com/kodadot/nft-gallery/issues/358\r\n- [ ] add your own font\r\n- [ ] long form text interface\r\n- [ ] short form reading\r\n- [ ] writing interface like what you see what you get\r\n- [ ] highlight interface\r\n- [ ] quotations\r\n- [ ] nested forms, like 🔗 it together\r\n- [ ] map of 🔗🔗 texts\r\n- [ ] support mermaid for graphs?",[2097,2098],{"name":2070,"color":2071},{"name":1988,"color":1989},378,"Writing interface for NFT novels ✍️","2024-07-31T11:30:09Z","https://github.com/kodadot/nft-gallery/issues/378",0.80388093,{"description":2105,"labels":2106,"number":2113,"owner":1994,"repository":1995,"state":2026,"title":2114,"updated_at":2115,"url":2116,"score":2117},"Seems we need to deduplicate something from other files whenever we will be changing the stuff\r\n\r\n\r\n",[2107,2108,2109,2110],{"name":2046,"color":1986},{"name":1988,"color":1989},{"name":2020,"color":1992},{"name":2111,"color":2112},"koda2","AB66CA",1557,"Squash to one point indexer endpoint","2021-12-24T11:38:51Z","https://github.com/kodadot/nft-gallery/issues/1557",0.80462277,["Reactive",2119],{},["Set"],["ShallowReactive",2122],{"TRc1wZytZ_XrK4EfJfei_Sz-An4H4Yy6syhVxH_PVJc":-1,"ekZfkRJhhu_jPgnTl4fPRIBrrhnqx0CnfkmslWjXTr0":-1},"/kodadot/nft-gallery/1614"]