- Now Playing shows where music plays and opens the phone's output switcher - Settings hub: Wi-Fi-only downloads (default on), storage, sound, help, legal - Privacy Policy and Terms bundled as Markdown (assets/legal), shown in-app - 'Is this your song?' report form feeding takedown_requests (+ kind, user_id) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
94 lines
3.9 KiB
Dart
94 lines
3.9 KiB
Dart
import 'package:flutter/material.dart';
|
|
import 'package:go_router/go_router.dart';
|
|
|
|
import '../../app/theme.dart';
|
|
import 'settings_screen.dart';
|
|
|
|
const _faq = [
|
|
(
|
|
'Is Nanga Kathai free?',
|
|
'Yes. The songs in the app today are free to stream with a free account. Guests can hear a 30-second '
|
|
'preview of each song. In future, new songs from verified creators may be part of a paid plan that '
|
|
'shares revenue with the artists.',
|
|
),
|
|
(
|
|
'How do I listen without internet?',
|
|
'Tap ⋮ on a song and choose Download, or use the download button on an album page. Your songs appear in '
|
|
'the Downloads tab and play anywhere, even without signal. By default songs download only on Wi-Fi; you '
|
|
'can change that in Settings.',
|
|
),
|
|
(
|
|
'Can I copy downloaded songs to another phone or app?',
|
|
'No. Downloads are encrypted and play only inside Nanga Kathai on your phone. This protects the singers '
|
|
'whose work we share.',
|
|
),
|
|
(
|
|
'Music is playing on the phone speaker instead of my Bluetooth speaker.',
|
|
'Open the player and tap the speaker name under the play controls. Your phone will show every speaker and '
|
|
'headset you can use; pick the one you want. If your device is not listed, make sure it is switched on '
|
|
'and paired in your phone\'s Bluetooth settings.',
|
|
),
|
|
(
|
|
'How do I make songs sound better?',
|
|
'In the player, tap Sound. Choose a preset such as Vocal or Bass boost, or move the sliders yourself. '
|
|
'Volume boost helps with quiet old cassette recordings. (On iPhone, use Settings > Apps > Music > EQ.)',
|
|
),
|
|
(
|
|
'I forgot my password.',
|
|
'On the sign-in screen tap "Forgot password?". We will email you a code to set a new one. You can also '
|
|
'choose "Email me a code instead" to sign in without a password.',
|
|
),
|
|
(
|
|
'One of these songs is mine, or my family\'s.',
|
|
'Thank you for letting us know. Tap ⋮ on the song and choose "Is this your song?". You can ask us to '
|
|
'credit you, correct the details, or remove the song. We review every request.',
|
|
),
|
|
(
|
|
'I am a singer or music director. Can I publish my songs here?',
|
|
'Yes, that is why we built Nanga Kathai. A creator application in the app is coming soon. Until then, '
|
|
'write to support@nkbmusic.com and we will get in touch.',
|
|
),
|
|
(
|
|
'How do I delete my account?',
|
|
'Open your profile (the person icon on Home or in Library) and tap Delete account. Your profile, likes and '
|
|
'playlists are removed for good.',
|
|
),
|
|
];
|
|
|
|
class HelpScreen extends StatelessWidget {
|
|
const HelpScreen({super.key});
|
|
|
|
@override
|
|
Widget build(BuildContext context) {
|
|
return Scaffold(
|
|
appBar: AppBar(title: const Text('Help & FAQ')),
|
|
body: ListView(
|
|
padding: const EdgeInsets.fromLTRB(12, 0, 12, 32),
|
|
children: [
|
|
for (final (q, a) in _faq)
|
|
Theme(
|
|
data: Theme.of(context).copyWith(dividerColor: Colors.transparent),
|
|
child: ExpansionTile(
|
|
title: Text(q, style: const TextStyle(fontWeight: FontWeight.w700)),
|
|
childrenPadding: const EdgeInsets.fromLTRB(16, 0, 16, 16),
|
|
expandedAlignment: Alignment.centerLeft,
|
|
children: [Text(a, style: const TextStyle(color: NkColors.mutedOnPhoto, height: 1.5))],
|
|
),
|
|
),
|
|
const SizedBox(height: 16),
|
|
Card(
|
|
color: NkColors.surface,
|
|
child: ListTile(
|
|
leading: const Icon(Icons.mail_outline, color: NkColors.sun),
|
|
title: const Text('Still need help?'),
|
|
subtitle: const Text('Write to us at support@nkbmusic.com'),
|
|
onTap: () => contactSupport(),
|
|
),
|
|
),
|
|
TextButton(onPressed: () => context.push('/report'), child: const Text('Report a problem with a song')),
|
|
],
|
|
),
|
|
);
|
|
}
|
|
}
|