Commit graph

1027 commits

Author SHA1 Message Date
8fcfdc88d8 Replace toast (sorry!) notifications with browser ones
Icons don't work in Safari just because they don't lmao

This is just barely tested, bear with me
2022-10-16 15:08:25 +01:00
a903263e00 Apparently unbundling mfm-js is bad for yarn dev 2022-10-16 15:08:25 +01:00
ac1072fd52 Split bundles harder 2022-10-16 15:08:25 +01:00
ba331f771d client: Replace CRC32 with FNV1a in colour hashing
Paste fnv-plus directly to save bundle size
2022-10-16 15:08:25 +01:00
24a10acd34 client: Add colour coding to make people distinguishable despite
changing pfps
2022-10-16 15:08:25 +01:00
98a15fd080 Compact mentions to just heads inside notifications 2022-10-16 15:08:25 +01:00
7e635d23d3 Preview existing replies in tooltip when hovering reply button 2022-10-16 15:08:25 +01:00
427e36e7ec Preview replied-to note in tooltip when hovering the arrow 2022-10-16 15:08:24 +01:00
fd477f0ad2 Exclude CW'd posts from supercompact collapsing 2022-10-16 15:08:24 +01:00
1258a588c7 Collapse inline replied-to post to make it more compact 2022-10-16 15:08:24 +01:00
b541ecb099 Shorten notification text by capping it at 75 chars 2022-10-16 15:08:24 +01:00
8840724a7c Show reacting people next to reaction buttons
This change replaces the reaction count on the reaction buttons under
the post with micro avatars of the people reacting. This makes the
whole thing feel more personal IMHO.

Performance concerns: because the posts by themselves only contain
reaction counts, this means executing an extra API call is done to
fetch the list of users who reacted. This was already being done when
hovering a reaction button, and my Raspberry Pi is doing pretty fine
despite this patch.

Further development was done to lazify the API call, so now
reaction avatars are now fetched only when the reaction bar
slides into view. This should lower the load a bit.

Borrowed some ideas from code at https://medium.com/js-dojo/lazy-rendering-in-vue-to-improve-performance-dcccd445d5f

TODO: check there might be a glitch when adding a reaction
because it is already in view
2022-10-16 15:08:24 +01:00
b74c924f66 My instance-specific assets and client defaults
I change the favicons and change some of the device-stored
client settings so that I don't have to set them on every
device every time.
2022-10-16 15:08:24 +01:00
fb42e40958 Add Cherry Bleu theme variant
This is my modification of the dark cherry theme, caused by my
annoyance that you can set a wallpaper in the client, but it's
invisible almost all the time.

What I tried to do here is make a lot more things transparent,
so that the wallpaper would be visible more. It also looks nasty
in some situations, but this is an acceptable tradeoff for me
personally.
2022-10-16 15:08:24 +01:00
49d861c6e6 Trim the browser targets list in the transpilation config
I only use Safari (and sometimes Firefox, but not much), and I do not
particularly care for visitors to my instance, so this is again an attempt
at allowing the compiler to be more reckless wrt polyfilling to minimize
generated code.
2022-10-16 15:08:24 +01:00
93d81bd695 chore: Provide type for toggleReaction 2022-10-16 15:08:24 +01:00
58002cac58 Trash integrations lmao 2022-10-16 15:08:23 +01:00
6aa52ecbfa Remove Cypress from dependencies
I don't run e2e tests, and my instance is a Raspberry Pi, and so installing
Cypress is an extra gigabyte of disk space wasted for me.
2022-10-16 15:08:23 +01:00
045c9bf088 Remove Deck UI
I'm not sure this even makes sense, I was just trying to remove more code
from the client.
2022-10-16 15:08:23 +01:00
f53ff2089b Remove all right click context menu functionality
The context menus provided by Misskey, overriding the browser context menus
on right click, were driving me very angry. This makes it much easier to copy
image URLs or even just do a quick "Inspect element".

