From 0746ef741a51bd8f92ca5e07dfb9f35b66f4cf06 Mon Sep 17 00:00:00 2001 From: f0x52 Date: Wed, 29 Mar 2023 12:18:45 +0200 Subject: [frontend] Settings navigation design (#1652) * change header image alignment (cherry picked from commit df1bb339a5c597a2b668cedb3dafec5a390df120) * big mess navigation refactor * bit of cleanup * minor css tweaks * fix error rendering code for remote emoji * refactor navigation structure code * refactor styling * fix className * stash * restructure navigation generation * url wildcard formatting * remove un-implemented User menu entry * remove commented lines * clarify permissions check * invert permissions logic for clarity --- .../settings/components/user-logout-card.jsx | 47 ++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 web/source/settings/components/user-logout-card.jsx (limited to 'web/source/settings/components/user-logout-card.jsx') diff --git a/web/source/settings/components/user-logout-card.jsx b/web/source/settings/components/user-logout-card.jsx new file mode 100644 index 000000000..902d545bc --- /dev/null +++ b/web/source/settings/components/user-logout-card.jsx @@ -0,0 +1,47 @@ +/* + 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 . +*/ + +"use strict"; + +const React = require("react"); + +const query = require("../lib/query"); + +const Loading = require("./loading"); + +module.exports = function UserLogoutCard() { + const { data: profile, isLoading } = query.useVerifyCredentialsQuery(); + const { data: instance } = query.useInstanceQuery(); + const [logoutQuery] = query.useLogoutMutation(); + + if (isLoading) { + return ; + } else { + return ( +
+ +

{profile.display_name?.length > 0 ? profile.display_name : profile.acct}

+ @{profile.username}@{instance?.account_domain} + +