diff of 85e47f7154ce5d1920bf3a67604432f992287139

85e47f7154ce5d1920bf3a67604432f992287139
diff --git a/src/main.lisp b/src/main.lisp
index 72c2779..d41a2df 100644
--- a/src/main.lisp
+++ b/src/main.lisp
@@ -10,7 +10,8 @@
 (defvar *server* nil)
 
 (defun stop-server ()
-  (hunchentoot:stop *server*))
+  (hunchentoot:stop *server*)
+  (hunchentoot:stop murja.newui:*server*))
 
 (defun start-server (&key (port 3010) stream)
   (format t "Starting murja server~%")
@@ -25,6 +26,7 @@
       (setf *server* server))
     
     (hunchentoot:start server)
+    (hunchentoot:start murja.newui:*server*)
     (format t "Started murja server on ~a ~%" port)
     server))
 
diff --git a/src/murja-newui/newui.lisp b/src/murja-newui/newui.lisp
index c03ae52..9dc9d2e 100644
--- a/src/murja-newui/newui.lisp
+++ b/src/murja-newui/newui.lisp
@@ -1,12 +1,14 @@
 (defpackage murja.newui
   (:use :cl)
+  (:export :*server*)
   (:local-nicknames (:json :com.inuoe.jzon))
   (:import-from :cl-hash-util :hash))
 
 (in-package :murja.newui)
 
+;; pitäiskö nää olla uniikkeja per käyttäjä 🤔
 (defclass ui-session (hunchensocket:websocket-resource)
-  ((path :initarg :path :reader ui-path :initform "/newui"))
+  ((path :initarg :path :reader ui-path :initform "/newui")
   (:default-initargs :client-class 'ui-user))
 
 (defclass ui-user (hunchensocket:websocket-client)
@@ -15,6 +17,9 @@
 (defvar handlers (list (make-instance 'ui-session)))
 
 (defun find-handler (request)
+  (format t "Finding handler ~a from handlers ~a~%"
+	  (hunchentoot:script-name request)
+	  handlers)
   (find (hunchentoot:script-name request) handlers :test #'string= :key #'ui-path))
 
 (pushnew 'find-handler hunchensocket:*websocket-dispatch-table*)
@@ -124,8 +129,6 @@
   (format out
 	  "(with-state (~{(~a ~a)~})
   ~a)" (alexandria:hash-table-plist (state-map s)) (root-component s)))
-    
-(defvar *current-state* nil)
 
 (defmacro with-state (bindings &rest body)
   (let ((rewritten-symbols (map 'list #'first bindings)))
@@ -155,80 +158,24 @@
 								     
 	 current-state))))
 
-
-;; (defun jännägetter (o)
-;;   (second o))
-
-;; (defun set-jännä (o value)
-;;   (setf (second o) value)
-;;   o)
-
-;; (defsetf jännägetter set-jännä)
-
-;; (setf 
-;;  (jännägetter (list 1 2 3 4 5)) 555)
-;; (1 555 3 4 5)
-  
-
-;; (with-state ((a 123)
-;; 	     (b "lol")
-;; 	     (c :Aaaa))
-;;   (format t "Mitähän ~a on?~%" a)
-;;   (setf a 7654222)
-;;   (format t "Entä nyt? ~a~%" a))
-
-
-;; jonkun osan tästä pitäisi palauttaa (values (joko komponentti puu tai html) (state-puu))
-;; sitten websocket-listener kuulostelee jotain "CALL $id" eventtejä frontilta, ja osaa etsiä state-puusta oikean 0-arity closuren jota kutsua
-
-;; (render
-;;  (c :html (:lang "en")
-;;    (c :head ()
-;;       (c :style () "* { background-color: #880088; }")
-;;       (c :link (:rel :stylesheet :src "/resources/murja.css")))
-
-;;     (with-state ((linnunrata-vakio 42))
-;; 		   (c :body ()
-;; 		      (c :header () "Willkommen!")
-;; 		      (c :div (:class "sidebar-flex")
-;; 			 (c :div () (format nil "~d bugia korjaamatta" linnunrata-vakio))
-;; 			 (c :button (:onclick (e (lambda ()
-;; 						   (format t "lollero ~a~%" linnunrata-vakio)
-;; 						   (decf linnunrata-vakio))))))))))
-    
-    
-    
-    
-
-  
-;; (setf *js-identifiers-in-scope* (hash))
-
-;; (caar
-;;  (alexandria:hash-table-alist
-;;   *js-identifiers-in-scope*))
-
-
-;; (with-slots (closure) (gethash "fn58386" *js-identifiers-in-scope*)
-;;   (funcall closure)) 
-
-
 (easy-routes:defroute demo ("/demo" :method :get) ()
-  (render
-   (c :html (:lang "en")
-      (c :head ()
-	 (c :style () "body { background-color: #880088; }")
-	 (c :script (:src "/resources/newui.js"))
-	 (c :link (:rel :stylesheet :src "/resources/murja.css")))
-
-      (with-state ((linnunrata-vakio 42))
-	(c :body ()
-	   (c :header () "Willkommen!")
-	   (c :div (:class "sidebar-flex")
-	      (c :div () (format nil "~d bugia korjaamatta" linnunrata-vakio))
-	      (c :button (:onclick (e (lambda ()
-					(format t "lollero ~a~%" linnunrata-vakio)
-					(decf linnunrata-vakio))))
-		 "Vähennä bugeja tjsp.")))))))
+  (let ((state (with-state ((linnunrata-vakio 42))
+		 (c :body ()
+		    (c :header () "Willkommen!")
+		    (c :div (:class "sidebar-flex")
+		       (c :div () (format nil "~d bugia korjaamatta" linnunrata-vakio))
+		       (c :button (:onclick (e (lambda ()
+						 (format t "lollero ~a~%" linnunrata-vakio)
+						 (decf linnunrata-vakio))))
+			  "Vähennä bugeja tjsp."))))))
+    (format t "state: ~a ~%" state)
+    (render
+     (c :html (:lang "en")
+	(c :head ()
+	   (c :style () "body { background-color: #880088; }")
+	   (c :script (:src "/resources/newui.js"))
+	   (c :link (:rel :stylesheet :src "/resources/murja.css")))
+	state))))
 
 (setf hunchentoot:*catch-errors-p* nil)