summaryrefslogtreecommitdiff
path: root/web/source/settings/admin/emoji/local/new-emoji.js
diff options
context:
space:
mode:
authorLibravatar tobi <31960611+tsmethurst@users.noreply.github.com>2024-04-13 13:25:10 +0200
committerLibravatar GitHub <noreply@github.com>2024-04-13 13:25:10 +0200
commit89e0cfd8741b6763ca04e90558bccf4c3c380cfa (patch)
tree5858ada73473816fa1982f12717b66996d163f9d /web/source/settings/admin/emoji/local/new-emoji.js
parent[performance] update GetAccountsByIDs() to use the new multi cache loader end... (diff)
downloadgotosocial-89e0cfd8741b6763ca04e90558bccf4c3c380cfa.tar.xz
[feature] Admin accounts endpoints; approve/reject sign-ups (#2826)
* update settings panels, add pending overview + approve/deny functions * add admin accounts get, approve, reject * send approved/rejected emails * use signup URL * docs! * email * swagger * web linting * fix email tests * wee lil fixerinos * use new paging logic for GetAccounts() series of admin endpoints, small changes to query building * shuffle useAccountIDIn check *before* adding to query * fix parse from toot react error * use `netip.Addr` * put valid slices in globals * optimistic updates for account state --------- Co-authored-by: kim <grufwub@gmail.com>
Diffstat (limited to 'web/source/settings/admin/emoji/local/new-emoji.js')
-rw-r--r--web/source/settings/admin/emoji/local/new-emoji.js112
1 files changed, 0 insertions, 112 deletions
diff --git a/web/source/settings/admin/emoji/local/new-emoji.js b/web/source/settings/admin/emoji/local/new-emoji.js
deleted file mode 100644
index 6c0d0f2f4..000000000
--- a/web/source/settings/admin/emoji/local/new-emoji.js
+++ /dev/null
@@ -1,112 +0,0 @@
-/*
- GoToSocial
- Copyright (C) GoToSocial Authors admin@gotosocial.org
- SPDX-License-Identifier: AGPL-3.0-or-later
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU Affero General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU Affero General Public License for more details.
-
- You should have received a copy of the GNU Affero General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-const React = require("react");
-
-const {
- useFileInput,
- useComboBoxInput
-} = require("../../../lib/form");
-const useShortcode = require("./use-shortcode");
-
-const useFormSubmit = require("../../../lib/form/submit").default;
-
-const {
- TextInput, FileInput
-} = require("../../../components/form/inputs");
-
-const { CategorySelect } = require('../category-select');
-const FakeToot = require("../../../components/fake-toot");
-const MutationButton = require("../../../components/form/mutation-button");
-const { useAddEmojiMutation } = require("../../../lib/query/admin/custom-emoji");
-const { useInstanceV1Query } = require("../../../lib/query");
-
-module.exports = function NewEmojiForm() {
- const shortcode = useShortcode();
-
- const { data: instance } = useInstanceV1Query();
- const emojiMaxSize = React.useMemo(() => {
- return instance?.configuration?.emojis?.emoji_size_limit ?? 50 * 1024;
- }, [instance]);
-
- const image = useFileInput("image", {
- withPreview: true,
- maxSize: emojiMaxSize
- });
-
- const category = useComboBoxInput("category");
-
- const [submitForm, result] = useFormSubmit({
- shortcode, image, category
- }, useAddEmojiMutation());
-
- React.useEffect(() => {
- if (shortcode.value.length == 0) {
- if (image.value != undefined) {
- let [name, _ext] = image.value.name.split(".");
- shortcode.setter(name);
- }
- }
-
- /* We explicitly don't want to have 'shortcode' as a dependency here
- because we only want to change the shortcode to the filename if the field is empty
- at the moment the file is selected, not some time after when the field is emptied
- */
- /* eslint-disable-next-line react-hooks/exhaustive-deps */
- }, [image.value]);
-
- let emojiOrShortcode = `:${shortcode.value}:`;
-
- if (image.previewValue != undefined) {
- emojiOrShortcode = <img
- className="emoji"
- src={image.previewValue}
- title={`:${shortcode.value}:`}
- alt={shortcode.value}
- />;
- }
-
- return (
- <div>
- <h2>Add new custom emoji</h2>
-
- <FakeToot>
- Look at this new custom emoji {emojiOrShortcode} isn&apos;t it cool?
- </FakeToot>
-
- <form onSubmit={submitForm} className="form-flex">
- <FileInput
- field={image}
- accept="image/png,image/gif,image/webp"
- />
-
- <TextInput
- field={shortcode}
- label="Shortcode, must be unique among the instance's local emoji"
- />
-
- <CategorySelect
- field={category}
- />
-
- <MutationButton label="Upload emoji" result={result} />
- </form>
- </div>
- );
-}; \ No newline at end of file