From c50b3c3c69939502e60235ef0d469116b49e914f Mon Sep 17 00:00:00 2001 From: Tommy Chow Date: Mon, 17 Aug 2026 19:07:42 -0700 Subject: [PATCH] fix: correct typos and grammar in comments and login copy Co-authored-by: Cursor --- android/fastlane/Fastfile | 2 +- lib/apis/ffz_api.dart | 2 +- lib/models/irc.dart | 8 ++++---- lib/screens/channel/chat/stores/chat_assets_store.dart | 2 +- lib/screens/channel/chat/stores/chat_store.dart | 4 ++-- lib/screens/home/search/search.dart | 2 +- lib/screens/home/search/search_store.dart | 2 +- lib/screens/home/top/categories/category_card.dart | 2 +- lib/screens/onboarding/login_webview.dart | 2 +- lib/screens/onboarding/onboarding_login.dart | 2 +- lib/screens/settings/account/widgets/profile_card.dart | 2 +- lib/screens/settings/stores/auth_store.dart | 2 +- 12 files changed, 16 insertions(+), 16 deletions(-) diff --git a/android/fastlane/Fastfile b/android/fastlane/Fastfile index d2392565..19e69c65 100644 --- a/android/fastlane/Fastfile +++ b/android/fastlane/Fastfile @@ -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( diff --git a/lib/apis/ffz_api.dart b/lib/apis/ffz_api.dart index d1918dee..32e70d19 100644 --- a/lib/apis/ffz_api.dart +++ b/lib/apis/ffz_api.dart @@ -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>> getBadges() async { final data = await get('/badges/ids'); diff --git a/lib/models/irc.dart b/lib/models/irc.dart index 54c9fb23..ba00cb52 100644 --- a/lib/models/irc.dart +++ b/lib/models/irc.dart @@ -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( diff --git a/lib/screens/channel/chat/stores/chat_assets_store.dart b/lib/screens/channel/chat/stores/chat_assets_store.dart index 2efd626c..6a2187ca 100644 --- a/lib/screens/channel/chat/stores/chat_assets_store.dart +++ b/lib/screens/channel/chat/stores/chat_assets_store.dart @@ -130,7 +130,7 @@ abstract class ChatAssetsStoreBase with Store { @action Future 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 = diff --git a/lib/screens/channel/chat/stores/chat_store.dart b/lib/screens/channel/chat/stores/chat_store.dart index 356d09db..e7baa1c1 100644 --- a/lib/screens/channel/chat/stores/chat_store.dart +++ b/lib/screens/channel/chat/stores/chat_store.dart @@ -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 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); diff --git a/lib/screens/home/search/search.dart b/lib/screens/home/search/search.dart index 6c58a1a4..c5cdb719 100644 --- a/lib/screens/home/search/search.dart +++ b/lib/screens/home/search/search.dart @@ -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; diff --git a/lib/screens/home/search/search_store.dart b/lib/screens/home/search/search_store.dart index 9c7a7f28..e2d0509e 100644 --- a/lib/screens/home/search/search_store.dart +++ b/lib/screens/home/search/search_store.dart @@ -46,7 +46,7 @@ abstract class SearchStoreBase with Store { @action Future 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. diff --git a/lib/screens/home/top/categories/category_card.dart b/lib/screens/home/top/categories/category_card.dart index 5845ae47..88daa502 100644 --- a/lib/screens/home/top/categories/category_card.dart +++ b/lib/screens/home/top/categories/category_card.dart @@ -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; diff --git a/lib/screens/onboarding/login_webview.dart b/lib/screens/onboarding/login_webview.dart index b9096e8c..b631544d 100644 --- a/lib/screens/onboarding/login_webview.dart +++ b/lib/screens/onboarding/login_webview.dart @@ -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, diff --git a/lib/screens/onboarding/onboarding_login.dart b/lib/screens/onboarding/onboarding_login.dart index 3cacfffc..f51de4ac 100644 --- a/lib/screens/onboarding/onboarding_login.dart +++ b/lib/screens/onboarding/onboarding_login.dart @@ -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', diff --git a/lib/screens/settings/account/widgets/profile_card.dart b/lib/screens/settings/account/widgets/profile_card.dart index a91593f4..36d024b2 100644 --- a/lib/screens/settings/account/widgets/profile_card.dart +++ b/lib/screens/settings/account/widgets/profile_card.dart @@ -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, diff --git a/lib/screens/settings/stores/auth_store.dart b/lib/screens/settings/stores/auth_store.dart index b0c36094..d0be4504 100644 --- a/lib/screens/settings/stores/auth_store.dart +++ b/lib/screens/settings/stores/auth_store.dart @@ -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') {