Commit graph

160 commits

Author SHA1 Message Date
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
afbb8d7c09 Bump package versions to fix JSON warning 2021-10-22 02:27:03 -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
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
65611469f3 Add chat send message feature, refactoring
- Added userState and globalUserState fields to keep track of user data while chatting
- Adjusted CAP REQ commands to receive GLOBALUSERSTATE
- Adjusted return and break statements in switch and general cleanup
- Added sendMessage and dispose method
2021-10-17 17:56:16 -04:00
tommyxchow
5ff1744cb9 Move TextField to chat widget
- TextField will now only show up when the user is logged in
- Dispoe methods moved to a dedicated method in chat store for cleanliness
2021-10-17 17:51:10 -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
d632850b50 Fix computed headers not updating, improve logout 2021-10-17 16:26:02 -04:00
tommyxchow
7a0efa6658 Move scroll callback back to chat store
Also added the stream listener which I accidentally omitted in the last commit!
2021-10-17 02:25:40 -04:00
tommyxchow
fec255cceb Convert messages to observable, minor refactor 2021-10-17 02:15:51 -04:00
tommyxchow
9eca5189db Renames, implement CLEARCHAT and CLEARMSG 2021-10-17 02:14:15 -04:00
tommyxchow
f2e093a75b Replace StreamBuilder with Observer due to delay
The tiny delay betwen establishing the IRC connection and creating the StreamBuilder resulted in the initial IRC messages not being received (i.e., JOIN, USERSTATE, ROOMSTATE and more).
2021-10-17 02:10:49 -04:00
tommyxchow
9b92497a64 Escape newlines in channel card title 2021-10-16 23:07:05 -04:00
tommyxchow
9bcc9a0479 Refactor chat store
- Added user login to IRC NICK command
- Added first iteration of clearChat (#8)
- Moved parse method to irc_api.dart
- Fixed extra element when splitting snapshot data message
2021-10-16 19:11:35 -04:00
tommyxchow
7673a2c8a0 Add IRC API 2021-10-16 18:25:32 -04:00
tommyxchow
3d36e7f215 Tweak chat widget for more granular rebuilds 2021-10-16 04:05:30 -04:00
tommyxchow
63a63635c8 Remove unnecessary observables from auth store 2021-10-16 04:01:09 -04:00
tommyxchow
b97a8b8975 Add IRC message model 2021-10-16 04:00:03 -04:00
tommyxchow
6ba7aa4097 Upgrade packages 2021-10-16 03:57:56 -04:00
Tommy Chow
24b36ef570 Add profile card 2021-10-12 03:09:39 -04:00
Tommy Chow
eb3aac0231 Move home observers for more granular rebuilds 2021-10-12 02:34:30 -04:00
Tommy Chow
41af97341e Convert ChannelList to stateless widget 2021-10-12 02:31:32 -04:00
Tommy Chow
259a974cfc Update .gitignore 2021-10-12 00:08:00 -04:00
Tommy Chow
f72081b536 Replace observable with readonly in auth store 2021-10-11 23:01:40 -04:00
Tommy Chow
ae9437da9b Tweak Twitch api error handling 2021-10-10 21:48:31 -04:00
Tommy Chow
0305b12521 Add alert when searching for invalid channel 2021-10-10 01:43:24 -04:00
Tommy Chow
c8187fc719 Fix excessive rebuilds when tapping the same tab 2021-10-10 00:11:50 -04:00
Tommy Chow
6f3259ff45 Add ability to search a specific channel
Closes #28 and closes #29
2021-10-10 00:10:58 -04:00
Tommy Chow
0366b087e8 Refactor home to use constructor injection
[skip ci]
2021-10-09 04:02:55 -04:00
Tommy Chow
d01289c9c6 Renames 2021-10-09 03:51:06 -04:00
Tommy Chow
5762a959f1 Refactor chat widget to use dependency injection 2021-10-09 03:49:12 -04:00
Tommy Chow
021052c5be Add drawer menu widget 2021-10-09 03:47:14 -04:00
Tommy Chow
4920a927bf Update home to use BottomNavigationBar 2021-10-08 02:14:05 -04:00
Tommy Chow
df86c222ff Add settings store & video option 2021-10-07 23:12:28 -04:00
Tommy Chow
ed9fe3dcf8 Add SafeArea to bottom bar
[skip ci]
2021-10-05 03:51:14 -04:00
Tommy Chow
f09dd77634 Add drawer, move tab bar to bottom, reorder lists 2021-10-05 03:17:38 -04:00
Tommy Chow
a6efcfdf15 Add doc comments to channel list store 2021-10-05 03:10:30 -04:00
Tommy Chow
514e3ebb6a Fix auth store doc comments 2021-10-05 03:08:38 -04:00
Tommy Chow
dc5b1547bc Fix logout not clearing tokens
[skip ci]
2021-10-05 00:44:46 -04:00
Tommy Chow
eec5994c30 Return to Provider and remove GetIt 2021-10-05 00:16:46 -04:00
Tommy Chow
4df6383652
Merge pull request #23 from tommyxchow/tommyxchow/issue22
Migrate state management to MobX and GetIt + remove Provider dependency
2021-10-04 01:43:17 -04:00
Tommy Chow
ae47476b0d Fix flash when refreshing 2021-10-03 23:54:27 -04:00
Tommy Chow
605ed5a40c Move scaffold to video/chat screen 2021-10-03 22:15:58 -04:00
Tommy Chow
9bcefba327 Update chat store compatibility 2021-10-03 22:14:55 -04:00
Tommy Chow
ca482ceb05 Refactor channel list store 2021-10-03 22:14:02 -04:00
Tommy Chow
14b7aa9662 Refactor and streamline auth store with comments 2021-10-03 22:13:36 -04:00
Tommy Chow
9b02b2b4c4 Refactor views to use get_it 2021-10-03 22:12:22 -04:00
Tommy Chow
3515418375 Remove provider and add get_it, updates 2021-10-03 22:05:55 -04:00
Tommy Chow
8c2038f92d Refactor requests to their own dedicated API files 2021-10-03 18:08:51 -04:00