Skip to content

EPMEDU-4856/Fix invalid email in FAQ#287

Closed
AniMosiashvili wants to merge 1 commit intodevelopfrom
EPMEDU-4856/Invalid-email-in-FAQ
Closed

EPMEDU-4856/Fix invalid email in FAQ#287
AniMosiashvili wants to merge 1 commit intodevelopfrom
EPMEDU-4856/Invalid-email-in-FAQ

Conversation

@AniMosiashvili
Copy link
Copy Markdown
Collaborator

What was done

-Fixed the invalid email address and styled it as a clickable link with blue color and underline

Related Jira task

EPMEDU-4856
IMG_9435

Copy link
Copy Markdown
Contributor

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 pull request fixes an invalid email address in the FAQ section and styles it as a clickable link with blue color and underline. The change updates the implementation from using markdown-style links with LocalizedStringKey to using AttributedString with explicit link and styling attributes.

Changes:

  • Replaced markdown-style email link with AttributedString implementation that sets link, color, and underline attributes
  • Changed the footerText property type from LocalizedStringKey to AttributedString in the view model and contract
  • Updated the view to use .tint(.blue) for link styling instead of .accentColor()

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 3 comments.

File Description
FAQViewModel.swift Implements AttributedString with explicit email link attributes including URL, foreground color, and underline style
FAQContract.swift Updates footerText property type from LocalizedStringKey to AttributedString
FAQView.swift Removes foregroundColor and accentColor modifiers, adds .tint(.blue) for link color

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

.accentColor(designEngine.colors.textPrimary.color)
.multilineTextAlignment(.center)
.frame(maxWidth: .infinity)
.tint(.blue)
Copy link

Copilot AI Feb 10, 2026

Choose a reason for hiding this comment

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

The hardcoded .blue color breaks the design system convention used throughout the codebase. All other views use designEngine.colors for color styling (e.g., designEngine.colors.textPrimary.color, designEngine.colors.textSecondary.color). This should use an appropriate color from the design engine instead. Consider adding a link or accent color to the design engine if one doesn't exist, or use an existing color that matches the design requirements.

Copilot uses AI. Check for mistakes.
Copy link
Copy Markdown
Collaborator

@kishorepran kishorepran Feb 25, 2026

Choose a reason for hiding this comment

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

please check suggest to stick to design engine based project colors if not any special circumstances


if let range = text.range(of: email) {
text[range].link = URL(string: "mailto:\(email)")
text[range].foregroundColor = .blue
Copy link

Copilot AI Feb 10, 2026

Choose a reason for hiding this comment

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

The hardcoded .blue color for the email link breaks the design system convention. The codebase consistently uses designEngine.colors for all color styling. If a link-specific color is needed, it should be added to the design engine's color palette rather than hardcoded here.

Copilot uses AI. Check for mistakes.
Comment on lines 62 to 65
Text(viewModel.footerText)
.textSelection(.enabled)
.font(designEngine.fonts.primary.regular(16)?.font)
.foregroundColor(designEngine.colors.textPrimary.color)
.accentColor(designEngine.colors.textPrimary.color)
.multilineTextAlignment(.center)
Copy link

Copilot AI Feb 10, 2026

Choose a reason for hiding this comment

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

The removal of .foregroundColor(designEngine.colors.textPrimary.color) means the non-link text in the footer will no longer have a defined color and will use the system default. This is inconsistent with other text elements in the view (like headerText at line 47 and text in QuestionRow at lines 101 and 114) which explicitly set foregroundColor using the design engine. The footer text should maintain consistent styling with the rest of the view.

Copilot uses AI. Check for mistakes.
.accentColor(designEngine.colors.textPrimary.color)
.multilineTextAlignment(.center)
.frame(maxWidth: .infinity)
.tint(.blue)
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

No need all these changes. .tint is enough.
And it is better to use designEngine instead of hardcoded values.

.tint(designEngine.colors.elementSpecial.color)

@AniMosiashvili AniMosiashvili deleted the EPMEDU-4856/Invalid-email-in-FAQ branch March 17, 2026 09:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants