From 9cce812af9e409d83f3c50b9453f3cd63bcfbe71 Mon Sep 17 00:00:00 2001 From: Kushal Pandya Date: Mon, 24 Dec 2018 15:55:21 +0530 Subject: Add `client_detection` helper to add browser and plaform flags --- app/helpers/application_helper.rb | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'app') diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index 82bb2d1a805..9efa84b02f0 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -268,6 +268,17 @@ module ApplicationHelper _('You are on a read-only GitLab instance.') end + def client_class_list + "gl-browser-#{browser.id} gl-platform-#{browser.platform.id}" + end + + def client_js_flags + { + "is#{browser.id.to_s.titlecase}": true, + "is#{browser.platform.id.to_s.titlecase}": true + } + end + def autocomplete_data_sources(object, noteable_type) return {} unless object && noteable_type -- cgit v1.2.1 From 44ae410a80a180f89044f172791c701053bdb064 Mon Sep 17 00:00:00 2001 From: Kushal Pandya Date: Mon, 24 Dec 2018 15:55:56 +0530 Subject: Add `client` to gl object for browser and platform flags --- app/views/layouts/_init_client_detection_flags.html.haml | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 app/views/layouts/_init_client_detection_flags.html.haml (limited to 'app') diff --git a/app/views/layouts/_init_client_detection_flags.html.haml b/app/views/layouts/_init_client_detection_flags.html.haml new file mode 100644 index 00000000000..c729f8aa696 --- /dev/null +++ b/app/views/layouts/_init_client_detection_flags.html.haml @@ -0,0 +1,7 @@ +- client = client_js_flags + +- if client + -# haml-lint:disable InlineJavaScript + :javascript + gl = window.gl || {}; + gl.client = #{client.to_json}; -- cgit v1.2.1 From 36eb30929e31fd3d5bb8ef944cc6c581ebc88f27 Mon Sep 17 00:00:00 2001 From: Kushal Pandya Date: Mon, 24 Dec 2018 15:56:18 +0530 Subject: Add browser and platform flags via CSS classes --- app/views/layouts/application.html.haml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'app') diff --git a/app/views/layouts/application.html.haml b/app/views/layouts/application.html.haml index 1f4d24d996c..4373240001e 100644 --- a/app/views/layouts/application.html.haml +++ b/app/views/layouts/application.html.haml @@ -1,8 +1,9 @@ !!! 5 %html{ lang: I18n.locale, class: page_class } = render "layouts/head" - %body{ class: "#{user_application_theme} #{@body_class}", data: { page: body_data_page, project: "#{@project.path if @project}", group: "#{@group.path if @group}", find_file: find_file_path } } + %body{ class: "#{user_application_theme} #{@body_class} #{client_class_list}", data: { page: body_data_page, project: "#{@project.path if @project}", group: "#{@group.path if @group}", find_file: find_file_path } } = render "layouts/init_auto_complete" if @gfm_form + = render "layouts/init_client_detection_flags" = render 'peek/bar' = render partial: "layouts/header/default", locals: { project: @project, group: @group } = render 'layouts/page', sidebar: sidebar, nav: nav -- cgit v1.2.1