Your music, beautifully tracked. All yours. (coming soon) teal.fm
teal-fm atproto

Merge branch 'main' into move-to-pg

authored by

natalie and committed by
GitHub
21e0c86f ad735f8d

+15 -1
+2
.github/FUNDING.yml
··· 1 + open_collective: teal 2 + github: [espeon, mmattbtw, kjloveless]
+5 -1
apps/amethyst/app/(tabs)/(stamp)/stamp/index.tsx
··· 1 1 import { Button } from "@/components/ui/button"; 2 2 import { Icon } from "@/lib/icons/iconWithClassName"; 3 - import { Stack, useRouter } from "expo-router"; 3 + import { Link, Stack, useRouter } from "expo-router"; 4 4 import { Check, ChevronDown, ChevronRight } from "lucide-react-native"; 5 5 6 6 import React, { useContext, useEffect, useRef, useState } from "react"; ··· 25 25 import SheetBackdrop, { SheetHandle } from "@/components/ui/sheetBackdrop"; 26 26 import { StampContext, StampContextValue, StampStep } from "./_layout"; 27 27 import { ExternalLink } from "@/components/ExternalLink"; 28 + 28 29 import { Input } from "@/components/ui/input"; 29 30 30 31 export default function StepOne() { ··· 88 89 /> 89 90 {/* Search Form */} 90 91 <View className="flex gap-2 max-w-2xl w-screen px-4"> 92 + 91 93 <Text className="font-bold text-lg">Search for a track</Text> 92 94 <Input 93 95 placeholder="Track name..." ··· 114 116 }} 115 117 /> 116 118 <Input 119 + 117 120 placeholder="Album name..." 118 121 value={searchFields.release} 119 122 onChangeText={(text) => ··· 126 129 }} 127 130 /> 128 131 <View className="flex-row gap-2 mt-2"> 132 + 129 133 <Button 130 134 className="flex-1" 131 135 onPress={handleSearch}
+4
apps/amethyst/app/(tabs)/_layout.tsx
··· 1 + 1 2 import React from 'react'; 3 + 2 4 import { 3 5 FilePen, 4 6 Home, ··· 53 55 height: 50, 54 56 }, 55 57 tabBarShowLabel: isMobile, 58 + 56 59 tabBarStyle: { 57 60 //height: 75, 58 61 display: hideTabBar ? 'none' : 'flex', ··· 99 102 name="settings/index" 100 103 options={{ 101 104 title: 'Settings', 105 + 102 106 tabBarIcon: ({ color }) => ( 103 107 <TabBarIcon name={Settings} color={color} /> 104 108 ),
+2
apps/amethyst/app/(tabs)/index.tsx
··· 1 + 1 2 import * as React from 'react'; 2 3 import { ActivityIndicator, ScrollView, View } from 'react-native'; 3 4 ··· 83 84 }} 84 85 /> 85 86 <ActorView actorDid={agent.did!} pdsAgent={agent} /> 87 + 86 88 </ScrollView> 87 89 ); 88 90 }
+2
apps/amethyst/components/play/actorPlaysView.tsx
··· 1 + 1 2 import { useStore } from '@/stores/mainStore'; 2 3 import { OutputSchema as ActorFeedResponse } from '@teal/lexicons/src/types/fm/teal/alpha/feed/getActorFeed'; 3 4 import { useEffect, useState } from 'react'; ··· 46 47 trackTitle={p.trackName} 47 48 artistName={p.artistNames.join(', ')} 48 49 releaseMbid={p.releaseMbId} 50 + 49 51 /> 50 52 ))} 51 53 </ScrollView>