Skip to content

Commit

Permalink
Add transfer
Browse files Browse the repository at this point in the history
  • Loading branch information
Grzegorz Strączek committed Jan 30, 2024
1 parent 8e73b65 commit 51b5193
Show file tree
Hide file tree
Showing 6 changed files with 28 additions and 20 deletions.
5 changes: 3 additions & 2 deletions frontend/src/app/approve-transfer/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,11 @@ import { contractTxWithToast } from '@/utils/contract-tx-with-toast'
export default function ApproveTransfer({
phoneNumber,
onClose,
index,
}: {
phoneNumber?: string | null
onClose: () => void
index: number
}) {
const { api, activeAccount, activeSigner } = useInkathon()
const { contract, address: contractAddress } = useRegisteredContract(ContractIds.TransferEscrow)
Expand All @@ -29,9 +31,8 @@ export default function ApproveTransfer({
setUpdateIsLoading(true)
try {
if (!phoneNumber) return

await contractTxWithToast(api, activeAccount.address, contract, 'approve_transfer', {}, [
{ Bytes: phoneNumber },
index,
])

onClose()
Expand Down
19 changes: 11 additions & 8 deletions frontend/src/app/register-request/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ export default function RegisterRequest({
currentOperator,
onClose,
}: {
currentOperator?: string | null
currentOperator?: { name: string; walletAddress: string } | null
phoneNumber?: string | null
onClose: () => void
}) {
Expand All @@ -42,19 +42,22 @@ export default function RegisterRequest({
try {
if (!phoneNumber || !targetOperator) return

await contractTxWithToast(
const res = await contractTxWithToast(
api,
activeAccount.address,
transferEscrowContract,
'register_new_request',
{},
[{ Bytes: phoneNumber }, targetOperator],
)
await contractTxWithToast(api, activeAccount.address, phoneNumberContract, 'approve', {}, [
currentOperator,
{ Bytes: phoneNumber },
true,
])
// await contractTxWithToast(
// api,
// activeAccount.address,
// phoneNumberContract,
// 'PSP34::approve',
// {},
// [currentOperator?.walletAddress, { Bytes: phoneNumber }, true],
// )

onClose()
} catch (e) {
Expand All @@ -72,7 +75,7 @@ export default function RegisterRequest({
<InputLabel sx={{ color: '#00eac7' }}>current operator</InputLabel>
<TextField
margin="normal"
value={currentOperator}
value={currentOperator?.name}
disabled={true}
required
fullWidth
Expand Down
1 change: 0 additions & 1 deletion frontend/src/app/transfer-request/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,6 @@ export default function TransferRequest() {
if (isError) throw new Error(decodedOutput)

const result = output as TransfersTableType

return result
})

Expand Down
7 changes: 5 additions & 2 deletions frontend/src/components/table/table.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,10 @@ export default function BasicTable({
const [showModal, setShowModal] = useState(false)
const [modalMode, setModalMode] = useState<'setMetadata' | 'registerNewRequest'>('setMetadata')
const [phoneNumber, setPhoneNumber] = useState<string | null>(null)
const [currentOperator, setCurrentOperator] = useState<string | null | undefined>('')
const [currentOperator, setCurrentOperator] = useState<{
name: string
walletAddress: string
} | null>()

const handleChangePage = (event: unknown, newPage: number) => {
setPage(newPage)
Expand Down Expand Up @@ -116,7 +119,7 @@ export default function BasicTable({
setModalMode('registerNewRequest')
setShowModal(true)
setPhoneNumber(row.phoneNumber)
setCurrentOperator(row.operator?.walletAddress)
setCurrentOperator(row.operator)
}}
>
<BellPlusIcon />
Expand Down
5 changes: 4 additions & 1 deletion frontend/src/components/table/transferTable.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,7 @@ export default function TransferTable({ data }: { data: TransfersTableType[] })
const [rows, setRows] = useState(data?.length || 0)
const [showModal, setShowModal] = useState(false)
const [phoneNumber, setPhoneNumber] = useState<string | null>(null)
const [index, setIndex] = useState(0)
const [modalMode, setModalMode] = useState<'approveTransfer' | 'finishTransfer'>(
'approveTransfer',
)
Expand All @@ -62,7 +63,6 @@ export default function TransferTable({ data }: { data: TransfersTableType[] })
setRowsPerPage(+event.target.value)
setPage(0)
}

return (
<div className="container relative flex grow flex-col items-center justify-center text-white">
<TableContainer component={Paper} elevation={10}>
Expand Down Expand Up @@ -99,6 +99,7 @@ export default function TransferTable({ data }: { data: TransfersTableType[] })
onClick={(e) => {
setModalMode('finishTransfer')
setPhoneNumber(row.token.Bytes)
setIndex(index)
setShowModal(true)
}}
>
Expand All @@ -112,6 +113,7 @@ export default function TransferTable({ data }: { data: TransfersTableType[] })
onClick={(e) => {
setModalMode('approveTransfer')
setPhoneNumber(row.token.Bytes)
setIndex(index)
setShowModal(true)
}}
>
Expand Down Expand Up @@ -162,6 +164,7 @@ export default function TransferTable({ data }: { data: TransfersTableType[] })
open={showModal}
mode={modalMode}
phoneNumber={phoneNumber}
index={index}
onClose={() => {
setShowModal(false)
}}
Expand Down
11 changes: 5 additions & 6 deletions frontend/src/components/ui/request-modal.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import Box from '@mui/material/Box'
import Modal from '@mui/material/Modal'

import ApproveTransfer from '@/app/approve-transfer/page'
import FinishTransfer from '@/app/finish-transfer/page'
import RegisterRequest from '@/app/register-request/page'

Expand All @@ -23,15 +24,17 @@ interface Props {
mode?: 'setMetadata' | 'registerNewRequest' | 'finishTransfer' | 'approveTransfer'
open: boolean
onClose: () => void
index: number
phoneNumber?: string | null
currentOperator?: string | null
currentOperator?: { name: string; walletAddress: string } | null
}

export default function RequestModal({
mode = 'setMetadata',
open,
onClose,
phoneNumber,
index,
currentOperator,
}: Props) {
return (
Expand All @@ -52,11 +55,7 @@ export default function RequestModal({
/>
)}
{mode == 'approveTransfer' && (
<RegisterRequest
phoneNumber={phoneNumber}
currentOperator={currentOperator}
onClose={onClose}
/>
<ApproveTransfer phoneNumber={phoneNumber} onClose={onClose} index={index} />
)}
</Box>
</Modal>
Expand Down

0 comments on commit 51b5193

Please sign in to comment.