ReviewOS

also looking at this

meemalabs/hoodratz.io

Production Launch - Nov 26, 2021

#10
Merged glennmichael123 wants to merge staging into main
54 files +6692 -333

Review threads live on the whole diff, not on one commit, so none are shown here - a thread's line means something in the branch's final form, and painting it into an intermediate step would put it on code it is not about.

package.jsonmodified+1-0
Changes to package.json
@@ -7,6 +7,7 @@
77 "serve": "vite preview"
88 },
99 "dependencies": {
10 "dayjs": "^1.10.7",
1011 "vue": "^3.2.22",
1112 "vue-router": "^4.0.12"
1213 },
src/content/app.jsonmodified+29-1
Changes to src/content/app.json
@@ -3,5 +3,33 @@
33 "twitter": "https://twitter.com/nakednfts/",
44 "instagram": "https://www.instagram.com/nakednfts/",
55 "discord": "https://discord.com/invite/CgFmKx3z"
6 }
6 },
7 "roadmap": [
8 {
9 "date": "2021-12-01",
10 "title": "First generation drop",
11 "description": "Launch all 10,000 algorithmically generated Hoodratz to our awesome community.",
12 "done": true
13 }, {
14 "date": "2022-01-02",
15 "title": "Marketplace integration",
16 "description": "Buy, sell and trade Hoodratz on nakednft.com and opensea.com",
17 "done": false
18 }, {
19 "date": "2022-02-03",
20 "title": "Merch",
21 "description": "Exclusive Hoodratz merch will be available in our store... Our team has been working on this one a lot so we are sure you will love it!",
22 "done": false
23 }, {
24 "date": "2022-03-04",
25 "title": "Marketplace integration",
26 "description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.",
27 "done": false
28 }, {
29 "date": "2022-05-04",
30 "title": "Lorem ipsum",
31 "description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.",
32 "done": false
33 }
34 ]
735}
src/main.jsmodified+2-0
Changes to src/main.js
@@ -3,6 +3,7 @@ import './tailwind.css'
33import App from './App.vue'
44import { routes } from './routes.js'
55import { createRouter, createWebHistory } from 'vue-router'
6import dayjs from './plugins/day.js'
67
78const app = createApp(App)
89
@@ -12,4 +13,5 @@ const router = createRouter({
1213})
1314
1415app.use(router)
16app.use(dayjs)
1517app.mount('#app')
src/plugins/day.jsadded+13-0
Changes to src/plugins/day.js
@@ -0,0 +1,13 @@
1import dayjs from 'dayjs'
2
3export default {
4 /**
5 * Vue
6 * @param {Vue} Vue
7 */
8 install: function (app) {
9 app.config.globalProperties.$dayjs = dayjs
10 app.config.globalProperties.$date = dayjs
11 app.dayjs = dayjs;
12 }
13};
src/views/Roadmap.vuemodified+25-104
Changes to src/views/Roadmap.vue
@@ -30,123 +30,32 @@ import AppFooter from '@/components/AppFooter.vue'
3030 <div class="container mx-auto md:mb-32">
3131 <div class="md:w-2/3 mx-auto">
3232 <div class="text-center md:text-left mx-4 my-20 relative">
33 <div class="rounded-4xl bg-gray-7 p-6 md:p-8 font-sora relative">
33 <div v-for="(item, index) in roadmap"
34 class="rounded-4xl bg-gray-7 font-sora relative"
35 :class="{ 'p-6 md:p-8': index === 0, 'my-8 p-6': index }">
3436 <div class="absolute inset-x-0 top-0 md:-top-0 flex justify-center -mt-6 md:hidden">
35 <div class="bg-pink-gradient w-12 h-12 rounded-full flex items-center justify-center text-xl text-white">
36 <div><img src="/images/check.svg" alt=""></div>
37 <div class="w-12 h-12 rounded-full flex items-center justify-center text-xl text-white"
38 :class="{ 'bg-gray-6': !item.done, 'bg-pink-gradient': item.done }">
39 <div v-if="item.done"><img src="/images/check.svg" alt=""></div>
40 <div v-else>{{ $date(item.date).format('D') }}</div>
3741 </div>
3842 </div>
3943 <div class="absolute inset-y-0 left-0 flex justify-center hidden md:block z-10">
4044 <div class="-ml-16 h-full flex items-center">
41 <div class="bg-pink-gradient w-12 h-12 rounded-full flex items-center justify-center text-xl text-white">
45 <div v-if="item.done" class="bg-pink-gradient w-12 h-12 rounded-full flex items-center justify-center text-xl text-white">
4246 <div><img src="/images/check.svg" alt=""></div>
4347 </div>
48 <div v-else class="bg-pink-1 border-2 border-pink-3 w-12 h-12 rounded-full flex items-center justify-center text-xl text-white"></div>
4449 </div>
4550 </div>
4651 <div class="mt-6">
4752 <div class="flex justify-center md:justify-between">
48 <div class="hidden md:block text-pink-3">01</div>
49 <div class="uppercase">December 2021</div>
53 <div class="hidden md:block text-pink-3">{{ $date(item.date).format('DD') }}</div>
54 <div class="uppercase">{{ $date(item.date).format('MMMM YYYY') }}</div>
5055 </div>
51 <div class="text-white text-2xl font-bold my-4">First generation drop</div>
56 <div class="text-white text-2xl font-bold my-4">{{ item.title }}</div>
5257 <p class="leading-8">
53 Launch all 10,000 algorithmically generated Hoodratz to our awesome community.
54 </p>
55 </div>
56 </div>
57
58 <div class="rounded-4xl bg-gray-7 my-8 p-6 font-sora relative">
59 <div class="absolute inset-x-0 top-0 flex justify-center -mt-6 md:hidden">
60 <div class="bg-pink-gradient w-12 h-12 rounded-full flex items-center justify-center text-xl text-white">
61 <div><img src="/images/check.svg" alt=""></div>
62 </div>
63 </div>
64 <div class="absolute inset-y-0 left-0 flex justify-center hidden md:block z-10">
65 <div class="-ml-16 h-full flex items-center">
66 <div class="bg-pink-1 border-2 border-pink-3 w-12 h-12 rounded-full flex items-center justify-center text-xl text-white">
67 </div>
68 </div>
69 </div>
70 <div class="mt-6">
71 <div class="flex justify-center md:justify-between">
72 <div class="hidden md:block text-pink-3">02</div>
73 <div class="uppercase">January 2022</div>
74 </div>
75 <div class="text-white text-2xl font-bold my-4">Marketplace integration</div>
76 <p class="leading-8">
77 Buy, sell and trade Hoodratz on nakednft.com and opensea.com
78 </p>
79 </div>
80 </div>
81
82 <div class="rounded-4xl bg-gray-7 my-8 p-6 font-sora relative">
83 <div class="absolute inset-x-0 top-0 flex justify-center -mt-6 md:hidden">
84 <div class="bg-gray-6 w-12 h-12 rounded-full flex items-center justify-center text-xl text-white">
85 <div>3</div>
86 </div>
87 </div>
88 <div class="absolute inset-y-0 left-0 flex justify-center hidden md:block z-10">
89 <div class="-ml-16 h-full flex items-center">
90 <div class="bg-pink-1 border-2 border-pink-3 w-12 h-12 rounded-full flex items-center justify-center text-xl text-white">
91 </div>
92 </div>
93 </div>
94 <div class="mt-6">
95 <div class="flex justify-center md:justify-between">
96 <div class="hidden md:block text-pink-3">03</div>
97 <div class="uppercase">February 2022</div>
98 </div>
99 <div class="text-white text-2xl font-bold my-4">Merch</div>
100 <p class="leading-8">
101 Exclusive Hoodratz merch will be available in our store... Our team has been working on this one a lot so we are sure you will love it!
102 </p>
103 </div>
104 </div>
105
106 <div class="rounded-4xl bg-gray-7 my-8 p-6 font-sora relative">
107 <div class="absolute inset-x-0 top-0 flex justify-center -mt-6 md:hidden">
108 <div class="bg-gray-6 w-12 h-12 rounded-full flex items-center justify-center text-xl text-white">
109 <div>4</div>
110 </div>
111 </div>
112 <div class="absolute inset-y-0 left-0 flex justify-center hidden md:block z-10">
113 <div class="-ml-16 h-full flex items-center">
114 <div class="bg-pink-1 border-2 border-pink-3 w-12 h-12 rounded-full flex items-center justify-center text-xl text-white">
115 </div>
116 </div>
117 </div>
118 <div class="mt-6">
119 <div class="flex justify-center md:justify-between">
120 <div class="hidden md:block text-pink-3">04</div>
121 <div class="uppercase">March 2022</div>
122 </div>
123 <div class="text-white text-2xl font-bold my-4">Lorem ipsum</div>
124 <p class="leading-8">
125 Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
126 </p>
127 </div>
128 </div>
129
130 <div class="rounded-4xl bg-gray-7 my-8 p-6 font-sora relative">
131 <div class="absolute inset-x-0 top-0 flex justify-center -mt-6 md:hidden">
132 <div class="bg-gray-6 w-12 h-12 rounded-full flex items-center justify-center text-xl text-white">
133 <div>5</div>
134 </div>
135 </div>
136 <div class="absolute inset-y-0 left-0 flex justify-center hidden md:block z-10">
137 <div class="-ml-16 h-full flex items-center">
138 <div class="bg-pink-1 border-2 border-pink-3 w-12 h-12 rounded-full flex items-center justify-center text-xl text-white">
139 </div>
140 </div>
141 </div>
142 <div class="mt-6">
143 <div class="flex justify-center md:justify-between">
144 <div class="hidden md:block text-pink-3">05</div>
145 <div class="uppercase">May 2022</div>
146 </div>
147 <div class="text-white text-2xl font-bold my-4">Lorem ipsum</div>
148 <p class="leading-8">
149 Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
58 {{ item.description }}
15059 </p>
15160 </div>
15261 </div>
@@ -159,3 +68,15 @@ import AppFooter from '@/components/AppFooter.vue'
15968 <AppFooter />
16069</div>
16170</template>
71
72<script>
73import { roadmap } from '@/content/app.json'
74
75export default {
76 data () {
77 return {
78 roadmap,
79 }
80 }
81}
82</script>
yarn.lockmodified+13-93
Changes to yarn.lock
@@ -425,6 +425,11 @@ csstype@^2.6.8:
425425 resolved "https://registry.yarnpkg.com/csstype/-/csstype-2.6.19.tgz#feeb5aae89020bb389e1f63669a5ed490e391caa"
426426 integrity sha512-ZVxXaNy28/k3kJg0Fou5MiYpp88j7H9hLZp8PDC3jV0WFjfH5E9xHb56L0W59cPbKbcHXeP4qyT8PrHp8t6LcQ==
427427
428dayjs@^1.10.7, dayjs@^1.8.16:
429 version "1.10.7"
430 resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.10.7.tgz#2cf5f91add28116748440866a0a1d26f3a6ce468"
431 integrity sha512-P6twpd70BcPK34K26uJ1KT3wlhpuOAPoMwJzpsIWUxHZ7wpmbdZL/hQqBDfz7hGurYSa5PhzdhDHtt319hL3ig==
432
428433defined@^1.0.0:
429434 version "1.0.0"
430435 resolved "https://registry.yarnpkg.com/defined/-/defined-1.0.0.tgz#c98d9bcef75674188e110969151199e39b1fa693"
@@ -699,11 +704,6 @@ has@^1.0.3:
699704 dependencies:
700705 function-bind "^1.1.1"
701706
702highlight.js@^10.7.2:
703 version "10.7.3"
704 resolved "https://registry.yarnpkg.com/highlight.js/-/highlight.js-10.7.3.tgz#697272e3991356e40c3cac566a74eef681756531"
705 integrity sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==
706
707707import-cwd@^3.0.0:
708708 version "3.0.0"
709709 resolved "https://registry.yarnpkg.com/import-cwd/-/import-cwd-3.0.0.tgz#20845547718015126ea9b3676b7592fb8bd4cf92"
@@ -825,11 +825,6 @@ lodash.castarray@^4.4.0:
825825 resolved "https://registry.yarnpkg.com/lodash.castarray/-/lodash.castarray-4.4.0.tgz#c02513515e309daddd4c24c60cfddcf5976d9115"
826826 integrity sha1-wCUTUV4wna3dTCTGDP3c9ZdtkRU=
827827
828lodash.flow@^3.5.0:
829 version "3.5.0"
830 resolved "https://registry.yarnpkg.com/lodash.flow/-/lodash.flow-3.5.0.tgz#87bf40292b8cf83e4e8ce1a3ae4209e20071675a"
831 integrity sha1-h79AKSuM+D5OjOGjrkIJ4gBxZ1o=
832
833828lodash.isplainobject@^4.0.6:
834829 version "4.0.6"
835830 resolved "https://registry.yarnpkg.com/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz#7c526a52d89b45c45cc690b88163be0497f550cb"
@@ -852,70 +847,7 @@ magic-string@^0.25.7:
852847 dependencies:
853848 sourcemap-codec "^1.4.4"
854849
855markdown-it-abbr@^1.0.4:
856 version "1.0.4"
857 resolved "https://registry.yarnpkg.com/markdown-it-abbr/-/markdown-it-abbr-1.0.4.tgz#d66b5364521cbb3dd8aa59dadfba2fb6865c8fd8"
858 integrity sha1-1mtTZFIcuz3Yqlna37ovtoZcj9g=
859
860markdown-it-anchor@^7.1.0:
861 version "7.1.0"
862 resolved "https://registry.yarnpkg.com/markdown-it-anchor/-/markdown-it-anchor-7.1.0.tgz#30fb21497bf59e83ff4d1ddc052d821962e2489e"
863 integrity sha512-loQggrwsIkkP7TOrESvmYkV2ikbQNNKhHcWyqC7/C2CmfHl1tkUizJJU8C5aGgg7J6oXVQJx17gk7i47tNn/lQ==
864
865markdown-it-deflist@^2.1.0:
866 version "2.1.0"
867 resolved "https://registry.yarnpkg.com/markdown-it-deflist/-/markdown-it-deflist-2.1.0.tgz#50d7a56b9544cd81252f7623bd785e28a8dcef5c"
868 integrity sha512-3OuqoRUlSxJiuQYu0cWTLHNhhq2xtoSFqsZK8plANg91+RJQU1ziQ6lA2LzmFAEes18uPBsHZpcX6We5l76Nzg==
869
870markdown-it-emoji@^2.0.0:
871 version "2.0.0"
872 resolved "https://registry.yarnpkg.com/markdown-it-emoji/-/markdown-it-emoji-2.0.0.tgz#3164ad4c009efd946e98274f7562ad611089a231"
873 integrity sha512-39j7/9vP/CPCKbEI44oV8yoPJTpvfeReTn/COgRhSpNrjWF3PfP/JUxxB0hxV6ynOY8KH8Y8aX9NMDdo6z+6YQ==
874
875markdown-it-footnote@^3.0.2:
876 version "3.0.3"
877 resolved "https://registry.yarnpkg.com/markdown-it-footnote/-/markdown-it-footnote-3.0.3.tgz#e0e4c0d67390a4c5f0c75f73be605c7c190ca4d8"
878 integrity sha512-YZMSuCGVZAjzKMn+xqIco9d1cLGxbELHZ9do/TSYVzraooV8ypsppKNmUJ0fVH5ljkCInQAtFpm8Rb3eXSrt5w==
879
880markdown-it-highlightjs@^3.3.1:
881 version "3.5.0"
882 resolved "https://registry.yarnpkg.com/markdown-it-highlightjs/-/markdown-it-highlightjs-3.5.0.tgz#bcb76ef936c7137430fb0077e868d191d5db376b"
883 integrity sha512-ENlFiNFSKwnXD0umIzyhpFe5JtetdQnSYhwTdC72VU3C69uVpk1Mn3sPv1Ov8opVE2nv7SaS97QbY/aEH7PUzw==
884 dependencies:
885 highlight.js "^10.7.2"
886 lodash.flow "^3.5.0"
887
888markdown-it-ins@^3.0.1:
889 version "3.0.1"
890 resolved "https://registry.yarnpkg.com/markdown-it-ins/-/markdown-it-ins-3.0.1.tgz#c09356b917cf1dbf73add0b275d67ab8c73d4b4d"
891 integrity sha512-32SSfZqSzqyAmmQ4SHvhxbFqSzPDqsZgMHDwxqPzp+v+t8RsmqsBZRG+RfRQskJko9PfKC2/oxyOs4Yg/CfiRw==
892
893markdown-it-mark@^3.0.1:
894 version "3.0.1"
895 resolved "https://registry.yarnpkg.com/markdown-it-mark/-/markdown-it-mark-3.0.1.tgz#51257db58787d78aaf46dc13418d99a9f3f0ebd3"
896 integrity sha512-HyxjAu6BRsdt6Xcv6TKVQnkz/E70TdGXEFHRYBGLncRE9lBFwDNLVtFojKxjJWgJ+5XxUwLaHXy+2sGBbDn+4A==
897
898markdown-it-sub@^1.0.0:
899 version "1.0.0"
900 resolved "https://registry.yarnpkg.com/markdown-it-sub/-/markdown-it-sub-1.0.0.tgz#375fd6026eae7ddcb012497f6411195ea1e3afe8"
901 integrity sha1-N1/WAm6ufdywEkl/ZBEZXqHjr+g=
902
903markdown-it-sup@^1.0.0:
904 version "1.0.0"
905 resolved "https://registry.yarnpkg.com/markdown-it-sup/-/markdown-it-sup-1.0.0.tgz#cb9c9ff91a5255ac08f3fd3d63286e15df0a1fc3"
906 integrity sha1-y5yf+RpSVawI8/09YyhuFd8KH8M=
907
908markdown-it-task-lists@^2.1.1:
909 version "2.1.1"
910 resolved "https://registry.yarnpkg.com/markdown-it-task-lists/-/markdown-it-task-lists-2.1.1.tgz#f68f4d2ac2bad5a2c373ba93081a1a6848417088"
911 integrity sha512-TxFAc76Jnhb2OUu+n3yz9RMu4CwGfaT788br6HhEDlvWfdeJcLUsxk1Hgw2yJio0OXsxv7pyIPmvECY7bMbluA==
912
913markdown-it-toc-done-right@^4.1.0:
914 version "4.2.0"
915 resolved "https://registry.yarnpkg.com/markdown-it-toc-done-right/-/markdown-it-toc-done-right-4.2.0.tgz#3ccdce22d5022ffae7b991d07261b1b1de5459d0"
916 integrity sha512-UB/IbzjWazwTlNAX0pvWNlJS8NKsOQ4syrXZQ/C72j+jirrsjVRT627lCaylrKJFBQWfRsPmIVQie8x38DEhAQ==
917
918markdown-it@^12.0.6, markdown-it@^12.2.0:
850markdown-it@^12.2.0:
919851 version "12.2.0"
920852 resolved "https://registry.yarnpkg.com/markdown-it/-/markdown-it-12.2.0.tgz#091f720fd5db206f80de7a8d1f1a7035fd0d38db"
921853 integrity sha512-Wjws+uCrVQRqOoJvze4HCqkKl1AsSh95iFAeQDwnyfxM09divCBSXlDR1uTvyUP3Grzpn4Ru8GeCxYPM8vkCQg==
@@ -1262,6 +1194,13 @@ vite@^2.6.14:
12621194 optionalDependencies:
12631195 fsevents "~2.3.2"
12641196
1197vue-dayjs-plugin@^1.0.0:
1198 version "1.0.0"
1199 resolved "https://registry.yarnpkg.com/vue-dayjs-plugin/-/vue-dayjs-plugin-1.0.0.tgz#7fccc3c95a4c408ccb3ee011e8bc228f6d91b31b"
1200 integrity sha512-fgA2Xw2NOjDdmRca0JA+JcVzBWkBEjoPRvsZ+wJEWycXkloQewn4HSRRoawWW4//2brb+SoLTDHi+DDeex8LDA==
1201 dependencies:
1202 dayjs "^1.8.16"
1203
12651204vue-router@^4.0.12:
12661205 version "4.0.12"
12671206 resolved "https://registry.yarnpkg.com/vue-router/-/vue-router-4.0.12.tgz#8dc792cddf5bb1abcc3908f9064136de7e13c460"
@@ -1269,25 +1208,6 @@ vue-router@^4.0.12:
12691208 dependencies:
12701209 "@vue/devtools-api" "^6.0.0-beta.18"
12711210
1272vue3-markdown-it@^1.0.9:
1273 version "1.0.9"
1274 resolved "https://registry.yarnpkg.com/vue3-markdown-it/-/vue3-markdown-it-1.0.9.tgz#41943e4c6a28ddf5962ed793dc52eb83939c6f80"
1275 integrity sha512-8swtALTX8NG2ebGAYEcrKavPLUbg8dr+vBH7cOylgzu/nO0RBeVNud84ToffSCVxG5bCX2Vp8mkeQiBetzqxiw==
1276 dependencies:
1277 markdown-it "^12.0.6"
1278 markdown-it-abbr "^1.0.4"
1279 markdown-it-anchor "^7.1.0"
1280 markdown-it-deflist "^2.1.0"
1281 markdown-it-emoji "^2.0.0"
1282 markdown-it-footnote "^3.0.2"
1283 markdown-it-highlightjs "^3.3.1"
1284 markdown-it-ins "^3.0.1"
1285 markdown-it-mark "^3.0.1"
1286 markdown-it-sub "^1.0.0"
1287 markdown-it-sup "^1.0.0"
1288 markdown-it-task-lists "^2.1.1"
1289 markdown-it-toc-done-right "^4.1.0"
1290
12911211vue@^3.2.22:
12921212 version "3.2.22"
12931213 resolved "https://registry.yarnpkg.com/vue/-/vue-3.2.22.tgz#46e4dd89e98cc4b851ae1eb35f00ced413a34bb7"