Commit graph

49 commits

Author SHA1 Message Date
Tommy Chow
a5cc7d8f3f
Add photo view for thumbnails, emotes, and badges (#372)
* Add photo view for emotes and badges

* Add photo view to stream thumbnails

* Remove dismissable and use close button

* Use cached network image provider

* Add dismissible
2024-08-11 12:57:24 -07:00
Tommy Chow
8fcb52f926 Fix onTapPingedUser not triggering due to commas 2023-12-20 23:45:31 -05:00
Tommy Chow
d61b938cbe Underline links in chat 2023-12-17 23:16:31 -05:00
Artiu
663b32b945
Add user mention clickability (#314)
* Add handle for clicking on user ping

* Add trailing coma
2023-12-17 21:47:44 -05:00
Tommy Chow
1a55bd2e63
Fix own display name not showing in chat (#309) 2023-11-30 17:23:09 -05:00
Tommy Chow
2801c6405b Fix missing username in sub notices 2023-11-28 14:41:02 -05:00
Tommy Chow
9e91208555
Add support for 7TV and FFZ emote authors (#306) 2023-11-28 03:58:07 -05:00
Tommy Chow
8fab6bdbc9
Add support for 7TV emote update events (#305)
* Get 7TV emote set id

* Add initial support for 7TV emote set events in chat

* Add 7TV emote add/remove alerts in chat

* Add author to 7TV events
2023-11-28 03:21:05 -05:00
Tommy Chow
da491bdc50 Infer isLightTheme from provided context 2023-11-24 16:25:15 -05:00
Tommy Chow
b15ee89307 Use DefaultTextStyle & ListTile for reply box 2023-11-24 15:58:51 -05:00
Tommy Chow
b238e35b4c Fix emote copy name using full name 2023-11-21 01:42:32 -05:00
Tommy Chow
bc67aad670
Fix 7TV emotes not using custom names (#291)
* Fix 7TV emotes not using custom set names

* Show real name in emote details
2023-11-01 17:55:49 -04:00
Tommy Chow
00678129a8 Constrain badge details size 2023-10-23 22:33:14 -04:00
Tommy Chow
cba6600d5f
Add Twitch sub emotes to emote menu (#281)
* Fix subbed emotes not showing when enabling turbo emotes

* Add twitch channel emotes to emote menu

* Add ability to show emote details in emote menu

* Add haptic feedback

* Add emote details sheet to recent emotes

* Diisable chat logs
2023-10-23 11:52:04 -04:00
Tommy Chow
9a6892746d
Update to Material 3/You and other changes/fixes (#280)
* Use adaptive refresh indicators

* Add new message count indicator in chat

* Sync pubspec.lock

* Initial migration to material 3

* Restore default bottom sheet style

* Remove FrostyListTile and reset styles

* Use "Clear" button for all search history

* Add `require_trailing_commas` lint rule

* Exclude generated files from linter

* Use ListView for safe area support in bottom sheet

* Add initial dark theme

* Make sizing and units consistent

* Update onbaording spacings & copy

* Migrate to default material 3 buttons

* Add headers to chat details bottom sheet

* Simplify token log in method

* Use bottom sheet for account options

* Remove `AnimateScale` widget

* Tweak search paddings

* Update message spacing divisions

* Upgrade packages

* Update message spacing divisions

* Regenerate splash screens

* Update Inter & add google fonts

* Add initial material 3 themes

* Use adaptive alert dialogs

* Revert to oultined inputs

* Fix tooltip message

* Revert add google_fonts

* Improve themes and various styling

* Convert categories grid to list

* Tweak stream card thumbnail radii

* Tweak settings headers

* Left align floating snackbars

* Tweak search header padding

* Fix profile pics occasionally not rounded

* Use profile pic for settings button if logged in

* Redesign sleep timer

* Use divider theme and reduce thickness

* Use 0 letter spacing for tab bar titles

* Redesign category streams list

* Add border to tooltips

* Increase category card font weight

* Use outlined icon btton for chat user modal

* Reduce profile pic radius in search results

* Fix scrolll to top button safe area

* Add support for reply threads

* Reduce tooltip and snackbar border thickness

* Rebuild reply threads on new messages

* Upgrade packages (iOS)

* Reduce font weight for all chat alerts

* Use tabbars for pageview

* Add dividers everywhere

* Revert "Add dividers everywhere"

This reverts commit 5f0d349fdb.

* Remove fill from inputs

* Add dividers to settings

* Use segmented button for settings list

* Add scrollbar to lists with scrollcontroller

* Redesign badge/emote tooltip

* Remove outline from chat user modal buttons

* Remove divider from reply thread

* Use tap for chatters list and increase font weight

* Constrain emote tooltip width
2023-10-22 18:38:32 -04:00
Tommy
3af5406f60
Update linting and formatting rules (#261)
* Add new linting rules

* Apply new linting rules

* Fix dart sdk version

* Format code to 80 lines
2023-04-29 11:34:28 -04:00
Tommy Chow
10a596a247 Fix FFZ emotes and badges no longer showing
Previously, emote and badge URLs from FFZ's API had the scheme
omitted. A recent update to the API has added these schemes, so we no
longer need to prepend it.
2023-03-05 05:23:06 -05:00
Tommy Chow
5d95843de8
Upgrade to Flutter 3.7.0 (#233)
* Rename `Badge` to `ChatBadge`
Flutter 3.7.0 adds a new `Badge` component that conflicts with the
existing badge widget.

* Fix new linting errors

* Upgrade packages
2023-01-26 23:56:16 -05:00
Tommy Chow
7881ce22b4
Improve design and usability, general tweaks and fixes (#226)
See #226 for more details.
2023-01-18 05:34:54 -05:00
Tommy Chow
d5e8d0c6c5 Enable zero width emotes by default 2022-09-08 16:04:13 -04:00
Tommy Chow
d4e9d82ee2 Simplify reply null check 2022-09-03 15:25:52 -04:00
Tommy Chow
f8358e71d3
Add replied message to replies (#189)
Add replies to chat
2022-09-02 15:33:51 -04:00
Tommy Chow
71a3c8b7b9
Fix misaligned chat names (#187) 2022-09-02 12:20:40 -04:00
Tommy Chow
53fabd067a
Restructure folders (#184)
* Split up `video_chat.dart`

* Restructure home folder

* Restructure settings folder

* Restructure channel folder

* More restructuring
2022-08-31 14:11:45 -04:00
Tommy Chow
2e52bbebda Improve chat message modal behavior
Modal is now summoned by long-pressing the username.

Message is now copied by long-pressing  the message.
2022-07-28 19:51:04 -04:00
Tommy Chow
f87a140e36 Fix chat resume scroll
When messages are added at the same time as the resume scroll button is
pressed, the scroll offset won't be at the edge.

This commit adds an additional post frame callback so that we will also
scroll to the bottom after the build is completed.
2022-07-27 18:07:17 -04:00
Tommy Chow
47894f4746 Fix message buffer behavior (#154) 2022-07-27 16:25:34 -04:00
Tommy Chow
932412b75f Optimize chat (#154)
Optimized the chat so that resuming PiP does not cause stutters.

This new implementation makes it so that only the latest (100) messages are
rendered at any given time, rather than every single one.

Once autoscroll is disabled and we scroll up in chat, the most recent
messages will be added to a buffer to prevent shifting.

Essentially, I've made it so that the default chat shows only the (100)
most recent messages. When you want to scroll back, the chat will
silently switch to the version with the last (10000) messages, giving
the best of both worlds in performance and scrollback history.
2022-07-26 23:23:53 -04:00
Tommy Chow
bb0b24e530 Add option to launch links externally (#113) 2022-05-22 21:14:42 -04:00
Tommy Chow
9b88463d39 Upgrade packages & apply new lints (#113) 2022-05-12 04:58:03 -04:00
Tommy Chow
6191624d44
Fix certain links not launching on Android (#108) 2022-04-08 22:57:21 -04:00
tommyxchow
254968a2d6 Improve tooltips for zero-width emotes 2022-03-30 16:09:35 -04:00
tommyxchow
9cd02b75d9 Fix improper width on certain emotes without size 2022-03-28 17:59:52 -04:00
Tommy Chow
4a65da68a7
Apply emote sizes from FFZ/7TV APIs to chat and emote menu (#96)
* Apply emote heights from API in chat (#95)

* Apply emote widths from API in chat (#95)

* Apply emote sizes from API in emote menu (#95)
2022-03-28 02:48:32 -04:00
Tommy Chow
8ce8005868 Tweak emoji sizes & fix tooltip for zero-width 2022-03-20 01:08:14 -04:00
Tommy Chow
00972e13cd Fix twitch emotes tooltips 2022-02-03 21:43:59 -05:00
tommyxchow
543a0ec5c4 Tweak textfield border radius 2022-01-16 23:48:34 -05:00
tommyxchow
abe8d4dcd0 Change color parser to be slightly more efficient 2022-01-16 23:41:19 -05:00
tommyxchow
eef8c57948 Add tooltip to zero-width & documentation 2022-01-16 14:19:08 -05:00
tommyxchow
1a53101047 Add some documentation 2022-01-16 12:39:20 -05:00
tommyxchow
796559b51b Fix settings not updating chat & refactor IRC 2021-12-15 23:54:06 -05:00
tommyxchow
04f0ef74d3 Add status notices to chat, pause & resume test 2021-12-13 02:19:06 -05:00
tommyxchow
81c18feb45 Add hide blocked users in chat (#55)
Blocked users will be hidden from chat only if the logged in user is not
a mod or not the channel owner.
2021-12-11 00:45:44 -05:00
tommyxchow
9875b6ed59 Implement handling of NOTICE command (#44) 2021-11-23 00:47:21 -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
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
26e7a746db Fix handling of ROOMSTATE changes 2021-10-23 00:25:22 -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