From 804493aee0e7ca55c4c9a60e494bc26f189b4688 Mon Sep 17 00:00:00 2001 From: chris Date: Thu, 15 Oct 2026 12:02:40 -0400 Subject: [PATCH] Create-account links for Last.fm and ListenBrainz, and Link Spotify for ListenBrainz ListenBrainz accounts are MusicBrainz accounts, so its sign-up link goes to MusicBrainz. Co-Authored-By: Claude Opus 5.5 --- .../components/setup/ServiceSignInSetup.tsx | 5 ++--- .../src/components/setup/SpotifySetup.tsx | 19 +++++++++++++------ apps/mobile/src/lib/connect.ts | 5 ++++- apps/web/src/app/settings/page.tsx | 18 +++++++++++++----- packages/shared/src/services.ts | 9 +++++++++ 5 files changed, 41 insertions(+), 15 deletions(-) diff --git a/apps/mobile/src/components/setup/ServiceSignInSetup.tsx b/apps/mobile/src/components/setup/ServiceSignInSetup.tsx index 9b9ba50..e113bed 100644 --- a/apps/mobile/src/components/setup/ServiceSignInSetup.tsx +++ b/apps/mobile/src/components/setup/ServiceSignInSetup.tsx @@ -1,8 +1,7 @@ import { useState } from 'react'; -import { Linking } from 'react-native'; import { mutate } from 'swr'; import { SERVICE_LABELS } from '@musicshare/shared'; -import { SignInError, signInWithService } from '@/lib/connect'; +import { SignInError, openSignupPage, signInWithService } from '@/lib/connect'; import { Button } from '../ui'; import { ErrorText, SetupActions, SetupHeader, type SetupProps } from './common'; @@ -57,7 +56,7 @@ export function ServiceSignInSetup({ /> {error} - diff --git a/packages/shared/src/services.ts b/packages/shared/src/services.ts index c2ad693..225b231 100644 --- a/packages/shared/src/services.ts +++ b/packages/shared/src/services.ts @@ -103,6 +103,15 @@ export const SPOTIFY_LINK_PAGES = { listenbrainz: 'https://listenbrainz.org/settings/music-services/details/', } as const; +/** + * Where to make a free account (neither lets other apps create one). ListenBrainz accounts are + * MusicBrainz accounts: register there, then sign in to ListenBrainz once to start it. + */ +export const SIGNUP_PAGES = { + lastfm: 'https://www.last.fm/join', + listenbrainz: 'https://musicbrainz.org/register', +} as const; + const QUIET_AFTER_MS = 7 * 86_400_000; /**