gotosocial/web/source/settings/views/user/menu.tsx
tobi fd64a1e264 [feature] Add "Instance Info" settings panel section, with domain blocks + allows (#4193)
This pull request adds a new read-only, user-level "instance info" section to the settings panel, which presents api/v2/instance info in a nice readable format, and also gives the user authenticated access to the blocklist and allowlist of the domain.

Closes https://codeberg.org/superseriousbusiness/gotosocial/issues/3711
Reviewed-on: https://codeberg.org/superseriousbusiness/gotosocial/pulls/4193
Co-authored-by: tobi <tobi.smethurst@protonmail.com>
Co-committed-by: tobi <tobi.smethurst@protonmail.com>
2025-05-26 13:28:55 +02:00

95 lines
2.1 KiB
TypeScript

/*
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/>.
*/
import { MenuItem } from "../../lib/navigation/menu";
import React from "react";
/**
* - /settings/user/profile
* - /settings/user/posts
* - /settings/user/emailpassword
* - /settings/user/migration
*/
export default function UserMenu() {
return (
<MenuItem
name="User"
itemUrl="user"
defaultChild="profile"
>
<MenuItem
name="Profile"
itemUrl="profile"
icon="fa-user"
/>
<MenuItem
name="Account"
itemUrl="account"
icon="fa-user-secret"
/>
<MenuItem
name="Posts"
itemUrl="posts"
icon="fa-paper-plane"
/>
<MenuItem
name="Interaction Requests"
itemUrl="interaction_requests"
icon="fa-commenting-o"
/>
<MenuItem
name="Migration"
itemUrl="migration"
icon="fa-exchange"
/>
<MenuItem
name="Export & Import"
itemUrl="export-import"
icon="fa-floppy-o"
/>
<MenuItem
name="Access Tokens"
itemUrl="tokens"
icon="fa-certificate"
/>
<MenuItem
name="Applications"
itemUrl="applications"
defaultChild="search"
icon="fa-plug"
>
<MenuItem
name="Search"
itemUrl="search"
icon="fa-list"
/>
<MenuItem
name="New Application"
itemUrl="new"
icon="fa-plus"
/>
</MenuItem>
<MenuItem
name="Instance Info"
itemUrl="instance-info"
icon="fa-info"
/>
</MenuItem>
);
}