Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
32 commits
Select commit Hold shift + click to select a range
8ea6e7d
feat: add progress bar component
Zishan-7 Oct 12, 2025
fce6615
feat: add contributors
Zishan-7 Oct 12, 2025
7fc1619
feat: create request page changes
Zishan-7 Oct 12, 2025
a4e5d77
feat: txn card changes
Zishan-7 Oct 12, 2025
062f946
feat: add slider
Zishan-7 Oct 13, 2025
0cb620c
feat: add initial requ fulfilment screen
Zishan-7 Oct 14, 2025
15bc994
feat: update slider component
Zishan-7 Oct 14, 2025
74d64ef
refactor: change request api to use jwt token
jjramirezn Oct 15, 2025
3aff788
Update src/services/requests.ts
jjramirezn Oct 15, 2025
06625ff
feat: remove direct request
Zishan-7 Oct 16, 2025
122c9c9
Merge remote-tracking branch 'origin/peanut-wallet-dev' into feat/req…
Zishan-7 Oct 16, 2025
db3291d
feat: update request creation process
Zishan-7 Oct 16, 2025
e5e7953
Merge pull request #1328 from peanutprotocol/feat/request-pots-datamodel
jjramirezn Oct 16, 2025
9d7331f
feat: update request fulfilment flow to handle request pots
Zishan-7 Oct 17, 2025
ea5c11f
feat: receipt changes
Zishan-7 Oct 17, 2025
e7a50c7
feat: changes required for open requests
Zishan-7 Oct 18, 2025
b3451dc
feat: txn receipt changes
Zishan-7 Oct 18, 2025
7bcf5a2
feat: history changes
Zishan-7 Oct 18, 2025
669162c
fix: txn receipts
Zishan-7 Oct 18, 2025
04f390f
Fix: minor UI changes
Zishan-7 Oct 18, 2025
5e0058a
Merge remote-tracking branch 'origin/peanut-wallet-dev' into feat/req…
Zishan-7 Oct 18, 2025
666e3a3
refactor: use explicit type import for ChargeEntry in history.utils.ts
Zishan-7 Oct 18, 2025
92facb2
refactor: use explicit type imports for Payment and ChargeEntry in Co…
Zishan-7 Oct 18, 2025
4d6db97
fix: update transaction status logic to treat zero total amount as ca…
Zishan-7 Oct 19, 2025
139bc4f
request fulfillment page final changes
Zishan-7 Oct 19, 2025
6468c92
fix: cr suggestions
Zishan-7 Oct 19, 2025
07149b8
fix: update amount handling for request pot payments in PaymentForm
Zishan-7 Oct 19, 2025
f9dd883
fix: nitpicks
Zishan-7 Oct 19, 2025
93e4a09
Merge remote-tracking branch 'origin/peanut-wallet-dev' into feat/req…
Zishan-7 Oct 24, 2025
fcfefbb
fix: name
Zishan-7 Oct 24, 2025
5ccac6e
feat: add bill split params
Zishan-7 Oct 24, 2025
7bc99ec
feat: add bill split button for QR payments
Zishan-7 Oct 24, 2025
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
2 changes: 2 additions & 0 deletions src/app/(mobile-ui)/qr-pay/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -1045,6 +1045,7 @@ export default function QRPayPage() {
exchange_rate: currency.price.toString(),
},
},
totalAmountCollected: Number(usdAmount),
})
}}
>
Expand Down Expand Up @@ -1126,6 +1127,7 @@ export default function QRPayPage() {
exchange_rate: currency.price.toString(),
},
},
totalAmountCollected: Number(usdAmount),
})
}}
>
Expand Down
18 changes: 0 additions & 18 deletions src/app/(mobile-ui)/request/create/page.tsx

This file was deleted.

4 changes: 2 additions & 2 deletions src/app/(mobile-ui)/request/page.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { generateMetadata } from '@/app/metadata'
import PageContainer from '@/components/0_Bruddle/PageContainer'
import { RequestRouterView } from '@/components/Request/views/RequestRouter.view'
import { CreateRequestLinkView } from '@/components/Request/link/views/Create.request.link.view'

