Commit graph

175 commits

Author SHA1 Message Date
tommyxchow
11db07a7d2 Move video overlay to new widget, add title param 2021-11-15 00:03:18 -05:00
tommyxchow
df864bc511 Add directives_ordering lint rule 2021-11-14 23:18:43 -05:00
Tommy Chow
61d76b075d Fix bottom navigation bar clipping
[skip ci]
2021-11-14 21:12:57 -05:00
tommyxchow
674ab928a9 Add PiP and fullscreen JS for testing 2021-11-14 20:53:00 -05:00
tommyxchow
335f908d02 Tweak padding 2021-11-14 20:52:29 -05:00
tommyxchow
9d6b974a75 Add overlay dismiss 2021-11-14 18:54:21 -05:00
tommyxchow
be68d8fb66 Tweak padding 2021-11-14 18:52:44 -05:00
tommyxchow
406746a94a Fix unset default token 2021-11-14 18:26:02 -05:00
tommyxchow
9beb5ca2b5 Add uptime to stream card 2021-11-14 04:25:58 -05:00
tommyxchow
f4d30a710e Minor refactor 2021-11-14 04:25:33 -05:00
tommyxchow
0bbf7f80d4 Add search results & search store 2021-11-14 04:21:39 -05:00
tommyxchow
6b40f9e76f Add channel search request and object 2021-11-14 04:17:19 -05:00
tommyxchow
27e5fd2c79 Add channel name to video overlay 2021-11-14 02:24:41 -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
a9c72e3fcb Fix video overlay fade-out transition
[skip ci]
2021-11-13 03:54:26 -05:00
tommyxchow
b78625eba6 Better fix for 2728080 2021-11-13 03:44:32 -05:00
tommyxchow
2728080400 Fix video overlay buttons firing when not visible 2021-11-13 03:27:28 -05:00
tommyxchow
3275fd9123 Add light theme, tweak themes, remove splash iOS 2021-11-13 03:26:52 -05:00
tommyxchow
985cd6e05b Fixed video overlay icons on light theme 2021-11-13 03:16:48 -05:00
tommyxchow
eb62bafebf Refactor stream card 2021-11-13 03:15:13 -05:00
tommyxchow
a5878175b9 Remove categories placeholder 2021-11-13 03:14:34 -05:00
tommyxchow
5d33ec9328 Enable animation on thumbnail change
Fixes #4 as well
[skip ci]
2021-11-12 22:59:31 -05:00
tommyxchow
84e409cf67 Delete chat_message.dart 2021-11-12 22:45:07 -05:00
tommyxchow
a8810e78c2 Fix image refresh every 5 minutes
Fixes #4
2021-11-12 21:40:55 -05:00
tommyxchow
aff92651a0 Fix home re-render when logging in and out, tweaks
[skip ci]
2021-11-12 16:50:02 -05:00
tommyxchow
881eebbb17 Tweak fonts for consistent rendering 2021-11-12 06:01:06 -05:00
tommyxchow
724ae6d131 Add ability to dismiss video overlay on tap 2021-11-12 03:45:27 -05:00
tommyxchow
258e0be8eb Change default font to Inter 2021-11-12 03:44:55 -05:00
tommyxchow
4f3e25148f Add unfocus for chat & tweak text fields 2021-11-12 01:00:55 -05:00
tommyxchow
49b3385c12 Refactor & rename relevant channels to streams 2021-11-12 00:04:39 -05:00
tommyxchow
bbd810b0c5 Revise video/chat screen
- Added video overlay with controls for a cleaner look
- Added app bar when video is disabled
- Removed bottom back button in favor of a back button on the overlay
2021-11-11 23:00:32 -05:00
tommyxchow
e31c065864 Update search request 2021-11-11 22:53:03 -05:00
tommyxchow
b370683739 Add Channel object for search & API request 2021-11-11 22:51:31 -05:00
tommyxchow
3cf4961493 Rename Channel object to Stream
Channels represent any channel, offline or not. Streams represent live
channels, or streams, and is what is being requested for in the API.
2021-11-11 22:48:23 -05:00
tommyxchow
9499511c48 Add video store 2021-11-11 21:32:05 -05:00
tommyxchow
e3f774d8e5 Redesign & refactor home screen
- Removed hamburger/drawer menu
- Moved search to bottom navigation bar
- Moved settings and profile to app bar
- Moved channel list from screen to widget folder
- Created search screen for viewing results
- Switched from Cupertino to Material routes due to rebuild issues
2021-11-10 21:29:15 -05:00
tommyxchow
2df2326f73 Revert 05df4e8, comment additions & fixes
The previously removed requests in 05df4e8 were actually required for
rendering emotes whenever the user themself sends a message.
2021-11-02 03:51:34 -04: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
fc315ece27 Add documentation to chat store
Resolves #8, resolves #9, resolves #10, resolves #11, resolves #12, resolves #13.
2021-10-26 01:06:57 -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
4af72b8da0 Add settings and stats button to chat
- Added ability to toggle video directly in chat
- Added hint to text field when searching
- Tweaked chat text field padding
2021-10-23 00:31:27 -04:00
tommyxchow
012accd918 Add chat stats widget
This widget will be responsible for information relating to the current chat room, such as the room state and members.
2021-10-23 00:26:50 -04:00
tommyxchow
26e7a746db Fix handling of ROOMSTATE changes 2021-10-23 00:25:22 -04:00
tommyxchow
dc47812a6b Implement ROOMSTATE
- Added ROOMSTATE observable
- Fixed ROOMSTATE not registering in handleWebsocketData due to returnining in the for loop
2021-10-22 02:46:06 -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
7a490f1ae7 Minor tweaks
- More token validation in auth store
- Made ban message bold
- Re-styled chat text field
- Settings screen is now a fullscreen dialog
2021-10-18 03:29:45 -04:00