Skip to content

Commit 31eb0e1

Browse files
committed
feat: add wallet export
1 parent 7352283 commit 31eb0e1

File tree

5 files changed

+50
-66
lines changed

5 files changed

+50
-66
lines changed

apps/events/src/components/delegate.tsx

Lines changed: 0 additions & 41 deletions
This file was deleted.
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
import { Button } from '@/components/ui/button';
2+
import { usePrivy } from '@privy-io/react-auth';
3+
4+
export const ExportWallet = () => {
5+
const { ready, authenticated, user, exportWallet } = usePrivy();
6+
const isAuthenticated = ready && authenticated;
7+
// check that your user has an embedded wallet
8+
const hasEmbeddedWallet = !!user?.linkedAccounts.find(
9+
(account) => account.type === 'wallet' && account.walletClientType === 'privy' && account.chainType === 'ethereum',
10+
);
11+
12+
return (
13+
<>
14+
<h1 className="text-2xl font-bold">Export Wallet</h1>
15+
<Button onClick={exportWallet} disabled={!isAuthenticated || !hasEmbeddedWallet}>
16+
Export my wallet
17+
</Button>
18+
</>
19+
);
20+
};

apps/events/src/routeTree.gen.ts

Lines changed: 25 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ import { createFileRoute } from '@tanstack/react-router'
1515
import { Route as rootRoute } from './routes/__root'
1616
import { Route as IndexImport } from './routes/index'
1717
import { Route as SpaceSpaceIdImport } from './routes/space/$spaceId'
18-
import { Route as SettingsDelegateImport } from './routes/settings/delegate'
18+
import { Route as SettingsExportWalletImport } from './routes/settings/export-wallet'
1919

2020
// Create Virtual Routes
2121

@@ -41,9 +41,9 @@ const SpaceSpaceIdRoute = SpaceSpaceIdImport.update({
4141
getParentRoute: () => rootRoute,
4242
} as any)
4343

