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