@@ -30,11 +31,13 @@ export function SpaceTradeList({ space }: Props) {
diff --git a/app/~/space/[id]/Space/TradeList.tsx b/app/~/space/[id]/Space/TradeList.tsx
new file mode 100644
index 00000000..47827c8c
--- /dev/null
+++ b/app/~/space/[id]/Space/TradeList.tsx
@@ -0,0 +1,52 @@
+'use client'
+
+import { UserAvatar } from '@/components/UserAvatar'
+import { useSpace } from '@/hooks/useSpace'
+import { useTrades } from '@/hooks/useTrades'
+import { TradeType } from '@/lib/constants'
+import { precision } from '@/lib/math'
+import { cn } from '@/lib/utils'
+
+interface Props {}
+
+export function TradeList({}: Props) {
+ const { space } = useSpace()
+ const { records: trades } = useTrades()
+
+ return (
+
+ {trades.map((item) => (
+
+
+
+
+ {item.user.ensName
+ ? item.user.ensName
+ : item.user.address.slice(0, 5)}
+
+
+
+
+ {item.type === TradeType.BUY ? 'Bought' : 'sold'}
+
+
+
+
+ {precision
+ .toDecimal(
+ item.type === TradeType.BUY ? item.amountOut : item.amountIn,
+ )
+ .toFixed(2)}{' '}
+
+ {space.symbolName}
+
+
+ ))}
+
+ )
+}
diff --git a/app/~/space/[id]/Transaction.tsx b/app/~/space/[id]/Transaction.tsx
index 728f7ddb..d61e823b 100644
--- a/app/~/space/[id]/Transaction.tsx
+++ b/app/~/space/[id]/Transaction.tsx
@@ -1,88 +1,65 @@
'use client'
-import { useEffect, useMemo, useState } from 'react';
-import { useAddress } from '@/hooks/useAddress';
-import { useTokenKxy } from '@/hooks/useTokenKxy';
-import { precision } from '@/lib/math';
-import { Address } from 'viem';
-import { useAccount, useBalance } from 'wagmi';
-import { useSpace } from "@/hooks/useSpace"
-import { useSpaceTokenBalance } from '@/components/spaceToken/hooks/useSpaceTokenBalance';
-import { Buy } from '@/components/spaceToken/Buy';
-import { Sell } from '@/components/spaceToken/Sell';
+import { useEffect, useMemo, useState } from 'react'
+import { BuyPanel } from '@/components/spaceToken/BuyPanel'
+import { SellPanel } from '@/components/spaceToken/SellPanel'
+import { useAddress } from '@/hooks/useAddress'
+import { useSpace } from '@/hooks/useSpace'
+import { precision } from '@/lib/math'
+import { Address } from 'viem'
+import { useAccount, useBalance } from 'wagmi'
enum Direction {
buy = 1,
- sell = 2
+ sell = 2,
}
export function Transaction() {
const { space } = useSpace()
const address = useAddress()
const { isConnected } = useAccount()
- const { data: balanceData } = useBalance({ address })
- const { isLoading, data: tokenBalance } = useSpaceTokenBalance()
const [direction, setDirection] = useState
(Direction.buy)
- const { updateTokenKxy } = useTokenKxy()
-
- const ethBalance = useMemo(() => {
- if (balanceData?.value) {
- // Numerical precision issues: precision.toDecimal(tokenBalance).toString()
- return precision.toExactDecimalString(balanceData?.value)
- }
-
- return '0.00'
- }, [balanceData])
const onSwitch = (direction: Direction) => {
setDirection(direction)
}
- useEffect(() => {
- if (space) {
- updateTokenKxy(space.spaceAddress as Address)
- }
- }, [space])
-
return (
-
+
-
+
-
diff --git a/components/DashboardLayout/DashboardLayout.tsx b/components/DashboardLayout/DashboardLayout.tsx
index 0e685be0..db14f4d9 100644
--- a/components/DashboardLayout/DashboardLayout.tsx
+++ b/components/DashboardLayout/DashboardLayout.tsx
@@ -2,6 +2,7 @@
import { PropsWithChildren } from 'react'
import { useAddress } from '@/hooks/useAddress'
+import { useQueryChainSpace } from '@/hooks/useChainSpace'
import { useQueryEthBalance } from '@/hooks/useEthBalance'
import { useQueryEthPrice } from '@/hooks/useEthPrice'
import { CreateSpaceDialog } from '../CreateSpaceDialog/CreateSpaceDialog'
@@ -11,6 +12,7 @@ import { Sidebar } from './Sidebar/Sidebar'
export function DashboardLayout({ children }: PropsWithChildren) {
useQueryEthPrice()
useQueryEthBalance()
+ useQueryChainSpace()
return (
diff --git a/components/DashboardLayout/Sidebar/SpaceMenu.tsx b/components/DashboardLayout/Sidebar/SpaceMenu.tsx
index 07b824f6..bb8df95c 100644
--- a/components/DashboardLayout/Sidebar/SpaceMenu.tsx
+++ b/components/DashboardLayout/Sidebar/SpaceMenu.tsx
@@ -24,47 +24,66 @@ export function SpaceMenu() {
pathname === '/~/create-space'
if (!space || isNotSpace) return null
-
return (
-
-
-
-
-
-
+
-
-
- {
- push(`/~/space/${space.id}/settings`)
- }}
- >
-
- Space settings
-
-
-
+
{space.name}
+ {/*
*/}
+
)
+
+ // return (
+ //
+ //
+ //
+ //
+ //
+ //
+
+ //
{space.name}
+ //
+ //
+ //
+ //
+ //
+ // {
+ // push(`/~/space/${space.id}/settings`)
+ // }}
+ // >
+ //
+ // Space settings
+ //
+ //
+ //
+ //
+ // )
}
diff --git a/components/MemberDialog/MemberDialog.tsx b/components/MemberDialog/MemberDialog.tsx
index 94545be3..aede8a15 100644
--- a/components/MemberDialog/MemberDialog.tsx
+++ b/components/MemberDialog/MemberDialog.tsx
@@ -3,17 +3,14 @@
import {
Dialog,
DialogContent,
+ DialogDescription,
DialogHeader,
DialogTitle,
} from '@/components/ui/dialog'
import { useQueryEthBalance } from '@/hooks/useEthBalance'
import { RouterOutputs } from '@/server/_app'
-import { useMutation } from '@tanstack/react-query'
-import { ProfileAvatar } from '../Profile/ProfileAvatar'
-import { AmountInput } from './AmountInput'
import { MemberForm } from './MemberForm'
import { useMemberDialog } from './useMemberDialog'
-import { useSubscribe } from './useSubscribe'
interface Props {
space: RouterOutputs['space']['byId']
@@ -26,6 +23,7 @@ export function MemberDialog({ space }: Props) {
return (