44-
const SettingsDelegateRoute = SettingsDelegateImport.update({
45-
id: '/settings/delegate',
46-
path: '/settings/delegate',
44+
const SettingsExportWalletRoute = SettingsExportWalletImport.update({
45+
id: '/settings/export-wallet',
46+
path: '/settings/export-wallet',
4747
getParentRoute: () => rootRoute,
4848
} as any)
4949

@@ -65,11 +65,11 @@ declare module '@tanstack/react-router' {
6565
preLoaderRoute: typeof LoginLazyImport
6666
parentRoute: typeof rootRoute
6767
}
68-
'/settings/delegate': {
69-
id: '/settings/delegate'
70-
path: '/settings/delegate'
71-
fullPath: '/settings/delegate'
72-
preLoaderRoute: typeof SettingsDelegateImport
68+
'/settings/export-wallet': {
69+
id: '/settings/export-wallet'
70+
path: '/settings/export-wallet'
71+
fullPath: '/settings/export-wallet'
72+
preLoaderRoute: typeof SettingsExportWalletImport
7373
parentRoute: typeof rootRoute
7474
}
7575
'/space/$spaceId': {
@@ -87,45 +87,50 @@ declare module '@tanstack/react-router' {
8787
export interface FileRoutesByFullPath {
8888
'/': typeof IndexRoute
8989
'/login': typeof LoginLazyRoute
90-
'/settings/delegate': typeof SettingsDelegateRoute
90+
'/settings/export-wallet': typeof SettingsExportWalletRoute
9191
'/space/$spaceId': typeof SpaceSpaceIdRoute
9292
}
9393

9494
export interface FileRoutesByTo {
9595
'/': typeof IndexRoute
9696
'/login': typeof LoginLazyRoute
97-
'/settings/delegate': typeof SettingsDelegateRoute
97+
'/settings/export-wallet': typeof SettingsExportWalletRoute
9898
'/space/$spaceId': typeof SpaceSpaceIdRoute
9999
}
100100

101101
export interface FileRoutesById {
102102
__root__: typeof rootRoute
103103
'/': typeof IndexRoute
104104
'/login': typeof LoginLazyRoute
105-
'/settings/delegate': typeof SettingsDelegateRoute
105+
'/settings/export-wallet': typeof SettingsExportWalletRoute
106106
'/space/$spaceId': typeof SpaceSpaceIdRoute
107107
}
108108

109109
export interface FileRouteTypes {
110110
fileRoutesByFullPath: FileRoutesByFullPath
111-
fullPaths: '/' | '/login' | '/settings/delegate' | '/space/$spaceId'
111+
fullPaths: '/' | '/login' | '/settings/export-wallet' | '/space/$spaceId'
112112
fileRoutesByTo: FileRoutesByTo
113-
to: '/' | '/login' | '/settings/delegate' | '/space/$spaceId'
114-
id: '__root__' | '/' | '/login' | '/settings/delegate' | '/space/$spaceId'
113+
to: '/' | '/login' | '/settings/export-wallet' | '/space/$spaceId'
114+
id:
115+
| '__root__'
116+
| '/'
117+
| '/login'
118+
| '/settings/export-wallet'
119+
| '/space/$spaceId'
115120
fileRoutesById: FileRoutesById
116121
}
117122

118123
export interface RootRouteChildren {
119124
IndexRoute: typeof IndexRoute
120125
LoginLazyRoute: typeof LoginLazyRoute
121-
SettingsDelegateRoute: typeof SettingsDelegateRoute
126+
SettingsExportWalletRoute: typeof SettingsExportWalletRoute
122127
SpaceSpaceIdRoute: typeof SpaceSpaceIdRoute
123128
}
124129

125130
const rootRouteChildren: RootRouteChildren = {
126131
IndexRoute: IndexRoute,
127132
LoginLazyRoute: LoginLazyRoute,
128-
SettingsDelegateRoute: SettingsDelegateRoute,
133+
SettingsExportWalletRoute: SettingsExportWalletRoute,
129134
SpaceSpaceIdRoute: SpaceSpaceIdRoute,
130135
}
131136

@@ -141,7 +146,7 @@ export const routeTree = rootRoute
141146
"children": [
142147
"/",
143148
"/login",
144-
"/settings/delegate",
149+
"/settings/export-wallet",
145150
"/space/$spaceId"
146151
]
147152
},
@@ -151,8 +156,8 @@ export const routeTree = rootRoute
151156
"/login": {
152157
"filePath": "login.lazy.tsx"
153158
},
154-
"/settings/delegate": {
155-
"filePath": "settings/delegate.tsx"
159+
"/settings/export-wallet": {
160+
"filePath": "settings/export-wallet.tsx"
156161
},
157162
"/space/$spaceId": {
158163
"filePath": "space/$spaceId.tsx"

apps/events/src/routes/__root.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,8 @@ export const Route = createRootRoute({
3131
<nav className="ml-auto flex gap-4 sm:gap-6">
3232
{authenticated ? (
3333
<div className="flex items-center gap-4">
34-
<Link className="text-xs" to="/settings/delegate">
35-
Delegate
34+
<Link className="text-xs" to="/settings/export-wallet">
35+
Export Wallet
3636
</Link>
3737
<span className="text-xs text-gray-500 dark:text-gray-400">
3838
{identity?.accountId.substring(0, 6)}
Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
1-
import { Delegate } from '@/components/delegate';
1+
import { ExportWallet } from '@/components/export-wallet';
22
import { createFileRoute } from '@tanstack/react-router';
33

4-
export const Route = createFileRoute('/settings/delegate')({
4+
export const Route = createFileRoute('/settings/export-wallet')({
55
component: RouteComponent,
66
});
77

88
function RouteComponent() {
99
return (
1010
<div className="flex flex-col gap-4 max-w-screen-sm mx-auto py-8">
11-
<Delegate />
11+
<ExportWallet />
1212
</div>
1313
);
1414
}

0 commit comments

Comments
 (0)