export const metadata = generateMetadata({
title: 'Request Money | Peanut',
Expand All @@ -13,7 +13,7 @@ export const metadata = generateMetadata({
export default function RequestPage() {
return (
<PageContainer>
<RequestRouterView />
<CreateRequestLinkView />
</PageContainer>
)
}
3 changes: 2 additions & 1 deletion src/app/[...recipient]/client.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -521,9 +521,10 @@ export default function PaymentPage({ recipient, flow = 'request_pay' }: Props)
}
setCurrencyAmount={(value: string | undefined) => setCurrencyAmount(value || '')}
currencyAmount={currencyAmount}
showRequestPotInitialView={!!requestId}
/>
<div>
{showActionList && (
{!requestId && showActionList && (
<ActionList
flow="request"
requestLinkData={parsedPaymentData as ParsedURL}
Expand Down
8 changes: 8 additions & 0 deletions src/assets/icons/coin.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 2 additions & 0 deletions src/assets/icons/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -21,3 +21,5 @@ export { default as STAR_STRAIGHT_ICON } from './starStraight.svg'
export { default as WHATSAPP_ICON } from './whatsapp.svg'
export { default as IMESSAGE_ICON } from './imessage.svg'
export { default as FBMessenger_ICON } from './fbmessenger.svg'
export { default as SOCIALS_ICON } from './socials.svg'
export { default as COIN_ICON } from './coin.svg'
34 changes: 34 additions & 0 deletions src/assets/icons/socials.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
5 changes: 4 additions & 1 deletion src/components/Global/Badges/StatusBadge.tsx
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import React from 'react'
import { twMerge } from 'tailwind-merge'

export type StatusType = 'completed' | 'pending' | 'failed' | 'cancelled' | 'soon' | 'processing' | 'custom'
export type StatusType = 'completed' | 'pending' | 'failed' | 'cancelled' | 'soon' | 'processing' | 'custom' | 'closed'

interface StatusBadgeProps {
status: StatusType
Expand All @@ -14,6 +14,7 @@ const StatusBadge: React.FC<StatusBadgeProps> = ({ status, className, size = 'sm
const getStatusStyles = () => {
switch (status) {
case 'completed':
case 'closed':
return 'bg-success-2 text-success-4 border border-success-5'
case 'pending':
case 'processing':
Expand Down Expand Up @@ -43,6 +44,8 @@ const StatusBadge: React.FC<StatusBadgeProps> = ({ status, className, size = 'sm
return 'Cancelled'
case 'soon':
return 'Soon!'
case 'closed':
return 'Closed'
case 'custom':
return customText
default:
Expand Down
46 changes: 46 additions & 0 deletions src/components/Global/Contributors/ContributorCard.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
import { type Payment } from '@/services/services.types'
import Card, { type CardPosition } from '../Card'
import AvatarWithBadge from '@/components/Profile/AvatarWithBadge'
import { getColorForUsername } from '@/utils/color.utils'
import { VerifiedUserLabel } from '@/components/UserHeader'
import { formatTokenAmount } from '@/utils'
import { isAddress } from 'viem'

export type Contributor = {
uuid: string
payments: Payment[]
amount: string
username: string | undefined
fulfillmentPayment: Payment | null
isUserVerified: boolean
}

const ContributorCard = ({ contributor, position }: { contributor: Contributor; position: CardPosition }) => {
const colors = getColorForUsername(contributor.username ?? '')
const isEvmAddress = isAddress(contributor.username ?? '')
return (
<Card position={position} className="cursor-pointer">
<div className="flex items-center justify-between">
<div className="flex items-center gap-2">
<AvatarWithBadge
name={contributor.username ?? ''}
size={'extra-small'}
inlineStyle={{ backgroundColor: isEvmAddress ? '#FFC900' : colors.lightShade }}
textColor={isEvmAddress ? '#000000' : colors.darkShade}
icon={isEvmAddress ? 'wallet-outline' : undefined}
/>

<VerifiedUserLabel
username={contributor.username ?? ''}
name={contributor.username ?? ''}
isVerified={contributor.isUserVerified}
/>
</div>

<p className="font-medium">${formatTokenAmount(Number(contributor.amount))}</p>
</div>
</Card>
)
}

export default ContributorCard
Loading
Loading