Side victims: the reaction picker context menu feature. I never used it, so
I am only guessing what it was doing, but since I removed the whole underlying
mechanic, it only felt right to yeet the feature too.
2022-10-16 15:08:23 +01:00
48023a0814
add link to external CSS snippets 2022-10-14 17:11:06 +02:00
8721e8844a
client: fix vue warning
> Invalid prop: type check failed for prop "modelValue". Expected String | Number, got Null
2022-10-14 16:55:37 +02:00
4b98677141
client: add aliases for beverage box emoji
Every time I want to use it I had to figure out it's called a
"beverage box". And that happened often because I follow Tlapka.
2022-10-14 15:11:47 +02:00
177f34b02e
client: remove unused ref 2022-10-12 20:59:26 +02:00
79c70c1017
allow to export only selected emoji
Changelog: Added
2022-10-12 01:50:14 +02:00
7ea6deb19b
client: only show emoji as selected in select mode
When exiting select mode and emoji are selected, the green border was
still being displayed even after exiting select mode again.
2022-10-12 01:48:57 +02:00
6d0cfe42f2
client: make hard coded strings in emoji admin panel internationalized
Changelog: Fixed
2022-10-12 01:36:53 +02:00
9a503273fb Merge pull request 'refactor meta API endpoint' (#196) from refactor/api/meta into main 2022-10-11 17:20:51 +00:00
c29e24c103 client: Fix reports not showing in control panel
Closes: FoundKeyGang/FoundKey#194
Changelog: Fixed
2022-10-11 14:45:24 +00:00
c414f24a2c feat: per-user renote muting
Changelog: Added
2022-10-11 10:42:39 +00:00
2c411d59f4
client: use cached instance information 2022-10-11 10:46:25 +02:00
02079593d5 client: Switch to upstream browser-image-resizer version
This should reduce package install times since the pre-built version
from npmjs is used instead of having to build from source.
2022-10-11 03:28:11 +00:00
e8ed254e4d
client: fix types in tab.vue 2022-10-10 22:42:17 -04:00
08c65e9797
client: auto-fix lints in tab and page-header 2022-10-10 18:55:33 -04:00
808c43377e
refactor: use nullish coalescing & optional chaining
Changes several places to use the afforementioned constructs in favour of
ternary expressions.
2022-10-11 00:39:27 +02:00
4f9504d135
client: fetch meta via GET 2022-10-10 17:36:50 +02:00
b018b05c5c
add type annotations 2022-10-08 15:10:14 -04:00
b95f90eb15
client: refactor marquee component to composition API 2022-10-08 15:10:14 -04:00
64e3239566
client: refactor super-menu component to composition API 2022-10-07 11:28:49 +02:00
8311b30b4c
client: fix tolerance for future timestamp 2022-10-07 09:38:44 +02:00
27cf3c4e05
client: Fix relative timestamps 2022-10-05 02:17:32 -04:00
def5eb0d2e Merge pull request 'client: remove click-anime directive' (#185) from remove-anime into main 2022-10-05 04:41:32 +00:00
6ef9069a2f
client: refactor components/tab.vue to composition API
Refactoring this component could be done after changing its method of
receiving the list of available tabs by using slots to using an
ordinary parameter. This was possible because all uses of this
component just provided text as the tab labels.

Also removed unused imports of this component.

Also removed the use of the click-anime directive.

Reviewed-on: FoundKeyGang/FoundKey#184
2022-10-04 21:25:20 +02:00
c5f07ef66c
client: fix notification settings displaying empty
The default value was chosen incorrectly in commit
ab84457c0e. To be backward compatible
the default value has to include all available notification types.
2022-10-04 21:14:00 +02:00
a79506d895
client: add default props for form link 2022-10-04 21:13:22 +02:00
36a0f0c480
client: mark properties with defaults as optional 2022-10-04 20:42:12 +02:00
06e40246db
client: mark properties with defaults as optional 2022-10-04 20:35:55 +02:00
9dddb1eb6d client: Use named constants for time calculations (#183)
Constants were borrowed from `const.ts` from the backend but also
includes `WEEK`, `MONTH`, and `YEAR` constants as well.

Co-authored-by: Francis Dinh <normandy@biribiri.dev>
Reviewed-on: FoundKeyGang/FoundKey#183
2022-10-04 18:05:41 +00:00
f4f83cb091
client: remove click-anime directive 2022-10-04 20:01:14 +02:00
93f54e3258
client: refactor components/tab.vue to composition API
Refactoring this component could be done after changing its method of
receiving the list of available tabs by using slots to using an
ordinary parameter. This was possible because all uses of this
component just provided text as the tab labels.

Also removed unused imports of this component.

Also removed the use of the click-anime directive.
2022-10-04 19:54:27 +02:00