@@ -118,7 +106,7 @@ export function Header({ defaultBase }: HeaderProps) {
"flex items-center gap-2 text-muted-foreground transition-colors hover:text-foreground",
pathname.startsWith("/trade") && "text-foreground",
)}
- href={`/trade/${latestBase}`}
+ href={`/trade/${base}`}
>
Trade
diff --git a/app/components/mobile-bottom-bar.tsx b/app/components/mobile-bottom-bar.tsx
index 8e5b0bd1..8b72b392 100644
--- a/app/components/mobile-bottom-bar.tsx
+++ b/app/components/mobile-bottom-bar.tsx
@@ -6,13 +6,7 @@ import { Button } from "@/components/ui/button"
import { useSignInAndConnect } from "@/hooks/use-sign-in-and-connect"
import { useWallets } from "@/hooks/use-wallets"
-export function MobileBottomBar({
- base,
- isUSDCDenominated,
-}: {
- base: string
- isUSDCDenominated?: boolean
-}) {
+export function MobileBottomBar({ base }: { base: string }) {
const { walletReadyState } = useWallets()
const { handleClick, content, open, onOpenChange } = useSignInAndConnect()
return (
@@ -20,10 +14,7 @@ export function MobileBottomBar({
{walletReadyState === "READY" ? (
<>
-
+
-
+
@@ -329,14 +328,8 @@ function ErrorWarning({ steps }: { steps: Step[] }) {
)
}
-function SignInContent() {
- const [rememberMe, setRememberMe] = useLocalStorage(
- STORAGE_REMEMBER_ME,
- false,
- {
- initializeWithValue: false,
- },
- )
+function RememberMe() {
+ const { rememberMe, setRememberMe } = useClientStore((state) => state)
return (
diff --git a/components/dialogs/token-select-dialog.tsx b/components/dialogs/token-select-dialog.tsx
index 0f603d81..829cf222 100644
--- a/components/dialogs/token-select-dialog.tsx
+++ b/components/dialogs/token-select-dialog.tsx
@@ -4,7 +4,7 @@ import Link from "next/link"
import { useBackOfQueueWallet } from "@renegade-fi/react"
import { Star } from "lucide-react"
-import { useDebounceValue, useLocalStorage } from "usehooks-ts"
+import { useDebounceValue } from "usehooks-ts"
import { fromHex } from "viem/utils"
import { TokenIcon } from "@/components/token-icon"
@@ -23,9 +23,9 @@ import { Input } from "@/components/ui/input"
import { ScrollArea } from "@/components/ui/scroll-area"
import { useMediaQuery } from "@/hooks/use-media-query"
-import { STORAGE_FAVORITES } from "@/lib/constants/storage"
import { formatNumber } from "@/lib/format"
import { DISPLAY_TOKENS } from "@/lib/token"
+import { useClientStore } from "@/providers/state-provider/client-store-provider.tsx"
export function TokenSelectDialog({
children,
@@ -140,11 +140,7 @@ function TokenList({
},
})
- const [favorites, setFavorites] = useLocalStorage(
- STORAGE_FAVORITES,
- [],
- { initializeWithValue: false },
- )
+ const { favorites, setFavorites } = useClientStore((state) => state)
const processedTokens = React.useMemo(() => {
return DISPLAY_TOKENS({
@@ -212,14 +208,13 @@ function TokenList({
size="icon"
variant="ghost"
onClick={() => {
- setFavorites((favorites) => {
- if (favorites.includes(token.address)) {
- return favorites.filter(
- (address) => address !== token.address,
- )
- }
- return [...favorites, token.address]
- })
+ if (favorites.includes(token.address)) {
+ setFavorites(
+ favorites.filter((address) => address !== token.address),
+ )
+ } else {
+ setFavorites([...favorites, token.address])
+ }
}}
>
(undefined)
export interface ClientStoreProviderProps {
children: ReactNode
- cookieString?: string
}
-export function ClientStoreProvider({
- children,
- cookieString,
-}: ClientStoreProviderProps) {
+export function ClientStoreProvider({ children }: ClientStoreProviderProps) {
const storeRef = useRef(undefined)
if (!storeRef.current) {
diff --git a/providers/state-provider/client-store.ts b/providers/state-provider/client-store.ts
index 8c3e3021..aa238dba 100644
--- a/providers/state-provider/client-store.ts
+++ b/providers/state-provider/client-store.ts
@@ -1,4 +1,4 @@
-import { createJSONStorage, persist } from "zustand/middleware"
+import { persist } from "zustand/middleware"
import { createStore } from "zustand/vanilla"
import { STORAGE_CLIENT_STORE } from "@/lib/constants/storage"
diff --git a/providers/state-provider/state-provider.tsx b/providers/state-provider/state-provider.tsx
deleted file mode 100644
index e69de29b..00000000