tangled
alpha
login
or
join now
teal.fm
/
teal
109
fork
atom
Your music, beautifully tracked. All yours. (coming soon)
teal.fm
teal-fm
atproto
109
fork
atom
overview
issues
pulls
pipelines
use ui/input when possible
Natalie B.
1 year ago
21517c92
e277c97c
+7
-11
2 changed files
expand all
collapse all
unified
split
apps
amethyst
app
(tabs)
(stamp)
stamp
index.tsx
submit.tsx
+7
-10
apps/amethyst/app/(tabs)/(stamp)/stamp/index.tsx
···
1
import { Button } from "@/components/ui/button";
2
import { Icon } from "@/lib/icons/iconWithClassName";
3
-
import { Link, Stack, useRouter } from "expo-router";
4
import { Check, ChevronDown, ChevronRight } from "lucide-react-native";
5
6
import React, { useContext, useEffect, useRef, useState } from "react";
···
8
FlatList,
9
Image,
10
ScrollView,
11
-
TextInput,
12
TouchableOpacity,
13
View,
14
} from "react-native";
···
26
import SheetBackdrop, { SheetHandle } from "@/components/ui/sheetBackdrop";
27
import { StampContext, StampContextValue, StampStep } from "./_layout";
28
import { ExternalLink } from "@/components/ExternalLink";
0
29
30
export default function StepOne() {
31
const router = useRouter();
···
87
}}
88
/>
89
{/* Search Form */}
90
-
<View className="flex gap-4 max-w-2xl w-screen px-4">
91
<Text className="font-bold text-lg">Search for a track</Text>
92
-
<TextInput
93
-
className="p-2 border rounded-lg border-gray-300 bg-white"
94
placeholder="Track name..."
95
value={searchFields.track}
96
onChangeText={(text) =>
···
102
}
103
}}
104
/>
105
-
<TextInput
106
-
className="p-2 border rounded-lg border-gray-300 bg-white"
107
placeholder="Artist name..."
108
value={searchFields.artist}
109
onChangeText={(text) =>
···
115
}
116
}}
117
/>
118
-
<TextInput
119
-
className="p-2 border rounded-lg border-gray-300 bg-white"
120
placeholder="Album name..."
121
value={searchFields.release}
122
onChangeText={(text) =>
···
128
}
129
}}
130
/>
131
-
<View className="flex-row gap-2">
132
<Button
133
className="flex-1"
134
onPress={handleSearch}
···
1
import { Button } from "@/components/ui/button";
2
import { Icon } from "@/lib/icons/iconWithClassName";
3
+
import { Stack, useRouter } from "expo-router";
4
import { Check, ChevronDown, ChevronRight } from "lucide-react-native";
5
6
import React, { useContext, useEffect, useRef, useState } from "react";
···
8
FlatList,
9
Image,
10
ScrollView,
0
11
TouchableOpacity,
12
View,
13
} from "react-native";
···
25
import SheetBackdrop, { SheetHandle } from "@/components/ui/sheetBackdrop";
26
import { StampContext, StampContextValue, StampStep } from "./_layout";
27
import { ExternalLink } from "@/components/ExternalLink";
28
+
import { Input } from "@/components/ui/input";
29
30
export default function StepOne() {
31
const router = useRouter();
···
87
}}
88
/>
89
{/* Search Form */}
90
+
<View className="flex gap-2 max-w-2xl w-screen px-4">
91
<Text className="font-bold text-lg">Search for a track</Text>
92
+
<Input
0
93
placeholder="Track name..."
94
value={searchFields.track}
95
onChangeText={(text) =>
···
101
}
102
}}
103
/>
104
+
<Input
0
105
placeholder="Artist name..."
106
value={searchFields.artist}
107
onChangeText={(text) =>
···
113
}
114
}}
115
/>
116
+
<Input
0
117
placeholder="Album name..."
118
value={searchFields.release}
119
onChangeText={(text) =>
···
125
}
126
}}
127
/>
128
+
<View className="flex-row gap-2 mt-2">
129
<Button
130
className="flex-1"
131
onPress={handleSearch}
-1
apps/amethyst/app/(tabs)/(stamp)/stamp/submit.tsx
···
19
import { ExternalLink } from "@/components/ExternalLink";
20
import { StampContext, StampContextValue, StampStep } from "./_layout";
21
import { Image } from "react-native";
22
-
import PlayView from "@/components/play/playView";
23
24
type CardyBResponse = {
25
error: string;
···
19
import { ExternalLink } from "@/components/ExternalLink";
20
import { StampContext, StampContextValue, StampStep } from "./_layout";
21
import { Image } from "react-native";
0
22
23
type CardyBResponse = {
24
error: string;