/*
	GoToSocial
	Copyright (C) 2021-2023 GoToSocial Authors admin@gotosocial.org
	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 .
*/
"use strict";
const React = require("react");
const { useRoute, Link, Redirect } = require("wouter");
const query = require("../../../lib/query");
const { useComboBoxInput, useFileInput, useValue } = require("../../../lib/form");
const { CategorySelect } = require("../category-select");
const useFormSubmit = require("../../../lib/form/submit");
const FakeToot = require("../../../components/fake-toot");
const FormWithData = require("../../../lib/form/form-with-data");
const Loading = require("../../../components/loading");
const { FileInput } = require("../../../components/form/inputs");
const MutationButton = require("../../../components/form/mutation-button");
const { Error } = require("../../../components/error");
const base = "/settings/custom-emoji/local";
module.exports = function EmojiDetailRoute() {
	let [_match, params] = useRoute(`${base}/:emojiId`);
	if (params?.emojiId == undefined) {
		return ;
	} else {
		return (
			
		);
	}
};
function EmojiDetailForm({ data: emoji }) {
	const form = {
		id: useValue("id", emoji.id),
		category: useComboBoxInput("category", { defaultValue: emoji.category }),
		image: useFileInput("image", {
			withPreview: true,
			maxSize: 50 * 1024 // TODO: get from instance api
		})
	};
	const [modifyEmoji, result] = useFormSubmit(form, query.useEditEmojiMutation());
	// Automatic submitting of category change
	React.useEffect(() => {
		if (
			form.category.hasChanged() &&
			!form.category.state.open &&
			!form.category.isNew) {
			modifyEmoji();
		}
		/* eslint-disable-next-line react-hooks/exhaustive-deps */
	}, [form.category.hasChanged(), form.category.isNew, form.category.state.open]);
	const [deleteEmoji, deleteResult] = query.useDeleteEmojiMutation();
	if (deleteResult.isSuccess) {
		return ;
	}
	return (
		<>
			
				 
				
					
{emoji.shortcode}
					 deleteEmoji(emoji.id)}
						className="danger"
						showError={false}
						result={deleteResult}
					/>
				
			 
			
		>
	);
}