diff --git a/common/app/common/version.cljc b/common/app/common/version.cljc
index 9257d9587..08ccd4b6f 100644
--- a/common/app/common/version.cljc
+++ b/common/app/common/version.cljc
@@ -13,28 +13,27 @@
[app.common.data :as d]
[cuerdas.core :as str]))
+(def version-re #"^(([A-Za-z]+)\-?)?(\d+\.\d+\.\d+)(\-?((alpha|prealpha|beta|rc)(\d+)?))?(\-?(\d+))?(\-?(\w+))$")
+
(defn parse
- [version]
+ [data]
(cond
- (= version "%version%")
+ (= data "%version%")
{:full "develop"
:base "develop"
- :build 0
- :commit nil}
+ :branch "develop"
+ :modifier nil
+ :commit nil
+ :commit-hash nil}
- (string? version)
- (if (re-seq #"^[A-Za-z]+\-" version)
- (let [[branch base build commit] (str/split version #"-" 4)]
- {:full version
- :base base
- :build (d/parse-integer build)
- :branch branch
- :commit commit})
- (let [[base build commit] (str/split version #"-" 3)]
- {:full version
- :base base
- :build (d/parse-integer build)
- :branch nil
- :commit commit}))
+ (string? data)
+ (let [result (re-find version-re data)]
+ {:full data
+ :base (get result 3)
+ :branch (get result 2)
+ :modifier (get result 5)
+ :commit (get result 9)
+ :commit-hash (get result 11)})
:else nil))
+
diff --git a/frontend/resources/templates/index.mustache b/frontend/resources/templates/index.mustache
index 1000cd746..eba4259ab 100644
--- a/frontend/resources/templates/index.mustache
+++ b/frontend/resources/templates/index.mustache
@@ -10,13 +10,13 @@
{{# manifest}}
-
+
{{/manifest}}
diff --git a/frontend/src/app/config.cljs b/frontend/src/app/config.cljs
index 8fe724aef..482bed0d8 100644
--- a/frontend/src/app/config.cljs
+++ b/frontend/src/app/config.cljs
@@ -13,7 +13,7 @@
[app.common.data :as d]
[app.common.spec :as us]
[app.common.version :as v]
- [app.util.globals :as globals]
+ [app.util.globals :refer [global location]]
[app.util.object :as obj]
[app.util.dom :as dom]
[app.util.avatars :as avatars]
@@ -40,10 +40,10 @@
(defn- parse-platform
[]
- (let [user-agent (-> (dom/get-user-agent) str/lower)
+ (let [user-agent (str/lower (dom/get-user-agent))
check-windows? (fn [] (str/includes? user-agent "windows"))
- check-linux? (fn [] (str/includes? user-agent "linux"))
- check-macos? (fn [] (str/includes? user-agent "mac os"))]
+ check-linux? (fn [] (str/includes? user-agent "linux"))
+ check-macos? (fn [] (str/includes? user-agent "mac os"))]
(cond
(check-windows?) :windows
(check-linux?) :linux
@@ -58,29 +58,30 @@
(defn- parse-version
[global]
- (-> (obj/get global "appVersion")
+ (-> (obj/get global "penpotVersion")
(v/parse)))
;; --- Globar Config Vars
(def default-theme "default")
+(def default-language "en")
-(this-as global
- (def default-language "en")
- (def demo-warning (obj/get global "appDemoWarning" false))
- (def google-client-id (obj/get global "appGoogleClientID" nil))
- (def gitlab-client-id (obj/get global "appGitlabClientID" nil))
- (def github-client-id (obj/get global "appGithubClientID" nil))
- (def login-with-ldap (obj/get global "appLoginWithLDAP" false))
- (def worker-uri (obj/get global "appWorkerURI" "/js/worker.js"))
- (def public-uri (or (obj/get global "appPublicURI")
- (.-origin ^js globals/location)))
- (def media-uri (str public-uri "/assets"))
- (def version (delay (parse-version global)))
- (def target (delay (parse-target global)))
- (def browser (delay (parse-browser)))
- (def platform (delay (parse-platform))))
+(def demo-warning (obj/get global "penpotDemoWarning" false))
+(def allow-demo-users (obj/get global "penpotAllowDemoUsers" true))
+(def google-client-id (obj/get global "penpotGoogleClientID" nil))
+(def gitlab-client-id (obj/get global "penpotGitlabClientID" nil))
+(def github-client-id (obj/get global "penpotGithubClientID" nil))
+(def login-with-ldap (obj/get global "penpotLoginWithLDAP" false))
+(def worker-uri (obj/get global "penpotWorkerURI" "/js/worker.js"))
+(def translations (obj/get global "penpotTranslations"))
+(def themes (obj/get global "penpotThemes"))
+(def public-uri (or (obj/get global "penpotPublicURI") (.-origin ^js location)))
+
+(def version (delay (parse-version global)))
+(def target (delay (parse-target global)))
+(def browser (delay (parse-browser)))
+(def platform (delay (parse-platform)))
(when (= :browser @target)
(js/console.log
diff --git a/frontend/src/app/main.cljs b/frontend/src/app/main.cljs
index 56508548a..52c33ff2d 100644
--- a/frontend/src/app/main.cljs
+++ b/frontend/src/app/main.cljs
@@ -9,6 +9,7 @@
(ns app.main
(:require
+ [app.config :as cfg]
[app.common.uuid :as uuid]
[app.common.spec :as us]
[app.main.repo :as rp]
@@ -86,12 +87,10 @@
(defn ^:export init
[]
- (let [translations (obj/get js/window "appTranslations")
- themes (obj/get js/window "appThemes")]
- (i18n/init! translations)
- (theme/init! themes)
- (st/init)
- (init-ui)))
+ (i18n/init! cfg/translations)
+ (theme/init! cfg/themes)
+ (st/init)
+ (init-ui))
(defn reinit
[]
diff --git a/frontend/src/app/util/globals.js b/frontend/src/app/util/globals.js
index de4539840..4b3a2933f 100644
--- a/frontend/src/app/util/globals.js
+++ b/frontend/src/app/util/globals.js
@@ -21,6 +21,8 @@
goog.provide("app.util.globals");
goog.scope(function() {
+ app.util.globals.global = goog.global;
+
app.util.globals.window = (function() {
if (typeof goog.global.window !== "undefined") {
return goog.global.window;