Skip to content

Fix settings labels on small devices#2421

Merged
JoeMatt merged 2 commits intoProvenance-Emu:developfrom
dnicolson:patch-2
Aug 29, 2025
Merged

Fix settings labels on small devices#2421
JoeMatt merged 2 commits intoProvenance-Emu:developfrom
dnicolson:patch-2

Conversation

@dnicolson
Copy link
Contributor

@dnicolson dnicolson commented Aug 28, 2025

User description

What does this PR do

Makes the settings labels left-aligned. This means on smaller devices, it is consistent with the toggle cells.

Where should the reviewer start

How should this be manually tested

Any background context you want to provide

What are the relevant tickets

Screenshots (important for UI changes)

Before After
Before After

|

Questions


PR Type

Bug fix


Description

  • Fix text alignment for settings labels on small devices

  • Add leading text alignment for subtitle text

  • Minor punctuation corrections in subtitle text


Diagram Walkthrough

flowchart LR
  A["Settings UI"] --> B["Text Alignment Fix"]
  B --> C["Left-aligned Labels"]
  C --> D["Consistent Small Device Layout"]
Loading

File Walkthrough

Relevant files
Bug fix
SettingsSwiftUI.swift
Fix subtitle text alignment and punctuation                           

PVUI/Sources/PVSwiftUI/Settings/SettingsSwiftUI.swift

  • Added .multilineTextAlignment(.leading) to subtitle text for left
    alignment
  • Fixed punctuation in Cloud Sync Settings and Batch Artwork Matcher
    subtitles
  • Ensures consistent text alignment across different device sizes
+3/-2     

@qodo-code-review
Copy link

PR Reviewer Guide 🔍

Here are some key observations to aid the review process:

⏱️ Estimated effort to review: 1 🔵⚪⚪⚪⚪
🧪 No relevant tests
🔒 No security concerns identified
⚡ Recommended focus areas for review

UI Consistency

Verify that adding .multilineTextAlignment(.leading) plays well with any existing .frame(maxWidth: .infinity, alignment: ...) or right-to-left locales; confirm no unintended truncation or layout shifts occur when Dynamic Type is increased.

if let subtitle = subtitle {
    Text(subtitle)
        .font(.caption)
        .foregroundColor(Color.gray.opacity(0.8))
        .lineLimit(2)
        .multilineTextAlignment(.leading)
}
Copy Changes

Confirm punctuation updates are consistent across all occurrences of similar subtitles (e.g., Cloud Sync Settings and Batch Artwork Matcher) and match product copy guidelines.

                    NavigationLink(destination: CloudSyncSettingsView()) {
                        SettingsRow(title: "Cloud Sync Settings",
                                     subtitle: "Manage CloudKit and iCloud Drive sync settings.",
                                     icon: .sfSymbol("icloud"))
                    }
                }  lockedView: {
                    SettingsRow(title: "Cloud Sync Settings",
                              subtitle: "Unlock to access CloudKit and iCloud Drive sync settings.",
                              icon: .sfSymbol("lock.fill"))
                }
//            }
            #endif

            NavigationLink(destination: BatchArtworkMatchingView()) {
                SettingsRow(title: "Batch Artwork Matcher",
                            subtitle: "Find and apply artwork for multiple games at once.",
                            icon: .sfSymbol("photo.on.rectangle.angled"))

@qodo-code-review
Copy link

qodo-code-review bot commented Aug 28, 2025

PR Code Suggestions ✨

No code suggestions found for the PR.

@JoeMatt JoeMatt merged commit 929fe6e into Provenance-Emu:develop Aug 29, 2025
2 of 7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants