| 
					
				 | 
			
			
				@@ -192,12 +192,14 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 (rum/defcs page-title < rum/reactive 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   (rum/local false ::edit?) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  (rum/local "" ::input-value) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   {:init (fn [state] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            (assoc state ::title-value (atom (nth (:rum/args state) 2))))} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   [state page-name icon title _format fmt-journal?] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   (when title 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     (let [*title-value (get state ::title-value) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           *edit? (get state ::edit?) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          *input-value (get state ::input-value) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           input-ref (rum/create-ref) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           repo (state/get-current-repo) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           hls-file? (pdf-assets/hls-file? title) 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -264,6 +266,7 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                          (:db/id page) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                          :page)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                       (when (and (not hls-file?) (not fmt-journal?)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        (reset! *input-value (if untitled? "" old-name)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         (reset! *edit? true))))} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        (when (not= icon "") [:span.page-icon icon]) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        [:div.page-title-sizer-wrapper.relative 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -278,14 +281,16 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                              :width "100%" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                              :font-weight "inherit"} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				              :auto-complete (if (util/chrome?) "chrome-off" "off") ; off not working here 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-             :default-value (if untitled? "" old-name) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+             :value         (rum/react *input-value) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				              :on-change     (fn [^js e] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                               (let [value (util/evalue e)] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                (reset! *title-value (string/trim value)))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                (reset! *title-value (string/trim value)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                (reset! *input-value value))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				              :on-blur       blur-fn 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				              :on-key-down   (fn [^js e] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                               (when (= (gobj/get e "key") "Enter") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                 (blur-fn e))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+             :placeholder   (when untitled? (t :untitled)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				              :on-key-up     (fn [^js e] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                             ;; Esc 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                               (when (= 27 (.-keyCode e)) 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -295,12 +300,13 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                          (when untitled? (reset! *title-value "")) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                          (js/setTimeout #(when-let [input (rum/deref input-ref)] (.select input))))}]]) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         [:span.title.inline-block 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-         {:data-ref page-name 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+         {:data-value (rum/react *input-value) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          :data-ref page-name 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           :style {:opacity (when @*edit? 0) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                   :pointer-events "none" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                   :font-weight "inherit" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  :min-width "40px"}} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-         (cond @*edit? (rum/react *title-value) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  :min-width "80px"}} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+         (cond @*edit? [:span {:style {:white-space "pre"}} (rum/react *input-value)] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                untitled? [:span.opacity-50 (t :untitled)] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                :else title)]]]))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 |