fix: correct typos and grammar in comments and login copy

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Tommy Chow 2026-08-17 19:07:42 -07:00
parent a6d7ae6916
commit c50b3c3c69
12 changed files with 16 additions and 16 deletions

View file

@ -18,7 +18,7 @@ default_platform(:android)
platform :android do
desc "Deploy a new version to the Google Play"
lane :deploy do |options|
# Upload to the play store ussing the provided credentials and AAB from flutter build.
# Upload to the Play Store using the provided credentials and AAB from flutter build.
# With dry_run:true (release dry-run workflow), validate_only authenticates and
# validates the AAB against Google Play without committing the release.
upload_to_play_store(

View file

@ -42,7 +42,7 @@ class FFZApi extends BaseApiClient {
);
}
/// Returns a map of badges user IDs to a list of their FFZ badges.
/// Returns a map of user IDs to a list of their FFZ badges.
Future<Map<String, List<ChatBadge>>> getBadges() async {
final data = await get<JsonMap>('/badges/ids');

View file

@ -1025,7 +1025,7 @@ class IRCMessage {
}
// If the username exists, set it.
// tmi.twitch.tv means the message was sent by Twitch rather than a user, so will be irrelevant.
// tmi.twitch.tv means the message was sent by Twitch rather than a user, so it is irrelevant.
final prefix = splitMessage[0];
final String? user;
if (prefix == _twitchIrcServer) {
@ -1069,9 +1069,9 @@ class IRCMessage {
indexBetweenIdAndPositions,
);
// Parse the range in order to extract the associated word.
// If there are more than one indices, use the first one.
// Else, use the one provided indices.
// Parse the range to extract the associated word.
// If there is more than one index, use the first.
// Otherwise, use the provided index.
final String range;
if (emoteIdAndPosition.contains(',')) {
range = emoteIdAndPosition.substring(

View file

@ -130,7 +130,7 @@ abstract class ChatAssetsStoreBase with Store {
@action
Future<void> init() async {
// Retrieve the instance that will allow us to retrieve local search history.
// Load SharedPreferences for recent emotes.
final prefs = await SharedPreferences.getInstance();
_recentEmotes =

View file

@ -30,7 +30,7 @@ abstract class ChatStoreBase with Store {
/// The total maximum amount of messages in chat.
static const _messageLimit = 5000;
/// The maximum ammount of messages to render when autoscroll is enabled.
/// The maximum amount of messages to render when autoscroll is enabled.
static const _renderMessageLimit = 100;
/// IRC commands that should bypass chat delay.
@ -271,7 +271,7 @@ abstract class ChatStoreBase with Store {
@computed
List<IRCMessage> get renderMessages {
// If autoscroll is disabled, render ALL messages in chat.
// The second condition is to prevent an out of index error with sublist.
// The second condition is to prevent an out-of-range index error with sublist.
final base = (!_autoScroll || _messages.length < _renderMessageLimit)
? _messages
: _messages.sublist(_messages.length - _renderMessageLimit);

View file

@ -13,7 +13,7 @@ import 'package:frosty/widgets/frosty_scrollbar.dart';
import 'package:frosty/widgets/section_header.dart';
import 'package:provider/provider.dart';
/// The search section that contians search history and search results for channels and categories.
/// The search section that contains search history and search results for channels and categories.
class Search extends StatefulWidget {
// The scroll controller for handling scroll to top functionality.
final ScrollController scrollController;

View file

@ -46,7 +46,7 @@ abstract class SearchStoreBase with Store {
@action
Future<void> init() async {
// Retrieve the instance that will allow us to retrieve local search history.
// Load SharedPreferences for local search history.
final prefs = await SharedPreferences.getInstance();
// Retrieve the search history from local storage. If it doesn't exist, use an empty list.

View file

@ -18,7 +18,7 @@ class CategoryCard extends StatelessWidget {
@override
Widget build(BuildContext context) {
// Calculate the dimmensions of the box art based on the current dimmensions of the screen.
// Calculate the dimensions of the box art based on the current dimensions of the screen.
final size = MediaQuery.of(context).size;
final pixelRatio = MediaQuery.of(context).devicePixelRatio;
final artWidth = (size.width * pixelRatio) ~/ 5;

View file

@ -55,7 +55,7 @@ class LoginWebView extends StatelessWidget {
return FrostyDialog(
title: 'Workaround for the Twitch cookie banner',
message:
'If the Twitch cookie banner is still blocking the login, try clicking one of the links in the cookie policy description and navigating until you reach the Twitch home page. From there, you can try logging in on the top right profile icon. Once logged in, go back to the first step of the onboarding and then try again.',
'If the Twitch cookie banner is still blocking the login, try clicking one of the links in the cookie policy description and navigating until you reach the Twitch home page. From there, try logging in from the top-right profile icon. Once logged in, go back to the first onboarding step and try again.',
actions: [
TextButton(
onPressed: Navigator.of(context).pop,

View file

@ -12,7 +12,7 @@ class OnboardingLogin extends StatelessWidget {
return OnboardingScaffold(
header: 'Log in',
subtitle:
'Frosty needs your permission in order to enable the ability to chat, view followed streams, and more.',
'Frosty needs permission to chat, view followed streams, and more.',
disclaimer:
'Frosty only asks for the necessary permissions through the official Twitch API. You\'ll be able to review them before authorizing.',
buttonText: 'Connect with Twitch',

View file

@ -120,7 +120,7 @@ class ProfileCard extends StatelessWidget {
leading: const Icon(Icons.no_accounts_rounded),
title: const Text('Anonymous'),
subtitle: const Text(
'Log in to enable the ability to chat, view followed streams, and more.',
'Log in to chat, view followed streams, and more.',
),
trailing: const SizedBox(
height: double.infinity,

View file

@ -112,7 +112,7 @@ abstract class AuthBase with Store {
}
}
// Check if the the URL has been redirected to "https://www.twitch.tv/?no-reload=true".
// Check if the URL has been redirected to "https://www.twitch.tv/?no-reload=true".
// When redirected to the redirect_uri, there will be another redirect to "https://www.twitch.tv/?no-reload=true".
// Checking for this will ensure that the user has automatically logged in to Twitch on the WebView itself.
if (request.url == 'https://www.twitch.tv/?no-reload=true') {