├── .gitignore
├── README.md
├── index.html
├── package-lock.json
├── package.json
├── public
└── favicon.ico
├── src
├── App.vue
├── assets
│ ├── logo.png
│ └── main.css
├── components
│ ├── Auth.vue
│ ├── Avatar.vue
│ └── Profile.vue
├── main.js
├── store.js
└── supabase.js
└── vite.config.js
/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 | .DS_Store
3 | dist
4 | dist-ssr
5 | *.local
6 | *.env
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Supabase with Vue 3 Guide
2 |
3 | Full tutorial available at [Supabase Guide](https://supabase.io/docs/guides/with-vue-3)
4 |
5 | Feel free to clone this.
--------------------------------------------------------------------------------
/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | Vite App
8 |
9 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/package-lock.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "supabase-vue-3",
3 | "version": "0.0.0",
4 | "lockfileVersion": 2,
5 | "requires": true,
6 | "packages": {
7 | "": {
8 | "version": "0.0.0",
9 | "dependencies": {
10 | "@supabase/supabase-js": "^1.14.0",
11 | "vue": "^3.0.5"
12 | },
13 | "devDependencies": {
14 | "@vitejs/plugin-vue": "^1.2.3",
15 | "@vue/compiler-sfc": "^3.0.5",
16 | "vite": "^2.3.7"
17 | }
18 | },
19 | "node_modules/@babel/helper-validator-identifier": {
20 | "version": "7.14.5",
21 | "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.5.tgz",
22 | "integrity": "sha512-5lsetuxCLilmVGyiLEfoHBRX8UCFD+1m2x3Rj97WrW3V7H3u4RWRXA4evMjImCsin2J2YT0QaVDGf+z8ondbAg==",
23 | "engines": {
24 | "node": ">=6.9.0"
25 | }
26 | },
27 | "node_modules/@babel/parser": {
28 | "version": "7.14.5",
29 | "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.14.5.tgz",
30 | "integrity": "sha512-TM8C+xtH/9n1qzX+JNHi7AN2zHMTiPUtspO0ZdHflW8KaskkALhMmuMHb4bCmNdv9VAPzJX3/bXqkVLnAvsPfg==",
31 | "bin": {
32 | "parser": "bin/babel-parser.js"
33 | },
34 | "engines": {
35 | "node": ">=6.0.0"
36 | }
37 | },
38 | "node_modules/@babel/types": {
39 | "version": "7.14.5",
40 | "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.14.5.tgz",
41 | "integrity": "sha512-M/NzBpEL95I5Hh4dwhin5JlE7EzO5PHMAuzjxss3tiOBD46KfQvVedN/3jEPZvdRvtsK2222XfdHogNIttFgcg==",
42 | "dependencies": {
43 | "@babel/helper-validator-identifier": "^7.14.5",
44 | "to-fast-properties": "^2.0.0"
45 | },
46 | "engines": {
47 | "node": ">=6.9.0"
48 | }
49 | },
50 | "node_modules/@supabase/gotrue-js": {
51 | "version": "1.16.2",
52 | "resolved": "https://registry.npmjs.org/@supabase/gotrue-js/-/gotrue-js-1.16.2.tgz",
53 | "integrity": "sha512-zIVPYTN2f4rDQA/6nK9OPxzWNZ0N9gJzd/U1cu2ugZnwM0L7oiqk3/3ijxC2huLYveTOwqC9NMpKYWsQsLf6Bg==",
54 | "dependencies": {
55 | "cross-fetch": "^3.0.6"
56 | }
57 | },
58 | "node_modules/@supabase/postgrest-js": {
59 | "version": "0.30.0",
60 | "resolved": "https://registry.npmjs.org/@supabase/postgrest-js/-/postgrest-js-0.30.0.tgz",
61 | "integrity": "sha512-pAhoTAQ0gItI/10U6vbk+eVLeOOz6WrviYyvl3AN3BNxV11Qb8gjJmLQRMD4BPGKwW2eRpeUj4Rzbu4PswTWCA==",
62 | "dependencies": {
63 | "cross-fetch": "^3.0.6"
64 | }
65 | },
66 | "node_modules/@supabase/realtime-js": {
67 | "version": "1.0.9",
68 | "resolved": "https://registry.npmjs.org/@supabase/realtime-js/-/realtime-js-1.0.9.tgz",
69 | "integrity": "sha512-hGClyW7hHXW0PC6reJgaKFL0c3ubC+AVt7U/MxD0VJNjVXIw4PLj7DxgMpCIpNXksHJsLOBL8ht+BMhPb6rE8Q==",
70 | "dependencies": {
71 | "@types/websocket": "^1.0.1",
72 | "websocket": "^1.0.34"
73 | }
74 | },
75 | "node_modules/@supabase/storage-js": {
76 | "version": "1.2.1",
77 | "resolved": "https://registry.npmjs.org/@supabase/storage-js/-/storage-js-1.2.1.tgz",
78 | "integrity": "sha512-r12+Dn8p1t4VtFaoDsRhZwFN/kYwisSxKrmxgzyftd8FdrxRaTKc0dVTvWzqurZlI/wrsAs0fKT2p2TrQJKlQQ==",
79 | "dependencies": {
80 | "cross-fetch": "^3.1.0"
81 | }
82 | },
83 | "node_modules/@supabase/supabase-js": {
84 | "version": "1.14.0",
85 | "resolved": "https://registry.npmjs.org/@supabase/supabase-js/-/supabase-js-1.14.0.tgz",
86 | "integrity": "sha512-/hUrGkT4YZaDn3IUsmZ3jWfMrlVdXauiD4YLqBzDDFt2x9eyn1w2q6ryfGLFwZ/OoDY8vvHhIFKaO98hhHzOHg==",
87 | "dependencies": {
88 | "@supabase/gotrue-js": "^1.16.2",
89 | "@supabase/postgrest-js": "^0.30.0",
90 | "@supabase/realtime-js": "^1.0.9",
91 | "@supabase/storage-js": "^1.2.1"
92 | }
93 | },
94 | "node_modules/@types/node": {
95 | "version": "15.12.2",
96 | "resolved": "https://registry.npmjs.org/@types/node/-/node-15.12.2.tgz",
97 | "integrity": "sha512-zjQ69G564OCIWIOHSXyQEEDpdpGl+G348RAKY0XXy9Z5kU9Vzv1GMNnkar/ZJ8dzXB3COzD9Mo9NtRZ4xfgUww=="
98 | },
99 | "node_modules/@types/websocket": {
100 | "version": "1.0.2",
101 | "resolved": "https://registry.npmjs.org/@types/websocket/-/websocket-1.0.2.tgz",
102 | "integrity": "sha512-B5m9aq7cbbD/5/jThEr33nUY8WEfVi6A2YKCTOvw5Ldy7mtsOkqRvGjnzy6g7iMMDsgu7xREuCzqATLDLQVKcQ==",
103 | "dependencies": {
104 | "@types/node": "*"
105 | }
106 | },
107 | "node_modules/@vitejs/plugin-vue": {
108 | "version": "1.2.3",
109 | "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-1.2.3.tgz",
110 | "integrity": "sha512-LlnLpObkGKZ+b7dcpL4T24l13nPSHLjo+6Oc7MbZiKz5PMAUzADfNJ3EKfYIQ0l0969nxf2jp/9vsfnuJ7h6fw==",
111 | "dev": true,
112 | "engines": {
113 | "node": ">=12.0.0"
114 | },
115 | "peerDependencies": {
116 | "@vue/compiler-sfc": "^3.0.8"
117 | }
118 | },
119 | "node_modules/@vue/compiler-core": {
120 | "version": "3.1.1",
121 | "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.1.1.tgz",
122 | "integrity": "sha512-Z1RO3T6AEtAUFf2EqqovFm3ohAeTvFzRtB0qUENW2nEerJfdlk13/LS1a0EgsqlzxmYfR/S/S/gW9PLbFZZxkA==",
123 | "dependencies": {
124 | "@babel/parser": "^7.12.0",
125 | "@babel/types": "^7.12.0",
126 | "@vue/shared": "3.1.1",
127 | "estree-walker": "^2.0.1",
128 | "source-map": "^0.6.1"
129 | }
130 | },
131 | "node_modules/@vue/compiler-dom": {
132 | "version": "3.1.1",
133 | "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.1.1.tgz",
134 | "integrity": "sha512-nobRIo0t5ibzg+q8nC31m+aJhbq8FbWUoKvk6h3Vs1EqTDJaj6lBTcVTq5or8AYht7FbSpdAJ81isbJ1rWNX7A==",
135 | "dependencies": {
136 | "@vue/compiler-core": "3.1.1",
137 | "@vue/shared": "3.1.1"
138 | }
139 | },
140 | "node_modules/@vue/compiler-sfc": {
141 | "version": "3.1.1",
142 | "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.1.1.tgz",
143 | "integrity": "sha512-lSgMsZaYHF+bAgryq5aUqpvyfhu52GJI2/4LoiJCE5uaxc6FCZfxfgqgw/d9ltiZghv+HiISFtmQVAVvlsk+/w==",
144 | "dev": true,
145 | "dependencies": {
146 | "@babel/parser": "^7.13.9",
147 | "@babel/types": "^7.13.0",
148 | "@vue/compiler-core": "3.1.1",
149 | "@vue/compiler-dom": "3.1.1",
150 | "@vue/compiler-ssr": "3.1.1",
151 | "@vue/shared": "3.1.1",
152 | "consolidate": "^0.16.0",
153 | "estree-walker": "^2.0.1",
154 | "hash-sum": "^2.0.0",
155 | "lru-cache": "^5.1.1",
156 | "magic-string": "^0.25.7",
157 | "merge-source-map": "^1.1.0",
158 | "postcss": "^8.1.10",
159 | "postcss-modules": "^4.0.0",
160 | "postcss-selector-parser": "^6.0.4",
161 | "source-map": "^0.6.1"
162 | },
163 | "peerDependencies": {
164 | "vue": "3.1.1"
165 | }
166 | },
167 | "node_modules/@vue/compiler-ssr": {
168 | "version": "3.1.1",
169 | "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.1.1.tgz",
170 | "integrity": "sha512-7H6krZtVt3h/YzfNp7eYK41hMDz8ZskiBy+Wby+EDRINX6BD9JQ5C8zyy2xAa7T6Iz2VrQzsaJ/Bb52lTPSS5A==",
171 | "dev": true,
172 | "dependencies": {
173 | "@vue/compiler-dom": "3.1.1",
174 | "@vue/shared": "3.1.1"
175 | }
176 | },
177 | "node_modules/@vue/reactivity": {
178 | "version": "3.1.1",
179 | "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.1.1.tgz",
180 | "integrity": "sha512-DsH5woNVCcPK1M0RRYVgJEU1GJDU2ASOKpAqW3ppHk+XjoFLCbqc/26RTCgTpJYd9z8VN+79Q1u7/QqgQPbuLQ==",
181 | "dependencies": {
182 | "@vue/shared": "3.1.1"
183 | }
184 | },
185 | "node_modules/@vue/runtime-core": {
186 | "version": "3.1.1",
187 | "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.1.1.tgz",
188 | "integrity": "sha512-GboqR02txOtkd9F3Ysd8ltPL68vTCqIx2p/J52/gFtpgb5FG9hvOAPEwFUqxeEJRu7ResvQnmdOHiEycGPCLhQ==",
189 | "dependencies": {
190 | "@vue/reactivity": "3.1.1",
191 | "@vue/shared": "3.1.1"
192 | }
193 | },
194 | "node_modules/@vue/runtime-dom": {
195 | "version": "3.1.1",
196 | "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.1.1.tgz",
197 | "integrity": "sha512-o57n/199e/BBAmLRMSXmD2r12Old/h/gf6BgL0RON1NT2pwm6MWaMY4Ul55eyq+FsDILz4jR/UgoPQ9vYB8xcw==",
198 | "dependencies": {
199 | "@vue/runtime-core": "3.1.1",
200 | "@vue/shared": "3.1.1",
201 | "csstype": "^2.6.8"
202 | }
203 | },
204 | "node_modules/@vue/shared": {
205 | "version": "3.1.1",
206 | "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.1.1.tgz",
207 | "integrity": "sha512-g+4pzAw7PYSjARtLBoDq6DmcblX8i9KJHSCnyM5VDDFFifUaUT9iHbFpOF/KOizQ9f7QAqU2JH3Y6aXjzUMhVA=="
208 | },
209 | "node_modules/big.js": {
210 | "version": "5.2.2",
211 | "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz",
212 | "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==",
213 | "dev": true,
214 | "engines": {
215 | "node": "*"
216 | }
217 | },
218 | "node_modules/bluebird": {
219 | "version": "3.7.2",
220 | "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz",
221 | "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==",
222 | "dev": true
223 | },
224 | "node_modules/bufferutil": {
225 | "version": "4.0.3",
226 | "resolved": "https://registry.npmjs.org/bufferutil/-/bufferutil-4.0.3.tgz",
227 | "integrity": "sha512-yEYTwGndELGvfXsImMBLop58eaGW+YdONi1fNjTINSY98tmMmFijBG6WXgdkfuLNt4imzQNtIE+eBp1PVpMCSw==",
228 | "hasInstallScript": true,
229 | "dependencies": {
230 | "node-gyp-build": "^4.2.0"
231 | }
232 | },
233 | "node_modules/colorette": {
234 | "version": "1.2.2",
235 | "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.2.tgz",
236 | "integrity": "sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w==",
237 | "dev": true
238 | },
239 | "node_modules/consolidate": {
240 | "version": "0.16.0",
241 | "resolved": "https://registry.npmjs.org/consolidate/-/consolidate-0.16.0.tgz",
242 | "integrity": "sha512-Nhl1wzCslqXYTJVDyJCu3ODohy9OfBMB5uD2BiBTzd7w+QY0lBzafkR8y8755yMYHAaMD4NuzbAw03/xzfw+eQ==",
243 | "dev": true,
244 | "dependencies": {
245 | "bluebird": "^3.7.2"
246 | },
247 | "engines": {
248 | "node": ">= 0.10.0"
249 | }
250 | },
251 | "node_modules/cross-fetch": {
252 | "version": "3.1.4",
253 | "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.4.tgz",
254 | "integrity": "sha512-1eAtFWdIubi6T4XPy6ei9iUFoKpUkIF971QLN8lIvvvwueI65+Nw5haMNKUwfJxabqlIIDODJKGrQ66gxC0PbQ==",
255 | "dependencies": {
256 | "node-fetch": "2.6.1"
257 | }
258 | },
259 | "node_modules/cssesc": {
260 | "version": "3.0.0",
261 | "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz",
262 | "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==",
263 | "dev": true,
264 | "bin": {
265 | "cssesc": "bin/cssesc"
266 | },
267 | "engines": {
268 | "node": ">=4"
269 | }
270 | },
271 | "node_modules/csstype": {
272 | "version": "2.6.17",
273 | "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.17.tgz",
274 | "integrity": "sha512-u1wmTI1jJGzCJzWndZo8mk4wnPTZd1eOIYTYvuEyOQGfmDl3TrabCCfKnOC86FZwW/9djqTl933UF/cS425i9A=="
275 | },
276 | "node_modules/d": {
277 | "version": "1.0.1",
278 | "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz",
279 | "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==",
280 | "dependencies": {
281 | "es5-ext": "^0.10.50",
282 | "type": "^1.0.1"
283 | }
284 | },
285 | "node_modules/debug": {
286 | "version": "2.6.9",
287 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
288 | "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
289 | "dependencies": {
290 | "ms": "2.0.0"
291 | }
292 | },
293 | "node_modules/emojis-list": {
294 | "version": "3.0.0",
295 | "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz",
296 | "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==",
297 | "dev": true,
298 | "engines": {
299 | "node": ">= 4"
300 | }
301 | },
302 | "node_modules/es5-ext": {
303 | "version": "0.10.53",
304 | "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.53.tgz",
305 | "integrity": "sha512-Xs2Stw6NiNHWypzRTY1MtaG/uJlwCk8kH81920ma8mvN8Xq1gsfhZvpkImLQArw8AHnv8MT2I45J3c0R8slE+Q==",
306 | "dependencies": {
307 | "es6-iterator": "~2.0.3",
308 | "es6-symbol": "~3.1.3",
309 | "next-tick": "~1.0.0"
310 | }
311 | },
312 | "node_modules/es6-iterator": {
313 | "version": "2.0.3",
314 | "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz",
315 | "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=",
316 | "dependencies": {
317 | "d": "1",
318 | "es5-ext": "^0.10.35",
319 | "es6-symbol": "^3.1.1"
320 | }
321 | },
322 | "node_modules/es6-symbol": {
323 | "version": "3.1.3",
324 | "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz",
325 | "integrity": "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==",
326 | "dependencies": {
327 | "d": "^1.0.1",
328 | "ext": "^1.1.2"
329 | }
330 | },
331 | "node_modules/esbuild": {
332 | "version": "0.12.8",
333 | "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.12.8.tgz",
334 | "integrity": "sha512-sx/LwlP/SWTGsd9G4RlOPrXnIihAJ2xwBUmzoqe2nWwbXORMQWtAGNJNYLBJJqa3e9PWvVzxdrtyFZJcr7D87g==",
335 | "dev": true,
336 | "hasInstallScript": true,
337 | "bin": {
338 | "esbuild": "bin/esbuild"
339 | }
340 | },
341 | "node_modules/estree-walker": {
342 | "version": "2.0.2",
343 | "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz",
344 | "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w=="
345 | },
346 | "node_modules/ext": {
347 | "version": "1.4.0",
348 | "resolved": "https://registry.npmjs.org/ext/-/ext-1.4.0.tgz",
349 | "integrity": "sha512-Key5NIsUxdqKg3vIsdw9dSuXpPCQ297y6wBjL30edxwPgt2E44WcWBZey/ZvUc6sERLTxKdyCu4gZFmUbk1Q7A==",
350 | "dependencies": {
351 | "type": "^2.0.0"
352 | }
353 | },
354 | "node_modules/ext/node_modules/type": {
355 | "version": "2.5.0",
356 | "resolved": "https://registry.npmjs.org/type/-/type-2.5.0.tgz",
357 | "integrity": "sha512-180WMDQaIMm3+7hGXWf12GtdniDEy7nYcyFMKJn/eZz/6tSLXrUN9V0wKSbMjej0I1WHWbpREDEKHtqPQa9NNw=="
358 | },
359 | "node_modules/fsevents": {
360 | "version": "2.3.2",
361 | "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
362 | "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
363 | "dev": true,
364 | "hasInstallScript": true,
365 | "optional": true,
366 | "os": [
367 | "darwin"
368 | ],
369 | "engines": {
370 | "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
371 | }
372 | },
373 | "node_modules/function-bind": {
374 | "version": "1.1.1",
375 | "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
376 | "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
377 | "dev": true
378 | },
379 | "node_modules/generic-names": {
380 | "version": "2.0.1",
381 | "resolved": "https://registry.npmjs.org/generic-names/-/generic-names-2.0.1.tgz",
382 | "integrity": "sha512-kPCHWa1m9wGG/OwQpeweTwM/PYiQLrUIxXbt/P4Nic3LbGjCP0YwrALHW1uNLKZ0LIMg+RF+XRlj2ekT9ZlZAQ==",
383 | "dev": true,
384 | "dependencies": {
385 | "loader-utils": "^1.1.0"
386 | }
387 | },
388 | "node_modules/has": {
389 | "version": "1.0.3",
390 | "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
391 | "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
392 | "dev": true,
393 | "dependencies": {
394 | "function-bind": "^1.1.1"
395 | },
396 | "engines": {
397 | "node": ">= 0.4.0"
398 | }
399 | },
400 | "node_modules/hash-sum": {
401 | "version": "2.0.0",
402 | "resolved": "https://registry.npmjs.org/hash-sum/-/hash-sum-2.0.0.tgz",
403 | "integrity": "sha512-WdZTbAByD+pHfl/g9QSsBIIwy8IT+EsPiKDs0KNX+zSHhdDLFKdZu0BQHljvO+0QI/BasbMSUa8wYNCZTvhslg==",
404 | "dev": true
405 | },
406 | "node_modules/icss-replace-symbols": {
407 | "version": "1.1.0",
408 | "resolved": "https://registry.npmjs.org/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz",
409 | "integrity": "sha1-Bupvg2ead0njhs/h/oEq5dsiPe0=",
410 | "dev": true
411 | },
412 | "node_modules/icss-utils": {
413 | "version": "5.1.0",
414 | "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz",
415 | "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==",
416 | "dev": true,
417 | "engines": {
418 | "node": "^10 || ^12 || >= 14"
419 | },
420 | "peerDependencies": {
421 | "postcss": "^8.1.0"
422 | }
423 | },
424 | "node_modules/is-core-module": {
425 | "version": "2.4.0",
426 | "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.4.0.tgz",
427 | "integrity": "sha512-6A2fkfq1rfeQZjxrZJGerpLCTHRNEBiSgnu0+obeJpEPZRUooHgsizvzv0ZjJwOz3iWIHdJtVWJ/tmPr3D21/A==",
428 | "dev": true,
429 | "dependencies": {
430 | "has": "^1.0.3"
431 | },
432 | "funding": {
433 | "url": "https://github.com/sponsors/ljharb"
434 | }
435 | },
436 | "node_modules/is-typedarray": {
437 | "version": "1.0.0",
438 | "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
439 | "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo="
440 | },
441 | "node_modules/json5": {
442 | "version": "1.0.1",
443 | "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
444 | "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
445 | "dev": true,
446 | "dependencies": {
447 | "minimist": "^1.2.0"
448 | },
449 | "bin": {
450 | "json5": "lib/cli.js"
451 | }
452 | },
453 | "node_modules/loader-utils": {
454 | "version": "1.4.0",
455 | "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz",
456 | "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==",
457 | "dev": true,
458 | "dependencies": {
459 | "big.js": "^5.2.2",
460 | "emojis-list": "^3.0.0",
461 | "json5": "^1.0.1"
462 | },
463 | "engines": {
464 | "node": ">=4.0.0"
465 | }
466 | },
467 | "node_modules/lodash.camelcase": {
468 | "version": "4.3.0",
469 | "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz",
470 | "integrity": "sha1-soqmKIorn8ZRA1x3EfZathkDMaY=",
471 | "dev": true
472 | },
473 | "node_modules/lru-cache": {
474 | "version": "5.1.1",
475 | "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
476 | "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==",
477 | "dev": true,
478 | "dependencies": {
479 | "yallist": "^3.0.2"
480 | }
481 | },
482 | "node_modules/magic-string": {
483 | "version": "0.25.7",
484 | "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.7.tgz",
485 | "integrity": "sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA==",
486 | "dev": true,
487 | "dependencies": {
488 | "sourcemap-codec": "^1.4.4"
489 | }
490 | },
491 | "node_modules/merge-source-map": {
492 | "version": "1.1.0",
493 | "resolved": "https://registry.npmjs.org/merge-source-map/-/merge-source-map-1.1.0.tgz",
494 | "integrity": "sha512-Qkcp7P2ygktpMPh2mCQZaf3jhN6D3Z/qVZHSdWvQ+2Ef5HgRAPBO57A77+ENm0CPx2+1Ce/MYKi3ymqdfuqibw==",
495 | "dev": true,
496 | "dependencies": {
497 | "source-map": "^0.6.1"
498 | }
499 | },
500 | "node_modules/minimist": {
501 | "version": "1.2.5",
502 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
503 | "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
504 | "dev": true
505 | },
506 | "node_modules/ms": {
507 | "version": "2.0.0",
508 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
509 | "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
510 | },
511 | "node_modules/nanoid": {
512 | "version": "3.1.23",
513 | "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.23.tgz",
514 | "integrity": "sha512-FiB0kzdP0FFVGDKlRLEQ1BgDzU87dy5NnzjeW9YZNt+/c3+q82EQDUwniSAUxp/F0gFNI1ZhKU1FqYsMuqZVnw==",
515 | "dev": true,
516 | "bin": {
517 | "nanoid": "bin/nanoid.cjs"
518 | },
519 | "engines": {
520 | "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
521 | }
522 | },
523 | "node_modules/next-tick": {
524 | "version": "1.0.0",
525 | "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz",
526 | "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw="
527 | },
528 | "node_modules/node-fetch": {
529 | "version": "2.6.1",
530 | "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz",
531 | "integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==",
532 | "engines": {
533 | "node": "4.x || >=6.0.0"
534 | }
535 | },
536 | "node_modules/node-gyp-build": {
537 | "version": "4.2.3",
538 | "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.2.3.tgz",
539 | "integrity": "sha512-MN6ZpzmfNCRM+3t57PTJHgHyw/h4OWnZ6mR8P5j/uZtqQr46RRuDE/P+g3n0YR/AiYXeWixZZzaip77gdICfRg==",
540 | "bin": {
541 | "node-gyp-build": "bin.js",
542 | "node-gyp-build-optional": "optional.js",
543 | "node-gyp-build-test": "build-test.js"
544 | }
545 | },
546 | "node_modules/path-parse": {
547 | "version": "1.0.7",
548 | "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
549 | "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==",
550 | "dev": true
551 | },
552 | "node_modules/postcss": {
553 | "version": "8.3.2",
554 | "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.3.2.tgz",
555 | "integrity": "sha512-y1FK/AWdZlBF5lusS5j5l4/vF67+vQZt1SXPVJ32y1kRGDQyrs1zk32hG1cInRTu14P0V+orPz+ifwW/7rR4bg==",
556 | "dev": true,
557 | "dependencies": {
558 | "colorette": "^1.2.2",
559 | "nanoid": "^3.1.23",
560 | "source-map-js": "^0.6.2"
561 | },
562 | "engines": {
563 | "node": "^10 || ^12 || >=14"
564 | },
565 | "funding": {
566 | "type": "opencollective",
567 | "url": "https://opencollective.com/postcss/"
568 | }
569 | },
570 | "node_modules/postcss-modules": {
571 | "version": "4.1.3",
572 | "resolved": "https://registry.npmjs.org/postcss-modules/-/postcss-modules-4.1.3.tgz",
573 | "integrity": "sha512-dBT39hrXe4OAVYJe/2ZuIZ9BzYhOe7t+IhedYeQ2OxKwDpAGlkEN/fR0fGnrbx4BvgbMReRX4hCubYK9cE/pJQ==",
574 | "dev": true,
575 | "dependencies": {
576 | "generic-names": "^2.0.1",
577 | "icss-replace-symbols": "^1.1.0",
578 | "lodash.camelcase": "^4.3.0",
579 | "postcss-modules-extract-imports": "^3.0.0",
580 | "postcss-modules-local-by-default": "^4.0.0",
581 | "postcss-modules-scope": "^3.0.0",
582 | "postcss-modules-values": "^4.0.0",
583 | "string-hash": "^1.1.1"
584 | },
585 | "peerDependencies": {
586 | "postcss": "^8.0.0"
587 | }
588 | },
589 | "node_modules/postcss-modules-extract-imports": {
590 | "version": "3.0.0",
591 | "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz",
592 | "integrity": "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==",
593 | "dev": true,
594 | "engines": {
595 | "node": "^10 || ^12 || >= 14"
596 | },
597 | "peerDependencies": {
598 | "postcss": "^8.1.0"
599 | }
600 | },
601 | "node_modules/postcss-modules-local-by-default": {
602 | "version": "4.0.0",
603 | "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.0.tgz",
604 | "integrity": "sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ==",
605 | "dev": true,
606 | "dependencies": {
607 | "icss-utils": "^5.0.0",
608 | "postcss-selector-parser": "^6.0.2",
609 | "postcss-value-parser": "^4.1.0"
610 | },
611 | "engines": {
612 | "node": "^10 || ^12 || >= 14"
613 | },
614 | "peerDependencies": {
615 | "postcss": "^8.1.0"
616 | }
617 | },
618 | "node_modules/postcss-modules-scope": {
619 | "version": "3.0.0",
620 | "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz",
621 | "integrity": "sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==",
622 | "dev": true,
623 | "dependencies": {
624 | "postcss-selector-parser": "^6.0.4"
625 | },
626 | "engines": {
627 | "node": "^10 || ^12 || >= 14"
628 | },
629 | "peerDependencies": {
630 | "postcss": "^8.1.0"
631 | }
632 | },
633 | "node_modules/postcss-modules-values": {
634 | "version": "4.0.0",
635 | "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz",
636 | "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==",
637 | "dev": true,
638 | "dependencies": {
639 | "icss-utils": "^5.0.0"
640 | },
641 | "engines": {
642 | "node": "^10 || ^12 || >= 14"
643 | },
644 | "peerDependencies": {
645 | "postcss": "^8.1.0"
646 | }
647 | },
648 | "node_modules/postcss-selector-parser": {
649 | "version": "6.0.6",
650 | "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.6.tgz",
651 | "integrity": "sha512-9LXrvaaX3+mcv5xkg5kFwqSzSH1JIObIx51PrndZwlmznwXRfxMddDvo9gve3gVR8ZTKgoFDdWkbRFmEhT4PMg==",
652 | "dev": true,
653 | "dependencies": {
654 | "cssesc": "^3.0.0",
655 | "util-deprecate": "^1.0.2"
656 | },
657 | "engines": {
658 | "node": ">=4"
659 | }
660 | },
661 | "node_modules/postcss-value-parser": {
662 | "version": "4.1.0",
663 | "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz",
664 | "integrity": "sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==",
665 | "dev": true
666 | },
667 | "node_modules/resolve": {
668 | "version": "1.20.0",
669 | "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz",
670 | "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==",
671 | "dev": true,
672 | "dependencies": {
673 | "is-core-module": "^2.2.0",
674 | "path-parse": "^1.0.6"
675 | },
676 | "funding": {
677 | "url": "https://github.com/sponsors/ljharb"
678 | }
679 | },
680 | "node_modules/rollup": {
681 | "version": "2.51.1",
682 | "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.51.1.tgz",
683 | "integrity": "sha512-8xfDbAtBleXotb6qKEHWuo/jkn94a9dVqGc7Rwl3sqspCVlnCfbRek7ldhCARSi7h32H0xR4QThm1t9zHN+3uw==",
684 | "dev": true,
685 | "bin": {
686 | "rollup": "dist/bin/rollup"
687 | },
688 | "engines": {
689 | "node": ">=10.0.0"
690 | },
691 | "optionalDependencies": {
692 | "fsevents": "~2.3.1"
693 | }
694 | },
695 | "node_modules/source-map": {
696 | "version": "0.6.1",
697 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
698 | "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
699 | "engines": {
700 | "node": ">=0.10.0"
701 | }
702 | },
703 | "node_modules/source-map-js": {
704 | "version": "0.6.2",
705 | "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-0.6.2.tgz",
706 | "integrity": "sha512-/3GptzWzu0+0MBQFrDKzw/DvvMTUORvgY6k6jd/VS6iCR4RDTKWH6v6WPwQoUO8667uQEf9Oe38DxAYWY5F/Ug==",
707 | "dev": true,
708 | "engines": {
709 | "node": ">=0.10.0"
710 | }
711 | },
712 | "node_modules/sourcemap-codec": {
713 | "version": "1.4.8",
714 | "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz",
715 | "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==",
716 | "dev": true
717 | },
718 | "node_modules/string-hash": {
719 | "version": "1.1.3",
720 | "resolved": "https://registry.npmjs.org/string-hash/-/string-hash-1.1.3.tgz",
721 | "integrity": "sha1-6Kr8CsGFW0Zmkp7X3RJ1311sgRs=",
722 | "dev": true
723 | },
724 | "node_modules/to-fast-properties": {
725 | "version": "2.0.0",
726 | "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
727 | "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=",
728 | "engines": {
729 | "node": ">=4"
730 | }
731 | },
732 | "node_modules/type": {
733 | "version": "1.2.0",
734 | "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz",
735 | "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg=="
736 | },
737 | "node_modules/typedarray-to-buffer": {
738 | "version": "3.1.5",
739 | "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz",
740 | "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==",
741 | "dependencies": {
742 | "is-typedarray": "^1.0.0"
743 | }
744 | },
745 | "node_modules/utf-8-validate": {
746 | "version": "5.0.5",
747 | "resolved": "https://registry.npmjs.org/utf-8-validate/-/utf-8-validate-5.0.5.tgz",
748 | "integrity": "sha512-+pnxRYsS/axEpkrrEpzYfNZGXp0IjC/9RIxwM5gntY4Koi8SHmUGSfxfWqxZdRxrtaoVstuOzUp/rbs3JSPELQ==",
749 | "hasInstallScript": true,
750 | "dependencies": {
751 | "node-gyp-build": "^4.2.0"
752 | }
753 | },
754 | "node_modules/util-deprecate": {
755 | "version": "1.0.2",
756 | "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
757 | "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=",
758 | "dev": true
759 | },
760 | "node_modules/vite": {
761 | "version": "2.3.7",
762 | "resolved": "https://registry.npmjs.org/vite/-/vite-2.3.7.tgz",
763 | "integrity": "sha512-Y0xRz11MPYu/EAvzN94+FsOZHbSvO6FUvHv127CyG7mV6oDoay2bw+g5y9wW3Blf8OY3chaz3nc/DcRe1IQ3Nw==",
764 | "dev": true,
765 | "dependencies": {
766 | "esbuild": "^0.12.5",
767 | "postcss": "^8.3.0",
768 | "resolve": "^1.19.0",
769 | "rollup": "^2.38.5"
770 | },
771 | "bin": {
772 | "vite": "bin/vite.js"
773 | },
774 | "engines": {
775 | "node": ">=12.0.0"
776 | },
777 | "optionalDependencies": {
778 | "fsevents": "~2.3.1"
779 | }
780 | },
781 | "node_modules/vue": {
782 | "version": "3.1.1",
783 | "resolved": "https://registry.npmjs.org/vue/-/vue-3.1.1.tgz",
784 | "integrity": "sha512-j9fj3PNPMxo2eqOKYjMuss9XBS8ZtmczLY3kPvjcp9d3DbhyNqLYbaMQH18+1pDIzzVvQCQBvIf774LsjjqSKA==",
785 | "dependencies": {
786 | "@vue/compiler-dom": "3.1.1",
787 | "@vue/runtime-dom": "3.1.1",
788 | "@vue/shared": "3.1.1"
789 | }
790 | },
791 | "node_modules/websocket": {
792 | "version": "1.0.34",
793 | "resolved": "https://registry.npmjs.org/websocket/-/websocket-1.0.34.tgz",
794 | "integrity": "sha512-PRDso2sGwF6kM75QykIesBijKSVceR6jL2G8NGYyq2XrItNC2P5/qL5XeR056GhA+Ly7JMFvJb9I312mJfmqnQ==",
795 | "dependencies": {
796 | "bufferutil": "^4.0.1",
797 | "debug": "^2.2.0",
798 | "es5-ext": "^0.10.50",
799 | "typedarray-to-buffer": "^3.1.5",
800 | "utf-8-validate": "^5.0.2",
801 | "yaeti": "^0.0.6"
802 | },
803 | "engines": {
804 | "node": ">=4.0.0"
805 | }
806 | },
807 | "node_modules/yaeti": {
808 | "version": "0.0.6",
809 | "resolved": "https://registry.npmjs.org/yaeti/-/yaeti-0.0.6.tgz",
810 | "integrity": "sha1-8m9ITXJoTPQr7ft2lwqhYI+/lXc=",
811 | "engines": {
812 | "node": ">=0.10.32"
813 | }
814 | },
815 | "node_modules/yallist": {
816 | "version": "3.1.1",
817 | "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
818 | "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==",
819 | "dev": true
820 | }
821 | },
822 | "dependencies": {
823 | "@babel/helper-validator-identifier": {
824 | "version": "7.14.5",
825 | "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.5.tgz",
826 | "integrity": "sha512-5lsetuxCLilmVGyiLEfoHBRX8UCFD+1m2x3Rj97WrW3V7H3u4RWRXA4evMjImCsin2J2YT0QaVDGf+z8ondbAg=="
827 | },
828 | "@babel/parser": {
829 | "version": "7.14.5",
830 | "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.14.5.tgz",
831 | "integrity": "sha512-TM8C+xtH/9n1qzX+JNHi7AN2zHMTiPUtspO0ZdHflW8KaskkALhMmuMHb4bCmNdv9VAPzJX3/bXqkVLnAvsPfg=="
832 | },
833 | "@babel/types": {
834 | "version": "7.14.5",
835 | "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.14.5.tgz",
836 | "integrity": "sha512-M/NzBpEL95I5Hh4dwhin5JlE7EzO5PHMAuzjxss3tiOBD46KfQvVedN/3jEPZvdRvtsK2222XfdHogNIttFgcg==",
837 | "requires": {
838 | "@babel/helper-validator-identifier": "^7.14.5",
839 | "to-fast-properties": "^2.0.0"
840 | }
841 | },
842 | "@supabase/gotrue-js": {
843 | "version": "1.16.2",
844 | "resolved": "https://registry.npmjs.org/@supabase/gotrue-js/-/gotrue-js-1.16.2.tgz",
845 | "integrity": "sha512-zIVPYTN2f4rDQA/6nK9OPxzWNZ0N9gJzd/U1cu2ugZnwM0L7oiqk3/3ijxC2huLYveTOwqC9NMpKYWsQsLf6Bg==",
846 | "requires": {
847 | "cross-fetch": "^3.0.6"
848 | }
849 | },
850 | "@supabase/postgrest-js": {
851 | "version": "0.30.0",
852 | "resolved": "https://registry.npmjs.org/@supabase/postgrest-js/-/postgrest-js-0.30.0.tgz",
853 | "integrity": "sha512-pAhoTAQ0gItI/10U6vbk+eVLeOOz6WrviYyvl3AN3BNxV11Qb8gjJmLQRMD4BPGKwW2eRpeUj4Rzbu4PswTWCA==",
854 | "requires": {
855 | "cross-fetch": "^3.0.6"
856 | }
857 | },
858 | "@supabase/realtime-js": {
859 | "version": "1.0.9",
860 | "resolved": "https://registry.npmjs.org/@supabase/realtime-js/-/realtime-js-1.0.9.tgz",
861 | "integrity": "sha512-hGClyW7hHXW0PC6reJgaKFL0c3ubC+AVt7U/MxD0VJNjVXIw4PLj7DxgMpCIpNXksHJsLOBL8ht+BMhPb6rE8Q==",
862 | "requires": {
863 | "@types/websocket": "^1.0.1",
864 | "websocket": "^1.0.34"
865 | }
866 | },
867 | "@supabase/storage-js": {
868 | "version": "1.2.1",
869 | "resolved": "https://registry.npmjs.org/@supabase/storage-js/-/storage-js-1.2.1.tgz",
870 | "integrity": "sha512-r12+Dn8p1t4VtFaoDsRhZwFN/kYwisSxKrmxgzyftd8FdrxRaTKc0dVTvWzqurZlI/wrsAs0fKT2p2TrQJKlQQ==",
871 | "requires": {
872 | "cross-fetch": "^3.1.0"
873 | }
874 | },
875 | "@supabase/supabase-js": {
876 | "version": "1.14.0",
877 | "resolved": "https://registry.npmjs.org/@supabase/supabase-js/-/supabase-js-1.14.0.tgz",
878 | "integrity": "sha512-/hUrGkT4YZaDn3IUsmZ3jWfMrlVdXauiD4YLqBzDDFt2x9eyn1w2q6ryfGLFwZ/OoDY8vvHhIFKaO98hhHzOHg==",
879 | "requires": {
880 | "@supabase/gotrue-js": "^1.16.2",
881 | "@supabase/postgrest-js": "^0.30.0",
882 | "@supabase/realtime-js": "^1.0.9",
883 | "@supabase/storage-js": "^1.2.1"
884 | }
885 | },
886 | "@types/node": {
887 | "version": "15.12.2",
888 | "resolved": "https://registry.npmjs.org/@types/node/-/node-15.12.2.tgz",
889 | "integrity": "sha512-zjQ69G564OCIWIOHSXyQEEDpdpGl+G348RAKY0XXy9Z5kU9Vzv1GMNnkar/ZJ8dzXB3COzD9Mo9NtRZ4xfgUww=="
890 | },
891 | "@types/websocket": {
892 | "version": "1.0.2",
893 | "resolved": "https://registry.npmjs.org/@types/websocket/-/websocket-1.0.2.tgz",
894 | "integrity": "sha512-B5m9aq7cbbD/5/jThEr33nUY8WEfVi6A2YKCTOvw5Ldy7mtsOkqRvGjnzy6g7iMMDsgu7xREuCzqATLDLQVKcQ==",
895 | "requires": {
896 | "@types/node": "*"
897 | }
898 | },
899 | "@vitejs/plugin-vue": {
900 | "version": "1.2.3",
901 | "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-1.2.3.tgz",
902 | "integrity": "sha512-LlnLpObkGKZ+b7dcpL4T24l13nPSHLjo+6Oc7MbZiKz5PMAUzADfNJ3EKfYIQ0l0969nxf2jp/9vsfnuJ7h6fw==",
903 | "dev": true,
904 | "requires": {}
905 | },
906 | "@vue/compiler-core": {
907 | "version": "3.1.1",
908 | "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.1.1.tgz",
909 | "integrity": "sha512-Z1RO3T6AEtAUFf2EqqovFm3ohAeTvFzRtB0qUENW2nEerJfdlk13/LS1a0EgsqlzxmYfR/S/S/gW9PLbFZZxkA==",
910 | "requires": {
911 | "@babel/parser": "^7.12.0",
912 | "@babel/types": "^7.12.0",
913 | "@vue/shared": "3.1.1",
914 | "estree-walker": "^2.0.1",
915 | "source-map": "^0.6.1"
916 | }
917 | },
918 | "@vue/compiler-dom": {
919 | "version": "3.1.1",
920 | "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.1.1.tgz",
921 | "integrity": "sha512-nobRIo0t5ibzg+q8nC31m+aJhbq8FbWUoKvk6h3Vs1EqTDJaj6lBTcVTq5or8AYht7FbSpdAJ81isbJ1rWNX7A==",
922 | "requires": {
923 | "@vue/compiler-core": "3.1.1",
924 | "@vue/shared": "3.1.1"
925 | }
926 | },
927 | "@vue/compiler-sfc": {
928 | "version": "3.1.1",
929 | "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.1.1.tgz",
930 | "integrity": "sha512-lSgMsZaYHF+bAgryq5aUqpvyfhu52GJI2/4LoiJCE5uaxc6FCZfxfgqgw/d9ltiZghv+HiISFtmQVAVvlsk+/w==",
931 | "dev": true,
932 | "requires": {
933 | "@babel/parser": "^7.13.9",
934 | "@babel/types": "^7.13.0",
935 | "@vue/compiler-core": "3.1.1",
936 | "@vue/compiler-dom": "3.1.1",
937 | "@vue/compiler-ssr": "3.1.1",
938 | "@vue/shared": "3.1.1",
939 | "consolidate": "^0.16.0",
940 | "estree-walker": "^2.0.1",
941 | "hash-sum": "^2.0.0",
942 | "lru-cache": "^5.1.1",
943 | "magic-string": "^0.25.7",
944 | "merge-source-map": "^1.1.0",
945 | "postcss": "^8.1.10",
946 | "postcss-modules": "^4.0.0",
947 | "postcss-selector-parser": "^6.0.4",
948 | "source-map": "^0.6.1"
949 | }
950 | },
951 | "@vue/compiler-ssr": {
952 | "version": "3.1.1",
953 | "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.1.1.tgz",
954 | "integrity": "sha512-7H6krZtVt3h/YzfNp7eYK41hMDz8ZskiBy+Wby+EDRINX6BD9JQ5C8zyy2xAa7T6Iz2VrQzsaJ/Bb52lTPSS5A==",
955 | "dev": true,
956 | "requires": {
957 | "@vue/compiler-dom": "3.1.1",
958 | "@vue/shared": "3.1.1"
959 | }
960 | },
961 | "@vue/reactivity": {
962 | "version": "3.1.1",
963 | "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.1.1.tgz",
964 | "integrity": "sha512-DsH5woNVCcPK1M0RRYVgJEU1GJDU2ASOKpAqW3ppHk+XjoFLCbqc/26RTCgTpJYd9z8VN+79Q1u7/QqgQPbuLQ==",
965 | "requires": {
966 | "@vue/shared": "3.1.1"
967 | }
968 | },
969 | "@vue/runtime-core": {
970 | "version": "3.1.1",
971 | "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.1.1.tgz",
972 | "integrity": "sha512-GboqR02txOtkd9F3Ysd8ltPL68vTCqIx2p/J52/gFtpgb5FG9hvOAPEwFUqxeEJRu7ResvQnmdOHiEycGPCLhQ==",
973 | "requires": {
974 | "@vue/reactivity": "3.1.1",
975 | "@vue/shared": "3.1.1"
976 | }
977 | },
978 | "@vue/runtime-dom": {
979 | "version": "3.1.1",
980 | "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.1.1.tgz",
981 | "integrity": "sha512-o57n/199e/BBAmLRMSXmD2r12Old/h/gf6BgL0RON1NT2pwm6MWaMY4Ul55eyq+FsDILz4jR/UgoPQ9vYB8xcw==",
982 | "requires": {
983 | "@vue/runtime-core": "3.1.1",
984 | "@vue/shared": "3.1.1",
985 | "csstype": "^2.6.8"
986 | }
987 | },
988 | "@vue/shared": {
989 | "version": "3.1.1",
990 | "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.1.1.tgz",
991 | "integrity": "sha512-g+4pzAw7PYSjARtLBoDq6DmcblX8i9KJHSCnyM5VDDFFifUaUT9iHbFpOF/KOizQ9f7QAqU2JH3Y6aXjzUMhVA=="
992 | },
993 | "big.js": {
994 | "version": "5.2.2",
995 | "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz",
996 | "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==",
997 | "dev": true
998 | },
999 | "bluebird": {
1000 | "version": "3.7.2",
1001 | "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz",
1002 | "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==",
1003 | "dev": true
1004 | },
1005 | "bufferutil": {
1006 | "version": "4.0.3",
1007 | "resolved": "https://registry.npmjs.org/bufferutil/-/bufferutil-4.0.3.tgz",
1008 | "integrity": "sha512-yEYTwGndELGvfXsImMBLop58eaGW+YdONi1fNjTINSY98tmMmFijBG6WXgdkfuLNt4imzQNtIE+eBp1PVpMCSw==",
1009 | "requires": {
1010 | "node-gyp-build": "^4.2.0"
1011 | }
1012 | },
1013 | "colorette": {
1014 | "version": "1.2.2",
1015 | "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.2.tgz",
1016 | "integrity": "sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w==",
1017 | "dev": true
1018 | },
1019 | "consolidate": {
1020 | "version": "0.16.0",
1021 | "resolved": "https://registry.npmjs.org/consolidate/-/consolidate-0.16.0.tgz",
1022 | "integrity": "sha512-Nhl1wzCslqXYTJVDyJCu3ODohy9OfBMB5uD2BiBTzd7w+QY0lBzafkR8y8755yMYHAaMD4NuzbAw03/xzfw+eQ==",
1023 | "dev": true,
1024 | "requires": {
1025 | "bluebird": "^3.7.2"
1026 | }
1027 | },
1028 | "cross-fetch": {
1029 | "version": "3.1.4",
1030 | "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.4.tgz",
1031 | "integrity": "sha512-1eAtFWdIubi6T4XPy6ei9iUFoKpUkIF971QLN8lIvvvwueI65+Nw5haMNKUwfJxabqlIIDODJKGrQ66gxC0PbQ==",
1032 | "requires": {
1033 | "node-fetch": "2.6.1"
1034 | }
1035 | },
1036 | "cssesc": {
1037 | "version": "3.0.0",
1038 | "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz",
1039 | "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==",
1040 | "dev": true
1041 | },
1042 | "csstype": {
1043 | "version": "2.6.17",
1044 | "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.17.tgz",
1045 | "integrity": "sha512-u1wmTI1jJGzCJzWndZo8mk4wnPTZd1eOIYTYvuEyOQGfmDl3TrabCCfKnOC86FZwW/9djqTl933UF/cS425i9A=="
1046 | },
1047 | "d": {
1048 | "version": "1.0.1",
1049 | "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz",
1050 | "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==",
1051 | "requires": {
1052 | "es5-ext": "^0.10.50",
1053 | "type": "^1.0.1"
1054 | }
1055 | },
1056 | "debug": {
1057 | "version": "2.6.9",
1058 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
1059 | "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
1060 | "requires": {
1061 | "ms": "2.0.0"
1062 | }
1063 | },
1064 | "emojis-list": {
1065 | "version": "3.0.0",
1066 | "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz",
1067 | "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==",
1068 | "dev": true
1069 | },
1070 | "es5-ext": {
1071 | "version": "0.10.53",
1072 | "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.53.tgz",
1073 | "integrity": "sha512-Xs2Stw6NiNHWypzRTY1MtaG/uJlwCk8kH81920ma8mvN8Xq1gsfhZvpkImLQArw8AHnv8MT2I45J3c0R8slE+Q==",
1074 | "requires": {
1075 | "es6-iterator": "~2.0.3",
1076 | "es6-symbol": "~3.1.3",
1077 | "next-tick": "~1.0.0"
1078 | }
1079 | },
1080 | "es6-iterator": {
1081 | "version": "2.0.3",
1082 | "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz",
1083 | "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=",
1084 | "requires": {
1085 | "d": "1",
1086 | "es5-ext": "^0.10.35",
1087 | "es6-symbol": "^3.1.1"
1088 | }
1089 | },
1090 | "es6-symbol": {
1091 | "version": "3.1.3",
1092 | "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz",
1093 | "integrity": "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==",
1094 | "requires": {
1095 | "d": "^1.0.1",
1096 | "ext": "^1.1.2"
1097 | }
1098 | },
1099 | "esbuild": {
1100 | "version": "0.12.8",
1101 | "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.12.8.tgz",
1102 | "integrity": "sha512-sx/LwlP/SWTGsd9G4RlOPrXnIihAJ2xwBUmzoqe2nWwbXORMQWtAGNJNYLBJJqa3e9PWvVzxdrtyFZJcr7D87g==",
1103 | "dev": true
1104 | },
1105 | "estree-walker": {
1106 | "version": "2.0.2",
1107 | "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz",
1108 | "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w=="
1109 | },
1110 | "ext": {
1111 | "version": "1.4.0",
1112 | "resolved": "https://registry.npmjs.org/ext/-/ext-1.4.0.tgz",
1113 | "integrity": "sha512-Key5NIsUxdqKg3vIsdw9dSuXpPCQ297y6wBjL30edxwPgt2E44WcWBZey/ZvUc6sERLTxKdyCu4gZFmUbk1Q7A==",
1114 | "requires": {
1115 | "type": "^2.0.0"
1116 | },
1117 | "dependencies": {
1118 | "type": {
1119 | "version": "2.5.0",
1120 | "resolved": "https://registry.npmjs.org/type/-/type-2.5.0.tgz",
1121 | "integrity": "sha512-180WMDQaIMm3+7hGXWf12GtdniDEy7nYcyFMKJn/eZz/6tSLXrUN9V0wKSbMjej0I1WHWbpREDEKHtqPQa9NNw=="
1122 | }
1123 | }
1124 | },
1125 | "fsevents": {
1126 | "version": "2.3.2",
1127 | "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
1128 | "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
1129 | "dev": true,
1130 | "optional": true
1131 | },
1132 | "function-bind": {
1133 | "version": "1.1.1",
1134 | "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
1135 | "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
1136 | "dev": true
1137 | },
1138 | "generic-names": {
1139 | "version": "2.0.1",
1140 | "resolved": "https://registry.npmjs.org/generic-names/-/generic-names-2.0.1.tgz",
1141 | "integrity": "sha512-kPCHWa1m9wGG/OwQpeweTwM/PYiQLrUIxXbt/P4Nic3LbGjCP0YwrALHW1uNLKZ0LIMg+RF+XRlj2ekT9ZlZAQ==",
1142 | "dev": true,
1143 | "requires": {
1144 | "loader-utils": "^1.1.0"
1145 | }
1146 | },
1147 | "has": {
1148 | "version": "1.0.3",
1149 | "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
1150 | "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
1151 | "dev": true,
1152 | "requires": {
1153 | "function-bind": "^1.1.1"
1154 | }
1155 | },
1156 | "hash-sum": {
1157 | "version": "2.0.0",
1158 | "resolved": "https://registry.npmjs.org/hash-sum/-/hash-sum-2.0.0.tgz",
1159 | "integrity": "sha512-WdZTbAByD+pHfl/g9QSsBIIwy8IT+EsPiKDs0KNX+zSHhdDLFKdZu0BQHljvO+0QI/BasbMSUa8wYNCZTvhslg==",
1160 | "dev": true
1161 | },
1162 | "icss-replace-symbols": {
1163 | "version": "1.1.0",
1164 | "resolved": "https://registry.npmjs.org/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz",
1165 | "integrity": "sha1-Bupvg2ead0njhs/h/oEq5dsiPe0=",
1166 | "dev": true
1167 | },
1168 | "icss-utils": {
1169 | "version": "5.1.0",
1170 | "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz",
1171 | "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==",
1172 | "dev": true,
1173 | "requires": {}
1174 | },
1175 | "is-core-module": {
1176 | "version": "2.4.0",
1177 | "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.4.0.tgz",
1178 | "integrity": "sha512-6A2fkfq1rfeQZjxrZJGerpLCTHRNEBiSgnu0+obeJpEPZRUooHgsizvzv0ZjJwOz3iWIHdJtVWJ/tmPr3D21/A==",
1179 | "dev": true,
1180 | "requires": {
1181 | "has": "^1.0.3"
1182 | }
1183 | },
1184 | "is-typedarray": {
1185 | "version": "1.0.0",
1186 | "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
1187 | "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo="
1188 | },
1189 | "json5": {
1190 | "version": "1.0.1",
1191 | "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
1192 | "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
1193 | "dev": true,
1194 | "requires": {
1195 | "minimist": "^1.2.0"
1196 | }
1197 | },
1198 | "loader-utils": {
1199 | "version": "1.4.0",
1200 | "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz",
1201 | "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==",
1202 | "dev": true,
1203 | "requires": {
1204 | "big.js": "^5.2.2",
1205 | "emojis-list": "^3.0.0",
1206 | "json5": "^1.0.1"
1207 | }
1208 | },
1209 | "lodash.camelcase": {
1210 | "version": "4.3.0",
1211 | "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz",
1212 | "integrity": "sha1-soqmKIorn8ZRA1x3EfZathkDMaY=",
1213 | "dev": true
1214 | },
1215 | "lru-cache": {
1216 | "version": "5.1.1",
1217 | "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
1218 | "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==",
1219 | "dev": true,
1220 | "requires": {
1221 | "yallist": "^3.0.2"
1222 | }
1223 | },
1224 | "magic-string": {
1225 | "version": "0.25.7",
1226 | "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.7.tgz",
1227 | "integrity": "sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA==",
1228 | "dev": true,
1229 | "requires": {
1230 | "sourcemap-codec": "^1.4.4"
1231 | }
1232 | },
1233 | "merge-source-map": {
1234 | "version": "1.1.0",
1235 | "resolved": "https://registry.npmjs.org/merge-source-map/-/merge-source-map-1.1.0.tgz",
1236 | "integrity": "sha512-Qkcp7P2ygktpMPh2mCQZaf3jhN6D3Z/qVZHSdWvQ+2Ef5HgRAPBO57A77+ENm0CPx2+1Ce/MYKi3ymqdfuqibw==",
1237 | "dev": true,
1238 | "requires": {
1239 | "source-map": "^0.6.1"
1240 | }
1241 | },
1242 | "minimist": {
1243 | "version": "1.2.5",
1244 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
1245 | "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
1246 | "dev": true
1247 | },
1248 | "ms": {
1249 | "version": "2.0.0",
1250 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
1251 | "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
1252 | },
1253 | "nanoid": {
1254 | "version": "3.1.23",
1255 | "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.23.tgz",
1256 | "integrity": "sha512-FiB0kzdP0FFVGDKlRLEQ1BgDzU87dy5NnzjeW9YZNt+/c3+q82EQDUwniSAUxp/F0gFNI1ZhKU1FqYsMuqZVnw==",
1257 | "dev": true
1258 | },
1259 | "next-tick": {
1260 | "version": "1.0.0",
1261 | "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz",
1262 | "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw="
1263 | },
1264 | "node-fetch": {
1265 | "version": "2.6.1",
1266 | "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz",
1267 | "integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw=="
1268 | },
1269 | "node-gyp-build": {
1270 | "version": "4.2.3",
1271 | "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.2.3.tgz",
1272 | "integrity": "sha512-MN6ZpzmfNCRM+3t57PTJHgHyw/h4OWnZ6mR8P5j/uZtqQr46RRuDE/P+g3n0YR/AiYXeWixZZzaip77gdICfRg=="
1273 | },
1274 | "path-parse": {
1275 | "version": "1.0.7",
1276 | "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
1277 | "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==",
1278 | "dev": true
1279 | },
1280 | "postcss": {
1281 | "version": "8.3.2",
1282 | "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.3.2.tgz",
1283 | "integrity": "sha512-y1FK/AWdZlBF5lusS5j5l4/vF67+vQZt1SXPVJ32y1kRGDQyrs1zk32hG1cInRTu14P0V+orPz+ifwW/7rR4bg==",
1284 | "dev": true,
1285 | "requires": {
1286 | "colorette": "^1.2.2",
1287 | "nanoid": "^3.1.23",
1288 | "source-map-js": "^0.6.2"
1289 | }
1290 | },
1291 | "postcss-modules": {
1292 | "version": "4.1.3",
1293 | "resolved": "https://registry.npmjs.org/postcss-modules/-/postcss-modules-4.1.3.tgz",
1294 | "integrity": "sha512-dBT39hrXe4OAVYJe/2ZuIZ9BzYhOe7t+IhedYeQ2OxKwDpAGlkEN/fR0fGnrbx4BvgbMReRX4hCubYK9cE/pJQ==",
1295 | "dev": true,
1296 | "requires": {
1297 | "generic-names": "^2.0.1",
1298 | "icss-replace-symbols": "^1.1.0",
1299 | "lodash.camelcase": "^4.3.0",
1300 | "postcss-modules-extract-imports": "^3.0.0",
1301 | "postcss-modules-local-by-default": "^4.0.0",
1302 | "postcss-modules-scope": "^3.0.0",
1303 | "postcss-modules-values": "^4.0.0",
1304 | "string-hash": "^1.1.1"
1305 | }
1306 | },
1307 | "postcss-modules-extract-imports": {
1308 | "version": "3.0.0",
1309 | "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz",
1310 | "integrity": "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==",
1311 | "dev": true,
1312 | "requires": {}
1313 | },
1314 | "postcss-modules-local-by-default": {
1315 | "version": "4.0.0",
1316 | "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.0.tgz",
1317 | "integrity": "sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ==",
1318 | "dev": true,
1319 | "requires": {
1320 | "icss-utils": "^5.0.0",
1321 | "postcss-selector-parser": "^6.0.2",
1322 | "postcss-value-parser": "^4.1.0"
1323 | }
1324 | },
1325 | "postcss-modules-scope": {
1326 | "version": "3.0.0",
1327 | "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz",
1328 | "integrity": "sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==",
1329 | "dev": true,
1330 | "requires": {
1331 | "postcss-selector-parser": "^6.0.4"
1332 | }
1333 | },
1334 | "postcss-modules-values": {
1335 | "version": "4.0.0",
1336 | "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz",
1337 | "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==",
1338 | "dev": true,
1339 | "requires": {
1340 | "icss-utils": "^5.0.0"
1341 | }
1342 | },
1343 | "postcss-selector-parser": {
1344 | "version": "6.0.6",
1345 | "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.6.tgz",
1346 | "integrity": "sha512-9LXrvaaX3+mcv5xkg5kFwqSzSH1JIObIx51PrndZwlmznwXRfxMddDvo9gve3gVR8ZTKgoFDdWkbRFmEhT4PMg==",
1347 | "dev": true,
1348 | "requires": {
1349 | "cssesc": "^3.0.0",
1350 | "util-deprecate": "^1.0.2"
1351 | }
1352 | },
1353 | "postcss-value-parser": {
1354 | "version": "4.1.0",
1355 | "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz",
1356 | "integrity": "sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==",
1357 | "dev": true
1358 | },
1359 | "resolve": {
1360 | "version": "1.20.0",
1361 | "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz",
1362 | "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==",
1363 | "dev": true,
1364 | "requires": {
1365 | "is-core-module": "^2.2.0",
1366 | "path-parse": "^1.0.6"
1367 | }
1368 | },
1369 | "rollup": {
1370 | "version": "2.51.1",
1371 | "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.51.1.tgz",
1372 | "integrity": "sha512-8xfDbAtBleXotb6qKEHWuo/jkn94a9dVqGc7Rwl3sqspCVlnCfbRek7ldhCARSi7h32H0xR4QThm1t9zHN+3uw==",
1373 | "dev": true,
1374 | "requires": {
1375 | "fsevents": "~2.3.1"
1376 | }
1377 | },
1378 | "source-map": {
1379 | "version": "0.6.1",
1380 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
1381 | "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
1382 | },
1383 | "source-map-js": {
1384 | "version": "0.6.2",
1385 | "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-0.6.2.tgz",
1386 | "integrity": "sha512-/3GptzWzu0+0MBQFrDKzw/DvvMTUORvgY6k6jd/VS6iCR4RDTKWH6v6WPwQoUO8667uQEf9Oe38DxAYWY5F/Ug==",
1387 | "dev": true
1388 | },
1389 | "sourcemap-codec": {
1390 | "version": "1.4.8",
1391 | "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz",
1392 | "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==",
1393 | "dev": true
1394 | },
1395 | "string-hash": {
1396 | "version": "1.1.3",
1397 | "resolved": "https://registry.npmjs.org/string-hash/-/string-hash-1.1.3.tgz",
1398 | "integrity": "sha1-6Kr8CsGFW0Zmkp7X3RJ1311sgRs=",
1399 | "dev": true
1400 | },
1401 | "to-fast-properties": {
1402 | "version": "2.0.0",
1403 | "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
1404 | "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4="
1405 | },
1406 | "type": {
1407 | "version": "1.2.0",
1408 | "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz",
1409 | "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg=="
1410 | },
1411 | "typedarray-to-buffer": {
1412 | "version": "3.1.5",
1413 | "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz",
1414 | "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==",
1415 | "requires": {
1416 | "is-typedarray": "^1.0.0"
1417 | }
1418 | },
1419 | "utf-8-validate": {
1420 | "version": "5.0.5",
1421 | "resolved": "https://registry.npmjs.org/utf-8-validate/-/utf-8-validate-5.0.5.tgz",
1422 | "integrity": "sha512-+pnxRYsS/axEpkrrEpzYfNZGXp0IjC/9RIxwM5gntY4Koi8SHmUGSfxfWqxZdRxrtaoVstuOzUp/rbs3JSPELQ==",
1423 | "requires": {
1424 | "node-gyp-build": "^4.2.0"
1425 | }
1426 | },
1427 | "util-deprecate": {
1428 | "version": "1.0.2",
1429 | "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
1430 | "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=",
1431 | "dev": true
1432 | },
1433 | "vite": {
1434 | "version": "2.3.7",
1435 | "resolved": "https://registry.npmjs.org/vite/-/vite-2.3.7.tgz",
1436 | "integrity": "sha512-Y0xRz11MPYu/EAvzN94+FsOZHbSvO6FUvHv127CyG7mV6oDoay2bw+g5y9wW3Blf8OY3chaz3nc/DcRe1IQ3Nw==",
1437 | "dev": true,
1438 | "requires": {
1439 | "esbuild": "^0.12.5",
1440 | "fsevents": "~2.3.1",
1441 | "postcss": "^8.3.0",
1442 | "resolve": "^1.19.0",
1443 | "rollup": "^2.38.5"
1444 | }
1445 | },
1446 | "vue": {
1447 | "version": "3.1.1",
1448 | "resolved": "https://registry.npmjs.org/vue/-/vue-3.1.1.tgz",
1449 | "integrity": "sha512-j9fj3PNPMxo2eqOKYjMuss9XBS8ZtmczLY3kPvjcp9d3DbhyNqLYbaMQH18+1pDIzzVvQCQBvIf774LsjjqSKA==",
1450 | "requires": {
1451 | "@vue/compiler-dom": "3.1.1",
1452 | "@vue/runtime-dom": "3.1.1",
1453 | "@vue/shared": "3.1.1"
1454 | }
1455 | },
1456 | "websocket": {
1457 | "version": "1.0.34",
1458 | "resolved": "https://registry.npmjs.org/websocket/-/websocket-1.0.34.tgz",
1459 | "integrity": "sha512-PRDso2sGwF6kM75QykIesBijKSVceR6jL2G8NGYyq2XrItNC2P5/qL5XeR056GhA+Ly7JMFvJb9I312mJfmqnQ==",
1460 | "requires": {
1461 | "bufferutil": "^4.0.1",
1462 | "debug": "^2.2.0",
1463 | "es5-ext": "^0.10.50",
1464 | "typedarray-to-buffer": "^3.1.5",
1465 | "utf-8-validate": "^5.0.2",
1466 | "yaeti": "^0.0.6"
1467 | }
1468 | },
1469 | "yaeti": {
1470 | "version": "0.0.6",
1471 | "resolved": "https://registry.npmjs.org/yaeti/-/yaeti-0.0.6.tgz",
1472 | "integrity": "sha1-8m9ITXJoTPQr7ft2lwqhYI+/lXc="
1473 | },
1474 | "yallist": {
1475 | "version": "3.1.1",
1476 | "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
1477 | "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==",
1478 | "dev": true
1479 | }
1480 | }
1481 | }
1482 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "version": "0.0.0",
3 | "scripts": {
4 | "dev": "vite",
5 | "build": "vite build",
6 | "serve": "vite preview"
7 | },
8 | "dependencies": {
9 | "@supabase/supabase-js": "^1.14.0",
10 | "vue": "^3.0.5"
11 | },
12 | "devDependencies": {
13 | "@vitejs/plugin-vue": "^1.2.3",
14 | "@vue/compiler-sfc": "^3.0.5",
15 | "vite": "^2.3.7"
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zernonia/supabase-vue-3/074dc57b6ae651f403a843d1edc2808130442b6c/public/favicon.ico
--------------------------------------------------------------------------------
/src/App.vue:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
8 |
31 |
--------------------------------------------------------------------------------
/src/assets/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zernonia/supabase-vue-3/074dc57b6ae651f403a843d1edc2808130442b6c/src/assets/logo.png
--------------------------------------------------------------------------------
/src/assets/main.css:
--------------------------------------------------------------------------------
1 | html,
2 | body {
3 | --custom-font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto,
4 | Oxygen, Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;
5 | --custom-bg-color: #101010;
6 | --custom-panel-color: #222;
7 | --custom-box-shadow: 0 2px 8px 0 rgba(0, 0, 0, 0.8);
8 | --custom-color: #fff;
9 | --custom-color-brand: #24b47e;
10 | --custom-color-secondary: #666;
11 | --custom-border: 1px solid #333;
12 | --custom-border-radius: 5px;
13 | --custom-spacing: 5px;
14 |
15 | padding: 0;
16 | margin: 0;
17 | font-family: var(--custom-font-family);
18 | background-color: var(--custom-bg-color);
19 | }
20 |
21 | * {
22 | color: var(--custom-color);
23 | font-family: var(--custom-font-family);
24 | box-sizing: border-box;
25 | }
26 |
27 | html,
28 | body,
29 | #__next {
30 | height: 100vh;
31 | width: 100vw;
32 | overflow-x: hidden;
33 | }
34 |
35 | /* Grid */
36 |
37 | .container {
38 | width: 90%;
39 | margin-left: auto;
40 | margin-right: auto;
41 | }
42 | .row {
43 | position: relative;
44 | width: 100%;
45 | }
46 | .row [class^="col"] {
47 | float: left;
48 | margin: 0.5rem 2%;
49 | min-height: 0.125rem;
50 | }
51 | .col-1,
52 | .col-2,
53 | .col-3,
54 | .col-4,
55 | .col-5,
56 | .col-6,
57 | .col-7,
58 | .col-8,
59 | .col-9,
60 | .col-10,
61 | .col-11,
62 | .col-12 {
63 | width: 96%;
64 | }
65 | .col-1-sm {
66 | width: 4.33%;
67 | }
68 | .col-2-sm {
69 | width: 12.66%;
70 | }
71 | .col-3-sm {
72 | width: 21%;
73 | }
74 | .col-4-sm {
75 | width: 29.33%;
76 | }
77 | .col-5-sm {
78 | width: 37.66%;
79 | }
80 | .col-6-sm {
81 | width: 46%;
82 | }
83 | .col-7-sm {
84 | width: 54.33%;
85 | }
86 | .col-8-sm {
87 | width: 62.66%;
88 | }
89 | .col-9-sm {
90 | width: 71%;
91 | }
92 | .col-10-sm {
93 | width: 79.33%;
94 | }
95 | .col-11-sm {
96 | width: 87.66%;
97 | }
98 | .col-12-sm {
99 | width: 96%;
100 | }
101 | .row::after {
102 | content: "";
103 | display: table;
104 | clear: both;
105 | }
106 | .hidden-sm {
107 | display: none;
108 | }
109 |
110 | @media only screen and (min-width: 33.75em) {
111 | /* 540px */
112 | .container {
113 | width: 80%;
114 | }
115 | }
116 |
117 | @media only screen and (min-width: 45em) {
118 | /* 720px */
119 | .col-1 {
120 | width: 4.33%;
121 | }
122 | .col-2 {
123 | width: 12.66%;
124 | }
125 | .col-3 {
126 | width: 21%;
127 | }
128 | .col-4 {
129 | width: 29.33%;
130 | }
131 | .col-5 {
132 | width: 37.66%;
133 | }
134 | .col-6 {
135 | width: 46%;
136 | }
137 | .col-7 {
138 | width: 54.33%;
139 | }
140 | .col-8 {
141 | width: 62.66%;
142 | }
143 | .col-9 {
144 | width: 71%;
145 | }
146 | .col-10 {
147 | width: 79.33%;
148 | }
149 | .col-11 {
150 | width: 87.66%;
151 | }
152 | .col-12 {
153 | width: 96%;
154 | }
155 | .hidden-sm {
156 | display: block;
157 | }
158 | }
159 |
160 | @media only screen and (min-width: 60em) {
161 | /* 960px */
162 | .container {
163 | width: 75%;
164 | max-width: 60rem;
165 | }
166 | }
167 |
168 | /* Forms */
169 |
170 | label {
171 | display: block;
172 | margin: 5px 0;
173 | color: var(--custom-color-secondary);
174 | font-size: 0.8rem;
175 | text-transform: uppercase;
176 | }
177 |
178 | input {
179 | width: 100%;
180 | border-radius: 5px;
181 | border: var(--custom-border);
182 | padding: 8px;
183 | font-size: 0.9rem;
184 | background-color: var(--custom-bg-color);
185 | color: var(--custom-color);
186 | }
187 |
188 | input[disabled] {
189 | color: var(--custom-color-secondary);
190 | }
191 |
192 | /* Utils */
193 |
194 | .block {
195 | display: block;
196 | width: 100%;
197 | }
198 | .inline-block {
199 | display: inline-block;
200 | width: 100%;
201 | }
202 | .flex {
203 | display: flex;
204 | }
205 | .flex.column {
206 | flex-direction: column;
207 | }
208 | .flex.row {
209 | flex-direction: row;
210 | }
211 | .flex.flex-1 {
212 | flex: 1 1 0;
213 | }
214 | .flex-end {
215 | justify-content: flex-end;
216 | }
217 | .flex-center {
218 | justify-content: center;
219 | }
220 | .items-center {
221 | align-items: center;
222 | }
223 | .text-sm {
224 | font-size: 0.8rem;
225 | font-weight: 300;
226 | }
227 | .text-right {
228 | text-align: right;
229 | }
230 | .font-light {
231 | font-weight: 300;
232 | }
233 | .opacity-half {
234 | opacity: 50%;
235 | }
236 |
237 | /* Button */
238 |
239 | button,
240 | .button {
241 | color: var(--custom-color);
242 | border: var(--custom-border);
243 | background-color: var(--custom-bg-color);
244 | display: inline-block;
245 | text-align: center;
246 | border-radius: var(--custom-border-radius);
247 | padding: 0.5rem 1rem;
248 | cursor: pointer;
249 | text-align: center;
250 | font-size: 0.9rem;
251 | text-transform: uppercase;
252 | }
253 |
254 | button.primary,
255 | .button.primary {
256 | background-color: var(--custom-color-brand);
257 | border: 1px solid var(--custom-color-brand);
258 | }
259 |
260 | /* Widgets */
261 |
262 | .card {
263 | width: 100%;
264 | display: block;
265 | border: var(--custom-border);
266 | border-radius: var(--custom-border-radius);
267 | padding: var(--custom-spacing);
268 | }
269 |
270 | .avatar {
271 | border-radius: var(--custom-border-radius);
272 | overflow: hidden;
273 | max-width: 100%;
274 | }
275 | .avatar.image {
276 | object-fit: cover;
277 | }
278 | .avatar.no-image {
279 | background-color: #333;
280 | border: 1px solid rgb(200, 200, 200);
281 | border-radius: 5px;
282 | }
283 |
284 | .footer {
285 | position: absolute;
286 | max-width: 100%;
287 | bottom: 0;
288 | left: 0;
289 | right: 0;
290 | display: flex;
291 | flex-flow: row;
292 | border-top: var(--custom-border);
293 | background-color: var(--custom-bg-color);
294 | }
295 | .footer div {
296 | padding: var(--custom-spacing);
297 | display: flex;
298 | align-items: center;
299 | width: 100%;
300 | }
301 | .footer div > img {
302 | height: 20px;
303 | margin-left: 10px;
304 | }
305 | .footer > div:first-child {
306 | display: none;
307 | }
308 | .footer > div:nth-child(2) {
309 | justify-content: left;
310 | }
311 |
312 | @media only screen and (min-width: 60em) {
313 | /* 960px */
314 | .footer > div:first-child {
315 | display: flex;
316 | }
317 | .footer > div:nth-child(2) {
318 | justify-content: center;
319 | }
320 | }
321 |
322 | @keyframes spin {
323 | from {
324 | transform: rotate(0deg);
325 | }
326 | to {
327 | transform: rotate(360deg);
328 | }
329 | }
330 |
331 | .mainHeader {
332 | width: 100%;
333 | font-size: 1.3rem;
334 | margin-bottom: 20px;
335 | }
336 |
337 | .avatarPlaceholder {
338 | border: var(--custom-border);
339 | border-radius: var(--custom-border-radius);
340 | width: 35px;
341 | height: 35px;
342 | background-color: rgba(255, 255, 255, 0.2);
343 | display: flex;
344 | align-items: center;
345 | justify-content: center;
346 | }
347 |
348 | .form-widget {
349 | display: flex;
350 | flex-direction: column;
351 | gap: 20px;
352 | }
353 |
354 | .form-widget > .button {
355 | display: flex;
356 | align-items: center;
357 | justify-content: center;
358 | border: none;
359 | background-color: #444444;
360 | text-transform: none !important;
361 | transition: all 0.2s ease;
362 | }
363 |
364 | .form-widget .button:hover {
365 | background-color: #2a2a2a;
366 | }
367 |
368 | .form-widget .button > .loader {
369 | width: 17px;
370 | animation: spin 1s linear infinite;
371 | filter: invert(1);
372 | }
373 |
--------------------------------------------------------------------------------
/src/components/Auth.vue:
--------------------------------------------------------------------------------
1 |
2 |
24 |
25 |
26 |
56 |
--------------------------------------------------------------------------------
/src/components/Avatar.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
![Avatar]()
10 |
15 |
16 |
17 |
20 |
28 |
29 |
30 |
31 |
32 |
103 |
--------------------------------------------------------------------------------
/src/components/Profile.vue:
--------------------------------------------------------------------------------
1 |
2 |
32 |
33 |
34 |
129 |
--------------------------------------------------------------------------------
/src/main.js:
--------------------------------------------------------------------------------
1 | import { createApp } from "vue"
2 | import App from "./App.vue"
3 | import "./assets/main.css"
4 |
5 | createApp(App).mount("#app")
6 |
--------------------------------------------------------------------------------
/src/store.js:
--------------------------------------------------------------------------------
1 | import { reactive } from "vue"
2 |
3 | export const store = reactive({
4 | user: {},
5 | })
6 |
--------------------------------------------------------------------------------
/src/supabase.js:
--------------------------------------------------------------------------------
1 | import { createClient } from "@supabase/supabase-js"
2 |
3 | const supabaseUrl = import.meta.env.VITE_SUPABASE_URL
4 | const supabaseAnonKey = import.meta.env.VITE_SUPABASE_ANON_KEY
5 |
6 | export const supabase = createClient(supabaseUrl, supabaseAnonKey)
7 |
--------------------------------------------------------------------------------
/vite.config.js:
--------------------------------------------------------------------------------
1 | import { defineConfig } from 'vite'
2 | import vue from '@vitejs/plugin-vue'
3 |
4 | // https://vitejs.dev/config/
5 | export default defineConfig({
6 | plugins: [vue()]
7 | })
8 |
--------------------------------------------------------------------------------