Skip to content

Commit

Permalink
feat: new search WIP
Browse files Browse the repository at this point in the history
  • Loading branch information
leapalazzolo committed Jan 5, 2024
1 parent c3846d2 commit 955e4a3
Show file tree
Hide file tree
Showing 3 changed files with 247 additions and 259 deletions.
22 changes: 20 additions & 2 deletions app/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ export default async function Home({
const params = searchParams as { [key: string]: string };
const languagesFilterIsSelected = params && params.languages;
const interestsFilterIsSelected = params && params.interests;
const hasSearch = params && params.search;
let filter =
params && params.languages
? {
Expand All @@ -29,7 +30,16 @@ export default async function Home({
},
},
}
: undefined;
: params && params.languages ? {
property: "Project Name",
rollup: {
any: {
rich_text: {
contains: params.search
},
},
}
} : undefined;

const data = await queryDatabase({
page_size: 10,
Expand All @@ -51,6 +61,11 @@ export default async function Home({
<div className="flex flex-col items-center gap-4 py-8 md:py-10">
<div className="inline-block max-w-lg text-center justify-center">
<Search placeholder="Search" emoji="🔍" items={SEARCH_OPTIONS} />
{/* TODO:
1. make it controlled
2. set the selected value in the params
3. use custom function
4. reset the other values */}
<h2 className={subtitle({ class: "mt-4" })}>Banner</h2>
</div>
</div>
Expand All @@ -74,6 +89,9 @@ export default async function Home({
{interestsFilterIsSelected && (
<RemoveFilters value={params.interests} param="Interests" />
)}
{hasSearch && (
<RemoveFilters value={params.search} param="Search" />
)}
</div>
<div className="flex justify-end">
<div>
Expand All @@ -90,6 +108,6 @@ export default async function Home({
/>
</div>
</div>
</div>
</div >
);
}
119 changes: 66 additions & 53 deletions data/filters.ts
Original file line number Diff line number Diff line change
@@ -1,55 +1,3 @@
export const SEARCH_OPTIONS = [
{ value: "senior", emoji: "👵", label: "Senior" },
{ value: "engineer", emoji: "🤓", label: "Engineer" },
{ value: "dev", emoji: "🤓", label: "Developer" },
{ value: "finance", emoji: "💰", label: "Finance" },
{ value: "sys-admin", emoji: "♾️", label: "Sys Admin" },
{ value: "javascript", emoji: "☕️", label: "JavaScript" },
// { value: "exec", emoji: "💼", label: "Executive" },
{ value: "backend", emoji: "🍑", label: "Backend" },
{ value: "golang", emoji: "🐀", label: "Golang" },
{ value: "cloud", emoji: "☁️", label: "Cloud" },
// { value: "medical", emoji: "🚑", label: "Medical" },
{ value: "front-end", emoji: "🎨", label: "Front End" },
{ value: "full-stack", emoji: "🥞", label: "Full Stack" },
{ value: "ops", emoji: "♾️", label: "Ops" },
{ value: "design", emoji: "🎨", label: "Design" },
{ value: "react", emoji: "⚛️", label: "React" },
{ value: "infosec", emoji: "🔑", label: "InfoSec" },
{ value: "marketing", emoji: "🚥", label: "Marketing" },
{ value: "mobile", emoji: "📱", label: "Mobile" },
{ value: "content-writing", emoji: "✍️", label: "Content Writing" },
{ value: "saas", emoji: "📦", label: "SaaS" },
{ value: "recruiter", emoji: "🎯", label: "Recruiter" },
{ value: "full-time", emoji: "⏰", label: "Full Time" },
{ value: "api", emoji: "🤖", label: "API" },
// { value: "sales", emoji: "💼", label: "Sales" },
{ value: "ruby", emoji: "💎", label: "Ruby" },
{ value: "education", emoji: "👨‍🏫", label: "Education" },
{ value: "devops", emoji: "♾️", label: "DevOps" },
{ value: "stats", emoji: "👩‍🔬", label: "Stats" },
{ value: "python", emoji: "🐍", label: "Python" },
{ value: "node", emoji: "🔗", label: "Node" },
// { value: "english", emoji: "🇬🇧", label: "English" },
{ value: "non-tech", emoji: "🔌", label: "Non Tech" },
{ value: "video", emoji: "📼", label: "Video" },
// { value: "travel", emoji: "🎒", label: "Travel" },
{ value: "quality-assurance", emoji: "🔬", label: "Quality Assurance" },
// { value: "ecommerce", emoji: "🛍", label: "Ecommerce" },
{ value: "teaching", emoji: "👨‍🏫", label: "Teaching" },
{ value: "linux", emoji: "🐧", label: "Linux" },
{ value: "java", emoji: "☕️", label: "Java" },
{ value: "crypto", emoji: "🏅", label: "Crypto" },
{ value: "junior", emoji: "👶", label: "Junior" },
{ value: "git", emoji: "📦", label: "Git" },
{ value: "legal", emoji: "👩‍⚖️", label: "Legal" },
{ value: "android", emoji: "🤖", label: "Android" },
// { value: "accounting", emoji: "💼", label: "Accounting" },
// { value: "admin", emoji: "♾️", label: "Admin" },
// { value: "microsoft", emoji: "🖼", label: "Microsoft" },
// { value: "excel", emoji: "📗", label: "Excel" },
{ value: "php", emoji: "🐘", label: "PHP" },
];

export const LANGUAGES_OPTIONS = [
{ value: "Assembly", label: "Assembly", emoji: "🔧" }, // Assembly
Expand Down Expand Up @@ -151,4 +99,69 @@ export const INTERESTS_OPTIONS = [
{ value: XCM, label: "XCM", emoji: "🔄" },
{ value: WALLET, label: "Wallet", emoji: "💼" },
{ value: AI, label: "AI", emoji: "🧠" },
];
];

export const SEARCH_OPTIONS = [
{ value: "t3rn/t3rn", label: "T3Rn", emoji: "🔄" },
{ value: "paritytech/polkadot-sdk", label: "Polkadot Sdk", emoji: "🔗" },
{ value: "automata-network/automata", label: "Automata", emoji: "🤖" },
{ value: "subspace/subspace", label: "Subspace", emoji: "🚀" },
{ value: "mangata-finance/mangata-node", label: "Mangata Node", emoji: "🌐" },
{ value: "virto-network/virto-node", label: "Virto Node", emoji: "🌐" },
{ value: "galacticcouncil/HydraDX-node", label: "HydraDX Node", emoji: "🌌" },
{ value: "InvArch/InvArch-Frames", label: "Invarch Frames", emoji: "🖼️" },
{ value: "darwinia-network/darwinia", label: "Darwinia", emoji: "🌐" },
{ value: "hashed-io/hashed-substrate", label: "Hashed Substrate", emoji: "🔍" },
{ value: "LibertyDSNP/frequency", label: "Frequency", emoji: "📡" },
{ value: "OAK-Foundation/OAK-blockchain", label: "Oak Blockchain", emoji: "🌳" },
{ value: "centrifuge/centrifuge-chain", label: "Centrifuge Chain", emoji: "🔄" },
{ value: "dappforce/subsocial-parachain", label: "Subsocial Parachain", emoji: "🌐" },
{ value: "pendulum-chain/spacewalk", label: "Spacewalk", emoji: "🚀" },
{ value: "Brushfam/openbrush-contracts", label: "Openbrush Contracts", emoji: "🎨" },
{ value: "KILTprotocol/kilt-node", label: "Kilt Node", emoji: "🔄" },
{ value: "Manta-Network/Manta", label: "Manta", emoji: "🌊" },
{ value: "sora-xor/sora2-parachain", label: "Sora2 Parachain", emoji: "🔄" },
{ value: "moondance-labs/tanssi", label: "Tanssi", emoji: "💃" },
{ value: "sora-xor/sora2-network", label: "Sora2 Network", emoji: "🔄" },
{ value: "gear-tech/gear", label: "Gear", emoji: "⚙️" },
{ value: "Joystream/joystream", label: "Joystream", emoji: "🎮" },
{ value: "peaqnetwork/peaq-network-node", label: "Peaq Network Node", emoji: "🌐" },
{ value: "zeitgeistpm/zeitgeist", label: "Zeitgeist", emoji: "🕰️" },
{ value: "docknetwork/dock-substrate", label: "Dock Substrate", emoji: "🚢" },
{ value: "capsule-corp-ternoa/ternoa-node", label: "Ternoa Node", emoji: "📦" },
{ value: "NodleCode/chain", label: "Chain", emoji: "⛓️" },
{ value: "bifrost-finance/bifrost", label: "Bifrost", emoji: "🌈" },
{ value: "ImbueNetwork/imbue", label: "Imbue", emoji: "🌊" },
{ value: "encointer/encointer-parachain", label: "Encointer Parachain", emoji: "🔄" },
{ value: "parallel-finance/parallel", label: "Parallel", emoji: "🔄" },
{ value: "bitgreen/bitgreen-node", label: "Bitgreen Node", emoji: "🌱" },
{ value: "deeper-chain/deeper-chain", label: "Deeper Chain", emoji: "🔄" },
{ value: "crustio/crust", label: "Crust", emoji: "🍞" },
{ value: "AcalaNetwork/Acala", label: "Acala", emoji: "♾️" },
{ value: "InvArch/InvArch-Node", label: "Invarch Node", emoji: "🏛️" },
{ value: "Phala-Network/phala-blockchain", label: "Phala Blockchain", emoji: "🔒" },
{ value: "encointer/encointer-node", label: "Encointer Node", emoji: "🔄" },
{ value: "encointer/personhood-oracle", label: "Personhood Oracle", emoji: "🔄" },
{ value: "airalab/robonomics", label: "Robonomics", emoji: "🤖" },
{ value: "pendulum-chain/pendulum", label: "Pendulum", emoji: "🕰️" },
{ value: "encointer/pallets", label: "Pallets", emoji: "🔄" },
{ value: "integritee-network/worker", label: "Worker", emoji: "🛠️" },
{ value: "bit-country/Metaverse-Network", label: "Metaverse Network", emoji: "🌐" },
{ value: "grindytech/gafi", label: "Gafi", emoji: "🔄" },
{ value: "litentry/litentry-parachain", label: "Litentry Parachain", emoji: "📜" },
{ value: "AstarNetwork/Astar", label: "Astar", emoji: "⭐" },
{ value: "interlay/interbtc", label: "Interbtc", emoji: "🔄" },
{ value: "aleph-zero-foundation/aleph-node", label: "Aleph Node", emoji: "🔄" },
{ value: "opensquare-network/dotreasury", label: "Dotreasury", emoji: "💼" },
{ value: "opensquare-network/subsquare", label: "Subsquare", emoji: "🔄" },
{ value: "OAK-Foundation/xcm-demo", label: "Xcm Demo", emoji: "🔄" },
{ value: "subquery/subql", label: "Subql", emoji: "🔍" },
{ value: "subsquid/squid-sdk", label: "Squid Sdk", emoji: "🦑" },
{ value: "pendulum-chain/portal", label: "Portal", emoji: "🚪" },
{ value: "ImbueNetwork/imbue-frontend", label: "Imbue Frontend", emoji: "🌐" },
{ value: "OAK-Foundation/oak.js", label: "Oak.Js", emoji: "🌳" },
{ value: "moonbeam-foundation/moonbeam", label: "Moonbeam", emoji: "🌙" },
{ value: "webb-tools/tangle", label: "Tangle", emoji: "🌀" },
{ value: "TalismanSociety/talisman", label: "Talisman", emoji: "📿" },
{ value: "opentensor/bittensor", label: "Bittensor", emoji: "🧠" },
]
Loading

0 comments on commit 955e4a3

Please sign in to comment.