diff --git a/app/page.tsx b/app/page.tsx index 578c172..59ffb08 100644 --- a/app/page.tsx +++ b/app/page.tsx @@ -2,8 +2,9 @@ import ContributionsTable from "@/components/contributions-table/table"; import Filter from "@/components/filter"; import { title, subtitle } from "@/components/primitives"; import Search from "@/components/search"; -import { SEARCH_OPTIONS, LANGUAGES_OPTIONS } from "@/data/filters"; -import { queryDatabase } from "@/lib/notion"; +import { SEARCH_OPTIONS, LANGUAGES_OPTIONS, INTERESTS_OPTIONS, } from "@/data/filters"; +import { REPOSITORIES_BY_INTERESTS } from "@/data/interests"; +import { queryDatabase, getIssuesByProject } from "@/lib/notion"; import { transformNotionDataToContributions } from "@/utils/contribution"; import RemoveFilters from "@/components/removeFilters"; @@ -12,20 +13,22 @@ export default async function Home({ }: { searchParams?: { [key: string]: string | string[] | undefined }; }) { + const params = searchParams as { [key: string]: string }; const languagesFilterIsSelected = params && params.languages; + const interestsFilterIsSelected = params && params.interests; let filter = params && params.languages ? { - property: "Repo Language", - rollup: { - any: { - multi_select: { - contains: params.languages, - }, + property: "Repo Language", + rollup: { + any: { + multi_select: { + contains: params.languages, }, }, - } + }, + } : undefined; const data = await queryDatabase({ @@ -62,12 +65,15 @@ export default async function Home({ {languagesFilterIsSelected && ( )} + {interestsFilterIsSelected && ( + + )}
diff --git a/data/config.ts b/data/config.ts index fad8ee3..2d534f3 100644 --- a/data/config.ts +++ b/data/config.ts @@ -6,3 +6,7 @@ export const SITE_CONFIG = { github: "https://github.com/kudos-ink", }, }; + +export const DATA = { + interests: "/data/interesets.json" +} \ No newline at end of file diff --git a/data/filters.tsx b/data/filters.ts similarity index 77% rename from data/filters.tsx rename to data/filters.ts index 12d4cdf..7b03ea4 100644 --- a/data/filters.tsx +++ b/data/filters.ts @@ -107,3 +107,48 @@ export const LANGUAGES_OPTIONS = [ // { value: "Zig", label: "Zig", emoji: "" }, // { value: "jq", label: "jq", emoji: "" }, ]; +export const POLKADOT = "polkadot"; +export const SUBSTRATE = "substrate"; +export const KUSAMA = "kusama"; +export const EVM = "evm"; +export const ETHEREUM = "ethereum"; +export const DEFI = "defi"; +export const SMART_CONTRACTS = "smart-contracts"; +export const CUMULUS = "cumulus"; +export const BITCOIN = "bitcoin"; +export const BRIDGE = "bridge"; +export const WASM = "wasm"; +export const MEV = "mev"; +export const ROLLUP = "rollup"; +export const DEX = "dex"; +export const DAO = "dao"; +export const SOCIAL = "social"; +export const ZERO_KNOWLEDGE = "zero-knowledge"; +export const IOT = "iot"; +export const XCM = "xcm"; +export const WALLET = "wallet"; +export const AI = "ai"; + +export const INTERESTS_OPTIONS = [ + { value: POLKADOT, label: "Polkadot", emoji: "🔗" }, + { value: SUBSTRATE, label: "Substrate", emoji: "🌐" }, + { value: KUSAMA, label: "Kusama", emoji: "🐤" }, + { value: EVM, label: "EVM", emoji: "💻" }, + { value: ETHEREUM, label: "Ethereum", emoji: "🌌" }, + { value: DEFI, label: "DeFi", emoji: "💸" }, + { value: SMART_CONTRACTS, label: "Smart Contracts", emoji: "📜" }, + { value: CUMULUS, label: "Cumulus", emoji: "⛅" }, + { value: BITCOIN, label: "Bitcoin", emoji: "₿" }, + { value: BRIDGE, label: "Bridge", emoji: "🌉" }, + { value: WASM, label: "Wasm", emoji: "🛠️" }, + { value: MEV, label: "MEV", emoji: "💎" }, + { value: ROLLUP, label: "Rollup", emoji: "🔄" }, + { value: DEX, label: "DEX", emoji: "💹" }, + { value: DAO, label: "DAO", emoji: "🗳️" }, + { value: SOCIAL, label: "Social", emoji: "👥" }, + { value: ZERO_KNOWLEDGE, label: "Zero Knowledge", emoji: "🔒" }, + { value: IOT, label: "IoT", emoji: "🤖" }, // Changed to Earth + Robot + { value: XCM, label: "XCM", emoji: "🔄" }, + { value: WALLET, label: "Wallet", emoji: "💼" }, + { value: AI, label: "AI", emoji: "🧠" }, +]; \ No newline at end of file diff --git a/data/interests.ts b/data/interests.ts new file mode 100644 index 0000000..71161e3 --- /dev/null +++ b/data/interests.ts @@ -0,0 +1,204 @@ +export const REPOSITORIES_BY_INTERESTS = { + + "substrate": [ + "InvArch/InvArch-Node", + "pendulum-chain/pendulum", + "bit-country/Metaverse-Network", + "grindytech/gafi", + "AstarNetwork/Astar", + "interlay/interbtc", + "OAK-Foundation/xcm-demo", + "OAK-Foundation/oak.js", + "moonbeam-foundation/moonbeam", + "webb-tools/tangle", + "TalismanSociety/talisman", + "t3rn/t3rn", + "paritytech/polkadot-sdk", + "automata-network/automata", + "subspace/subspace", + "mangata-finance/mangata-node", + "virto-network/virto-node", + "galacticcouncil/HydraDX-node", + "InvArch/InvArch-Frames", + "darwinia-network/darwinia", + "hashed-io/hashed-substrate", + "LibertyDSNP/frequency", + "OAK-Foundation/OAK-blockchain", + "centrifuge/centrifuge-chain", + "dappforce/subsocial-parachain", + "KILTprotocol/kilt-node", + "Manta-Network/Manta", + "sora-xor/sora2-parachain", + "moondance-labs/tanssi", + "sora-xor/sora2-network", + "gear-tech/gear", + "Joystream/joystream", + "docknetwork/dock-substrate", + "capsule-corp-ternoa/ternoa-node", + "bifrost-finance/bifrost", + "bitgreen/bitgreen-node", + "deeper-chain/deeper-chain", + "crustio/crust", + "AcalaNetwork/Acala" + ], + "polkadot": [ + "InvArch/InvArch-Node", + "pendulum-chain/pendulum", + "bit-country/Metaverse-Network", + "grindytech/gafi", + "AstarNetwork/Astar", + "interlay/interbtc", + "aleph-zero-foundation/aleph-node", + "opensquare-network/dotreasury", + "opensquare-network/subsquare", + "OAK-Foundation/xcm-demo", + "subquery/subql", + "subsquid/squid-sdk", + "pendulum-chain/portal", + "ImbueNetwork/imbue-frontend", + "OAK-Foundation/oak.js", + "moonbeam-foundation/moonbeam", + "TalismanSociety/talisman", + "paritytech/polkadot-sdk", + "automata-network/automata", + "subspace/subspace", + "mangata-finance/mangata-node", + "virto-network/virto-node", + "galacticcouncil/HydraDX-node", + "InvArch/InvArch-Frames", + "darwinia-network/darwinia", + "hashed-io/hashed-substrate", + "LibertyDSNP/frequency", + "OAK-Foundation/OAK-blockchain", + "centrifuge/centrifuge-chain", + "dappforce/subsocial-parachain", + "pendulum-chain/spacewalk", + "Brushfam/openbrush-contracts", + "KILTprotocol/kilt-node", + "Manta-Network/Manta", + "sora-xor/sora2-parachain", + "moondance-labs/tanssi", + "sora-xor/sora2-network", + "Joystream/joystream", + "zeitgeistpm/zeitgeist", + "docknetwork/dock-substrate", + "capsule-corp-ternoa/ternoa-node", + "NodleCode/chain", + "bifrost-finance/bifrost", + "ImbueNetwork/imbue", + "encointer/encointer-parachain", + "parallel-finance/parallel", + "bitgreen/bitgreen-node", + "deeper-chain/deeper-chain", + "crustio/crust", + "AcalaNetwork/Acala" + ], + "kusama": [ + "interlay/interbtc", + "opensquare-network/dotreasury", + "opensquare-network/subsquare", + "sora-xor/sora2-parachain", + "sora-xor/sora2-network", + "parallel-finance/parallel", + "encointer/encointer-parachain", + "AcalaNetwork/Acala", + "airalab/robonomics", + "AstarNetwork/Astar", + "opensquare-network/dotreasury" + ], + "evm": [ + "AstarNetwork/Astar", + "moonbeam-foundation/moonbeam", + "darwinia-network/darwinia", + "OAK-Foundation/OAK-blockchain", + "mangata-finance/mangata-node", + "sora-xor/sora2-network" + ], + "ethereum": [ + "AstarNetwork/Astar", + "moonbeam-foundation/moonbeam", + "TalismanSociety/talisman", + "darwinia-network/darwinia", + "sora-xor/sora2-network", + "mangata-finance/mangata-node" + ], + "defi": [ + "bit-country/Metaverse-Network", + "grindytech/gafi", + "AstarNetwork/Astar", + "interlay/interbtc", + "moonbeam-foundation/moonbeam", + "TalismanSociety/talisman", + "sora-xor/sora2-parachain", + "sora-xor/sora2-network", + "bifrost-finance/bifrost", + "parallel-finance/parallel", + "AcalaNetwork/Acala", + "interlay/interbtc" + ], + "smart-contracts": [ + "bit-country/Metaverse-Network", + "grindytech/gafi", + "AstarNetwork/Astar", + "moonbeam-foundation/moonbeam", + "TalismanSociety/talisman", + "t3rn/t3rn", + "paritytech/polkadot-sdk", + "subspace/subspace", + "mangata-finance/mangata-node", + "Joystream/joystream" + ], + "cumulus": [ + "pendulum-chain/pendulum", + "moonbeam-foundation/moonbeam", + "paritytech/polkadot-sdk", + "parallel-finance/parallel" + ], + "bitcoin": [ + "interlay/interbtc" + ], + "bridge": [ + "interlay/interbtc", + "bit-country/Metaverse-Network", + "darwinia-network/darwinia", + "bifrost-finance/bifrost" + ], + "wasm": [ + "pendulum-chain/pendulum", + "bit-country/Metaverse-Network", + "moonbeam-foundation/moonbeam", + "bifrost-finance/bifrost", + "parallel-finance/parallel" + ], + "mev": [ + "mangata-finance/mangata-node" + ], + "rollup": [ + "mangata-finance/mangata-node" + ], + "dex": [ + "galacticcouncil/HydraDX-node" + ], + "dao": [ + "InvArch/InvArch-Frames" + ], + "social": [ + "dappforce/subsocial-parachain" + ], + "zero-knowledge": [ + "webb-tools/tangle", + "Manta-Network/Manta" + ], + "iot": [ + "airalab/robonomics" + ], + "xcm": [ + "OAK-Foundation/xcm-demo" + ], + "wallet": [ + "TalismanSociety/talisman" + ], + "ai": [ + "opentensor/bittensor" + ] +} \ No newline at end of file