Commit graph

19 commits

Author SHA1 Message Date
tommyxchow
522dc377a0 Update emotes API to use new common emote class 2021-12-12 16:04:17 -05:00
tommyxchow
0457d3e85e Add proper tooltips for badges 2021-12-11 17:09:15 -05:00
tommyxchow
a95c3eb7ae Add tooltips to emotes & badges, update API 2021-12-11 15:51:30 -05:00
tommyxchow
4b30cc90c8 Add hide banned messages option, tweaks
Tweaked app bar font size and made settings screen in chat fullscreen.
2021-12-08 02:14:15 -05:00
tommyxchow
7dc5b114fb First iteration of persistent settings (#45) 2021-11-23 03:26:57 -05:00
tommyxchow
9875b6ed59 Implement handling of NOTICE command (#44) 2021-11-23 00:47:21 -05:00
tommyxchow
70ca29bd98 Remove google_fonts dependency & add Inter fonts
The Google fonts package was causing inconsistent weight of fonts and
would have to be re-declared every time the style needed to be used.
Now the Inter font files are bundled in and don't require an http
request to fetch them.
2021-11-14 02:10:32 -05:00
tommyxchow
881eebbb17 Tweak fonts for consistent rendering 2021-11-12 06:01:06 -05:00
tommyxchow
d4c3714561 Fix Unicode rendering in certain chat messages
On iOS, certain chat messages would have a trailing invalid/unknown
"emoji" (question mark inside a square).  This is caused by certain
Twitch IRC clients appending the INVALID Unicode character (U+E5000) to
circumvent restrictions on sending identical messages in quick
succession.

To resolve this, I added a check on the last word of the message. If
the character exists, the word will be remove. Since the word will only
contain a space and the character, it can be safely removed.

This commit also contains an additional "optimization" through
StringBuffers. By using the buffer there will be less TextSpan widgets
which theoretically should improve performance.
2021-11-02 03:44:05 -04:00
tommyxchow
5276f4bd76 Fix assetToUrl type in generateSpan 2021-10-26 01:58:47 -04:00
tommyxchow
05df4e8d2f Minor comment additions and fixes
Removed the redundant request for Twitch global and channel emotes in getAssets().

Since these emotes will be processed anyways when generating the span, there's no point in wasting bandwidth to fetch and store them.
2021-10-26 01:48:46 -04:00
tommyxchow
1afc979139 Add command enum, refactor chat store
- Added enum for IRC tag command for slightly better comparisons
- Moved span portion of renderMessage to its own function in irc_api.dart
- Moved message remove and end scroll to seperate function action
- Fixed emote tags applying to all users
2021-10-24 03:53:08 -04:00
tommyxchow
eb3f0bc082 Implement rendering of USERNOTICE messages 2021-10-23 02:28:20 -04:00
tommyxchow
bb74b7bd6e Refactor IRC API
- Moved parse method to factory constructor in IRCMessage for better readability
- Renamed irc_message.dart to irc.dart to include other irc-related models
- Added ROOMSTATE model
- Moved addMessage functionality to chat store
2021-10-22 02:34:23 -04:00
tommyxchow
58041d4126 Refactor IRC functions & tweak padding 2021-10-20 05:12:15 -04:00
tommyxchow
a897f1218e Add opacity to CLEARCHAT and CLEARMSG, fixes
- Increase chat message limit to 200
- Fix auto scroll post frame callback
2021-10-18 02:43:47 -04:00
tommyxchow
639a06dbe0 Remove USERSTATEs from IRC API
The GLOBALUSERSTATE and USERSTATE are not related to any message list modifications. Instead, they can be handled with one line in the switch statement in chat store.

The USERSTATE method was renamed to addMessage for better readability.
2021-10-17 17:49:11 -04:00
tommyxchow
9eca5189db Renames, implement CLEARCHAT and CLEARMSG 2021-10-17 02:14:15 -04:00
tommyxchow
7673a2c8a0 Add IRC API 2021-10-16 18:25:32 -04:00