Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
17 commits
Select commit Hold shift + click to select a range
e1549b0
fix: bounty display, metadata improvements, and RHF logic
PoornaChandra2005 Feb 10, 2026
76c38bb
refactor: simplify bounty metadata logic and cleanup feed actions
PoornaChandra2005 Feb 10, 2026
c2d4e0a
feat: add Foundation vs Community bounty filter to Earn tab
PoornaChandra2005 Feb 10, 2026
7bc77ae
Merge branch 'main' of https://github.com/ResearchHub/web into feat/f…
PoornaChandra2005 Feb 11, 2026
c861e40
fix: convert input amount when switching between USD and RSC in bount…
PoornaChandra2005 Feb 11, 2026
1272c79
refactor: extract currency conversion logic to reusable hook
PoornaChandra2005 Feb 11, 2026
f6976ea
refactor: apply CurrencyInput to ContributeBountyModal
PoornaChandra2005 Feb 11, 2026
a80b820
refactor: apply CurrencyInput to FundResearchModal
PoornaChandra2005 Feb 11, 2026
352be09
refactor: apply CurrencyInput to TipContentModal
PoornaChandra2005 Feb 11, 2026
be4f3a2
refactor: apply CurrencyInput to ContributeToFundraiseModal
PoornaChandra2005 Feb 11, 2026
4dabf3d
refactor: apply CurrencyInput to DepositRSCView
PoornaChandra2005 Feb 11, 2026
79e0f3a
refactor: apply CurrencyInput to create bounty page
PoornaChandra2005 Feb 11, 2026
c7675e5
refactor: apply CurrencyInput to DepositModal
PoornaChandra2005 Feb 11, 2026
d43d686
refactor: apply CurrencyInput to WithdrawModal
PoornaChandra2005 Feb 11, 2026
472b5ff
refactor: eliminate code duplication by sharing FeeBreakdown and amou…
PoornaChandra2005 Feb 11, 2026
ca96491
refactor: complete rewrite of bounty forms to solve duplication
PoornaChandra2005 Feb 11, 2026
44912b0
refactor: implement unified Modal system to reduce code duplication a…
PoornaChandra2005 Feb 11, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
866 changes: 51 additions & 815 deletions app/bounty/create/page.tsx

Large diffs are not rendered by default.

34 changes: 26 additions & 8 deletions app/earn/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,8 @@ export default function EarnPage() {
loadMore,
sort,
handleSortChange,
bountyFilter,
handleBountyFilterChange,
selectedHubs,
handleHubsChange,
restoredScrollPosition,
Expand All @@ -34,19 +36,35 @@ export default function EarnPage() {
{ label: 'RSC amount', value: '-total_amount' },
];

// Available bounty type options
const bountyTypeOptions = [
{ label: 'All Bounties', value: 'ALL' },
{ label: 'Foundation Only', value: 'FOUNDATION' },
{ label: 'Community Only', value: 'COMMUNITY' },
];

const renderFilters = () => (
<div className="mt-5 space-y-3">
{/* Top filter bar */}
<div className="flex items-center gap-0 sm:gap-2 flex-wrap justify-between">
<div className="w-1/2 sm:!w-[220px] flex-1 sm:!flex-none pr-1 sm:!pr-0">
<HubsSelector
selectedHubs={selectedHubs}
onChange={handleHubsChange}
displayCountOnly
hideSelectedItems={true}
/>
<div className="flex items-center gap-2 flex-1 sm:flex-none">
<div className="w-[180px] sm:!w-[220px]">
<HubsSelector
selectedHubs={selectedHubs}
onChange={handleHubsChange}
displayCountOnly
hideSelectedItems={true}
/>
</div>
<div className="w-[140px] sm:!w-[160px]">
<SortDropdown
value={bountyFilter}
onChange={(opt: SortOption) => handleBountyFilterChange(opt.value as any)}
options={bountyTypeOptions}
/>
</div>
</div>
<div className="w-1/2 sm:!w-[120px] flex-1 sm:!flex-none pl-1 sm:!pl-0">
<div className="w-1/2 sm:!w-[120px] flex-1 sm:!flex-none pl-1 sm:!pl-0 mt-2 sm:mt-0">
<SortDropdown
value={sort}
onChange={(opt: SortOption) => handleSortChange(opt.value)}
Expand Down
Loading