From c8401c972cffe832847b329c1032f6b9c88d64a7 Mon Sep 17 00:00:00 2001 From: Cadence Ember Date: Fri, 10 Feb 2023 14:53:15 +1300 Subject: [PATCH] Extension now available on Chrome --- src/application-globals.rkt | 27 +++++++++++++++++---------- 1 file changed, 17 insertions(+), 10 deletions(-) diff --git a/src/application-globals.rkt b/src/application-globals.rkt index 7cc12fe..241b9ad 100644 --- a/src/application-globals.rkt +++ b/src/application-globals.rkt @@ -200,17 +200,24 @@ (body (@ (class ,(head-data^-body-class head-data))) ,(if (config-true? 'instance_is_official) (let ([balloon '(img (@ (src "/static/three-balloons.png") (class "bw-balloon") (title "Image Source: pngimg.com/image/4955 | License: CC BY-NC 4.0 | Modifications: Resized") (width "52") (height "56")))] - [extension-eligible? (and req (assq 'user-agent (request-headers req)) (string-contains? (string-downcase (cdr (assq 'user-agent (request-headers req)))) "firefox/"))]) + [extension-eligible? + (and req (let* ([ua-pair (assq 'user-agent (request-headers req))] + [ua (string-downcase (cdr ua-pair))]) + ;; everyone pretends to be chrome, so we do it in reverse + ;; this excludes common browsers that don't support the extension + (and (not (string-contains? ua "edge/")) + (not (string-contains? ua "edg/")) + (not (string-contains? ua "mobile")))))]) `(div (@ (class "bw-top-banner")) - ,balloon - (div - "BreezeWiki is back! Most major wikis are available.\n" - ,(if extension-eligible? - '(div (@ (class "bw-top-banner-rainbow")) - "Try " (a (@ (href "https://getindie.wiki/")) "our affiliated browser extension") " - redirect to BreezeWiki automatically!\n") - "") - "As always, " (a (@ (href "https://docs.breezewiki.com/Reporting_Bugs.html")) "please go here") " to report problems, suggest features, or talk about the project.") - ,balloon)) + ,balloon + (div + "BreezeWiki is back! Most major wikis are available.\n" + ,(if extension-eligible? + '(div (@ (class "bw-top-banner-rainbow")) + "Try " (a (@ (href "https://getindie.wiki/") (target "_blank")) "our affiliated browser extension") " - redirect to BreezeWiki automatically!\n") + "") + "As always, " (a (@ (href "https://docs.breezewiki.com/Reporting_Bugs.html")) "please go here") " to report problems, suggest features, or talk about the project.") + ,balloon)) "") (div (@ (class "main-container")) (div (@ (class "fandom-community-header__background tileHorizontally header")))