Compare commits

..

236 commits

Author SHA1 Message Date
Henry Jameson
7ac4729dec lint 2026-02-13 09:13:38 +02:00
Henry Jameson
0a7a2f0da4 Merge branch 'setttingssync' into shigusegubu-themes3 2026-02-13 09:09:02 +02:00
Henry Jameson
e9993e8d5a config.mergedConfig -> syncConfig.mergedConfig 2026-02-13 09:07:03 +02:00
Henry Jameson
0a00ce025a lint 2026-02-13 08:37:07 +02:00
Henry Jameson
5aec0faa2c modify logic behind push notification subscriptions 2026-02-12 22:24:33 +02:00
Henry Jameson
a91821933f rewrote push notifications plugin 2026-02-12 22:14:52 +02:00
Henry Jameson
90ac30249b post-merge headache 2026-02-12 22:14:44 +02:00
Henry Jameson
3530830b07 Merge branch 'develop' into setttingssync 2026-02-12 17:16:18 +02:00
Henry Jameson
b0dc2dd74a test 2026-02-11 21:26:39 +02:00
Henry Jameson
cafe49de11 Merge branch 'instance-migration' into shigusegubu-themes3 2026-02-11 00:39:50 +02:00
Henry Jameson
d0202e9ca9 Merge branch 'instance-migration' into shigusegubu-themes3 2026-02-05 01:40:10 +02:00
Henry Jameson
7c6ce89b6e Merge branch 'instance-migration' into shigusegubu-themes3 2026-02-05 01:21:06 +02:00
Henry Jameson
b419408643 Merge branch 'instance-migration' into shigusegubu-themes3 2026-01-29 21:42:10 +02:00
Henry Jameson
04f9547c13 fix bookmarks 2026-01-29 21:41:34 +02:00
Henry Jameson
0fec78ec81 Merge branch 'instance-migration' into shigusegubu-themes3 2026-01-29 21:33:04 +02:00
Henry Jameson
6eb94da3e8 make sw shut up 2026-01-29 21:24:21 +02:00
Henry Jameson
775a469507 fix background 2026-01-29 21:24:18 +02:00
Henry Jameson
4ea48dafb9 Merge branch 'instance-migration' into shigusegubu-themes3 2026-01-29 21:15:30 +02:00
Henry Jameson
7d5c2e32cc Merge branch 'instance-migration' into shigusegubu-themes3 2026-01-29 20:50:13 +02:00
Henry Jameson
a96e3b4b5d Merge branch 'instance-migration' into shigusegubu-themes3 2026-01-29 20:47:31 +02:00
Henry Jameson
f1a96ec639 undo sw changes 2026-01-28 23:22:12 +02:00
Henry Jameson
384531c108 lint 2026-01-28 21:32:14 +02:00
Henry Jameson
6877008017 fixed objectCollection not leaving a journal entry on removal 2026-01-28 21:31:41 +02:00
Henry Jameson
e0d9a71322 cleanup & debug 2026-01-27 23:13:23 +02:00
Henry Jameson
ed9e9a3877 minor fixes & refactoring 2026-01-27 22:58:20 +02:00
Henry Jameson
83a419caf7 login works again 2026-01-27 21:55:36 +02:00
Henry Jameson
ebe487c5d8 it boots again 2026-01-26 23:24:48 +02:00
Henry Jameson
3cdcb87831 fix tests 2026-01-23 17:24:02 +02:00
Henry Jameson
6aadf5f1c6 cleaned and fixed errors detected by biome 2026-01-23 15:07:31 +02:00
Henry Jameson
ae17911560 proper temporary setting + fix appearance stuff using stale data 2026-01-23 14:53:22 +02:00
Henry Jameson
1f57fab6ae theme/style/palette seem to be working 2026-01-23 14:11:48 +02:00
Henry Jameson
a5b3840d06 fixed up language 2026-01-23 13:15:34 +02:00
Henry Jameson
9822ebc3bf language + biome 2026-01-23 12:40:45 +02:00
Henry Jameson
1b310d7174 fixed up temporary changes 2026-01-23 00:46:44 +02:00
Henry Jameson
80e09efd71 most stuff seem to work without errors 2026-01-23 00:17:27 +02:00
Henry Jameson
35a3d59235 WIP 2026-01-22 20:52:47 +02:00
Henry Jameson
5bdf341560 MASSIVE refactor, replacing instance module with store, separating emoji stuff into its own store, making sure everything refers to new stores (WIP) 2026-01-22 17:16:51 +02:00
Henry Jameson
dc7308766c fix some navigation issues 2026-01-22 00:55:55 +02:00
Henry Jameson
9452b3084a some initial work on moving instance settings to pinia 2026-01-22 00:22:18 +02:00
Henry Jameson
20071d5a11 clutter page unsync -> sync 2026-01-21 16:51:08 +02:00
Henry Jameson
1942d43eb3 fix the lint-fix command for eslint 2026-01-21 16:03:33 +02:00
Henry Jameson
8bbc17f982 fix sss not saving cache locally 2026-01-21 15:59:13 +02:00
Henry Jameson
db73f1a3dc Merge branch '2-10-1-fixes' into shigusegubu-themes3 2026-01-08 22:10:42 +02:00
Henry Jameson
c32dda4849 Merge branch 'biome' into shigusegubu-themes3 2026-01-06 18:27:01 +02:00
Henry Jameson
4502a6cc25 Merge branch 'admin-tabs-2' into shigusegubu-themes3 2025-12-15 22:56:19 +02:00
Henry Jameson
37b9dc77f3 Merge branch 'admin-tabs-2' into shigusegubu-themes3 2025-12-11 21:58:41 +02:00
Henry Jameson
30966210f4 Merge branch 'admin-tabs-2' into shigusegubu-themes3 2025-12-11 18:31:26 +02:00
Henry Jameson
39856570a8 Merge branch 'admin-tabs-2' into shigusegubu-themes3 2025-12-11 15:45:37 +02:00
Henry Jameson
c12a7fcf7b Merge branch 'admin-tabs-2' into shigusegubu-themes3 2025-12-10 20:37:38 +02:00
Henry Jameson
03e9e5082f Merge branch 'admin-tabs-2' into shigusegubu-themes3 2025-12-09 13:24:57 +02:00
Henry Jameson
b07560ca6b Merge branch 'admin-tabs-2' into shigusegubu-themes3 2025-12-08 22:44:37 +02:00
Henry Jameson
12b98a48b2 Merge branch 'admin-tabs-2' into shigusegubu-themes3 2025-12-08 22:31:37 +02:00
Henry Jameson
4704f57cbf Merge branch 'settings-shuffle' into shigusegubu-themes3 2025-11-27 19:34:23 +02:00
Henry Jameson
ea8218d855 i18n 2025-11-27 12:26:44 +02:00
Henry Jameson
ba8be56bc4 fix fun content not hiding properly 2025-11-27 12:03:15 +02:00
Henry Jameson
b1c338a976 fix tab cutoff 2025-11-27 12:03:07 +02:00
Henry Jameson
7aeeb25f00 Merge branch 'settings-shuffle' into shigusegubu-themes3 2025-11-26 18:44:09 +02:00
Henry Jameson
f77c2bef5f Merge branch 'settings-shuffle' into shigusegubu-themes3 2025-11-26 00:25:41 +02:00
Henry Jameson
f2db381817 Merge branch 'settings-shuffle' into shigusegubu-themes3 2025-11-25 20:30:02 +02:00
Henry Jameson
1abbba698d Merge branch 'settings-shuffle' into shigusegubu-themes3 2025-11-24 20:54:21 +02:00
Henry Jameson
15d0aa466b Merge remote-tracking branch 'origin/develop' into shigusegubu-themes3 2025-10-02 11:39:29 +03:00
Henry Jameson
a0a27410ea debug2 2025-09-18 18:19:50 +03:00
Henry Jameson
454a225a75 debug 2025-09-18 18:16:50 +03:00
Henry Jameson
d242f45ffb Merge remote-tracking branch 'origin/develop' into shigusegubu-themes3 2025-09-15 19:38:25 +03:00
Henry Jameson
19e6390ccb Merge branch 'final-fixes' into shigusegubu-themes3 2025-08-28 00:06:54 +03:00
Henry Jameson
8c7da4c621 Merge remote-tracking branch 'origin/develop' into shigusegubu-themes3 2025-08-26 21:24:21 +03:00
Henry Jameson
d7ab91e167 Merge branch 'copy-emoji-one' into shigusegubu-themes3 2025-08-20 07:14:19 +03:00
Henry Jameson
09ca89871a Merge branch 'misc-style-fixes-or-changes' into shigusegubu-themes3 2025-08-19 17:30:25 +03:00
Henry Jameson
6ff87af516 Merge branch 'misc-style-fixes-or-changes' into shigusegubu-themes3 2025-08-15 10:06:31 +03:00
Henry Jameson
30a668de7a Merge branch 'misc-style-fixes-or-changes' into shigusegubu-themes3 2025-08-15 09:34:09 +03:00
Henry Jameson
31efcccbf6 Merge branch 'copy-emoji-one' into shigusegubu-themes3 2025-08-15 00:02:34 +03:00
Henry Jameson
6b71793b3b Merge branch 'misc-style-fixes-or-changes' into shigusegubu-themes3 2025-08-14 23:16:01 +03:00
Henry Jameson
4da91e0076 Merge branch 'misc-style-fixes-or-changes' into shigusegubu-themes3 2025-08-14 18:15:16 +03:00
Henry Jameson
52e4cfc573 Merge branch 'misc-style-fixes-or-changes' into shigusegubu-themes3 2025-08-14 18:06:29 +03:00
Henry Jameson
242de86c35 Merge branch 'misc-style-fixes-or-changes' into shigusegubu-themes3 2025-08-14 17:58:17 +03:00
Henry Jameson
7ee584c65d Merge branch 'misc-style-fixes-or-changes' into shigusegubu-themes3 2025-08-14 17:50:15 +03:00
Henry Jameson
d34e57bc0b Merge branch 'misc-style-fixes-or-changes' into shigusegubu-themes3 2025-08-14 17:27:41 +03:00
Henry Jameson
41add4fc6a Merge branch 'themes-3-1' into shigusegubu-themes3 2025-08-10 23:39:49 +03:00
Henry Jameson
eef6f6d0e2 Merge remote-tracking branch 'origin/develop' into shigusegubu-themes3 2025-08-10 23:39:43 +03:00
Henry Jameson
651ce2080e Merge branch 'profile-edit' into shigusegubu-themes3 2025-08-08 10:18:02 +03:00
Henry Jameson
aa8d09d5a4 Merge branch 'profile-edit' into shigusegubu-themes3 2025-08-05 18:46:00 +03:00
Henry Jameson
2029852784 Merge branch 'profile-edit' into shigusegubu-themes3 2025-08-05 18:38:13 +03:00
Henry Jameson
3efe6d1243 Merge branch 'profile-edit' into shigusegubu-themes3 2025-08-05 15:24:48 +03:00
Henry Jameson
23d53e9fd0 Merge branch 'profile-edit' into shigusegubu-themes3 2025-08-05 00:27:58 +03:00
Henry Jameson
5c86951798 Merge branch 'profile-overhaul' into shigusegubu-themes3 2025-08-01 02:20:01 +03:00
Henry Jameson
5b030bc863 Merge branch 'profile-overhaul' into shigusegubu-themes3 2025-08-01 02:13:56 +03:00
Henry Jameson
a06d8a3186 Merge branch 'profile-overhaul' into shigusegubu-themes3 2025-08-01 00:59:11 +03:00
Henry Jameson
0eac23daba Merge branch 'profile-overhaul' into shigusegubu-themes3 2025-07-31 22:46:44 +03:00
Henry Jameson
63e6527d2d Merge branch 'profile-overhaul' into shigusegubu-themes3 2025-07-31 22:35:16 +03:00
Henry Jameson
741523e51a Merge branch 'profile-overhaul' into shigusegubu-themes3 2025-07-31 22:02:10 +03:00
Henry Jameson
22dc4ff983 Merge branch 'profile-overhaul' into shigusegubu-themes3 2025-07-31 21:44:22 +03:00
Henry Jameson
59266b30ed Merge branch 'profile-overhaul' into shigusegubu-themes3 2025-07-31 21:36:08 +03:00
Henry Jameson
a616b20c7c Merge branch 'profile-overhaul' into shigusegubu-themes3 2025-07-30 23:20:45 +03:00
Henry Jameson
57059b3297 Merge branch 'profile-overhaul' into shigusegubu-themes3 2025-07-30 10:29:39 +03:00
Henry Jameson
8a1dbcdcff Merge branch 'profile-overhaul' into shigusegubu-themes3 2025-07-30 10:22:50 +03:00
Henry Jameson
e3e0d1f3f4 Merge branch 'profile-overhaul' into shigusegubu-themes3 2025-07-30 10:05:03 +03:00
Henry Jameson
2c68d1512d Merge branch 'profile-overhaul' into shigusegubu-themes3 2025-07-30 01:20:40 +03:00
Henry Jameson
be56291869 Merge branch 'profile-overhaul' into shigusegubu-themes3 2025-07-30 01:13:34 +03:00
Henry Jameson
82db998c19 Merge branch 'profile-overhaul' into shigusegubu-themes3 2025-07-30 00:40:39 +03:00
Henry Jameson
a1d3d04087 Merge branch 'profile-overhaul' into shigusegubu-themes3 2025-07-29 19:03:39 +03:00
Henry Jameson
33a0e4b2b9 Merge branch 'firefix' into shigusegubu-themes3 2025-07-17 17:57:38 +03:00
Henry Jameson
081a77ee0c Merge branch 'timed-user-mutes' into shigusegubu-themes3 2025-07-09 19:05:47 +03:00
Henry Jameson
637bbf5803 Merge branch 'fix-style-editors' into shigusegubu-themes3 2025-07-03 11:21:04 +03:00
Henry Jameson
b6ed146b5a Merge branch 'fix-style-editors' into shigusegubu-themes3 2025-07-03 10:43:21 +03:00
Henry Jameson
17348b9823 Merge branch 'fix-style-editors' into shigusegubu-themes3 2025-07-02 23:26:59 +03:00
Henry Jameson
a55d571a44 Merge branch 'fix-style-editors' into shigusegubu-themes3 2025-07-02 22:55:29 +03:00
Henry Jameson
8cfae10f37 update component preview on render 2025-07-02 18:15:12 +03:00
Henry Jameson
5a65e1d895 small fix 2025-07-02 18:14:56 +03:00
Henry Jameson
1e26b9188c undo link->style 2025-07-02 10:42:44 +03:00
Henry Jameson
567bccb9fa i spent too much time on this 2025-07-02 02:26:17 +03:00
Henry Jameson
1cb4740fc9 fix component preview styles 2025-07-02 00:36:37 +03:00
Henry Jameson
980917a16f Merge remote-tracking branch 'origin/develop' into shigusegubu-themes3 2025-06-29 16:40:54 +03:00
Henry Jameson
9cac70d8e6 Merge branch 'akkoma-support-part-2' into shigusegubu-themes3 2025-06-28 22:48:12 +03:00
Henry Jameson
2f70309970 Merge branch 'akkoma-support-part-2' into shigusegubu-themes3 2025-06-28 22:31:30 +03:00
Henry Jameson
a72dc45f46 Merge branch 'csp-akkoma' into shigusegubu-themes3 2025-06-28 16:05:44 +03:00
Henry Jameson
dcdb5a8ab5 Merge branch 'csp-akkoma' into shigusegubu-themes3 2025-06-28 15:57:47 +03:00
Henry Jameson
a3d857f0f9 Merge remote-tracking branch 'origin/develop' into shigusegubu-themes3 2025-06-26 00:09:42 +03:00
Henry Jameson
3a59fddb4a Merge branch 'smallfixes' into shigusegubu-themes3 2025-06-26 00:09:29 +03:00
Henry Jameson
182c707436 Merge branch 'from/develop/tusooa/sw-cache-assets' into shigusegubu-themes3 2025-06-25 15:54:40 +03:00
Henry Jameson
109882a68e Merge branch 'akkoma' into shigusegubu-themes3 2025-06-24 17:05:57 +03:00
Henry Jameson
a2391a11cf Merge branch 'akkoma' into shigusegubu-themes3 2025-06-18 19:58:45 +03:00
Henry Jameson
9b555a790d Merge branch 'akkoma' into shigusegubu-themes3 2025-06-18 19:55:51 +03:00
Henry Jameson
3695774f8e clarity 2025-06-18 19:55:43 +03:00
Henry Jameson
25620f1cea Merge branch 'akkoma' into shigusegubu-themes3 2025-06-18 19:54:14 +03:00
Henry Jameson
53213e40de Merge branch 'akkoma' into shigusegubu-themes3 2025-06-18 19:48:07 +03:00
Henry Jameson
4a1914d71c Merge remote-tracking branch 'origin/develop' into shigusegubu-themes3 2025-05-21 20:47:48 +03:00
Henry Jameson
afbf63412d Merge branch 'sss-objects' into shigusegubu-themes3 2025-04-11 11:52:01 +03:00
Henry Jameson
aff02e393d Merge branch 'sss-objects' into shigusegubu-themes3 2025-04-09 00:36:18 +03:00
Henry Jameson
e6fc460b02 Merge remote-tracking branch 'origin/develop' into shigusegubu-themes3 2025-04-08 15:07:19 +03:00
Henry Jameson
89d45a86e5 Merge branch 'fix-word-break' into shigusegubu-themes3 2025-04-03 19:04:56 +03:00
Henry Jameson
2fcbebc995 Merge branch 'fix-word-break' into shigusegubu-themes3 2025-04-03 12:45:33 +03:00
Henry Jameson
f068549adb Merge branch 'fix-word-break' into shigusegubu-themes3 2025-04-03 11:30:56 +03:00
Henry Jameson
b43c556a84 Merge branch 'fix-word-break' into shigusegubu-themes3 2025-04-03 10:56:32 +03:00
Henry Jameson
aeef5c77de Merge branch 'sss-objects' into shigusegubu-themes3 2025-04-03 01:44:12 +03:00
Henry Jameson
efe8dbf921 Merge branch 'fix-bookrmarkdropdown' into shigusegubu-themes3 2025-03-27 16:21:45 +02:00
Henry Jameson
10329e9f45 Merge branch 'fix-breezy' into shigusegubu-themes3 2025-03-26 22:17:23 +02:00
Henry Jameson
c968347c0a undo config.json change because there's no proper way to set those in either UI 2025-03-26 16:08:47 +02:00
Henry Jameson
425d0662a1 remove sgsgb-related stuff 2025-03-26 16:01:58 +02:00
Henry Jameson
55d29065f0 Merge branch 'sss-objects' into shigusegubu-themes3 2025-03-26 15:58:15 +02:00
Henry Jameson
515d5451fa make a separate file to store all information about fields and their migrations 2025-03-26 15:57:48 +02:00
Henry Jameson
47a6777284 Merge branch 'sss-objects' into shigusegubu-themes3 2025-03-25 21:26:30 +02:00
Henry Jameson
42f51ff315 Merge branch 'develop' into shigusegubu-themes3 2025-03-25 20:09:01 +02:00
Henry Jameson
add0e5f934 Merge branch 'sss-objects' into shigusegubu-themes3 2025-03-25 19:58:31 +02:00
Henry Jameson
350dd2fcf8 Merge branch 'fixes-roundup5' into shigusegubu-themes3 2025-03-13 15:24:57 +02:00
Henry Jameson
155d9b0999 Merge remote-tracking branch 'origin/develop' into shigusegubu-themes3 2025-03-13 13:00:21 +02:00
Henry Jameson
f051de13e7 Merge branch 'fixes-roundup5' into shigusegubu-themes3 2025-03-13 13:00:12 +02:00
Henry Jameson
b058bab73a Merge remote-tracking branch 'origin/develop' into shigusegubu-themes3 2025-03-13 02:14:34 +02:00
Henry Jameson
06e42053b2 Merge branch 'fixes-roundup5' into shigusegubu-themes3 2025-03-13 02:14:12 +02:00
Henry Jameson
8ad1c4a3ff Merge branch 'fixes-roundup5' into shigusegubu-themes3 2025-03-05 02:51:15 +02:00
Henry Jameson
af432072ca Merge branch 'tusooa/vite' into shigusegubu-themes3 2025-03-04 19:04:15 +02:00
Henry Jameson
52b1c3d21a Merge remote-tracking branch 'origin/develop' into shigusegubu-themes3 2025-02-20 15:15:59 +02:00
Henry Jameson
d95eb5be85 Merge branch 'fixes-roundup4' into shigusegubu-themes3 2025-02-20 15:15:47 +02:00
Henry Jameson
9d92fb45a2 Merge branch 'fixes-roundup4' into shigusegubu-themes3 2025-02-19 16:22:46 +02:00
Henry Jameson
83e3a6c628 Merge branch 'fixes-roundup4' into shigusegubu-themes3 2025-02-18 22:40:41 +02:00
Henry Jameson
4dbb275c48 Merge branch 'fixes-roundup4' into shigusegubu-themes3 2025-02-12 22:06:31 +02:00
Henry Jameson
01bf0e8261 Merge branch 'fixes-roundup4' into shigusegubu-themes3 2025-02-12 15:54:59 +02:00
Henry Jameson
fe5edb7db9 Merge branch 'fixes-roundup4' into shigusegubu-themes3 2025-02-12 15:46:16 +02:00
Henry Jameson
33a239b89b Merge remote-tracking branch 'origin/develop' into shigusegubu-themes3 2025-02-10 23:22:19 +02:00
Henry Jameson
5a918d94df Merge branch 'fixes-roundup4' into shigusegubu-themes3 2025-02-10 23:21:25 +02:00
Henry Jameson
fb609674ad huh? 2025-02-05 08:47:10 +02:00
Henry Jameson
0ed64938b3 Merge branch 'fixes-roundup4' into shigusegubu-themes3 2025-02-05 08:43:38 +02:00
Henry Jameson
c11ebb1e7f Merge remote-tracking branch 'origin/develop' into shigusegubu-themes3 2025-02-03 21:45:58 +02:00
Henry Jameson
2d26737bab Merge branch 'migrate/vuex-to-pinia' into shigusegubu-themes3 2025-02-03 00:15:01 +02:00
Henry Jameson
f4934ec723 Merge remote-tracking branch 'origin/develop' into shigusegubu-themes3 2025-01-28 17:30:36 +02:00
Henry Jameson
c1ac4674af Merge branch 'fixes-roundup3' into shigusegubu-themes3 2025-01-27 17:56:23 +02:00
Henry Jameson
3711dfa913 Merge branch 'fixes-roundup3' into shigusegubu-themes3 2025-01-27 13:30:35 +02:00
Henry Jameson
26abe6b403 Merge branch 'fixes-roundup3' into shigusegubu-themes3 2025-01-26 22:51:49 +02:00
Henry Jameson
90bc03d394 Merge branch 'customizable-post-actions' into shigusegubu-themes3 2025-01-21 10:53:19 +02:00
Henry Jameson
6baf0ec339 Merge branch 'customizable-post-actions' into shigusegubu-themes3 2025-01-20 01:58:29 +02:00
Henry Jameson
f246611aa2 Merge remote-tracking branch 'origin/develop' into shigusegubu-themes3 2025-01-19 18:27:09 +02:00
Henry Jameson
19277f6cd5 Merge remote-tracking branch 'origin/develop' into shigusegubu-themes3 2025-01-19 18:26:50 +02:00
Henry Jameson
2b4052a2c8 Merge branch 'customizable-post-actions' into shigusegubu-themes3 2025-01-19 18:26:46 +02:00
Henry Jameson
04c5699c5a Merge branch 'customizable-post-actions' into shigusegubu-themes3 2025-01-19 17:23:55 +02:00
Henry Jameson
e92ecc612f Merge branch 'customizable-post-actions' into shigusegubu-themes3 2025-01-18 21:45:25 +02:00
Henry Jameson
478779121d Merge branch 'customizable-post-actions' into shigusegubu-themes3 2025-01-16 20:14:51 +02:00
Henry Jameson
f6841decce Merge branch 'fixes-batch2' into shigusegubu-themes3 2025-01-08 22:09:31 +02:00
Henry Jameson
1f37c53ab3 Merge branch 'consistent-mutes' into shigusegubu-themes3 2025-01-04 02:04:30 +02:00
Henry Jameson
3ffe042b25 Merge branch 'consistent-mutes' into shigusegubu-themes3 2025-01-02 23:03:37 +02:00
Henry Jameson
e498c51006 Merge remote-tracking branch 'origin/develop' into shigusegubu-themes3 2024-12-31 13:26:31 +02:00
Henry Jameson
72c980dbc3 Merge branch 'drafts-improvements' into shigusegubu-themes3 2024-12-31 12:12:17 +02:00
Henry Jameson
a59c9557a8 Merge branch 'drafts-improvements' into shigusegubu-themes3 2024-12-31 01:07:54 +02:00
Henry Jameson
9c952173f4 Merge branch 'themes-updates' into shigusegubu-themes3 2024-12-30 21:03:55 +02:00
Henry Jameson
cd9ed41d2d Merge branch 'themes-updates' into shigusegubu-themes3 2024-12-30 16:40:42 +02:00
Henry Jameson
b7c3cc30de Merge branch 'themes-updates' into shigusegubu-themes3 2024-12-30 16:32:56 +02:00
Henry Jameson
d679642a19 Merge branch 'drafts-improvements' into shigusegubu-themes3 2024-12-30 03:10:42 +02:00
Henry Jameson
1348bbb4d2 Merge branch 'mobile-modals' into shigusegubu-themes3 2024-12-29 22:30:04 +02:00
Henry Jameson
e8338a2f65 Merge branch 'mobile-modals' into shigusegubu-themes3 2024-12-29 18:56:14 +02:00
Henry Jameson
5e65c2efb7 Merge branch 'themes-updates' into shigusegubu-themes3 2024-12-29 18:16:54 +02:00
Henry Jameson
d1db92c896 Merge branch 'drafts-improvements' into shigusegubu-themes3 2024-12-27 17:10:34 +02:00
Henry Jameson
727253aba3 Merge remote-tracking branch 'origin/develop' into shigusegubu-themes3 2024-12-27 02:11:21 +02:00
Henry Jameson
38ea52d38b Merge remote-tracking branch 'origin/develop' into shigusegubu-themes3 2024-12-27 02:11:03 +02:00
Henry Jameson
8809424d75 Merge branch 'emoji-fixes' into shigusegubu-themes3 2024-12-27 00:29:29 +02:00
Henry Jameson
4b89c96799 Merge branch 'themes-updates' into shigusegubu-themes3 2024-12-27 00:29:21 +02:00
Henry Jameson
1a306c2723 Merge branch 'themes-updates' into shigusegubu-themes3 2024-12-24 16:24:51 +02:00
Henry Jameson
2d459df039 Merge branch 'emoji-fixes' into shigusegubu-themes3 2024-12-24 11:57:01 +02:00
Henry Jameson
c2e750daf7 Merge branch 'emoji-fixes' into shigusegubu-themes3 2024-12-24 11:12:00 +02:00
Henry Jameson
5dac99d828 Merge branch 'emoji-fixes' into shigusegubu-themes3 2024-12-23 23:16:05 +02:00
Henry Jameson
49dba9cfab Merge branch 'fixes-batch' into shigusegubu-themes3 2024-12-23 14:16:02 +02:00
Henry Jameson
48ffb39bf8 Merge branch 'fixes-batch' into shigusegubu-themes3 2024-12-23 04:45:48 +02:00
Henry Jameson
53ed51f9e5 Merge branch 'fixes-batch' into shigusegubu-themes3 2024-12-23 04:42:32 +02:00
Henry Jameson
3cb0dec5e1 Merge branch 'fixes-batch' into shigusegubu-themes3 2024-12-19 15:33:22 +02:00
Henry Jameson
5f3fcad181 Merge branch 'fixes-batch' into shigusegubu-themes3 2024-12-19 14:56:00 +02:00
Henry Jameson
66febc0756 Merge branch 'loader-fixes' into shigusegubu-themes3 2024-12-12 19:03:24 +02:00
Henry Jameson
108b8fe3f8 Merge branch 'themes3-grand-finale-maybe' into shigusegubu-themes3 2024-12-10 15:56:05 +02:00
Henry Jameson
11072e5fc8 Merge branch 'themes3-grand-finale-maybe' into shigusegubu-themes3 2024-12-04 15:55:09 +02:00
Henry Jameson
4503bd77d7 Merge branch 'themes3-grand-finale-maybe' into shigusegubu-themes3 2024-12-04 14:04:04 +02:00
Henry Jameson
3af29e78b9 when switching to new style, use "native" palette, also show it in appearance tab 2024-12-04 14:03:27 +02:00
Henry Jameson
a0e12cabc6 Merge branch 'themes3-grand-finale-maybe' into shigusegubu-themes3 2024-12-01 22:26:52 +02:00
Henry Jameson
749d08054c use breezy theme by default 2024-11-28 18:17:33 +02:00
Henry Jameson
2f10b94af8 Merge branch 'themes3-grand-finale-maybe' into shigusegubu-themes3 2024-11-28 18:10:16 +02:00
Henry Jameson
eb5f47ebf9 Merge branch 'themes3-grand-finale-maybe' into shigusegubu-themes3 2024-11-26 02:02:02 +02:00
Henry Jameson
31527054c2 Merge branch 'themes3-grand-finale-maybe' into shigusegubu-themes3 2024-11-19 03:20:04 +02:00
Henry Jameson
42087a564f bundling theme now works and so are bundled style's palettes 2024-11-19 03:18:52 +02:00
Henry Jameson
89b0ed83f2 Merge branch 'themes3-grand-finale-maybe' into shigusegubu-themes3 2024-11-15 00:40:24 +02:00
Henry Jameson
ca84e08247 Merge branch 'themes3-grand-finale-maybe' into shigusegubu-themes3 2024-11-12 23:24:54 +02:00
Henry Jameson
1b644370b1 Merge branch 'themes3-grand-finale-maybe' into shigusegubu-themes3 2024-10-30 22:52:14 +02:00
Henry Jameson
ba0855ad64 Merge branch 'themes3-grand-finale-maybe' into shigusegubu-themes3 2024-10-29 23:55:57 +02:00
Henry Jameson
ca57af0a43 Merge branch 'themes3-grand-finale-maybe' into shigusegubu-themes3 2024-10-29 21:17:48 +02:00
Henry Jameson
a023c44bee Merge branch 'themes3-grand-finale-maybe' into shigusegubu-themes3 2024-10-28 21:23:14 +02:00
Henry Jameson
0562fe1c44 Merge branch 'themes3-grand-finale-maybe' into shigusegubu-themes3 2024-10-25 16:58:48 +03:00
Henry Jameson
461eb8752d Merge branch 'themes3-grand-finale-maybe' into shigusegubu-themes3 2024-10-22 10:08:40 +03:00
Henry Jameson
f03df3c993 Merge branch 'themes3-grand-finale-maybe' into shigusegubu-themes3 2024-10-13 17:13:26 +03:00
Henry Jameson
eac63e0c57 Merge branch 'themes3-grand-finale-maybe' into shigusegubu-themes3 2024-10-13 17:09:57 +03:00
Henry Jameson
0da9ba1b7a Merge branch 'themes3-grand-finale-maybe' into shigusegubu-themes3 2024-10-07 12:30:07 +03:00
Henry Jameson
f8b39faae7 Merge branch 'themes3-grand-finale-maybe' into shigusegubu-themes3 2024-10-07 12:25:29 +03:00
Henry Jameson
104bc8c86e oops 2024-10-06 01:57:39 +03:00
Henry Jameson
d647cd82d1 Merge branch 'themes3-grand-finale-maybe' into shigusegubu-themes3 2024-10-06 01:49:46 +03:00
Henry Jameson
e2705f57b1 Merge branch 'themes3-grand-finale-maybe' into shigusegubu-themes3 2024-10-05 23:15:15 +03:00
Henry Jameson
761cc52be7 palette and style for v3 2024-10-05 19:31:57 +03:00
Henry Jameson
f161cc4113 restore sgsgb palettes 2024-10-05 19:31:04 +03:00
Henry Jameson
6946626217 fix? 2024-10-05 19:24:32 +03:00
Henry Jameson
b0b6380ea4 Merge branch 'themes3-grand-finale-maybe' into shigusegubu-themes3 2024-10-05 19:07:09 +03:00
Henry Jameson
d818b47938 Merge branch 'themes3-grand-finale-maybe' into shigusegubu-themes3 2024-10-05 18:54:18 +03:00
Henry Jameson
16610c8a12 Merge remote-tracking branch 'origin/develop' into shigusegubu-themes3 2024-10-05 18:53:54 +03:00
Henry Jameson
8163366402 Merge remote-tracking branch 'origin/develop' into shigusegubu-clean 2024-10-03 02:19:07 +03:00
Henry Jameson
2884d6e9ba Merge branch 'admin-dashboard-fixes' into shigusegubu-clean 2023-11-22 21:58:32 +02:00
18 changed files with 238 additions and 108 deletions

View file

@ -25,11 +25,7 @@ const getAllAccessibleAnnotations = async (projectRoot) => {
await access(importFile)
return `'${lang}': () => import('${importModule}')`
} catch (e) {
if (e.message.match(/ENOENT/)) {
console.warn(`Missing emoji annotations locale: ${destLang}`)
} else {
console.error('test', e.message)
}
console.error(e)
return
}
}),

View file

@ -25,7 +25,7 @@
"sidebarRight": false,
"subjectLineBehavior": "email",
"theme": null,
"style": null,
"palette": null,
"style": "BreezyDX",
"palette": "sigsegv2",
"webPushNotifications": false
}

View file

@ -135,11 +135,13 @@ export default {
userBackground() {
return this.currentUser.background_image
},
instanceBackground() {
return this.mergedConfig.hideInstanceWallpaper ? null : this.background
},
background() {
return this.userBackground || this.instanceBackground
return (
this.userBackground ||
(this.mergedConfig.hideInstanceWallpaper
? null
: this.instanceBackground)
)
},
bgStyle() {
if (this.background) {
@ -209,7 +211,7 @@ export default {
'editingAvailable',
]),
...mapState(useInstanceStore, {
background: (store) => store.instanceIdentity.background,
instanceBackground: (store) => store.instanceIdentity.background,
showFeaturesPanel: (store) => store.instanceIdentity.showFeaturesPanel,
instanceSpecificPanelPresent: (store) =>
store.instanceIdentity.showInstanceSpecificPanel &&

View file

@ -33,7 +33,6 @@ import { useInstanceStore } from 'src/stores/instance.js'
import { useInstanceCapabilitiesStore } from 'src/stores/instance_capabilities.js'
import { useInterfaceStore } from 'src/stores/interface.js'
import { useOAuthStore } from 'src/stores/oauth'
import { useSyncConfigStore } from 'src/stores/sync_config.js'
import VBodyScrollLock from 'src/directives/body_scroll_lock'
import {
@ -548,7 +547,7 @@ const afterStoreSetup = async ({ pinia, store, storageError, i18n }) => {
return Promise.reject(e)
}
applyStyleConfig(useSyncConfigStore().mergedConfig, i18n.global)
applyStyleConfig(store.state.config, i18n.global)
// Now we can try getting the server settings and logging in
// Most of these are preloaded into the index.html so blocking is minimized

View file

@ -2,7 +2,6 @@ import { take } from 'lodash'
import Popover from 'src/components/popover/popover.vue'
import ScreenReaderNotice from 'src/components/screen_reader_notice/screen_reader_notice.vue'
import { ensureFinalFallback } from '../../i18n/languages.js'
import Completion from '../../services/completion/completion.js'
import { findOffset } from '../../services/offset_finder/offset_finder.service.js'
import genRandomSeed from '../../services/random_seed/random_seed.service.js'
@ -11,6 +10,8 @@ import UnicodeDomainIndicator from '../unicode_domain_indicator/unicode_domain_i
import { useSyncConfigStore } from 'src/stores/sync_config.js'
import { ensureFinalFallback } from 'src/i18n/languages.js'
import { library } from '@fortawesome/fontawesome-svg-core'
import { faSmileBeam } from '@fortawesome/free-regular-svg-icons'
@ -136,7 +137,7 @@ const EmojiInput = {
return useSyncConfigStore().mergedConfig.padEmoji
},
defaultCandidateIndex() {
return this.$store.getters.mergedConfig.autocompleteSelect ? 0 : -1
return useSyncConfigStore().mergedConfig.autocompleteSelect ? 0 : -1
},
preText() {
return this.modelValue.slice(0, this.caret)
@ -165,7 +166,7 @@ const EmojiInput = {
},
languages() {
return ensureFinalFallback(
this.$store.getters.mergedConfig.interfaceLanguage,
useSyncConfigStore().mergedConfig.interfaceLanguage,
)
},
maybeLocalizedEmojiNamesAndKeywords() {
@ -333,7 +334,6 @@ const EmojiInput = {
if (!this.pickerShown) {
this.scrollIntoView()
this.$refs.picker.showPicker()
this.$refs.picker.startEmojiLoad()
} else {
this.$refs.picker.hidePicker()
}

View file

@ -81,21 +81,15 @@ const Notifications = {
filteredNotifications() {
if (this.unseenAtTop) {
return [
...filteredNotificationsFromStore(
this.$store,
useSyncConfigStore().mergedConfig.notificationVisibility,
).filter((n) => this.shouldShowUnseen(n)),
...filteredNotificationsFromStore(
this.$store,
useSyncConfigStore().mergedConfig.notificationVisibility,
).filter((n) => !this.shouldShowUnseen(n)),
...filteredNotificationsFromStore(this.$store).filter((n) =>
this.shouldShowUnseen(n),
),
...filteredNotificationsFromStore(this.$store).filter(
(n) => !this.shouldShowUnseen(n),
),
]
} else {
return filteredNotificationsFromStore(
this.$store,
useSyncConfigStore().mergedConfig.notificationVisibility,
this.filterMode,
)
return filteredNotificationsFromStore(this.$store, this.filterMode)
}
},
unseenCountBadgeText() {

View file

@ -0,0 +1,127 @@
import Popover from 'components/popover/popover.vue'
import SelectComponent from 'components/select/select.vue'
import { assign } from 'lodash'
import StillImage from './still-image.vue'
import { useInstanceStore } from 'src/stores/instance.js'
import { useInterfaceStore } from 'src/stores/interface'
export default {
components: { StillImage, Popover, SelectComponent },
props: {
shortcode: {
type: String,
required: true,
},
isLocal: {
type: Boolean,
required: true,
},
},
data() {
return {
knownLocalPacks: {},
packName: '',
}
},
computed: {
isUserAdmin() {
return this.$store.state.users.currentUser.rights.admin
},
},
methods: {
displayError(msg) {
useInterfaceStore().pushGlobalNotice({
messageKey: 'admin_dash.emoji.error',
messageArgs: [msg],
level: 'error',
})
},
copyToLocalPack() {
this.$store.state.api.backendInteractor
.addNewEmojiFile({
packName: this.packName,
file: this.$attrs.src,
shortcode: this.shortcode,
filename: '',
})
.then((resp) => resp.json())
.then((resp) => {
if (resp.error !== undefined) {
this.displayError(resp.error)
return
}
useInterfaceStore().pushGlobalNotice({
messageKey: 'admin_dash.emoji.copied_successfully',
messageArgs: [this.shortcode, this.packName],
level: 'success',
})
this.$refs.emojiPopover.hidePopover()
this.packName = ''
})
},
// Copied from emoji_tab.js
loadPacksPaginated(listFunction) {
const pageSize = 25
const allPacks = {}
return listFunction({
instance: useInstanceStore().server,
page: 1,
pageSize: 0,
})
.then((data) => data.json())
.then((data) => {
if (data.error !== undefined) {
return Promise.reject(data.error)
}
let resultingPromise = Promise.resolve({})
for (let i = 0; i < Math.ceil(data.count / pageSize); i++) {
resultingPromise = resultingPromise
.then(() =>
listFunction({
instance: useInstanceStore().server,
page: i,
pageSize,
}),
)
.then((data) => data.json())
.then((pageData) => {
if (pageData.error !== undefined) {
return Promise.reject(pageData.error)
}
assign(allPacks, pageData.packs)
})
}
return resultingPromise
})
.then(() => allPacks)
.catch((data) => {
this.displayError(data)
})
},
fetchEmojiPacksIfAdmin() {
if (!this.isUserAdmin) return
this.loadPacksPaginated(
this.$store.state.api.backendInteractor.listEmojiPacks,
).then((allPacks) => {
// Sort by key
const sorted = Object.keys(allPacks)
.sort()
.reduce((acc, key) => {
if (key.length === 0) return acc
acc[key] = allPacks[key]
return acc
}, {})
this.knownLocalPacks = sorted
})
},
},
}

View file

@ -1,3 +1,5 @@
import { useSyncConfigStore } from 'src/stores/sync_config.js'
import * as DateUtils from 'src/services/date_utils/date_utils.js'
import localeService from 'src/services/locale/locale.service.js'
@ -13,17 +15,17 @@ export default {
},
computed: {
shouldUseAbsoluteTimeFormat() {
if (!this.$store.getters.mergedConfig.useAbsoluteTimeFormat) {
if (!useSyncConfigStore().mergedConfig.useAbsoluteTimeFormat) {
return false
}
return (
DateUtils.durationStrToMs(
this.$store.getters.mergedConfig.absoluteTimeFormatMinAge,
useSyncConfigStore().mergedConfig.absoluteTimeFormatMinAge,
) <= this.relativeTimeMs
)
},
time12hFormat() {
return this.$store.getters.mergedConfig.absoluteTimeFormat12h === '12h'
return useSyncConfigStore().mergedConfig.absoluteTimeFormat12h === '12h'
},
browserLocale() {
return localeService.internalToBrowserLocale(this.$i18n.locale)

View file

@ -1,13 +1,4 @@
import Cookies from 'js-cookie'
import { useEmojiStore } from 'src/stores/emoji.js'
import { useI18nStore } from 'src/stores/i18n.js'
import { useSyncConfigStore } from 'src/stores/sync_config.js'
import messages from 'src/i18n/messages'
import localeService from 'src/services/locale/locale.service.js'
const BACKEND_LANGUAGE_COOKIE_NAME = 'userLanguage'
export const piniaLanguagePlugin = ({ store, options }) => {
if (store.$id === 'sync_config') {
@ -16,12 +7,6 @@ export const piniaLanguagePlugin = ({ store, options }) => {
const { path, value } = args[0]
if (path === 'simple.interfaceLanguage') {
useI18nStore().setLanguage(value)
messages.setLanguage(this.i18n, value)
useEmojiStore().loadUnicodeEmojiData(value)
Cookies.set(
BACKEND_LANGUAGE_COOKIE_NAME,
localeService.internalToBackendLocaleMulti(value),
)
}
}
})

View file

@ -59,8 +59,10 @@ export const piniaPushNotificationsPlugin = ({ store }) => {
}
if (permissionGranted && enabled && user) {
console.log('piniaReg')
return window.vuex.dispatch('registerPushNotifications')
} else {
console.log('piniaUnreg')
return window.vuex.dispatch('unregisterPushNotifications')
}
})
@ -85,8 +87,10 @@ export const vuexPushNotificationsPlugin = (store) => {
) {
console.log(!!user, permissionGranted, enabled)
if (user && permissionGranted && enabled) {
console.log('vuexReg')
return store.dispatch('registerPushNotifications')
} else {
console.log('vuexUnreg')
return store.dispatch('unregisterPushNotifications')
}
}

View file

@ -1,5 +1,3 @@
import { useSyncConfigStore } from 'src/stores/sync_config.js'
export const CONFIG_MIGRATION = 1
import { v4 as uuidv4 } from 'uuid'
@ -24,7 +22,7 @@ export const declarations = [
description: 'Mute filters, wordfilter/regexp/etc',
valueType: 'complex',
migration(serverside, rootState) {
useSyncConfigStore().mergedConfig.muteWords.forEach((word, order) => {
rootState.config.muteWords.forEach((word, order) => {
const uniqueId = uuidv4()
serverside.setPreference({

View file

@ -553,9 +553,9 @@ const users = {
registerPushNotifications(store) {
const token = store.state.currentUser.credentials
const vapidPublicKey = useInstanceStore().vapidPublicKey
const isEnabled = useSyncConfigStore().mergedConfig.webPushNotifications
const isEnabled = store.rootState.config.webPushNotifications
const notificationVisibility =
useSyncConfigStore().mergedConfig.notificationVisibility
store.rootState.config.notificationVisibility
registerPushNotifications(
isEnabled,

View file

@ -16,7 +16,12 @@ let cachedBadgeUrl = null
export const notificationsFromStore = (store) => store.state.notifications.data
const visibleTypes = (notificationVisibility) => {
export const visibleTypes = (store) => {
// When called from within a module we need rootGetters to access wider scope
// however when called from a component (i.e. this.$store) we already have wider scope
const rootGetters = store.rootGetters || store.getters
const { notificationVisibility } = rootGetters.mergedConfig
return [
notificationVisibility.likes && 'like',
notificationVisibility.mentions && 'mention',
@ -71,15 +76,11 @@ const isMutedNotification = (notification) => {
return muteFilterHits(notification.status).length > 0
}
export const maybeShowNotification = (
store,
notificationVisibility,
notification,
) => {
export const maybeShowNotification = (store, notification) => {
const rootState = store.rootState || store.state
if (notification.seen) return
if (!visibleTypes(notificationVisibility).includes(notification.type)) return
if (!visibleTypes(store).includes(notification.type)) return
if (notification.type === 'mention' && isMutedNotification(notification))
return
@ -90,18 +91,14 @@ export const maybeShowNotification = (
showDesktopNotification(rootState, notificationObject)
}
export const filteredNotificationsFromStore = (
store,
notificationVisibility,
types,
) => {
export const filteredNotificationsFromStore = (store, types) => {
// map is just to clone the array since sort mutates it and it causes some issues
const sortedNotifications = notificationsFromStore(store)
.map((_) => _)
.sort(sortById)
// TODO implement sorting elsewhere and make it optional
return sortedNotifications.filter((notification) =>
(types || visibleTypes(notificationVisibility)).includes(notification.type),
(types || visibleTypes(store)).includes(notification.type),
)
}

View file

@ -1,6 +1,14 @@
import Cookies from 'js-cookie'
import { defineStore } from 'pinia'
import { useEmojiStore } from 'src/stores/emoji.js'
import { useSyncConfigStore } from 'src/stores/sync_config.js'
import messages from 'src/i18n/messages'
import localeService from 'src/services/locale/locale.service.js'
const BACKEND_LANGUAGE_COOKIE_NAME = 'userLanguage'
export const useI18nStore = defineStore('i18n', {
state: () => ({
i18n: null,
@ -11,5 +19,16 @@ export const useI18nStore = defineStore('i18n', {
i18n: newI18n.global,
})
},
setLanguage(originalValue) {
const value =
originalValue || useSyncConfigStore().mergedConfig.interfaceLanguage
messages.setLanguage(this.i18n, value)
useEmojiStore().loadUnicodeEmojiData(value)
Cookies.set(
BACKEND_LANGUAGE_COOKIE_NAME,
localeService.internalToBackendLocaleMulti(value),
)
},
},
})

View file

@ -8,7 +8,6 @@ import {
import { deserialize } from '../services/theme_data/iss_deserializer.js'
import { useInstanceStore } from 'src/stores/instance.js'
import { useSyncConfigStore } from 'src/stores/sync_config.js'
import {
CURRENT_VERSION,
@ -403,13 +402,13 @@ export const useInterfaceStore = defineStore('interface', {
styleCustomData: userStyleCustomData,
palette: userPaletteName,
paletteCustomData: userPaletteCustomData,
} = useSyncConfigStore().mergedConfig
} = window.vuex.state.config
let {
theme: userThemeV2Name,
customTheme: userThemeV2Snapshot,
customThemeSource: userThemeV2Source,
} = useSyncConfigStore().mergedConfig
} = window.vuex.state.config
let majorVersionUsed
@ -574,7 +573,7 @@ export const useInterfaceStore = defineStore('interface', {
},
async applyTheme({ recompile = false } = {}) {
const { forceThemeRecompilation, themeDebug, theme3hacks } =
useSyncConfigStore().mergedConfig
window.vuex.state.config
this.themeChangeInProgress = true
// If we're not forced to recompile try using
// cache (tryLoadCache return true if load successful)

View file

@ -4,10 +4,11 @@ import 'virtual:pleroma-fe/service_worker_env'
import { createI18n } from 'vue-i18n'
import { parseNotification } from './services/entity_normalizer/entity_normalizer.service.js'
import { prepareNotificationObject } from './services/notification_utils/notification_utils.js'
import { cacheKey, emojiCacheKey, shouldCache } from './services/sw/sw.js'
import { storage } from 'src/lib/storage.js'
import { parseNotification } from 'src/services/entity_normalizer/entity_normalizer.service.js'
import { prepareNotificationObject } from 'src/services/notification_utils/notification_utils.js'
import { cacheKey, emojiCacheKey, shouldCache } from 'src/services/sw/sw.js'
// Collects all messages for service workers
// Needed because service workers cannot use dynamic imports
@ -38,7 +39,7 @@ const setSettings = async () => {
const locale = vuexState.config.interfaceLanguage || 'en'
i18n.locale = locale
const notificationsNativeArray = Object.entries(
vuexState.config.notificationNative,
vuexState.config.notificationNative || {},
)
state.webPushAlwaysShowNotifications =
vuexState.config.webPushAlwaysShowNotifications

View file

@ -1,13 +1,10 @@
import { createTestingPinia } from '@pinia/testing'
import { flushPromises, mount } from '@vue/test-utils'
import { setActivePinia } from 'pinia'
import { nextTick } from 'vue'
import PostStatusForm from 'src/components/post_status_form/post_status_form.vue'
import { $t, mountOpts, waitForEvent } from '../../../fixtures/setup_test'
import { useSyncConfigStore } from 'src/stores/sync_config.js'
const autoSaveOrNot = (caseFn, caseTitle, runFn) => {
caseFn(`${caseTitle} with auto-save`, function () {
return runFn.bind(this)(true)
@ -39,19 +36,17 @@ afterEach(() => {
})
describe('Draft saving', () => {
beforeEach(() => {
setActivePinia(createTestingPinia())
})
createTestingPinia()
autoSaveOrNot(
it,
'should save when the button is clicked',
async (autoSave) => {
const wrapper = mount(PostStatusForm, mountOpts())
const store = useSyncConfigStore()
store.mergedConfig = {
autoSaveDraft: autoSave,
}
await wrapper.vm.$store.dispatch('setOption', {
name: 'autoSaveDraft',
value: autoSave,
})
expect(wrapper.vm.$store.getters.draftCount).to.equal(0)
const textarea = wrapper.get('textarea')
@ -68,10 +63,10 @@ describe('Draft saving', () => {
it('should auto-save if it is enabled', async function () {
vi.useFakeTimers()
const wrapper = mount(PostStatusForm, mountOpts())
const store = useSyncConfigStore()
store.mergedConfig = {
autoSaveDraft: true,
}
await wrapper.vm.$store.dispatch('setOption', {
name: 'autoSaveDraft',
value: true,
})
expect(wrapper.vm.$store.getters.draftCount).to.equal(0)
const textarea = wrapper.get('textarea')
await textarea.setValue('mew mew')
@ -91,10 +86,10 @@ describe('Draft saving', () => {
},
}),
)
const store = useSyncConfigStore()
store.mergedConfig = {
autoSaveDraft: true,
}
await wrapper.vm.$store.dispatch('setOption', {
name: 'autoSaveDraft',
value: true,
})
expect(wrapper.vm.$store.getters.draftCount).to.equal(0)
const textarea = wrapper.get('textarea')
await textarea.setValue('mew mew')
@ -112,11 +107,14 @@ describe('Draft saving', () => {
},
}),
)
const store = useSyncConfigStore()
store.mergedConfig = {
autoSaveDraft: false,
unsavedPostAction: 'save',
}
await wrapper.vm.$store.dispatch('setOption', {
name: 'autoSaveDraft',
value: false,
})
await wrapper.vm.$store.dispatch('setOption', {
name: 'unsavedPostAction',
value: 'save',
})
expect(wrapper.vm.$store.getters.draftCount).to.equal(0)
const textarea = wrapper.get('textarea')
await textarea.setValue('mew mew')
@ -134,11 +132,14 @@ describe('Draft saving', () => {
},
}),
)
const store = useSyncConfigStore()
store.mergedConfig = {
autoSaveDraft: false,
unsavedPostAction: 'discard',
}
await wrapper.vm.$store.dispatch('setOption', {
name: 'autoSaveDraft',
value: false,
})
await wrapper.vm.$store.dispatch('setOption', {
name: 'unsavedPostAction',
value: 'discard',
})
expect(wrapper.vm.$store.getters.draftCount).to.equal(0)
const textarea = wrapper.get('textarea')
await textarea.setValue('mew mew')
@ -156,11 +157,14 @@ describe('Draft saving', () => {
},
}),
)
const store = useSyncConfigStore(createTestingPinia())
store.mergedConfig = {
autoSaveDraft: false,
unsavedPostAction: 'confirm',
}
await wrapper.vm.$store.dispatch('setOption', {
name: 'autoSaveDraft',
value: false,
})
await wrapper.vm.$store.dispatch('setOption', {
name: 'unsavedPostAction',
value: 'confirm',
})
expect(wrapper.vm.$store.getters.draftCount).to.equal(0)
const textarea = wrapper.get('textarea')
await textarea.setValue('mew mew')

View file

@ -40,6 +40,9 @@ describe('NotificationUtils', () => {
],
},
},
getters: {
mergedConfig: {},
},
}
const expected = [
{