Files
Masto/app/javascript/flavours/glitch/features/local_settings/navigation/index.jsx
T
Zoë Bijl cb0ad15138 [feature] replace icons with Phosphor (#77)
Replaces all icons with the [Phosphor icon set](https://phosphoricons.com/). To accomodate these icons this also touches general style of buttons, headings, and other containers of icons.

I want to give a massive shout out to [Niléane](https://nileane.fr/@nileane) and her project [Tangerine UI](https://github.com/nileane/TangerineUI-for-Mastodon). Most of the icons/adjustments I’ve made are based on her choices and work.

Reviewed-on: https://codeberg.org/superseriousbusiness/masto-fe-standalone/pulls/77

Contains:

commit 4cd78295dd
Author: Zoë Bijl <code@moiety.me>
Date:   Tue Oct 14 13:57:50 2025 +0200

    [bugfix] increase contrast for spoiler link

commit 4594e776e0
Author: Zoë Bijl <code@moiety.me>
Date:   Tue Oct 14 13:48:05 2025 +0200

    [bugfix] increase contrast for “secondary” in light mode

    Increase the contrast for icons, usernames, and some other places

commit 7db3518be7
Author: Zoë Bijl <code@moiety.me>
Date:   Tue Oct 14 13:39:36 2025 +0200

    [bugfix] increase size of overlayed buttons

    …such as the hide sensitive content button

commit 3fd37bbfa5
Author: Zoë Bijl <code@moiety.me>
Date:   Tue Oct 14 13:29:22 2025 +0200

    [bugfix] resize three dot menu next to user

commit 82a4b2b8d9
Author: Zoë Bijl <code@moiety.me>
Date:   Tue Oct 14 13:23:29 2025 +0200

    [bugfix] use correct icon name

commit 470cb995f9
Author: Zoë Bijl <code@moiety.me>
Date:   Tue Oct 14 12:55:27 2025 +0200

    [bugfix] add back translation for pin/unpin button

    https://codeberg.org/superseriousbusiness/masto-fe-standalone/pulls/77#issuecomment-7718876

commit 255b64c8f7
Author: Zoë Bijl <code@moiety.me>
Date:   Tue Oct 14 12:22:34 2025 +0200

    [bugfix] restore title functionality for icons

    the `title`-attribute doesn’t work on `<SVG>`-elements. the way to do it is with a nested `<title>`-element. this adds this functionality

commit 9c25c362fb
Author: Zoë Bijl <code@moiety.me>
Date:   Tue Oct 14 11:54:44 2025 +0200

    [bugfix] remove import of Icon

    This gave me an error yesterday i think, but seems fine now, so 🤷🏻‍♀️.

    From review: https://codeberg.org/superseriousbusiness/masto-fe-standalone/pulls/77#issuecomment-7719077

commit 36065d03fb
Author: Zoë Bijl <code@moiety.me>
Date:   Tue Oct 14 10:43:02 2025 +0200

    [docs] update changelog

commit 80cb9ef0c5
Author: Zoë Bijl <code@moiety.me>
Date:   Tue Oct 14 10:09:10 2025 +0200

    [bugfix] first pass at deduping and sorting

commit 59beb08921
Author: Zoë Bijl <code@moiety.me>
Date:   Tue Oct 14 01:59:50 2025 +0200

    fix lint issues

commit 3ffcdffdf1
Author: Zoë Bijl <code@moiety.me>
Date:   Tue Oct 14 01:53:24 2025 +0200

    liint

commit cda2a62ee5
Author: Zoë Bijl <code@moiety.me>
Date:   Tue Oct 14 01:46:50 2025 +0200

    lint

commit 373b756e8a
Author: Zoë Bijl <code@moiety.me>
Date:   Tue Oct 14 00:55:35 2025 +0200

    rename calls

commit d53ca0d990
Author: Zoë Bijl <code@moiety.me>
Date:   Tue Oct 14 00:52:25 2025 +0200

    rename icon components

commit 07a1e149e1
Author: Zoë Bijl <code@moiety.me>
Date:   Tue Oct 14 00:45:21 2025 +0200

    [feature] change _all_ remaining icons

commit 53fdc6b82f
Author: Zoë Bijl <code@moiety.me>
Date:   Mon Oct 13 20:17:04 2025 +0200

    [feature] change upload form icons

commit d143b433b2
Author: Zoë Bijl <code@moiety.me>
Date:   Mon Oct 13 13:56:27 2025 +0200

    [bugfix] allow icon with badge to expand horizontally

    This allows it to contain more numbers / text. Getting double digit notifications for example. Or the follow request cap '40+' text.

commit b737f07676
Author: Zoë Bijl <code@moiety.me>
Date:   Mon Oct 13 13:46:13 2025 +0200

    [bugfix] import correct component for “follow request” menu item

commit 03205b05a9
Author: Zoë Bijl <code@moiety.me>
Date:   Mon Oct 13 13:07:40 2025 +0200

    [feature] update follow request icons

commit 199db8b9af
Author: Zoë Bijl <code@moiety.me>
Date:   Mon Oct 13 01:40:23 2025 +0200

    [feature] change video player controls

commit 9fcbf23274
Author: Zoë Bijl <code@moiety.me>
Date:   Sun Oct 12 14:07:37 2025 +0200

    [feature] change unlisted status icon to an open padlock

    Custom made icon based on Phosphor. I flipped the “lock” bit so it’s easier to distinguish.

commit a359bf4ab1
Author: Zoë Bijl <code@moiety.me>
Date:   Fri Oct 10 17:30:10 2025 +0200

    [build] add regex for stylelint/custom-property-pattern

    Example: https://regex101.com/r/eITX54/1

commit 972624b360
Author: Zoë Bijl <code@moiety.me>
Date:   Fri Oct 10 15:52:28 2025 +0200

    [build] edit custom-property-pattern

commit caf3c1e41a
Author: Zoë Bijl <code@moiety.me>
Date:   Fri Oct 10 15:46:05 2025 +0200

    [bugfix] fix media modal icons

commit 3d2df89ab5
Author: Zoë Bijl <code@moiety.me>
Date:   Fri Oct 10 15:35:59 2025 +0200

    [bugfix] correct notification filter bar colours

commit 36308a2234
Author: Zoë Bijl <code@moiety.me>
Date:   Fri Oct 10 15:30:48 2025 +0200

    [bugfix] fix account search result styling

commit eea1c0315b
Author: Zoë Bijl <code@moiety.me>
Date:   Fri Oct 10 15:30:17 2025 +0200

    [bugfix] fix drawer colours

commit c2140a4be1
Author: Zoë Bijl <code@moiety.me>
Date:   Fri Oct 10 15:29:37 2025 +0200

    [bugfix] fix search styling

commit 22c7fc2491
Author: Zoë Bijl <code@moiety.me>
Date:   Fri Oct 10 15:28:48 2025 +0200

    [feature] change icons to Phosphor

commit f1eeb89908
Author: Zoë Bijl <code@moiety.me>
Date:   Fri Oct 10 14:23:29 2025 +0200

    [bugfix] properly set colors for lightmode

commit 7138e11984
Author: Zoë Bijl <code@moiety.me>
Date:   Fri Oct 10 14:22:59 2025 +0200

    [feature] use css variables for select component

    - Search field
    - Notifications filter bar/account post bar
    - Status prepend part ('x' boosted)
    - body background color

commit b91f194012
Author: Zoë Bijl <code@moiety.me>
Date:   Fri Oct 10 13:58:45 2025 +0200

    [bugfix] set font-weight on account portion of the display name

commit 49ebf988a4
Author: Zoë Bijl <code@moiety.me>
Date:   Fri Oct 10 12:16:41 2025 +0200

    [chore] correct path to login.css

commit 6433626943
Author: Zoë Bijl <code@moiety.me>
Date:   Fri Oct 10 12:10:54 2025 +0200

    [chore] fix lint issues

commit 9034a3d103
Author: Zoë Bijl <code@moiety.me>
Date:   Fri Oct 10 12:10:38 2025 +0200

    [chore] update stylelint rules

commit 5d5325d067
Author: Zoë Bijl <code@moiety.me>
Date:   Fri Oct 10 12:02:52 2025 +0200

    [bugfix] style `.gts-icon-with-badge`

    Fixes styling for the notification badge

commit fbd22639d9
Author: Zoë Bijl <code@moiety.me>
Date:   Fri Oct 10 09:30:14 2025 +0200

    icon badge style

commit 7f1c3fd388
Author: Zoë Bijl <code@moiety.me>
Date:   Fri Oct 10 09:03:07 2025 +0200

    [chore] fix lint issues

commit 5e063da784
Author: Zoë Bijl <code@moiety.me>
Date:   Fri Oct 10 01:01:35 2025 +0200

    [feature] change icon for “new list” button

commit c22c8ea097
Author: Zoë Bijl <code@moiety.me>
Date:   Thu Oct 9 23:50:28 2025 +0200

    [chore] add debug style for `.fa`

    I want to remove all FontAwesome from the project. This will help find any that are left over.

commit f236962403
Author: Zoë Bijl <code@moiety.me>
Date:   Thu Oct 9 23:49:39 2025 +0200

    [feature] change “local only” status icon

commit 94a1ec45c2
Author: Zoë Bijl <code@moiety.me>
Date:   Thu Oct 9 23:31:42 2025 +0200

    [bugfix] properly align account buttons

commit 7adcf93c80
Author: Zoë Bijl <code@moiety.me>
Date:   Thu Oct 9 23:31:25 2025 +0200

    [bugfix] set border radius on smaller screens

commit 8ad4c08069
Author: Zoë Bijl <code@moiety.me>
Date:   Thu Oct 9 23:03:15 2025 +0200

    [feature] remove icons from notification purge bar

commit 457c3c2910
Author: Zoë Bijl <code@moiety.me>
Date:   Thu Oct 9 19:49:49 2025 +0200

    [feature] change list edit buttons

commit 046be63ed6
Author: Zoë Bijl <code@moiety.me>
Date:   Thu Oct 9 18:15:14 2025 +0200

    [feature] update dismissible banner icon

commit 506e59034b
Author: Zoë Bijl <code@moiety.me>
Date:   Thu Oct 9 15:08:15 2025 +0200

    [feature] change header pin state/move icons

commit d97df4b87f
Author: Zoë Bijl <code@moiety.me>
Date:   Thu Oct 9 11:42:55 2025 +0200

    [chore] fix lint:js errors

commit b418204ae3
Author: Zoë Bijl <code@moiety.me>
Date:   Thu Oct 9 09:50:37 2025 +0200

    [chore] fix lint:js errors

    …related to the icons

commit 415b05d20a
Author: Zoë Bijl <code@moiety.me>
Date:   Wed Oct 8 13:44:51 2025 +0200

    [feature] replace column move icons

commit 14f119be65
Author: Zoë Bijl <code@moiety.me>
Date:   Wed Oct 8 13:38:18 2025 +0200

    [bugfix] hide overflow text

commit 6fb2dd73be
Author: Zoë Bijl <code@moiety.me>
Date:   Wed Oct 8 12:05:25 2025 +0200

    [feature] improve status-prepend display name hover state

commit f8f0b403af
Author: Zoë Bijl <code@moiety.me>
Date:   Wed Oct 8 11:55:57 2025 +0200

    [bugfix] uncomment slim back button styles

commit 8b254ae288
Author: Zoë Bijl <code@moiety.me>
Date:   Wed Oct 8 11:44:54 2025 +0200

    [feature] refactor status styling

    This does a bunch of stuff:

    - split out status components into their own file
    - unify spacing within a status
    - outline all icons
    - neatly fade the overflow part of a username
    - add underlines to username links when appropriate
    - correctly size all icons in a status
    - restyle spoiler link (content warning button)

commit ebfbed0553
Author: Zoë Bijl <code@moiety.me>
Date:   Wed Oct 8 11:40:18 2025 +0200

    [feature] change content warning state icon

commit f70946ef48
Author: Zoë Bijl <code@moiety.me>
Date:   Wed Oct 8 11:26:22 2025 +0200

    [bugfix] remove unnecessary `<span>`

commit 312b157581
Author: Zoë Bijl <code@moiety.me>
Date:   Wed Oct 8 11:15:07 2025 +0200

    [bugfix] correctly align status prepend

commit 2cd3a82fc7
Author: Zoë Bijl <code@moiety.me>
Date:   Wed Oct 8 11:04:39 2025 +0200

    [bugfix] set correct icon state in detailed status view

    This change was already made for the normal status view. It sets the icon to be filled when a status is boosted or favourited. Also forgoing the need for the Glitch checkmark.

commit e1c1325905
Author: Zoë Bijl <code@moiety.me>
Date:   Wed Oct 8 11:02:58 2025 +0200

    [feature] replace load-gap icon

commit d483cab118
Author: Zoë Bijl <code@moiety.me>
Date:   Wed Oct 8 11:00:05 2025 +0200

    [feature] align `drawer` and `compose-panel` components

    - Neatly aligns both the `.drawer` and `.compose-panel` components
    - Fixes `.search__input` padding  when inside the `.compose-panel`

commit 3c85b02b51
Author: Zoë Bijl <code@moiety.me>
Date:   Wed Oct 8 10:52:37 2025 +0200

    [feature] add “sizes” variables file

commit 7a4b9c6634
Author: Zoë Bijl <code@moiety.me>
Date:   Tue Oct 7 17:26:30 2025 +0200

    [feature] space out status action bar items

commit ebfd05be3d
Author: Zoë Bijl <code@moiety.me>
Date:   Tue Oct 7 17:25:49 2025 +0200

    [bugfix] remove “sticky” background on focus

commit a977011b34
Author: Zoë Bijl <code@moiety.me>
Date:   Tue Oct 7 17:24:52 2025 +0200

    [feature] refactor status prepend box

commit 52fbda27ed
Author: Zoë Bijl <code@moiety.me>
Date:   Tue Oct 7 17:20:44 2025 +0200

    [feature] add GTS specific CSS

    provides a space to place rewritten CSS; should help keep track of what has been done.

commit 7209169ba9
Author: Zoë Bijl <code@moiety.me>
Date:   Mon Oct 6 13:02:02 2025 +0200

    [feature] add animations to status bar icons

    When activated the status bar (under a toot) icons now do a cute lil animation, courtesy of Tangerine UI.

commit c0ea21299f
Author: Zoë Bijl <code@moiety.me>
Date:   Sun Oct 5 01:36:12 2025 +0200

    [feature] refactor search box / add drawer outlines

    - add outlines to some UI elements like the timeline and drawers
    - search “clear” button is now an actual `<button>`

commit 82cc610ab7
Author: Zoë Bijl <code@moiety.me>
Date:   Sat Oct 4 20:34:17 2025 +0200

    [feature] set icons for lists

commit 004404dc83
Author: Zoë Bijl <code@moiety.me>
Date:   Sat Oct 4 20:33:39 2025 +0200

    [feature] refactor local settings navigation item

commit 9dbc200fd6
Author: Zoë Bijl <code@moiety.me>
Date:   Sat Oct 4 20:32:27 2025 +0200

    [feature] refactor column/drawer header

commit beb7a68b5e
Author: Zoë Bijl <code@moiety.me>
Date:   Sat Oct 4 20:30:29 2025 +0200

    [fix] set correct icon size for action-bar

commit 6fb994abe6
Author: Zoë Bijl <code@moiety.me>
Date:   Sat Oct 4 20:29:35 2025 +0200

    [feature] refactor notifications filter bar

commit efaeb5d969
Author: Zoë Bijl <code@moiety.me>
Date:   Sat Oct 4 01:25:42 2025 +0200

    [refactor] compose form button bar CSS

    Complete rewrite of the CSS for the compose form button bar. This makes the buttons and icons sit nicely in the available space.

commit 18fd2ef39a
Author: Zoë Bijl <code@moiety.me>
Date:   Sat Oct 4 01:14:03 2025 +0200

    [feat] change unlisted icon from lock to moon

    Makes easier to distinguish.

commit 5e16246d56
Author: Zoë Bijl <code@moiety.me>
Date:   Sat Oct 4 01:00:54 2025 +0200

    [fix] use `<button>` for emoji button

    No idea why this was a `<div>`; this works fine in my testing.

commit 250b415a9d
Author: Zoë Bijl <code@moiety.me>
Date:   Sat Oct 4 00:58:16 2025 +0200

    [fix] remove inline styling for icon button

commit ea3106c635
Author: Zoë Bijl <code@moiety.me>
Date:   Fri Oct 3 23:11:38 2025 +0200

    [feature] set toot footer icons based on state

    When you favourite, boost, or bookmark a toot the icons turns into a filled version.

commit 5a6fd18ec2
Author: Zoë Bijl <code@moiety.me>
Date:   Wed Oct 1 23:48:22 2025 +0200

    [feature] add SVG icons

commit b62c1f4fc6
Author: Zoë Bijl <code@moiety.me>
Date:   Wed Oct 1 00:56:51 2025 +0200

    [feature] add SVG icons

    # Conflicts:
    #	.editorconfig

    # Conflicts:
    #	app/javascript/flavours/glitch/components/account.jsx
    #	app/javascript/flavours/glitch/components/column_back_button.jsx
    #	app/javascript/flavours/glitch/components/column_back_button_slim.jsx
    #	app/javascript/flavours/glitch/components/column_header.jsx
    #	app/javascript/flavours/glitch/components/dropdown_menu.jsx
    #	app/javascript/flavours/glitch/components/media_gallery.jsx
    #	app/javascript/flavours/glitch/components/status.jsx
    #	app/javascript/flavours/glitch/components/status_action_bar.jsx
    #	app/javascript/flavours/glitch/components/status_icons.jsx
    #	app/javascript/flavours/glitch/components/status_prepend.jsx
    #	app/javascript/flavours/glitch/components/status_visibility_icon.jsx
    #	app/javascript/flavours/glitch/features/account/components/header.jsx
    #	app/javascript/flavours/glitch/features/audio/index.jsx
    #	app/javascript/flavours/glitch/features/compose/components/dropdown.jsx
    #	app/javascript/flavours/glitch/features/compose/components/dropdown_menu.jsx
    #	app/javascript/flavours/glitch/features/compose/components/emoji_picker_dropdown.jsx
    #	app/javascript/flavours/glitch/features/compose/components/header.jsx
    #	app/javascript/flavours/glitch/features/compose/components/options.jsx
    #	app/javascript/flavours/glitch/features/compose/components/poll_form.jsx
    #	app/javascript/flavours/glitch/features/compose/components/privacy_dropdown.jsx
    #	app/javascript/flavours/glitch/features/compose/components/publisher.jsx
    #	app/javascript/flavours/glitch/features/compose/components/reply_indicator.jsx
    #	app/javascript/flavours/glitch/features/compose/components/search.jsx
    #	app/javascript/flavours/glitch/features/compose/components/textarea_icons.jsx
    #	app/javascript/flavours/glitch/features/favourites/index.jsx
    #	app/javascript/flavours/glitch/features/getting_started/index.jsx
    #	app/javascript/flavours/glitch/features/interaction_modal/index.jsx
    #	app/javascript/flavours/glitch/features/local_settings/navigation/item/index.jsx
    #	app/javascript/flavours/glitch/features/notifications/components/admin_report.jsx
    #	app/javascript/flavours/glitch/features/notifications/components/admin_signup.jsx
    #	app/javascript/flavours/glitch/features/notifications/components/clear_column_button.jsx
    #	app/javascript/flavours/glitch/features/notifications/components/filter_bar.jsx
    #	app/javascript/flavours/glitch/features/notifications/components/follow.jsx
    #	app/javascript/flavours/glitch/features/notifications/components/follow_request.jsx
    #	app/javascript/flavours/glitch/features/notifications/index.jsx
    #	app/javascript/flavours/glitch/features/picture_in_picture/components/footer.jsx
    #	app/javascript/flavours/glitch/features/reblogs/index.jsx
    #	app/javascript/flavours/glitch/features/status/components/action_bar.jsx
    #	app/javascript/flavours/glitch/features/status/components/detailed_status.jsx
    #	app/javascript/flavours/glitch/features/status/index.jsx
    #	app/javascript/flavours/glitch/features/ui/components/column_header.jsx
    #	app/javascript/flavours/glitch/features/ui/components/column_link.jsx
    #	app/javascript/flavours/glitch/features/ui/components/doodle_modal.jsx
    #	app/javascript/flavours/glitch/features/ui/components/embed_modal.jsx
    #	app/javascript/flavours/glitch/features/ui/components/filter_modal.jsx
    #	app/javascript/flavours/glitch/features/ui/components/focal_point_modal.jsx
    #	app/javascript/flavours/glitch/features/ui/components/image_modal.jsx
    #	app/javascript/flavours/glitch/features/ui/components/media_modal.jsx
    #	app/javascript/flavours/glitch/features/ui/components/notifications_counter_icon.js
    #	app/javascript/flavours/glitch/features/ui/components/report_modal.jsx
2025-10-14 14:00:10 +02:00

86 lines
2.6 KiB
React

// Package imports
import PropTypes from "prop-types";
import { PureComponent } from "react";
import { injectIntl, defineMessages } from "react-intl";
import LocalSettingsNavigationItem from "./item";
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
const messages = defineMessages({
general: { id: "settings.general", defaultMessage: "General" },
compose: { id: "settings.compose_box_opts", defaultMessage: "Compose box" },
content_warnings: { id: "settings.content_warnings", defaultMessage: "Content Warnings" },
collapsed: { id: "settings.collapsed_statuses", defaultMessage: "Collapsed toots" },
media: { id: "settings.media", defaultMessage: "Media" },
preferences: { id: "settings.preferences", defaultMessage: "Preferences" },
close: { id: "settings.close", defaultMessage: "Close" },
});
class LocalSettingsNavigation extends PureComponent {
static propTypes = {
index : PropTypes.number,
intl : PropTypes.object.isRequired,
onClose : PropTypes.func.isRequired,
onNavigate : PropTypes.func.isRequired,
};
render () {
const { index, intl, onClose, onNavigate } = this.props;
return (
<nav className='glitch local-settings__navigation'>
<LocalSettingsNavigationItem
active={index === 0}
index={0}
onNavigate={onNavigate}
icon='gear'
title={intl.formatMessage(messages.general)}
/>
<LocalSettingsNavigationItem
active={index === 1}
index={1}
onNavigate={onNavigate}
icon='pencil-simple-line'
title={intl.formatMessage(messages.compose)}
/>
<LocalSettingsNavigationItem
active={index === 2}
index={2}
onNavigate={onNavigate}
icon='warning'
title={intl.formatMessage(messages.content_warnings)}
/>
<LocalSettingsNavigationItem
active={index === 3}
index={3}
onNavigate={onNavigate}
icon='caret-circle-double-up'
title={intl.formatMessage(messages.collapsed)}
/>
<LocalSettingsNavigationItem
active={index === 4}
index={4}
onNavigate={onNavigate}
icon='image'
title={intl.formatMessage(messages.media)}
/>
<LocalSettingsNavigationItem
active={index === 5}
className='close'
index={5}
onNavigate={onClose}
icon='x'
title={intl.formatMessage(messages.close)}
/>
</nav>
);
}
}
export default injectIntl(LocalSettingsNavigation);