docbrown/app/views/admin/settings/forms/_monetization.html.erb
PJ 3f922921e5
Admin setting to control enabled countries for billboard geotargeting (#20083)
* use instance setting for enabled target geolocations

* add validation for enabled geolocations setting

* a start on the UI?

* backend tweaks for UI

* proper crack at autocomplete component

* fix region targeting toggle

* e2e spec
2023-09-12 12:06:00 -04:00

56 lines
2.8 KiB
Text

<%= form_for(Settings::General.new,
url: admin_settings_general_settings_path,
html: { data: { action: "submit->config#updateConfigurationSettings" } }) do |f| %>
<details class="crayons-card">
<summary class="crayons-subtitle-2 p-6">Monetization</summary>
<div class="p-6 pt-0">
<fieldset class="grid gap-4">
<div class="crayons-field">
<%= admin_config_label :stripe_api_key, "Stripe API key" %>
<%= admin_config_description Constants::Settings::General.details[:stripe_api_key][:description] %>
<%= f.text_field :stripe_api_key,
class: "crayons-textfield",
value: Settings::General.stripe_api_key,
placeholder: Constants::Settings::General.details[:stripe_api_key][:placeholder] %>
</div>
<div class="crayons-field">
<%= admin_config_label :stripe_publishable_key %>
<%= admin_config_description Constants::Settings::General.details[:stripe_publishable_key][:description] %>
<%= f.text_field :stripe_publishable_key,
class: "crayons-textfield",
value: Settings::General.stripe_publishable_key,
placeholder: Constants::Settings::General.details[:stripe_publishable_key][:placeholder] %>
</div>
<div class="crayons-field">
<%= admin_config_label :payment_pointer %>
<%= admin_config_description Constants::Settings::General.details[:payment_pointer][:description] %>
<%= f.text_field :payment_pointer,
class: "crayons-textfield",
value: Settings::General.payment_pointer,
placeholder: Constants::Settings::General.details[:payment_pointer][:placeholder] %>
</div>
<% if FeatureFlag.enabled?(Geolocation::FEATURE_FLAG) %>
<div class="crayons-field">
<%= admin_config_label :billboard_enabled_countries %>
<%= admin_config_description Constants::Settings::General.details[:billboard_enabled_countries][:description] %>
<div id="billboard-enabled-countries-editor"></div>
</div>
<div class="crayons-field hidden">
<%= f.text_field :billboard_enabled_countries,
class: "crayons-textfield geolocation-multiselect",
value: billboard_enabled_countries_for_editing,
autocomplete: "off",
data: { all_countries: billboard_all_countries_for_editing } %>
</div>
<%= javascript_packs_with_chunks_tag "admin/billboardEnabledCountries", defer: true %>
<% end %>
</fieldset>
<%= render "update_setting_button", f: f %>
</div>
</details>
<% end %>