Commit graph

129 commits

Author SHA1 Message Date
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
364b94411d Fix rare case where 7TV emotes don't show
7TV emotes are locked to 4x size, but if that doesn't exist an exception
is thrown. The lack of 4x size seems to
be caused by a new emote still in processing.
2023-11-30 17:59:43 -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
bdba3c08d2 Make Owner7TV nullable
Some emotes don't have an owner, causing parsing errors and resulting in
emotes not showing in chat.
2023-11-28 06:15:00 -05:00
Tommy Chow
04ac5346a6 Remove avatarUrl field from Owner7TV 2023-11-28 05:53:11 -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
86324a4b22 Check and use proper flag for 7TV zero-width 2023-11-01 22:38:16 -04:00
Tommy Chow
1cb04bed2d
Fix 7TV zero-width emotes not working (#292)
Use flags to determine 7TV zero width emote
2023-11-01 18:16:57 -04: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
a981cec250
Migrate 7TV emotes to V3 API (#287)
* Migrate 7TV global emotes to V3 API

* Migrate 7TV channel emotes to V3 API
2023-11-01 13:34:21 -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
f17cef9523
Migrate to new Twitch badges endpoint (#256) 2023-04-11 08:52:18 -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
c4f904ecca
Remove unused model fields (#167)
* Remove unused fields from badges

* Remove unused emote fields

* Update emote tests

* Remove unused channel fields

* Remove unused stream fields

* Remove unused user fields

* Update tests
2022-07-31 18:23:54 -04:00
Tommy Chow
898a1c2d00 Fix 7TV emotes not showing in chat
There was a recent change in the 7TV api that resulted in the `tags`
field returning null. The serializer currently doesn't handle `null`
cases so it was causing a deserialize error.

A simple fix is to make the field nullable, but I've decided to remove
it completely since it's not used anywhere in the app.
2022-07-29 11:58:35 -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
b9ef4661cf Separate sub emotes in emote menu (#142)
Closes #142
2022-07-03 05:43:29 -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
2d0c1bee5f
Fix 7TV zero-width randomly not working (#112) 2022-05-11 23:10:02 -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
7673f3753d Tweak stream card weights & tap category (#91) 2022-03-25 21:23:14 -04:00
Tommy Chow
6718ee180a Update analysis_options.yaml 2022-03-23 20:13:45 -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
Tommy Chow
ec77d0e29a Add recent emotes section to emote menu 2022-01-19 23:01:31 -05:00
tommyxchow
543a0ec5c4 Tweak textfield border radius 2022-01-16 23:48:34 -05:00