summaryrefslogtreecommitdiff
path: root/web/source/settings/admin/federation/import-export/form.jsx
diff options
context:
space:
mode:
authorLibravatar tobi <31960611+tsmethurst@users.noreply.github.com>2023-10-17 12:46:06 +0200
committerLibravatar GitHub <noreply@github.com>2023-10-17 12:46:06 +0200
commit637f188ebec71fe4b0b80bbab4592d4c269d7d93 (patch)
tree6e1136dee4d854af021e0a571a67038d32083e4b /web/source/settings/admin/federation/import-export/form.jsx
parent[chore]: Bump github.com/microcosm-cc/bluemonday from 1.0.25 to 1.0.26 (#2266) (diff)
downloadgotosocial-637f188ebec71fe4b0b80bbab4592d4c269d7d93.tar.xz
[feature] Allow import/export/creation of domain allows via admin panel (#2264)v0.12.0-rc1
* it's happening! * aaa * fix silly whoopsie * it's working pa! it's working ma! * model report parameters * shuffle some more stuff around * getting there * oo hoo * finish tidying up for now * aaa * fix use form submit errors * peepee poo poo * aaaaa * ffff * they see me typin', they hatin' * boop * aaa * oooo * typing typing tappa tappa * almost done typing * weee * alright * push it push it real good doo doo doo doo doo doo * thingy no worky * almost done * mutation modifers not quite right * hmm * it works * view blocks + allows nicely * it works! * typia install * the old linterino * linter plz
Diffstat (limited to 'web/source/settings/admin/federation/import-export/form.jsx')
-rw-r--r--web/source/settings/admin/federation/import-export/form.jsx124
1 files changed, 0 insertions, 124 deletions
diff --git a/web/source/settings/admin/federation/import-export/form.jsx b/web/source/settings/admin/federation/import-export/form.jsx
deleted file mode 100644
index 2086739e3..000000000
--- a/web/source/settings/admin/federation/import-export/form.jsx
+++ /dev/null
@@ -1,124 +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 query = require("../../../lib/query");
-const useFormSubmit = require("../../../lib/form/submit");
-
-const {
- TextArea,
- Select,
-} = require("../../../components/form/inputs");
-
-const MutationButton = require("../../../components/form/mutation-button");
-
-const { Error } = require("../../../components/error");
-const ExportFormatTable = require("./export-format-table");
-
-module.exports = function ImportExportForm({ form, submitParse, parseResult }) {
- const [submitExport, exportResult] = useFormSubmit(form, query.useExportDomainListMutation());
-
- function fileChanged(e) {
- const reader = new FileReader();
- reader.onload = function (read) {
- form.domains.value = read.target.result;
- submitParse();
- };
- reader.readAsText(e.target.files[0]);
- }
-
- React.useEffect(() => {
- if (exportResult.isSuccess) {
- form.domains.setter(exportResult.data);
- }
- /* eslint-disable-next-line react-hooks/exhaustive-deps */
- }, [exportResult]);
-
- return (
- <>
- <h1>Import / Export suspended domains</h1>
- <p>
- This page can be used to import and export lists of domains to suspend.
- Exports can be done in various formats, with varying functionality and support in other software.
- Imports will automatically detect what format is being processed.
- </p>
- <ExportFormatTable />
- <div className="import-export">
- <TextArea
- field={form.domains}
- label="Domains"
- placeholder={`google.com\nfacebook.com`}
- rows={8}
- />
-
- <div className="button-grid">
- <MutationButton
- label="Import"
- type="button"
- onClick={() => submitParse()}
- result={parseResult}
- showError={false}
- />
- <label className="button with-icon">
- <i className="fa fa-fw " aria-hidden="true" />
- Import file
- <input
- type="file"
- className="hidden"
- onChange={fileChanged}
- accept="application/json,text/plain,text/csv"
- />
- </label>
- <b /> {/* grid filler */}
- <MutationButton
- label="Export"
- type="button"
- onClick={() => submitExport("export")}
- result={exportResult} showError={false}
- />
- <MutationButton
- label="Export to file"
- wrapperClassName="export-file-button"
- type="button"
- onClick={() => submitExport("export-file")}
- result={exportResult}
- showError={false}
- />
- <div className="export-file">
- <span>
- as
- </span>
- <Select
- field={form.exportType}
- options={<>
- <option value="plain">Text</option>
- <option value="json">JSON</option>
- <option value="csv">CSV</option>
- </>}
- />
- </div>
- </div>
-
- {parseResult.error && <Error error={parseResult.error} />}
- {exportResult.error && <Error error={exportResult.error} />}
- </div>
- </>
- );
-}; \ No newline at end of file