discourse/app/serializers/auth_provider_serializer.rb
Régis Hanol 9dadc0141c
FEATURE: add link to "associated accounts" providers (#33275)
This adds a link for each authentication providers that are listed in
/my/preferences/account in the "Associated Accounts" section.

This is particularly useful when Discourse is being used in the PWA or
in the DiscourseMobile app where there's no browser bar available and
the only way to visit the provider's website is to open a browser
window.

That way, they can _just_ click the provider's name.

Internal ref - t/156255

---

**BEFORE**

![Screenshot 2025-06-19 at 21 04
46](https://github.com/user-attachments/assets/3d2be5d0-d857-4b8a-b0a5-5672301c59c6)

**AFTER**

![Screenshot 2025-06-19 at 21 03
39](https://github.com/user-attachments/assets/4c8bc5e9-3c99-4924-8d33-547f567bb346)
2025-06-20 10:22:29 +02:00

27 lines
740 B
Ruby

# frozen_string_literal: true
class AuthProviderSerializer < ApplicationSerializer
attributes :can_connect,
:can_revoke,
:custom_url,
:frame_height,
:frame_width,
:icon,
:name,
:pretty_name_override,
:provider_url,
:title_override
# ensures that the "/custom" route doesn't trigger the magic custom_url helper in ActionDispatch
def custom_url
object.custom_url
end
def pretty_name_override
object.pretty_name_setting ? SiteSetting.get(object.pretty_name_setting) : object.pretty_name
end
def title_override
object.title_setting ? SiteSetting.get(object.title_setting) : object.title
end
end