From 0ca4c1de0f9adc17511f94d457eb0712c42b53b0 Mon Sep 17 00:00:00 2001 From: Felix Roos Date: Fri, 8 Dec 2023 22:21:26 +0100 Subject: [PATCH 1/7] make sure new recent patterns are on top --- website/src/settings.mjs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/src/settings.mjs b/website/src/settings.mjs index eaed555b..d660b396 100644 --- a/website/src/settings.mjs +++ b/website/src/settings.mjs @@ -81,7 +81,7 @@ export function addUserPattern(name, config) { throw new Error('addUserPattern expected code as property of second param'); } const userPatterns = getUserPatterns(); - setUserPatterns({ ...userPatterns, [name]: config }); + setUserPatterns({ [name]: config, ...userPatterns }); } export function newUserPattern() { @@ -152,7 +152,7 @@ export function updateUserCode(code) { activePattern = getNextCloneName(activePattern); setActivePattern(activePattern); } - setUserPatterns({ ...userPatterns, [activePattern]: { code } }); + setUserPatterns({ [activePattern]: { code }, ...userPatterns }); } export function deleteActivePattern() { @@ -182,7 +182,7 @@ export function duplicateActivePattern() { } const userPatterns = getUserPatterns(); activePattern = getNextCloneName(activePattern); - setUserPatterns({ ...userPatterns, [activePattern]: { code: latestCode } }); + setUserPatterns({ [activePattern]: { code: latestCode }, ...userPatterns }); setActivePattern(activePattern); } From c1b7476f433d96ad204960f65991a333862a9e98 Mon Sep 17 00:00:00 2001 From: Felix Roos Date: Fri, 8 Dec 2023 22:22:07 +0100 Subject: [PATCH 2/7] + show active pattern at the top + move active pattern functions to top --- website/src/repl/panel/PatternsTab.jsx | 80 ++++++++++++++++---------- 1 file changed, 51 insertions(+), 29 deletions(-) diff --git a/website/src/repl/panel/PatternsTab.jsx b/website/src/repl/panel/PatternsTab.jsx index 37cac6f7..124ba400 100644 --- a/website/src/repl/panel/PatternsTab.jsx +++ b/website/src/repl/panel/PatternsTab.jsx @@ -1,4 +1,4 @@ -import React from 'react'; +import { useMemo } from 'react'; import * as tunes from '../tunes.mjs'; import { useSettings, @@ -12,6 +12,7 @@ import { addUserPattern, } from '../../settings.mjs'; import { logger } from '@strudel.cycles/core'; +import { DocumentDuplicateIcon, PencilSquareIcon, TrashIcon } from '@heroicons/react/20/solid'; function classNames(...classes) { return classes.filter(Boolean).join(' '); @@ -19,10 +20,50 @@ function classNames(...classes) { export function PatternsTab({ context }) { const { userPatterns, activePattern } = useSettings(); + const isExample = useMemo(() => activePattern && !!tunes[activePattern], [activePattern]); return (
-
+ {activePattern && ( +
+

{activePattern}

+
+ + {!isExample && ( + + )} + {!isExample && ( + + )} +
+
+ )} + +
- - - @@ -66,24 +98,14 @@ export function PatternsTab({ context }) { /> import -
-
- {Object.entries(userPatterns).map(([key, up]) => ( - { - const { code } = up; - setActivePattern(key); - context.handleUpdate(code, true); - }} - > - {key} - - ))} +
From a6f969614e9e080e28f6f2a6a8ae77149763e151 Mon Sep 17 00:00:00 2001 From: Felix Roos Date: Fri, 8 Dec 2023 22:24:49 +0100 Subject: [PATCH 3/7] fix: rename cancel --- website/src/settings.mjs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/website/src/settings.mjs b/website/src/settings.mjs index d660b396..620fb890 100644 --- a/website/src/settings.mjs +++ b/website/src/settings.mjs @@ -123,6 +123,10 @@ export function renameActivePattern() { return; } const newName = prompt('Enter new name', activePattern); + if (newName === null) { + // canceled + return; + } if (userPatterns[newName]) { alert('Name already taken!'); return; From 5116bf74ad267a244383ddf9474f7539820f8d96 Mon Sep 17 00:00:00 2001 From: Felix Roos Date: Fri, 8 Dec 2023 22:25:05 +0100 Subject: [PATCH 4/7] reorder pattern action buttons --- website/src/repl/panel/PatternsTab.jsx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/src/repl/panel/PatternsTab.jsx b/website/src/repl/panel/PatternsTab.jsx index 124ba400..def6cef1 100644 --- a/website/src/repl/panel/PatternsTab.jsx +++ b/website/src/repl/panel/PatternsTab.jsx @@ -28,15 +28,15 @@ export function PatternsTab({ context }) {

{activePattern}

- {!isExample && ( )} + {!isExample && ( )} - {!isExample && ( - )} From 6969800192ae2e34974f44ff616375991e866aef Mon Sep 17 00:00:00 2001 From: Felix Roos Date: Sat, 9 Dec 2023 17:23:24 +0100 Subject: [PATCH 7/7] fix: update button bug --- website/src/repl/Header.jsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/src/repl/Header.jsx b/website/src/repl/Header.jsx index 5e991f8a..b6f13060 100644 --- a/website/src/repl/Header.jsx +++ b/website/src/repl/Header.jsx @@ -87,7 +87,7 @@ export function Header({ context }) { )}