diff options
author | 2023-03-29 12:18:45 +0200 | |
---|---|---|
committer | 2023-03-29 12:18:45 +0200 | |
commit | 0746ef741a51bd8f92ca5e07dfb9f35b66f4cf06 (patch) | |
tree | 3c70da50eea8bad5db78dff5ce3a7a93dfefa36b /web/source/settings/components | |
parent | [bugfix] Remove unique constraint on public_key (#1653) (diff) | |
download | gotosocial-0746ef741a51bd8f92ca5e07dfb9f35b66f4cf06.tar.xz |
[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
Diffstat (limited to 'web/source/settings/components')
-rw-r--r-- | web/source/settings/components/nav-button.jsx | 34 | ||||
-rw-r--r-- | web/source/settings/components/user-logout-card.jsx | 47 |
2 files changed, 47 insertions, 34 deletions
diff --git a/web/source/settings/components/nav-button.jsx b/web/source/settings/components/nav-button.jsx deleted file mode 100644 index a63382c1a..000000000 --- a/web/source/settings/components/nav-button.jsx +++ /dev/null @@ -1,34 +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 { Link, useRoute } = require("wouter"); - -module.exports = function NavButton({ href, name }) { - const [isActive] = useRoute(`${href}/:anything?`); - return ( - <Link href={href}> - <a className={isActive ? "active" : ""} data-content={name}> - {name} - </a> - </Link> - ); -};
\ No newline at end of file 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 <http://www.gnu.org/licenses/>. +*/ + +"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 <Loading />; + } else { + return ( + <div className="account-card"> + <img className="avatar" src={profile.avatar} alt="" /> + <h3 className="text-cutoff">{profile.display_name?.length > 0 ? profile.display_name : profile.acct}</h3> + <span className="text-cutoff">@{profile.username}@{instance?.account_domain}</span> + <a onClick={logoutQuery} href="#" aria-label="Log out" title="Log out" className="logout"> + <i className="fa fa-fw fa-sign-out" aria-hidden="true" /> + </a> + </div> + ); + } +};
\ No newline at end of file |