Skip to content

Commit ed5d48b

Browse files
authored
Merge pull request #9 from TheStableFoundation/development
Add watch apps (watchOS, Wear OS) and more
2 parents ffb3b9c + bcdf23b commit ed5d48b

175 files changed

Lines changed: 5402 additions & 1507 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,3 +35,6 @@ keystore.properties
3535

3636
# Allow encrypted keystore files
3737
!secrets/*.gpg
38+
39+
# App builds
40+
*.pkg

README.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
# NotWallet
22

3-
Solana wallet and more. Do your own research.
4-
5-
**Use at your own risk.**
3+
Solana wallet and more. Do your own research. Use at your own risk.
64

75
## Recommended IDE Setup
86

@@ -12,7 +10,7 @@ Solana wallet and more. Do your own research.
1210

1311
## Run targets
1412

15-
Build desktop, iOS, and Android targets:
13+
This repo consists of source code to build desktop, iOS, (experimental) watchOS, and Android targets:
1614

1715
```bash
1816
# Desktop
@@ -28,6 +26,8 @@ $ pnpm run tauri android dev
2826
- Follow Tauri guide for more information.
2927
- When updating `tauri.conf.json`, always clean up `src-tauri/gen` folder and init the android and ios project again.
3028

29+
watchOS app is under the watchApp folder as an Xcode project.
30+
3131
```bash
3232
$ pnpm run tauri android init
3333
$ pnpm run tauri ios init

app/activity/components/activity_detail.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ function ActivityDetailContent() {
8686
<Typography
8787
variant="subtitle1"
8888
fontWeight="bold"
89-
sx={{ mb: 1, color: "#1e88e5" }}
89+
sx={{ mb: 1, color: "#AD5AD7" }}
9090
>
9191
{activity.action}
9292
</Typography>

app/create-new-wallet/done/page.tsx

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,11 @@ function DoneContent() {
5050
textAlign: "center",
5151
}}
5252
>
53-
<Typography variant="h4" fontWeight="bold" sx={{ mb: 2, color: "#1e88e5" }}>
53+
<Typography
54+
variant="h4"
55+
fontWeight="bold"
56+
sx={{ mb: 2, color: "#AD5AD7" }}
57+
>
5458
🎉 New Address Created!
5559
</Typography>
5660
<Typography variant="subtitle1" sx={{ mb: 2 }}>

app/create-new-wallet/page.tsx

Lines changed: 42 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,9 @@ export default function CreateNewWalletPage() {
6161
try {
6262
const result = await invoke<any>(DERIVE_NEXT_KEYPAIR, { seedUuid });
6363
// Navigate to done page with pubkey in search params
64-
router.replace(`/create-new-wallet/done?pubkey=${encodeURIComponent(result.pubkey)}`);
64+
router.replace(
65+
`/create-new-wallet/done?pubkey=${encodeURIComponent(result.pubkey)}`,
66+
);
6567
} catch (e: any) {
6668
setErrorMsg(e?.toString() || "Failed to derive keypair.");
6769
} finally {
@@ -88,23 +90,32 @@ export default function CreateNewWalletPage() {
8890
width: "100%",
8991
p: 4,
9092
boxShadow: 4,
91-
background: "linear-gradient(135deg, #212529 60%, #1e88e5 100%)",
93+
background: "linear-gradient(135deg, #9932CC 0%, #AD5AD7 100%)",
9294
color: "#fff",
9395
}}
9496
>
9597
<Stack direction="row" alignItems="center" sx={{ mb: 2 }}>
9698
<Button
9799
startIcon={<ArrowBackIcon />}
98100
onClick={async () => {
99-
await selectionFeedback()
100-
router.back()
101+
await selectionFeedback();
102+
router.back();
103+
}}
104+
sx={{
105+
minWidth: 0,
106+
color: "#9932CC",
107+
bgcolor: "#fff",
108+
"&:hover": { bgcolor: "#F5F6FA" },
101109
}}
102-
sx={{ minWidth: 0, color: "#1e88e5", bgcolor: "#fff", "&:hover": { bgcolor: "#e3f2fd" } }}
103110
>
104111
Back
105112
</Button>
106113
<Box sx={{ flex: 1 }} />
107-
<Typography variant="h5" fontWeight="bold" sx={{ textAlign: "right", color: "#fff" }}>
114+
<Typography
115+
variant="h5"
116+
fontWeight="bold"
117+
sx={{ textAlign: "right", color: "#fff" }}
118+
>
108119
Create New Wallet
109120
</Typography>
110121
</Stack>
@@ -116,7 +127,7 @@ export default function CreateNewWalletPage() {
116127
value={selectedSeed}
117128
onChange={async (e) => {
118129
await selectionFeedback();
119-
setSelectedSeed(e.target.value)
130+
setSelectedSeed(e.target.value);
120131
}}
121132
>
122133
<List sx={{ bgcolor: "transparent", color: "#fff", p: 0 }}>
@@ -125,18 +136,23 @@ export default function CreateNewWalletPage() {
125136
key={seed.id}
126137
disableGutters
127138
sx={{
128-
bgcolor: selectedSeed === seed.id ? "#1e88e5" : "transparent",
139+
bgcolor:
140+
selectedSeed === seed.id ? "#9932CC" : "transparent",
129141
borderRadius: 2,
130142
mb: 1,
131143
px: 1,
132144
}}
133145
>
134146
<FormControlLabel
135147
value={seed.id}
136-
control={<Radio sx={{
137-
color: "#fff",
138-
"&.Mui-checked": { color: "#fff" }
139-
}} />}
148+
control={
149+
<Radio
150+
sx={{
151+
color: "#fff",
152+
"&.Mui-checked": { color: "#fff" },
153+
}}
154+
/>
155+
}
140156
label={
141157
<ListItemText
142158
primary={
@@ -161,18 +177,23 @@ export default function CreateNewWalletPage() {
161177
key={CREATE_NEW_ID}
162178
disableGutters
163179
sx={{
164-
bgcolor: selectedSeed === CREATE_NEW_ID ? "#1e88e5" : "transparent",
180+
bgcolor:
181+
selectedSeed === CREATE_NEW_ID ? "#9932CC" : "transparent",
165182
borderRadius: 2,
166183
mb: 1,
167184
px: 1,
168185
}}
169186
>
170187
<FormControlLabel
171188
value={CREATE_NEW_ID}
172-
control={<Radio sx={{
173-
color: "#fff",
174-
"&.Mui-checked": { color: "#fff" }
175-
}} />}
189+
control={
190+
<Radio
191+
sx={{
192+
color: "#fff",
193+
"&.Mui-checked": { color: "#fff" },
194+
}}
195+
/>
196+
}
176197
label={<ListItemText primary="+ Create New Seed Phrase" />}
177198
sx={{ flex: 1, m: 0, color: "#fff" }}
178199
/>
@@ -181,9 +202,7 @@ export default function CreateNewWalletPage() {
181202
</RadioGroup>
182203
</FormControl>
183204
{errorMsg && (
184-
<Typography sx={{ color: "#ff5252", mb: 2 }}>
185-
{errorMsg}
186-
</Typography>
205+
<Typography sx={{ color: "#ff5252", mb: 2 }}>{errorMsg}</Typography>
187206
)}
188207
<Button
189208
variant="contained"
@@ -192,18 +211,18 @@ export default function CreateNewWalletPage() {
192211
sx={{
193212
mt: 2,
194213
bgcolor: "#fff",
195-
color: "#1e88e5",
214+
color: "#9932CC",
196215
fontWeight: "bold",
197216
borderRadius: 2,
198217
boxShadow: 2,
199-
"&:hover": { bgcolor: "#e3f2fd" },
218+
"&:hover": { bgcolor: "#F5F6FA" },
200219
}}
201220
onClick={async () => {
202221
await selectionFeedback();
203222
if (selectedSeed === CREATE_NEW_ID) {
204223
router.push("/onboarding/create-wallet");
205224
} else {
206-
const seed = existingSeeds.find(s => s.id === selectedSeed);
225+
const seed = existingSeeds.find((s) => s.id === selectedSeed);
207226
if (seed) {
208227
await deriveNextKeypair(seed.id);
209228
}

app/deposit/page.tsx

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -123,7 +123,7 @@ export default function DepositPage() {
123123
labelId="denom-select-label"
124124
value={selectedDenom}
125125
label="Stablecoin"
126-
onChange={e => setSelectedDenom(e.target.value)}
126+
onChange={(e) => setSelectedDenom(e.target.value)}
127127
sx={{
128128
borderRadius: 3,
129129
bgcolor: "#fff",
@@ -191,7 +191,7 @@ export default function DepositPage() {
191191
width: "100%",
192192
}}
193193
>
194-
<Typography variant="subtitle2" sx={{ color: "#1e88e5", mb: 1 }}>
194+
<Typography variant="subtitle2" sx={{ color: "#AD5AD7", mb: 1 }}>
195195
Pay with Card
196196
</Typography>
197197
<Button
@@ -202,18 +202,22 @@ export default function DepositPage() {
202202
fontWeight: "bold",
203203
px: 4,
204204
py: 1,
205-
bgcolor: "#1e88e5",
205+
bgcolor: "#9932CC",
206206
color: "#fff",
207207
boxShadow: 2,
208-
"&:hover": { bgcolor: "#1565c0" },
208+
"&:hover": { bgcolor: "#AD5AD7" },
209209
}}
210210
disabled
211211
>
212212
Card Payment (Coming Soon)
213213
</Button>
214214
</Box>
215-
<Typography variant="body1" sx={{ mb: 2, width: "100%", textAlign: "center" }}>
216-
To deposit funds, send your {selectedDenom} stablecoins to your wallet address.
215+
<Typography
216+
variant="body1"
217+
sx={{ mb: 2, width: "100%", textAlign: "center" }}
218+
>
219+
To deposit funds, send your {selectedDenom} stablecoins to your wallet
220+
address.
217221
</Typography>
218222
</Card>
219223
</Box>

app/home/components/activity_list_view.tsx

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
"use client";
22
import * as React from "react";
33
import Box from "@mui/material/Box";
4-
import ActivityComponent, { ActivityItem } from "./activity_component";
4+
import ActivityComponent, { ActivityItem } from "./activity_component";
55
import { useState } from "react";
66
import { invoke } from "@tauri-apps/api/core";
77
import { debug as tauriDebug } from "@tauri-apps/plugin-log";
@@ -13,7 +13,10 @@ interface ActivityListViewProps {
1313
pubkey: string;
1414
}
1515

16-
export default function ActivityListView({ feed, pubkey }: ActivityListViewProps) {
16+
export default function ActivityListView({
17+
feed,
18+
pubkey,
19+
}: ActivityListViewProps) {
1720
const [showOnboardingCard, setShowOnboardingCard] = useState(false);
1821

1922
async function checkOnboarding() {
@@ -32,7 +35,10 @@ export default function ActivityListView({ feed, pubkey }: ActivityListViewProps
3235
return (
3336
<Box sx={{ width: "100%", maxWidth: 480 }}>
3437
{showOnboardingCard && (
35-
<OnboardingCard open={showOnboardingCard} onClose={() => setShowOnboardingCard(false)} />
38+
<OnboardingCard
39+
open={showOnboardingCard}
40+
onClose={() => setShowOnboardingCard(false)}
41+
/>
3642
)}
3743
{feed.map((item) => (
3844
<ActivityComponent key={item.id} item={item} />

0 commit comments

Comments
 (0)