Agreed, weird to say this to a lisper as you guys are all about the elegance etc, but you should really take a leaf out of some JS library authors' books.
http://oesmith.github.com/morris.js
http://humblesoftware.com/flotr2#!basic
http://wijmo.com/widgets/
You seem to have mixed some nice 'magic' (i.e. enough magic to draw a somewhat beautiful map of the United States, and your very interesting theming feature) with some very odd low-level stuff, e.g.
':path.state {:d (geo->svg (get states state-name) :projection proj'
What is that about? Why should I have to know about those things?
Also I think you should seriously consider factoring your styles out of your ClojureScript, that's what CSS is for. i.e. this stuff:
[:div {:style (style {:height bar-height
...
:background-color "gray"})}
[:span {:style "color: white;"} label]]))])
... should no more be written in ClojureScript than it should be written in JavaScript. That's CSS's domain.
You will reap the rewards (first simple win being able to tweak and experiment with styles in Chrome's dev tools) if you start using CSS classes to define your styles.
Apart from that it's very interesting work and you clearly have an eye for beauty, look forward to seeing more.
http://oesmith.github.com/morris.js http://humblesoftware.com/flotr2#!basic http://wijmo.com/widgets/
You seem to have mixed some nice 'magic' (i.e. enough magic to draw a somewhat beautiful map of the United States, and your very interesting theming feature) with some very odd low-level stuff, e.g.
':path.state {:d (geo->svg (get states state-name) :projection proj'
What is that about? Why should I have to know about those things?
Also I think you should seriously consider factoring your styles out of your ClojureScript, that's what CSS is for. i.e. this stuff:
[:div {:style (style {:height bar-height ... :background-color "gray"})} [:span {:style "color: white;"} label]]))])
... should no more be written in ClojureScript than it should be written in JavaScript. That's CSS's domain.
You will reap the rewards (first simple win being able to tweak and experiment with styles in Chrome's dev tools) if you start using CSS classes to define your styles.
Apart from that it's very interesting work and you clearly have an eye for beauty, look forward to seeing more.