|  | @@ -751,14 +751,13 @@
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  (rum/defcs page-cp
 | 
	
		
			
				|  |  |    [state option]
 | 
	
		
			
				|  |  | -  (rum/with-key
 | 
	
		
			
				|  |  | -    (page-aux option)
 | 
	
		
			
				|  |  | -    (str
 | 
	
		
			
				|  |  | -     (state/get-current-repo)
 | 
	
		
			
				|  |  | -     "-"
 | 
	
		
			
				|  |  | -     (or (:db/id option)
 | 
	
		
			
				|  |  | -         (:page-name option)
 | 
	
		
			
				|  |  | -         (get-page-name state)))))
 | 
	
		
			
				|  |  | +  (let [page-name (or (:page-name option) (get-page-name state))]
 | 
	
		
			
				|  |  | +    (rum/with-key
 | 
	
		
			
				|  |  | +      (page-aux (assoc option :page-name page-name))
 | 
	
		
			
				|  |  | +      (str
 | 
	
		
			
				|  |  | +       (state/get-current-repo)
 | 
	
		
			
				|  |  | +       "-"
 | 
	
		
			
				|  |  | +       (or (:db/id option) page-name)))))
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  (defonce layout (atom [js/window.innerWidth js/window.innerHeight]))
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -918,25 +917,25 @@
 | 
	
		
			
				|  |  |                   (ui/tooltip
 | 
	
		
			
				|  |  |                     ;; Slider keeps track off the range from min created-at to max created-at
 | 
	
		
			
				|  |  |                     ;; because there were bugs with setting min and max directly
 | 
	
		
			
				|  |  | -                   (ui/slider created-at-filter
 | 
	
		
			
				|  |  | -                     {:min 0
 | 
	
		
			
				|  |  | -                      :max (- (get-in graph [:all-pages :created-at-max])
 | 
	
		
			
				|  |  | -                             (get-in graph [:all-pages :created-at-min]))
 | 
	
		
			
				|  |  | -                      :on-change #(do
 | 
	
		
			
				|  |  | -                                    (reset! *created-at-filter (int %))
 | 
	
		
			
				|  |  | -                                    (set-setting! :created-at-filter (int %)))})
 | 
	
		
			
				|  |  | -                   [:div.px-1 (str (js/Date. (+ created-at-filter (get-in graph [:all-pages :created-at-min]))))])])
 | 
	
		
			
				|  |  | +                  (ui/slider created-at-filter
 | 
	
		
			
				|  |  | +                             {:min 0
 | 
	
		
			
				|  |  | +                              :max (- (get-in graph [:all-pages :created-at-max])
 | 
	
		
			
				|  |  | +                                      (get-in graph [:all-pages :created-at-min]))
 | 
	
		
			
				|  |  | +                              :on-change #(do
 | 
	
		
			
				|  |  | +                                            (reset! *created-at-filter (int %))
 | 
	
		
			
				|  |  | +                                            (set-setting! :created-at-filter (int %)))})
 | 
	
		
			
				|  |  | +                  [:div.px-1 (str (js/Date. (+ created-at-filter (get-in graph [:all-pages :created-at-min]))))])])
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |                (when (seq focus-nodes)
 | 
	
		
			
				|  |  |                  [:div.flex.flex-col.mb-2
 | 
	
		
			
				|  |  |                   [:p {:title "N hops from selected nodes"}
 | 
	
		
			
				|  |  |                    "N hops from selected nodes"]
 | 
	
		
			
				|  |  |                   (ui/tooltip
 | 
	
		
			
				|  |  | -                   (ui/slider (or n-hops 10)
 | 
	
		
			
				|  |  | -                     {:min 1
 | 
	
		
			
				|  |  | -                      :max 10
 | 
	
		
			
				|  |  | -                      :on-change #(reset! *n-hops (int %))})
 | 
	
		
			
				|  |  | -                   [:div n-hops])])
 | 
	
		
			
				|  |  | +                  (ui/slider (or n-hops 10)
 | 
	
		
			
				|  |  | +                             {:min 1
 | 
	
		
			
				|  |  | +                              :max 10
 | 
	
		
			
				|  |  | +                              :on-change #(reset! *n-hops (int %))})
 | 
	
		
			
				|  |  | +                  [:div n-hops])])
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |                [:a.opacity-70.opacity-100 {:on-click (fn []
 | 
	
		
			
				|  |  |                                                        (swap! *graph-reset? not)
 | 
	
	
		
			
				|  | @@ -983,37 +982,37 @@
 | 
	
		
			
				|  |  |                 [:p {:title "Link Distance"}
 | 
	
		
			
				|  |  |                  "Link Distance"]
 | 
	
		
			
				|  |  |                 (ui/tooltip
 | 
	
		
			
				|  |  | -                 (ui/slider (/ link-dist 10)
 | 
	
		
			
				|  |  | -                   {:min 1                                  ;; 10
 | 
	
		
			
				|  |  | -                    :max 18                                 ;; 180
 | 
	
		
			
				|  |  | -                    :on-change #(let [value (int %)]
 | 
	
		
			
				|  |  | -                                  (reset! *link-dist (* value 10))
 | 
	
		
			
				|  |  | -                                  (set-forcesetting! :link-dist (* value 10)))})
 | 
	
		
			
				|  |  | -                 [:div link-dist])]
 | 
	
		
			
				|  |  | +                (ui/slider (/ link-dist 10)
 | 
	
		
			
				|  |  | +                           {:min 1                                  ;; 10
 | 
	
		
			
				|  |  | +                            :max 18                                 ;; 180
 | 
	
		
			
				|  |  | +                            :on-change #(let [value (int %)]
 | 
	
		
			
				|  |  | +                                          (reset! *link-dist (* value 10))
 | 
	
		
			
				|  |  | +                                          (set-forcesetting! :link-dist (* value 10)))})
 | 
	
		
			
				|  |  | +                [:div link-dist])]
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |                [:div.flex.flex-col.mb-2
 | 
	
		
			
				|  |  |                 [:p {:title "Charge Strength"}
 | 
	
		
			
				|  |  |                  "Charge Strength"]
 | 
	
		
			
				|  |  |                 (ui/tooltip
 | 
	
		
			
				|  |  | -                 (ui/slider (/ charge-strength 100)
 | 
	
		
			
				|  |  | -                   {:min -10                                ;;-1000
 | 
	
		
			
				|  |  | -                    :max 10                                 ;;1000
 | 
	
		
			
				|  |  | -                    :on-change #(let [value (int %)]
 | 
	
		
			
				|  |  | -                                  (reset! *charge-strength (* value 100))
 | 
	
		
			
				|  |  | -                                  (set-forcesetting! :charge-strength (* value 100)))})
 | 
	
		
			
				|  |  | -                 [:div charge-strength])]
 | 
	
		
			
				|  |  | +                (ui/slider (/ charge-strength 100)
 | 
	
		
			
				|  |  | +                           {:min -10                                ;;-1000
 | 
	
		
			
				|  |  | +                            :max 10                                 ;;1000
 | 
	
		
			
				|  |  | +                            :on-change #(let [value (int %)]
 | 
	
		
			
				|  |  | +                                          (reset! *charge-strength (* value 100))
 | 
	
		
			
				|  |  | +                                          (set-forcesetting! :charge-strength (* value 100)))})
 | 
	
		
			
				|  |  | +                [:div charge-strength])]
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |                [:div.flex.flex-col.mb-2
 | 
	
		
			
				|  |  |                 [:p {:title "Charge Range"}
 | 
	
		
			
				|  |  |                  "Charge Range"]
 | 
	
		
			
				|  |  |                 (ui/tooltip
 | 
	
		
			
				|  |  | -                 (ui/slider (/ charge-range 100)
 | 
	
		
			
				|  |  | -                   {:min 5                                  ;;500
 | 
	
		
			
				|  |  | -                    :max 40                                 ;;4000
 | 
	
		
			
				|  |  | -                    :on-change #(let [value (int %)]
 | 
	
		
			
				|  |  | -                                  (reset! *charge-range (* value 100))
 | 
	
		
			
				|  |  | -                                  (set-forcesetting! :charge-range (* value 100)))})
 | 
	
		
			
				|  |  | -                 [:div charge-range])]
 | 
	
		
			
				|  |  | +                (ui/slider (/ charge-range 100)
 | 
	
		
			
				|  |  | +                           {:min 5                                  ;;500
 | 
	
		
			
				|  |  | +                            :max 40                                 ;;4000
 | 
	
		
			
				|  |  | +                            :on-change #(let [value (int %)]
 | 
	
		
			
				|  |  | +                                          (reset! *charge-range (* value 100))
 | 
	
		
			
				|  |  | +                                          (set-forcesetting! :charge-range (* value 100)))})
 | 
	
		
			
				|  |  | +                [:div charge-range])]
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |                [:a
 | 
	
		
			
				|  |  |                 {:on-click (fn []
 |