# frozen_string_literal: true # License: AGPL-3.0-or-later WITH Web-Template-Output-Additional-Permission-3.0-or-later namespace :settings do task :environment do require File.expand_path('../../config/environment.rb', File.dirname(__FILE__)) end desc 'show settings' task show: :environment do require 'pp' pp Settings.to_hash end task generate_json: :environment do cdn_url = URI(Settings.cdn.url) cdn_url = cdn_url.to_s if Settings.button_config&.url cdn_url = URI(Settings.button_config.url).to_s end c = { button: { url: cdn_url, css: "#{cdn_url}/css/donate-button.v2.css" } } open(File.expand_path('config/settings.json', Rails.root), 'w') do |f| f.write(c.to_json) end end task combine_translations: 'i18n:js:export' do js_root = File.expand_path('public/javascripts', Rails.root) # i18n = File.read(File.join(js_root, 'i18n.js')) translations = File.read(File.join(js_root, 'translations.js')) open(File.join(js_root, '_final.js'), 'w') do |f| f.write("const I18n = require('i18n-js');\n" + translations + "\n window.I18n = I18n") end end end