# frozen_string_literal: true class ProofProvider::Keybase::ConfigSerializer < ActiveModel::Serializer include RoutingHelper attributes :version, :domain, :display_name, :username, :brand_color, :logo, :description, :prefill_url, :profile_url, :check_url, :check_path, :avatar_path, :contact def version 1 end def domain Rails.configuration.x.local_domain end def display_name Setting.site_title end def logo { svg_black: full_asset_url(asset_pack_path('media/images/logo_transparent_black.svg')), svg_full: full_asset_url(asset_pack_path('media/images/logo.svg')) } end def brand_color '#282c37' end def description Setting.site_short_description.presence || Setting.site_description.presence || I18n.t('about.about_mastodon_html') end def username { min: 1, max: 30, re: Account::USERNAME_RE.inspect } end def prefill_url params = { provider: 'keybase', token: '%{sig_hash}', provider_username: '%{kb_username}', username: '%{username}', user_agent: '%{kb_ua}', } CGI.unescape(new_settings_identity_proof_url(params)) end def profile_url CGI.unescape(short_account_url('%{username}')) # rubocop:disable Style/FormatStringToken end def check_url CGI.unescape(api_proofs_url(username: '%{username}', provider: 'keybase')) end def check_path ['signatures'] end def avatar_path ['avatar'] end def contact [Setting.site_contact_email.presence].compact end end