summaryrefslogtreecommitdiff
path: root/web/source/settings/admin/settings.js
diff options
context:
space:
mode:
Diffstat (limited to 'web/source/settings/admin/settings.js')
-rw-r--r--web/source/settings/admin/settings.js127
1 files changed, 0 insertions, 127 deletions
diff --git a/web/source/settings/admin/settings.js b/web/source/settings/admin/settings.js
deleted file mode 100644
index ec986a6c4..000000000
--- a/web/source/settings/admin/settings.js
+++ /dev/null
@@ -1,127 +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/>.
-*/
-
-"use strict";
-
-const React = require("react");
-
-const query = require("../lib/query");
-
-const {
- useTextInput,
- useFileInput
-} = require("../lib/form");
-
-const useFormSubmit = require("../lib/form/submit");
-
-const {
- TextInput,
- TextArea,
- FileInput
-} = require("../components/form/inputs");
-
-const FormWithData = require("../lib/form/form-with-data");
-const MutationButton = require("../components/form/mutation-button");
-
-module.exports = function AdminSettings() {
- return (
- <FormWithData
- dataQuery={query.useInstanceQuery}
- DataForm={AdminSettingsForm}
- />
- );
-};
-
-function AdminSettingsForm({ data: instance }) {
- const form = {
- title: useTextInput("title", {
- source: instance,
- validator: (val) => val.length <= 40 ? "" : "Instance title must be 40 characters or less"
- }),
- thumbnail: useFileInput("thumbnail", { withPreview: true }),
- thumbnailDesc: useTextInput("thumbnail_description", { source: instance }),
- shortDesc: useTextInput("short_description", { source: instance }),
- description: useTextInput("description", { source: instance }),
- contactUser: useTextInput("contact_username", { source: instance, valueSelector: (s) => s.contact_account?.username }),
- contactEmail: useTextInput("contact_email", { source: instance, valueSelector: (s) => s.email }),
- terms: useTextInput("terms", { source: instance })
- };
-
- const [submitForm, result] = useFormSubmit(form, query.useUpdateInstanceMutation());
-
- return (
- <form onSubmit={submitForm}>
- <h1>Instance Settings</h1>
- <TextInput
- field={form.title}
- label="Title"
- placeholder="My GoToSocial instance"
- />
-
- <div className="file-upload">
- <h3>Instance thumbnail</h3>
- <div>
- <img className="preview avatar" src={form.thumbnail.previewValue ?? instance.thumbnail} alt={form.thumbnailDesc.value ?? (instance.thumbnail ? `Thumbnail image for the instance` : "No instance thumbnail image set")} />
- <FileInput
- field={form.thumbnail}
- accept="image/*"
- />
- </div>
- </div>
-
- <TextInput
- field={form.thumbnailDesc}
- label="Instance thumbnail description"
- placeholder="A cute drawing of a smiling sloth."
- />
-
- <TextArea
- field={form.shortDesc}
- label="Short description"
- placeholder="A small testing instance for the GoToSocial alpha software."
- />
-
- <TextArea
- field={form.description}
- label="Full description"
- placeholder="A small testing instance for the GoToSocial alpha software. Just trying it out, my main instance is https://example.com"
- />
-
- <TextInput
- field={form.contactUser}
- label="Contact user (local account username)"
- placeholder="admin"
- />
-
- <TextInput
- field={form.contactEmail}
- label="Contact email"
- placeholder="admin@example.com"
- />
-
- <TextArea
- field={form.terms}
- label="Terms & Conditions"
- placeholder=""
- />
-
- <MutationButton label="Save" result={result} />
- </form>
- );
-} \ No newline at end of file