/* GoToSocial Copyright (C) 2021-2022 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 Promise = require("bluebird"); const React = require("react"); const Redux = require("react-redux"); const syncpipe = require("syncpipe"); const { useTextInput, useComboBoxInput } = require("../../../components/form"); const { CategorySelect } = require('../category-select'); const query = require("../../../lib/query"); const Loading = require("../../../components/loading"); module.exports = function ParseFromToot({ emojiCodes }) { const [searchStatus, { data, isLoading, isSuccess, error }] = query.useSearchStatusForEmojiMutation(); const instanceDomain = Redux.useSelector((state) => (new URL(state.oauth.instance).host)); const [onURLChange, _resetURL, { url }] = useTextInput("url"); const searchResult = React.useMemo(() => { if (!isSuccess) { return null; } if (data.type == "none") { return "No results found"; } if (data.domain == instanceDomain) { return This is a local user/toot, all referenced emoji are already on your instance; } if (data.list.length == 0) { return This {data.type == "statuses" ? "toot" : "account"} doesn't use any custom emoji; } return ( ); }, [isSuccess, data, instanceDomain, emojiCodes]); function submitSearch(e) { e.preventDefault(); searchStatus(url); } return (

Steal this look