Skip to content

Conversation

@graycreate
Copy link
Member

Summary

  • Change feedback section layout from horizontal to vertical
  • Display title "问题反馈" on top with subtitle "唯一渠道: https://v2er.app/help" below
  • Align properly with other SectionView items using matching padding structure

Test plan

  • Open Settings page
  • Verify "问题反馈" section displays with vertical layout
  • Verify left and right alignment matches other items
  • Tap to verify navigation to https://v2er.app/help works

🤖 Generated with Claude Code

Change the feedback section layout from horizontal to vertical:
- Display title "问题反馈" on top
- Show subtitle "唯一渠道: https://v2er.app/help" below
- Align with other SectionView items

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <[email protected]>
Copilot AI review requested due to automatic review settings December 27, 2025 04:35
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR refactors the feedback section in the Settings page from a horizontal layout (using SectionView with subtitle on the right) to a vertical layout where the title "问题反馈" appears on top with the subtitle "唯一渠道: https://v2er.app/help" displayed below.

Key changes:

  • Replaced SectionView component with custom HStack/VStack layout structure
  • Changed from horizontal arrangement (title with right-aligned subtitle) to vertical stacking of title and subtitle
  • Adjusted padding values to attempt alignment with other settings items

.font(.body.weight(.regular))
.foregroundColor(.secondaryText)
.padding(.trailing, 16)
.padding(.trailing, 30)
Copy link

Copilot AI Dec 27, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The trailing padding value of 30 is inconsistent with the padding pattern used throughout the settings page. SectionView uses paddingH=15, and the "关于" section uses .padding(.trailing, 16). This inconsistency may cause misalignment with other settings items.

Suggested change
.padding(.trailing, 30)
.padding(.trailing, 16)

Copilot uses AI. Check for mistakes.
Text("唯一渠道: https://v2er.app/help")
.font(.footnote)
.foregroundColor(.secondaryText)
}
Copy link

Copilot AI Dec 27, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The VStack containing the title and subtitle lacks an accessibility label or hint. For users relying on VoiceOver, this may result in two separate announcements rather than a cohesive single element. Consider adding an accessibility modifier to combine these into a single semantic element, or use an accessibility label that provides the complete information at once.

Suggested change
}
}
.accessibilityElement(children: .combine)
.accessibilityLabel("问题反馈,唯一渠道:https://v2er.app/help")

Copilot uses AI. Check for mistakes.
} label: {
SectionView("问题反馈", showDivider: false) {
HStack {
Image(systemName: "")
Copy link

Copilot AI Dec 27, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

An empty string is being passed to the systemName parameter of the Image initializer. This will likely fail to render an icon or produce a runtime warning. If no icon is intended, this Image view should be removed entirely, or a valid system icon name should be provided (like other settings items).

Suggested change
Image(systemName: "")
Image(systemName: "questionmark.circle")

Copilot uses AI. Check for mistakes.
Comment on lines +48 to 67
HStack {
Image(systemName: "")
.padding(.leading, 15)
HStack {
Text("唯一反馈渠道")
.font(.footnote)
.foregroundColor(.secondaryText)
VStack(alignment: .leading, spacing: 4) {
Text("问题反馈")
Text("唯一渠道: https://v2er.app/help")
.font(.footnote)
.foregroundColor(.secondaryText)
}
Spacer()
Image(systemName: "chevron.right")
.font(.body.weight(.regular))
.foregroundColor(.secondaryText)
.padding(.trailing, 16)
.padding(.trailing, 30)
}
.padding(.vertical, 17)
}
.background(Color.itemBackground)
.padding(.top, 8)
Copy link

Copilot AI Dec 27, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The padding structure is inconsistent with other settings items. Looking at SectionView and SectionItemView, they use paddingH=15 for leading/trailing padding and don't duplicate the HStack wrapper. This custom implementation deviates from the established pattern used by items like "外观设置", "通用设置", etc., which use SectionItemView directly. Consider using SectionView or SectionItemView with a custom content closure to maintain consistency with the rest of the settings page.

Copilot uses AI. Check for mistakes.
@graycreate graycreate merged commit 391c19f into main Dec 27, 2025
12 checks passed
@graycreate graycreate deleted the feature/feedback-section-vertical-layout branch December 27, 2025 04:38
@github-actions
Copy link

Code Coverage Report ❌

Current coverage: 32.27%

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants