Commit graph

209 commits

Author SHA1 Message Date
Beef
c10355ef70 [Metro] Implement findByTypeName(All) 2023-04-04 19:45:53 +01:00
Beef
81fbf02ad9 [TS] Typing for createThemedStylesheet 2023-04-04 19:33:31 +01:00
redstonekasi
b7a3580ccf [UI > Settings] Fix for latest Discord releases 2023-04-04 16:59:08 +01:00
Jack
ba20db27d9
[Hotfix] Hide install theme when loader does not support themes (#47) 2023-04-04 02:20:42 +01:00
Jack
5148fdb15f
[UI > QuickInstall] Implement (#45)
* [UI > QuickInstall] Init

* [Constants] Update PROXY_PREFIX

* [TS] Type additional constants

* [Style] Move Metro filter imports to top of imports
2023-04-04 01:35:59 +01:00
Beef
3082c840c8 [???] And just like that, it's gone.
This reverts commit 748640af56.
2023-04-01 23:59:58 +01:00
Beef
21fc6e86a8 [Bugfix] Make themes refetch correctly 2023-04-01 16:21:41 +01:00
Beef
a9b8edd691 [Global] Fix for 173.14 2023-04-01 16:00:50 +01:00
Beef
748640af56 [???] Whatever may this do? 2023-04-01 11:49:23 +01:00
redstonekasi
a98cf94f4c [Global] Fixes for 173.13 2023-03-31 15:54:40 +01:00
Beef
ac4da3032e [Global] Fixes for latest Discord versions 2023-03-30 19:56:32 +01:00
Jack Matthews
f5552e1ba6 [Metro] Switch findByDisplayName/All to use dNameFilter 2023-03-27 23:25:56 +01:00
Beef
ebbfe83674 [Metro] Actually use findByName :husk: 2023-03-23 23:14:13 +00:00
Jack
ef702fb5ca [UI > Card] Move most actions into overflow action sheet (#43)
* [Plugin/ThemeCard] Move most actions into overflow action sheet

* [UI > Card] Move overflow menu, add icon to header

---------

Co-authored-by: Beef <beefers@riseup.net>
2023-03-23 23:10:21 +00:00
Beef
72c9055b5a [Metro > Common] Add lodash to common modules 2023-03-22 21:24:55 +00:00
Amsyar Rasyiq
0bf2b58926
[Themes] Overhaul themes data process (#42)
* [Themes] Rewrite `resolveSemanticColor` patch

* [Themes] chroma.js & properly themes rawColors

* [Themes] Apply Android's color keys, import `@types/chroma.js`

* [Metro] Export chroma.js as a common module
2023-03-22 21:02:53 +00:00
Beef
4d10691ac1 [TS] Various cleanups 2023-03-20 21:30:13 +00:00
Jack
13cf5e6872
[Utils] Remove copyText (#39)
[Cleanup] Fix imports
2023-03-20 20:11:27 +00:00
Jack
e000d8384c
[Metro] Implement findByName (#35)
* [Metro] Correct findByDisplayName behavior

* [Metro] Temporarily revert findByDisplayName to name filter
This is to allow plugin developers to switch their plugins to use findByName
2023-03-20 08:09:25 +00:00
Beef
e1e8012e60 [UI > ThemeCard] Allow manually refetching theme 2023-03-19 18:52:17 +00:00
Beef
f4fd8328b5 [Themes] Properly theme raw colors 2023-03-19 17:46:57 +00:00
Beef
85a83e4873
[Themes] Implement (#34)
* [Themes] Initial work

* [Themes] Read from __vendetta_themes and early UI (#36)

* [Themes] Read from `__vendetta_themes`

* [Themes] Save as JSON and native theming

* [Themes] Basic UI

* [Themes] Merge processed theme data

* [Themes] Import ReactNative from `@lib/preinit`, oraganize imports

* [Themes] Some minor cleanup

* [Themes] UI overhaul

* [Themes] Minor adjustments

* [Themes] Implement updates, make UI reactive-ish

* [Themes] Move to new format

* [Themes > UI] Last-minute ThemeCard changes

* [Themes] Properly support AMOLED

---------

Co-authored-by: Amsyar Rasyiq <82711525+amsyarasyiq@users.noreply.github.com>
2023-03-17 21:58:37 +00:00
Amsyar Rasyiq
7dc0b1286a
[Init] Implement error dialog for failed mod loading (#37)
* [Main] Implement error dialog for failed mod loading

* [Main] Initialize Vendetta from entry.js
2023-03-15 16:36:12 +00:00
Beef
abe307ee57 [Bugfix] Fix AMOLED state on 170.2+ 2023-03-08 20:50:15 +00:00
redstonekasi
c54f9fe426
[Utils] Fix findInTree (#32) 2023-03-08 00:39:11 +00:00
Beef
2201ff3a1d [Bugfix] Fix forced Hindi timestamps 2023-03-07 23:12:41 +00:00
redstonekasi
293c256dc9 [Build] Fix __vendettaVersion 2023-03-07 08:11:34 +00:00
Jack
dc5ad0ca1f
[UI > Summary] Add animation (#29) 2023-03-04 22:33:00 +00:00
Jack
6dff7f7119
[UI] Open invite in modal (#28)
* [Metro > Common] Have url find openDeeplink

* [Constants] Make invite a URL

* [UI > General] Open invite modal
2023-03-04 21:32:30 +00:00
Beef
7d36903b2c [Global] Code cleanup pass 2023-02-26 22:56:36 +00:00
Beef
69c2544b99 [TS] Use correct types for components 2023-02-26 22:24:38 +00:00
Jack
9fb99ced74
[UI] Alerts API (#21)
* [UI] Initial Alerts API

* [UI > Alerts] showCustomAlert and showInputAlert

* [Constants] Add HTTP_REGEX

* [UI > Plugins] Use InputAlert for installing plugins

* [UI > Plugins/PluginCard] Pass plugin index to PluginCard to add top margin

* [UI > Alerts] Fix indentation
2023-02-26 21:26:01 +00:00
Beef
c3f7d60d85 [UI] Implement and use ErrorBoundary 2023-02-26 02:20:01 +00:00
redstonekasi
8354b3806c
[Build] SWC-ify, allow classes and async arrow functions (#24)
* [Build] SWC-ify, allow classes and async arrow functions

* [Build] The SWC-ening is upon us.

* [Build] Tidy

* [Global] Make use of our newfound powers

* [Build] Call bundle.close when done

---------

Co-authored-by: Beef <beefers@riseup.net>
2023-02-26 00:34:16 +00:00
Beef
bd7926b423 [UI > Color] What are Discord doing? 2023-02-25 01:28:55 +00:00
redstonekasi
891a06a72b [TS] Add find and findAll types 2023-02-22 07:48:00 +00:00
Beef
d6a8dd6710 [UI] Move color variables 2023-02-21 18:15:50 +00:00
Beef
3f3bfcb78c [UI] Export and use color variables 2023-02-20 22:42:11 +00:00
Beef
7755f97ab2 [Plugins] Update disabled plugins 2023-02-20 18:58:07 +00:00
Beef
605fd3d73f [Plugins] Give plugins their ID on VendettaPluginObject 2023-02-20 18:47:30 +00:00
Beef
77dd4503b7 [Plugins] Properly handle errors in UI 2023-02-20 18:43:50 +00:00
Beef
a039d183b7 [Plugins] Tidy import code 2023-02-19 22:35:53 +00:00
Beef
6e75d64c05 [Plugins] Move plugin-specific logger 2023-02-19 22:29:25 +00:00
Jack Matthews
a13b6e210c [Plugins] Give plugins their own logger 2023-02-17 19:33:04 +00:00
Beef
c9aeefe419 [Plugins] Remove hash-updating TODO, as it is done 2023-02-16 02:17:38 +00:00
Beef
46487d2aee [UI > PluginCard] Some needed fixes 2023-02-16 02:16:51 +00:00
Beef
1071ae9d13 [UI > Plugins] PROPERLY fix plugin install icon 2023-02-15 17:40:15 +00:00
Beef
307cf453f5 [TS] Some cleanup 2023-02-14 18:51:45 +00:00
Beef
1ede4e088e [Metro > Common] Properly type moment 2023-02-14 18:35:48 +00:00
Beef
9080769a0c [Metro > Common] Add moment to common modules 2023-02-14 18:33:42 +00:00
Beef
eb90b0a21d [Metro] Fixups and tidying 2023-02-14 18:28:51 +00:00
Beef
97176f9d3f [Hotfix] Hopefully get Vendetta working 2023-02-13 23:44:32 +00:00
Beef
9989dfbf0d [TS] Type Summary component properly 2023-02-13 20:34:58 +00:00
Beef
67b501b974 [UI > Settings] Use Summary component 2023-02-13 20:20:24 +00:00
Beef
23e00b6237 [UI > Components] Add Summary, reorganise 2023-02-13 20:19:55 +00:00
Beef
371688c805 [Debug > getDebugInfo] Return loader version 2023-02-13 20:14:09 +00:00
Beef
2d6bf75871 [TS] Add missing definitions 2023-02-09 21:48:43 +00:00
redstonekasi
c2ebff3e93 [Plugins] Properly await plugin start in initialization 2023-02-08 21:06:57 +00:00
Jack
fec4c68f70
[UI] iOS UI fixes (#19)
* [UI > Developer] Move React DevTools FormDivider inside conditional inclusion

* [UI > Developer] Add FormDividers to Loader config

* [UI > General] Remove trailing FormDividers for versions and platform info

* [UI > Developer] Remove extraneous FormDivider
2023-02-06 08:34:22 +00:00
redstonekasi
1ae2da84fe [Backends] Create if file does not exist 2023-02-06 08:33:23 +00:00
redstonekasi
1840577fb5
[Global] Loader config and identity (#17)
* [TS] Add definition for DCDFileManager

* [Storage] Introduce backends

* [Settings] Add loader config

* [TS] Update storage definitions

* [TS] Update loader config and identity types

* [Loader] Expose loader config and identity

* [UI] Actually update UI for the new loader config fields
2023-02-06 07:48:55 +00:00
redstonekasi
cfccd5f5b2 [Plugins] Normalize ID in anything that uses them 2023-02-06 00:05:12 +00:00
Beef
6ed08a0ac9 [Plugins] Fix updating, and make it hash-based 2023-02-05 23:30:51 +00:00
redstonekasi
b0df91db7a [TS] Add definition for findByStoreName 2023-02-05 12:45:50 +00:00
Beef
421f7603cf [Plugins] I can be a little silly 2023-02-05 00:10:34 +00:00
Beef
a97293673d [UI] Move to Discord's navigation stack 2023-02-04 22:37:28 +00:00
Jack
2f856b3a72
[TS] Type clipboard common module (#15)
* [TS] Type clipboard common module

* [TS] Add a _ to Clipboard for style
2023-02-04 18:44:33 +00:00
Beef
1891a46eb9 [Metro > Common] Add commands module 2023-02-04 17:11:50 +00:00
Beef
119060a43b [Utils] Reorganise 2023-02-04 17:05:47 +00:00
Beef
2a50814721 [Utils > safeFetch] Implement 2023-02-04 16:54:03 +00:00
Beef
4108275946 [Utils > unfreeze] Actually expose 2023-02-04 02:37:36 +00:00
Beef
0ba9ee600c [Global] Major refactors, allow unloading! 2023-02-04 02:30:46 +00:00
Beef
0be8cdac05 [TS] Update definitions to match API 2023-02-04 02:29:45 +00:00
Beef
76ea19f8ef [Storage] Run prettier 2023-02-04 02:28:08 +00:00
Jack Matthews
ea7d4f06bf [UI] Add padding to Vendetta's pages 2023-01-30 23:31:01 +00:00
redstonekasi
2e6f9e238a [TS] Add definition for plugin object 2023-01-30 23:15:18 +00:00
redstonekasi
9e34b8c1f3 [TS] findByDisplayName default export is optional 2023-01-30 23:15:18 +00:00
Beef
09f4c37e94 [UI] Refactors all around 2023-01-30 22:56:48 +00:00
redstonekasi
473205a1ca [TS] Don't import Events 2023-01-30 19:17:00 +00:00
redstonekasi
b8e0e69fcb [Storage] Make methods properties in definition 2023-01-30 19:08:58 +00:00
redstonekasi
25b90e22d3 [Plugins] Fix plugin loading 2023-01-30 19:08:58 +00:00
redstonekasi
89b726cd97 [Storage] Add new API to window definition 2023-01-30 19:08:58 +00:00
redstonekasi
48edf97b9a [Storage] Add wrapSync promise accessor 2023-01-30 19:08:58 +00:00
Beef
44652c4002 [Plugins] Rework and refactor 2023-01-30 00:40:56 +00:00
redstonekasi
4c9fe8fcaf
[Storage] Rework everything (#10)
* [storage] rework everything

* [storage] expose createProxy

* [storage] add useProxy hook

* [storage] fix settings.ts

* [Storage] Implement wrapSync, fix UI

* [storage] fix storage

* [plugins] re-add plugin loading

* [storage] fix fix storage

* [storage] make wrapSync more magical

* [storage] save deletes

* [ui] hack around plugin removal... again

* [plugins] make plugin storage work

* [storage] expose api

---------

Co-authored-by: Beef <beefers@riseup.net>
2023-01-29 21:05:47 +00:00
Jack
7282d45d39
[Global] Basic commands api implementation (#9)
* [Global] Basic commands api implementation

* [Commands] Return unregister method when registering command

* [Commands] Code cleanup pass

Co-authored-by: Beef <beefers@riseup.net>
2023-01-25 08:28:48 +00:00
Beef
bff883ec30 [Storage] Remove TODO for typing 2023-01-17 08:02:50 +00:00
Beef
19359529e9 [Utils > unfreeze] Add 2023-01-17 08:02:27 +00:00
Beef
a9cc702956 [Metro] Hoist Discord's constants 2023-01-17 08:01:53 +00:00
Jack
da83d4756a [Settings > General] Accept discord server invite in-app (#4)
* [Settings > General] Make Discord Server button accept invite in-app

* [Settings > General] My changes

Co-authored-by: Beef <beefers@riseup.net>
2023-01-17 07:36:31 +00:00
redstonekasi
71f687e345 [Types] Type MMKVManager 2023-01-17 00:07:11 +00:00
Jack Matthews
3c95bb1024 [Metro > Common] Switch clipboard to @react-native-clipboard/clipboard
This library has added functionality, and the included clipboard is deprecated.
2023-01-17 00:07:03 +00:00
Beef
818573a228 [Storage] Move to MMKVManager 2023-01-16 23:08:09 +00:00
Beef
af936940a0 [UI > PluginCard] Fix crash with icon 2023-01-16 08:11:46 +00:00
Beef
66e84ecd8d [TS] Don't use specific PlatformConstants import 2023-01-14 16:24:14 +00:00
Beef
6764b07727 [UI > Subpage] Fix Tabs V2 crash 2023-01-14 16:05:37 +00:00
Beef
82e41a5c27 [TS] Properly type RN.Platform.constants 2023-01-14 16:05:08 +00:00
Beef
dee5ed0172 [UI] Overall cleanup and fixes 2023-01-14 02:41:28 +00:00
Beef
a8b5beff6e [Cleanup] Several small cleanups 2023-01-14 02:39:10 +00:00
Beef
8dd1423440 [UI > PluginCard] Revert using state variables 2023-01-11 22:56:57 +00:00