Skip to content

Commit

Permalink
Fix personality interaction always triggering
Browse files Browse the repository at this point in the history
  • Loading branch information
motform committed Feb 27, 2022
1 parent 0cd5060 commit 95fa5b9
Show file tree
Hide file tree
Showing 6 changed files with 22 additions and 25 deletions.
9 changes: 4 additions & 5 deletions resources/public/css/style.css
Original file line number Diff line number Diff line change
Expand Up @@ -404,9 +404,9 @@ textarea:focus {
display: none;
}

.spinner-1 { animation: fade 1.5s ease infinite alternate; }
.spinner-2 { animation: fade 1.5s ease infinite alternate; animation-delay: 0.5s;}
.spinner-3 { animation: fade 1.5s ease infinite alternate; animation-delay: 1s;}
.spinner-1 { animation: fade 1.75s ease infinite alternate; }
.spinner-2 { animation: fade 1.75s ease infinite alternate; animation-delay: 0.5s;}
.spinner-3 { animation: fade 1.75s ease infinite alternate; animation-delay: 1s;}

@keyframes fade {
0% { opacity: 100; }
Expand Down Expand Up @@ -958,8 +958,7 @@ h1 {
/* key input */

.key-input-container {
min-width: 400px;
max-width: 600px;
width: 425px;
margin-top: 80px;
background-color: var(--blurred-0);
backdrop-filter: blur(10px);
Expand Down
1 change: 1 addition & 0 deletions resources/public/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@

<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="theme-color" content="#000">
<link rel="icon" href="assets/favicon.png" type="image/png" />
<link rel="stylesheet" href="/css/reset.css" type="text/css">
<link rel="stylesheet" href="/css/fonts.css" type="text/css">
Expand Down
19 changes: 9 additions & 10 deletions src/org/motform/multiverse/components/personality.cljs
Original file line number Diff line number Diff line change
Expand Up @@ -4,26 +4,25 @@
(defn toggle-class [personality active-personality]
(str "personality-" (name personality) "-" (when-not (= personality active-personality) "in") "active"))

(defn toggle [personality active-personality page children-to-replace? tooltip-position]
(defn toggle [personality active-personality page dominant-personality tooltip-position]
(let [active? (= personality active-personality)
replacement-avalible? (and active? children-to-replace? (= page :page/story))]
replacement-avalible? (and active? (not= personality dominant-personality) (= page :page/story))]
[:div.personality.shadow-medium.tooltip-container.h-stack.centered
{:class (str (toggle-class personality active-personality)
(when replacement-avalible? " personality-replace"))
:on-pointer-down (cond replacement-avalible? #(rf/dispatch [:open-ai/replace-completions personality])
(not active?) (case page
:page/story #(rf/dispatch [:open-ai/replace-completions personality])
:page/new-story #(rf/dispatch [:personality/active personality])))}
:on-pointer-down (cond replacement-avalible? #(rf/dispatch [:open-ai/replace-completions personality])
(= page :page/new-story) #(rf/dispatch [:personality/active personality])
(not active?) #(rf/dispatch [:personality/active personality] #_[:open-ai/replace-completions personality]))}
[:span.tooltip.rounded.shadow-small
{:style (merge tooltip-position (when replacement-avalible? {:width "256px"}))}
{:style (merge tooltip-position (when replacement-avalible? {:width "215px"}))}
(if replacement-avalible?
"Replace unxeplored paths"
(name personality))]]))

(defn toggles [page]
(let [active-personality @(rf/subscribe [:personality/active])
children-to-replace? @(rf/subscribe [:personality/childern-to-replace? active-personality])]
(let [active-personality @(rf/subscribe [:personality/active])
dominant-personality @(rf/subscribe [:personality/dominant-personality])]
[:aside.personalities.v-stack.gap-quarter.centered
(for [personality @(rf/subscribe [:personality/personalities])]
^{:key personality} [toggle personality active-personality page children-to-replace?
^{:key personality} [toggle personality active-personality page dominant-personality
{:top "15%" :left "120%"}])]))
3 changes: 1 addition & 2 deletions src/org/motform/multiverse/events.cljs
Original file line number Diff line number Diff line change
Expand Up @@ -247,7 +247,6 @@
(reg-event-db
:open-ai/replace-children
(fn [db [_ story-id parent-id unrealized-child-ids completions]]
(println story-id parent-id unrealized-child-ids completions)
(let [original-children (util/children db parent-id story-id)
realized-children (select-keys original-children (->> original-children vals (map :sentence/id) (remove unrealized-child-ids)))
new-child-ids (repeatedly (count unrealized-child-ids) #(nano-id 10))
Expand All @@ -268,7 +267,7 @@
vals
(filter #(empty? (:sentence/children %))))
n-unrealized-children (count unrealized-children)]
(when-not (zero? n-unrealized-children)
(when-not (or (zero? n-unrealized-children) (= new-personality (-> unrealized-children first :sentence/personality)))
(let [prompt (open-ai/format-prompt (util/paragraph db story-id parent-id))
{:keys [uri params]} (open-ai/completion-with :ada #_:text-davinci-001 {:prompt prompt :n n-unrealized-children})]
{:db (-> db (assoc-in [:db/state :personality/active] new-personality)
Expand Down
7 changes: 3 additions & 4 deletions src/org/motform/multiverse/subs.cljs
Original file line number Diff line number Diff line change
Expand Up @@ -175,13 +175,12 @@
(-> db :db/personalities)))

(reg-sub
:personality/childern-to-replace?
(fn [_ [_ personality sentence-id]]
:personality/dominant-personality
(fn [_ [_ sentence-id]]
(->> @(rf/subscribe [:sentence/children (or sentence-id @(rf/subscribe [:sentence/active]))])
(filter #(empty? (:sentence/children %)))
first ; the invariant states that all unrealized children are from the same personality
:sentence/personality
(not= personality))))
:sentence/personality)))

(reg-sub
:sentence/child-personalities
Expand Down
8 changes: 4 additions & 4 deletions src/org/motform/multiverse/util.cljs
Original file line number Diff line number Diff line change
Expand Up @@ -70,11 +70,11 @@

(defn spinner-small []
[:div.v-stack.centered
[:svg {:height 23
[:svg {:height 21
:width 54}
[:circle.spinner-1 {:cx 6 :cy 8 :r 6 :fill "var(--spinner-fill)"}]
[:circle.spinner-2 {:cx 26 :cy 8 :r 6 :fill "var(--spinner-fill)"}]
[:circle.spinner-3 {:cx 46 :cy 8 :r 6 :fill "var(--spinner-fill)"}]]])
[:circle.spinner-1 {:cx 6 :cy 6 :r 5 :fill "var(--spinner-fill)"}]
[:circle.spinner-2 {:cx 26 :cy 6 :r 5 :fill "var(--spinner-fill)"}]
[:circle.spinner-3 {:cx 46 :cy 6 :r 5 :fill "var(--spinner-fill)"}]]])

(def icon-plus
[:svg {:view-box "0 0 18 18",
Expand Down

0 comments on commit 95fa5b9

Please sign in to comment.