♻️ Refactor profile & language loading.

This commit is contained in:
Andrey Antukh 2019-07-24 00:48:24 +02:00
parent 08dc1870bf
commit 406157c06c
7 changed files with 74 additions and 39 deletions

View file

@ -8,11 +8,16 @@
(ns uxbox.util.i18n
"A i18n foundation."
(:require [cuerdas.core :as str]
[uxbox.util.storage :refer (storage)]))
[uxbox.config :as cfg]
[uxbox.util.storage :refer [storage]]))
(defonce locale (atom (get storage ::locale :en)))
(defonce locale (atom (get storage ::locale cfg/default-language)))
(defonce state (atom {}))
(defn set-default-locale!
[]
(set-current-locale! cfg/default-language))
(defn update-locales!
[callback]
(swap! state callback))

View file

@ -30,6 +30,10 @@
(when (not= *target* "nodejs")
(add-watch data :sub #(persist alias %4)))
(reify
Object
(toString [_]
(str "Storage" (pr-str @data)))
ICounted
(-count [_]
(count @data))
@ -40,7 +44,7 @@
IReset
(-reset! [self newval]
(-reset! data newval))
(reset! data newval))
ISwap
(-swap! [self f]