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

re-add redirects

+8 -10
+6 -8
apps/amethyst/app/(tabs)/(stamp)/stamp/submit.tsx
··· 6 6 Record as PlayRecord, 7 7 validateRecord, 8 8 } from "@teal/lexicons/src/types/fm/teal/alpha/feed/play"; 9 - import { Stack, useRouter } from "expo-router"; 9 + import { Redirect, Stack, useRouter } from "expo-router"; 10 10 import { useContext, useState } from "react"; 11 11 import { Switch, View } from "react-native"; 12 12 import { MusicBrainzRecording, PlaySubmittedData } from "@/lib/oldStamp"; ··· 142 142 if (state.step !== StampStep.SUBMITTING) { 143 143 console.log("Stamp step is not SUBMITTING"); 144 144 console.log(state); 145 - return <Text>No track selected?</Text>; 146 - //return <Redirect href="/stamp" />; 145 + return <Redirect href="/stamp" />; 147 146 } 148 147 149 148 const selectedTrack = state.submittingStamp; ··· 191 190 powered by @teal.fm`, 192 191 }); 193 192 await rt.detectFacets(agent); 194 - // get metadata from Apple if available 195 - // https://labs.api.listenbrainz.org/apple-music-id-from-mbid/json?recording_mbid=81c3eb6e-d8f4-423c-9007-694aefe62754 196 - // https://music.apple.com/us/album/i-always-wanna-die-sometimes/1435546528?i=1435546783 197 193 let embedInfo = await getEmbedInfo(selectedTrack.id); 198 194 let urlEmbed: string | undefined = embedInfo?.urlEmbed; 199 195 let customUrl: string | undefined = embedInfo?.customUrl; 200 196 201 197 let releaseYear = selectedTrack.selectedRelease?.date?.split("-")[0]; 202 198 let title = `${record.trackName} by ${record.artistNames.join(", ")}`; 203 - let description = `Song${releaseYear && " · "}${releaseYear}${ 199 + let description = `Song${releaseYear ? " · " + releaseYear : ""}${ 204 200 selectedTrack.length && " · " + ms2hms(selectedTrack.length) 205 201 }`; 206 202 ··· 217 213 ) 218 214 : undefined, 219 215 }); 220 - submittedData.blueskyPostUrl = post.uri; 216 + submittedData.blueskyPostUrl = post.uri 217 + .replace("at://", "https://bsky.app/profile/") 218 + .replace("app.bsky.feed.post", "post"); 221 219 } 222 220 setState({ 223 221 step: StampStep.SUBMITTED,
+2 -2
apps/amethyst/app/(tabs)/(stamp)/stamp/success.tsx
··· 1 1 import { ExternalLink } from "@/components/ExternalLink"; 2 - import { Stack, useRouter } from "expo-router"; 2 + import { Redirect, Stack, useRouter } from "expo-router"; 3 3 import { Check, ExternalLinkIcon } from "lucide-react-native"; 4 4 import { View } from "react-native"; 5 5 import { Text } from "@/components/ui/text"; ··· 20 20 if (state.step !== StampStep.SUBMITTED) { 21 21 console.log("Stamp state is not submitted!"); 22 22 console.log(state.step); 23 - return <Text>No track selected?</Text>; 23 + return <Redirect href="/stamp" />; 24 24 } 25 25 return ( 26 26 <View className="flex-1 p-4 bg-background items-center h-screen-safe">