diff --git a/Mlem/Views/Tabs/Settings/Components/Settings Item.swift b/Mlem/Views/Tabs/Settings/Components/Settings Item.swift index 000cf97d5..4d751f179 100644 --- a/Mlem/Views/Tabs/Settings/Components/Settings Item.swift +++ b/Mlem/Views/Tabs/Settings/Components/Settings Item.swift @@ -97,6 +97,23 @@ struct SettingsButtonStyle: ButtonStyle { } } +struct FooterLinkView: View { + let title: String + let destination: AppRoute + + var body: some View { + NavigationLink(destination) { + HStack(spacing: 3) { + Text(title) + Image(systemName: Icons.forward) + .fontWeight(.semibold) + .imageScale(.small) + } + .font(.footnote) + } + } +} + struct CheckboxToggleStyle: ToggleStyle { func makeBody(configuration: Configuration) -> some View { HStack { diff --git a/Mlem/Views/Tabs/Settings/Components/Views/Appearance/TabBar/TabBarSettingsView.swift b/Mlem/Views/Tabs/Settings/Components/Views/Appearance/TabBar/TabBarSettingsView.swift index 439b24b5e..25b0b174f 100644 --- a/Mlem/Views/Tabs/Settings/Components/Views/Appearance/TabBar/TabBarSettingsView.swift +++ b/Mlem/Views/Tabs/Settings/Components/Views/Appearance/TabBar/TabBarSettingsView.swift @@ -35,7 +35,7 @@ struct TabBarSettingsView: View { // TODO: options like this will need to be updated to only show when there is an active account // present once guest mode is fully implemented - Section("Profile Icon Appearance") { + Section { HStack { ForEach(ProfileTabLabel.allCases, id: \.self) { item in VStack(spacing: 10) { @@ -74,6 +74,15 @@ struct TabBarSettingsView: View { isTicked: profileTabLabel == .anonymous ? .constant(false) : $showUserAvatar ) .disabled(profileTabLabel == .anonymous) + } header: { + Text("Profile Icon Appearance") + } footer: { + if profileTabLabel == .nickname { + VStack(alignment: .leading, spacing: 3) { + Text("You can change your account's local nickname in Account Settings.") + FooterLinkView(title: "Account Settings", destination: .settings(.accountLocal)) + } + } } } .fancyTabScrollCompatible() diff --git a/Mlem/Views/Tabs/Settings/Components/Views/General/GeneralSettingsView.swift b/Mlem/Views/Tabs/Settings/Components/Views/General/GeneralSettingsView.swift index 09141fcfa..42d72eebe 100644 --- a/Mlem/Views/Tabs/Settings/Components/Views/General/GeneralSettingsView.swift +++ b/Mlem/Views/Tabs/Settings/Components/Views/General/GeneralSettingsView.swift @@ -61,17 +61,7 @@ struct GeneralSettingsView: View { // TODO: 0.17 deprecation remove this check if (siteInformation.version ?? .zero) >= .init("0.18.0") { - - NavigationLink(.settings(.accountGeneral)) { - HStack(spacing: 3) { - Text("Account Settings") - Image(systemName: "chevron.right") - .fontWeight(.semibold) - .imageScale(.small) - } - .font(.footnote) - } - + FooterLinkView(title: "Account Settings", destination: .settings(.accountGeneral)) } } }