diff --git a/app/models/provider/security_concept.rb b/app/models/provider/security_concept.rb index d54b2011..fbc408c3 100644 --- a/app/models/provider/security_concept.rb +++ b/app/models/provider/security_concept.rb @@ -1,7 +1,7 @@ module Provider::SecurityConcept extend ActiveSupport::Concern - Security = Data.define(:symbol, :name, :logo_url, :exchange_operating_mic) + Security = Data.define(:symbol, :name, :logo_url, :exchange_operating_mic, :country_code) SecurityInfo = Data.define(:symbol, :name, :links, :logo_url, :description, :kind, :exchange_operating_mic) Price = Data.define(:symbol, :date, :price, :currency, :exchange_operating_mic) diff --git a/app/models/provider/synth.rb b/app/models/provider/synth.rb index 8d76fc72..eba22967 100644 --- a/app/models/provider/synth.rb +++ b/app/models/provider/synth.rb @@ -106,6 +106,7 @@ class Provider::Synth < Provider name: security.dig("name"), logo_url: security.dig("logo_url"), exchange_operating_mic: security.dig("exchange", "operating_mic_code"), + country_code: security.dig("exchange", "country_code") ) end end diff --git a/app/models/security.rb b/app/models/security.rb index 6115aa4c..dd638ece 100644 --- a/app/models/security.rb +++ b/app/models/security.rb @@ -21,6 +21,7 @@ class Security < ApplicationRecord name: name, logo_url: logo_url, exchange_operating_mic: exchange_operating_mic, + country_code: country_code ) end diff --git a/app/models/security/provided.rb b/app/models/security/provided.rb index 7927d6e6..f72de993 100644 --- a/app/models/security/provided.rb +++ b/app/models/security/provided.rb @@ -22,6 +22,7 @@ module Security::Provided name: provider_security.name, logo_url: provider_security.logo_url, exchange_operating_mic: provider_security.exchange_operating_mic, + country_code: provider_security.country_code ) end else diff --git a/app/models/security/synth_combobox_option.rb b/app/models/security/synth_combobox_option.rb index 2a9ba46a..15e76920 100644 --- a/app/models/security/synth_combobox_option.rb +++ b/app/models/security/synth_combobox_option.rb @@ -1,7 +1,7 @@ class Security::SynthComboboxOption include ActiveModel::Model - attr_accessor :symbol, :name, :logo_url, :exchange_operating_mic + attr_accessor :symbol, :name, :logo_url, :exchange_operating_mic, :country_code def id "#{symbol}|#{exchange_operating_mic}" # submitted by combobox as value diff --git a/app/views/securities/_combobox_security.turbo_stream.erb b/app/views/securities/_combobox_security.turbo_stream.erb index 687d1858..ef2fd8ba 100644 --- a/app/views/securities/_combobox_security.turbo_stream.erb +++ b/app/views/securities/_combobox_security.turbo_stream.erb @@ -1,11 +1,24 @@
<%= image_tag(combobox_security.logo_url, class: "rounded-full h-8 w-8 inline-block mr-2" ) %> -
- - <%= combobox_security.name.presence || combobox_security.symbol %> - - - <%= "#{combobox_security.symbol} (#{combobox_security.exchange_operating_mic})" %> - +
+
+ + <%= combobox_security.name.presence || combobox_security.symbol %> + + + <%= "#{combobox_security.symbol} (#{combobox_security.exchange_operating_mic})" %> + +
+ <% if combobox_security.country_code.present? %> +
+ <%= image_tag("https://hatscripts.github.io/circle-flags/flags/#{combobox_security.country_code.downcase}.svg", + class: "h-4 rounded-sm", # h-3 (12px) matches text-xs, w-5 for 3:5 aspect ratio + alt: "#{combobox_security.country_code.upcase} flag", + title: combobox_security.country_code.upcase) %> + + <%= combobox_security.country_code.upcase %> + +
+ <% end %>