Chore: Add an option to toggle web manifest (#848)

This commit is contained in:
Pranav Raj S 2020-05-12 12:45:28 +05:30 committed by GitHub
parent f819bc0f33
commit d219b0a45e
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 50 additions and 22 deletions

View file

@ -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

View file

@ -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

View file

@ -1,26 +1,31 @@
<!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"/>
<meta name="msapplication-TileColor" content="#1f93ff"> <% if @global_config['DISPLAY_MANIFEST'] %>
<meta name="msapplication-TileImage" content="/ms-icon-144x144.png"> <meta name="msapplication-TileColor" content="#1f93ff">
<meta name="theme-color" content="#1f93ff"> <meta name="msapplication-TileImage" content="/ms-icon-144x144.png">
<meta name="description" content="Chatwoot is a customer support solution that helps companies engage customers over Messenger, Twitter, Telegram, WeChat, Whatsapp. Simply connect your channels and converse with your customers from a single place. Easily add new agents to your system and have them own and resolve conversations with customers.Chatwoot also gives you real-time reports to measure your team's performance, canned responses to easily respond to frequently asked questions and private notes for agents to collaborate among themselves."> <meta name="theme-color" content="#1f93ff">
<link rel="apple-touch-icon" sizes="57x57" href="/apple-icon-57x57.png"> <meta name="description" content="Chatwoot is a customer support solution that helps companies engage customers over Messenger, Twitter, Telegram, WeChat, Whatsapp. Simply connect your channels and converse with your customers from a single place. Easily add new agents to your system and have them own and resolve conversations with customers.Chatwoot also gives you real-time reports to measure your team's performance, canned responses to easily respond to frequently asked questions and private notes for agents to collaborate among themselves.">
<link rel="apple-touch-icon" sizes="60x60" href="/apple-icon-60x60.png"> <link rel="apple-touch-icon" sizes="57x57" href="/apple-icon-57x57.png">
<link rel="apple-touch-icon" sizes="72x72" href="/apple-icon-72x72.png"> <link rel="apple-touch-icon" sizes="60x60" href="/apple-icon-60x60.png">
<link rel="apple-touch-icon" sizes="76x76" href="/apple-icon-76x76.png"> <link rel="apple-touch-icon" sizes="72x72" href="/apple-icon-72x72.png">
<link rel="apple-touch-icon" sizes="114x114" href="/apple-icon-114x114.png"> <link rel="apple-touch-icon" sizes="76x76" href="/apple-icon-76x76.png">
<link rel="apple-touch-icon" sizes="120x120" href="/apple-icon-120x120.png"> <link rel="apple-touch-icon" sizes="114x114" href="/apple-icon-114x114.png">
<link rel="apple-touch-icon" sizes="144x144" href="/apple-icon-144x144.png"> <link rel="apple-touch-icon" sizes="120x120" href="/apple-icon-120x120.png">
<link rel="apple-touch-icon" sizes="152x152" href="/apple-icon-152x152.png"> <link rel="apple-touch-icon" sizes="144x144" href="/apple-icon-144x144.png">
<link rel="apple-touch-icon" sizes="180x180" href="/apple-icon-180x180.png"> <link rel="apple-touch-icon" sizes="152x152" href="/apple-icon-152x152.png">
<link rel="icon" type="image/png" sizes="192x192" href="/android-icon-192x192.png"> <link rel="apple-touch-icon" sizes="180x180" href="/apple-icon-180x180.png">
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png"> <link rel="icon" type="image/png" sizes="192x192" href="/android-icon-192x192.png">
<link rel="icon" type="image/png" sizes="96x96" href="/favicon-96x96.png"> <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png"> <link rel="icon" type="image/png" sizes="96x96" href="/favicon-96x96.png">
<link rel="manifest" href="/manifest.json"> <link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">
<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' %>

View file

@ -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' %>

View file

@ -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