Chore: Add an option to toggle web manifest (#848)
This commit is contained in:
parent
f819bc0f33
commit
d219b0a45e
5 changed files with 50 additions and 22 deletions
|
@ -1,5 +1,21 @@
|
||||||
class DashboardController < ActionController::Base
|
class DashboardController < ActionController::Base
|
||||||
|
before_action :set_global_config
|
||||||
|
|
||||||
layout 'vueapp'
|
layout 'vueapp'
|
||||||
|
|
||||||
def index; end
|
def index; end
|
||||||
|
|
||||||
|
private
|
||||||
|
|
||||||
|
def set_global_config
|
||||||
|
@global_config = GlobalConfig.get(
|
||||||
|
'LOGO',
|
||||||
|
'LOGO_THUMBNAIL',
|
||||||
|
'INSTALLATION_NAME',
|
||||||
|
'WIDGET_BRAND_URL',
|
||||||
|
'TERMS_URL',
|
||||||
|
'PRIVACY_URL',
|
||||||
|
'DISPLAY_MANIFEST'
|
||||||
|
)
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
class WidgetsController < ActionController::Base
|
class WidgetsController < ActionController::Base
|
||||||
|
before_action :set_global_config
|
||||||
before_action :set_web_widget
|
before_action :set_web_widget
|
||||||
before_action :set_token
|
before_action :set_token
|
||||||
before_action :set_contact
|
before_action :set_contact
|
||||||
|
@ -8,6 +9,10 @@ class WidgetsController < ActionController::Base
|
||||||
|
|
||||||
private
|
private
|
||||||
|
|
||||||
|
def set_global_config
|
||||||
|
@global_config = GlobalConfig.get('LOGO_THUMBNAIL', 'INSTALLATION_NAME', 'WIDGET_BRAND_URL')
|
||||||
|
end
|
||||||
|
|
||||||
def set_web_widget
|
def set_web_widget
|
||||||
@web_widget = ::Channel::WebWidget.find_by!(website_token: permitted_params[:website_token])
|
@web_widget = ::Channel::WebWidget.find_by!(website_token: permitted_params[:website_token])
|
||||||
end
|
end
|
||||||
|
|
|
@ -1,8 +1,11 @@
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<title>Chatwoot</title>
|
<title>
|
||||||
|
<%= @global_config['INSTALLATION_NAME'] %>
|
||||||
|
</title>
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"/>
|
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"/>
|
||||||
|
<% if @global_config['DISPLAY_MANIFEST'] %>
|
||||||
<meta name="msapplication-TileColor" content="#1f93ff">
|
<meta name="msapplication-TileColor" content="#1f93ff">
|
||||||
<meta name="msapplication-TileImage" content="/ms-icon-144x144.png">
|
<meta name="msapplication-TileImage" content="/ms-icon-144x144.png">
|
||||||
<meta name="theme-color" content="#1f93ff">
|
<meta name="theme-color" content="#1f93ff">
|
||||||
|
@ -21,6 +24,8 @@
|
||||||
<link rel="icon" type="image/png" sizes="96x96" href="/favicon-96x96.png">
|
<link rel="icon" type="image/png" sizes="96x96" href="/favicon-96x96.png">
|
||||||
<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">
|
<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">
|
||||||
<link rel="manifest" href="/manifest.json">
|
<link rel="manifest" href="/manifest.json">
|
||||||
|
<% end %>
|
||||||
|
<link rel="icon" type="image/png" sizes="512x512" href="<%= @global_config['LOGO_THUMBNAIL'] %>">
|
||||||
<%= csrf_meta_tags %>
|
<%= csrf_meta_tags %>
|
||||||
<script>
|
<script>
|
||||||
window.chatwootConfig = {
|
window.chatwootConfig = {
|
||||||
|
@ -33,7 +38,7 @@
|
||||||
<% end %>
|
<% end %>
|
||||||
enabledLanguages: <%= available_locales_with_name.to_json.html_safe %>
|
enabledLanguages: <%= available_locales_with_name.to_json.html_safe %>
|
||||||
}
|
}
|
||||||
window.globalConfig = <%= raw GlobalConfig.get('LOGO', 'INSTALLATION_NAME', 'WIDGET_BRAND_URL', 'TERMS_URL', 'PRIVACY_URL').to_json %>
|
window.globalConfig = <%= raw @global_config.to_json %>
|
||||||
</script>
|
</script>
|
||||||
<%= javascript_pack_tag 'application' %>
|
<%= javascript_pack_tag 'application' %>
|
||||||
<%= stylesheet_pack_tag 'application' %>
|
<%= stylesheet_pack_tag 'application' %>
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<title>Chatwoot</title>
|
<title><%= @global_config['INSTALLATION_NAME'] %></title>
|
||||||
<%= csrf_meta_tags %>
|
<%= csrf_meta_tags %>
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=0" />
|
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=0" />
|
||||||
<script>
|
<script>
|
||||||
|
@ -23,7 +23,7 @@
|
||||||
}
|
}
|
||||||
window.chatwootPubsubToken = '<%= @contact.pubsub_token %>'
|
window.chatwootPubsubToken = '<%= @contact.pubsub_token %>'
|
||||||
window.authToken = '<%= @token %>'
|
window.authToken = '<%= @token %>'
|
||||||
window.globalConfig = <%= raw GlobalConfig.get('LOGO_THUMBNAIL', 'INSTALLATION_NAME', 'WIDGET_BRAND_URL').to_json %>
|
window.globalConfig = <%= raw @global_config.to_json %>
|
||||||
</script>
|
</script>
|
||||||
<%= javascript_pack_tag 'widget' %>
|
<%= javascript_pack_tag 'widget' %>
|
||||||
<%= stylesheet_pack_tag 'widget' %>
|
<%= stylesheet_pack_tag 'widget' %>
|
||||||
|
|
|
@ -12,3 +12,5 @@
|
||||||
value: 'https://www.chatwoot.com/terms-of-service'
|
value: 'https://www.chatwoot.com/terms-of-service'
|
||||||
- name: PRIVACY_URL
|
- name: PRIVACY_URL
|
||||||
value: 'https://www.chatwoot.com/privacy-policy'
|
value: 'https://www.chatwoot.com/privacy-policy'
|
||||||
|
- name: DISPLAY_MANIFEST
|
||||||
|
value: true
|
||||||
|
|
Loading…
Reference in a new issue