|
| 1 | +/* eslint-disable antfu/no-top-level-await */ |
| 2 | +// import type { Where } from 'payload' |
1 | 3 | import onePassword from '@cuhacking/shared/assets/logos/sponsors/1password.white.svg' |
2 | 4 | import balsamiq from '@cuhacking/shared/assets/logos/sponsors/balsamiq.white.svg' |
3 | | -import beeceptor from '@cuhacking/shared/assets/logos/sponsors/beeceptor.svg' |
| 5 | +// import beeceptor from '@cuhacking/shared/assets/logos/sponsors/beeceptor.svg' |
4 | 6 | import bloomberg from '@cuhacking/shared/assets/logos/sponsors/bloomberg.white.svg' |
5 | | -import cse from '@cuhacking/shared/assets/logos/sponsors/cse.svg' |
| 7 | +// import cse from '@cuhacking/shared/assets/logos/sponsors/cse.svg' |
6 | 8 | import digitalOcean from '@cuhacking/shared/assets/logos/sponsors/digital-ocean.white.svg' |
7 | 9 | import ea from '@cuhacking/shared/assets/logos/sponsors/ea.white.svg' |
8 | | -import fullscript from '@cuhacking/shared/assets/logos/sponsors/fullscript.svg' |
9 | | -import gadget from '@cuhacking/shared/assets/logos/sponsors/gadget.svg' |
| 10 | +// import fullscript from '@cuhacking/shared/assets/logos/sponsors/fullscript.svg' |
| 11 | +// import gadget from '@cuhacking/shared/assets/logos/sponsors/gadget.svg' |
10 | 12 | import github from '@cuhacking/shared/assets/logos/sponsors/github.white.svg' |
11 | | -import incogni from '@cuhacking/shared/assets/logos/sponsors/incogni.svg' |
12 | | -import kefc from '@cuhacking/shared/assets/logos/sponsors/kefc.svg' |
| 13 | +// import incogni from '@cuhacking/shared/assets/logos/sponsors/incogni.svg' |
| 14 | +// import kefc from '@cuhacking/shared/assets/logos/sponsors/kefc.svg' |
13 | 15 | import marchNetworks from '@cuhacking/shared/assets/logos/sponsors/march-networks.white.svg' |
14 | | -import merryDairy from '@cuhacking/shared/assets/logos/sponsors/merry-dairy.svg' |
15 | | -import mlhColoured from '@cuhacking/shared/assets/logos/sponsors/mlh-coloured.svg' |
| 16 | +// import merryDairy from '@cuhacking/shared/assets/logos/sponsors/merry-dairy.svg' |
| 17 | +// import mlhColoured from '@cuhacking/shared/assets/logos/sponsors/mlh-coloured.svg' |
16 | 18 | import mlh from '@cuhacking/shared/assets/logos/sponsors/mlh.white.svg' |
17 | | -import nordPass from '@cuhacking/shared/assets/logos/sponsors/nord-pass.svg' |
18 | | -import nordVpn from '@cuhacking/shared/assets/logos/sponsors/nord-vpn.svg' |
19 | | -import qnx from '@cuhacking/shared/assets/logos/sponsors/qnx.svg' |
| 19 | +// import nordPass from '@cuhacking/shared/assets/logos/sponsors/nord-pass.svg' |
| 20 | +// import nordVpn from '@cuhacking/shared/assets/logos/sponsors/nord-vpn.svg' |
| 21 | +// import qnx from '@cuhacking/shared/assets/logos/sponsors/qnx.svg' |
20 | 22 | import rbc from '@cuhacking/shared/assets/logos/sponsors/rbc.white.svg' |
21 | | -import redbull from '@cuhacking/shared/assets/logos/sponsors/redbull.svg' |
22 | | -import saily from '@cuhacking/shared/assets/logos/sponsors/saily.svg' |
23 | | -import standoutStickers from '@cuhacking/shared/assets/logos/sponsors/standout-stickers.white.svg' |
| 23 | +// import redbull from '@cuhacking/shared/assets/logos/sponsors/redbull.svg' |
| 24 | +// import saily from '@cuhacking/shared/assets/logos/sponsors/saily.svg' |
| 25 | +// import standoutStickers from '@cuhacking/shared/assets/logos/sponsors/standout-stickers.white.svg' |
24 | 26 | import techDomains from '@cuhacking/shared/assets/logos/sponsors/techdomains.white.svg' |
25 | | -import wolframRed from '@cuhacking/shared/assets/logos/sponsors/wolfram.red.svg' |
| 27 | +// import wolframRed from '@cuhacking/shared/assets/logos/sponsors/wolfram.red.svg' |
26 | 28 | import wolfram from '@cuhacking/shared/assets/logos/sponsors/wolfram.white.svg' |
| 29 | +import { stringify } from 'qs-esm' |
27 | 30 |
|
28 | | -const presentSponsors |
29 | | - = [ |
30 | | - { name: 'QNX', logo: qnx, link: '' }, |
31 | | - { name: 'Fullscript', logo: fullscript, link: '' }, |
32 | | - { name: 'CSE', logo: cse, link: '' }, |
33 | | - { name: 'Gadget', logo: gadget, link: '' }, |
34 | | - { name: 'MLH', logo: mlhColoured, link: '' }, |
35 | | - { name: 'StandOut Stickers', logo: standoutStickers, link: 'http://hackp.ac/mlh-StandOutStickers-hackathons' }, |
36 | | - { name: 'KEFC', logo: kefc, link: '' }, |
37 | | - { name: 'Beeceptor', logo: beeceptor, link: '' }, |
38 | | - { name: 'Red Bull', logo: redbull, link: '' }, |
39 | | - { name: 'Wolfram', logo: wolframRed, link: '' }, |
40 | | - { name: 'Merry', logo: merryDairy, link: '' }, |
41 | | - { name: 'NordVPN', logo: nordVpn, link: '' }, |
42 | | - { name: 'Nord Pass', logo: nordPass, link: '' }, |
43 | | - { name: 'Incogni', logo: incogni, link: '' }, |
44 | | - { name: 'Saily', logo: saily, link: '' }, |
45 | | - ] |
| 31 | +async function fetchSponsorData(name: string) { |
| 32 | + const query = { name: { equals: name } } |
| 33 | + const stringifiedQuery = stringify({ where: query }, { addQueryPrefix: true }) |
| 34 | + |
| 35 | + const response = await fetch(`http://localhost:8000/api/brands${stringifiedQuery}`) |
| 36 | + const data = await response.json() |
| 37 | + |
| 38 | + return { |
| 39 | + logo: data?.docs?.[0]?.symbol?.url || '', |
| 40 | + domain: data?.docs?.[0]?.domain || '', |
| 41 | + } |
| 42 | +} |
| 43 | + |
| 44 | +const presentSponsors = await Promise.all( |
| 45 | + [ |
| 46 | + { name: 'QNX' }, |
| 47 | + { name: 'FullScript' }, |
| 48 | + { name: 'CSE' }, |
| 49 | + { name: 'Gadget' }, |
| 50 | + { name: 'MLH' }, |
| 51 | + { name: 'StandOut Stickers', link: 'http://hackp.ac/mlh-StandOutStickers-hackathons' }, |
| 52 | + { name: 'KEFC' }, |
| 53 | + { name: 'Beeceptor' }, |
| 54 | + { name: 'Red Bull' }, |
| 55 | + { name: 'Wolfram' }, |
| 56 | + { name: 'The Merry Dairy' }, |
| 57 | + { name: 'NordVPN' }, |
| 58 | + { name: 'NordPass' }, |
| 59 | + { name: 'incogni' }, |
| 60 | + { name: 'Saily' }, |
| 61 | + ].map(async (sponsor) => { |
| 62 | + const { logo, domain } = await fetchSponsorData(sponsor.name) |
| 63 | + return { |
| 64 | + name: sponsor.name, |
| 65 | + logo, |
| 66 | + link: sponsor.link || (domain ? `https://${domain}` : ''), |
| 67 | + } |
| 68 | + }), |
| 69 | +) |
46 | 70 |
|
47 | 71 | const pastSponsors = [ |
48 | 72 | { name: 'Electronic Arts', logo: ea, link: 'https://www.ea.com' }, |
|
0 commit comments