From 2a2c7437e48ca1bf53a661055135f17ea407f129 Mon Sep 17 00:00:00 2001 From: Felix Roos Date: Wed, 8 Feb 2023 21:18:03 +0100 Subject: [PATCH 1/2] add cdn.freesound to cache list --- website/astro.config.mjs | 1 + 1 file changed, 1 insertion(+) diff --git a/website/astro.config.mjs b/website/astro.config.mjs index d4ef2735..f8f345b8 100644 --- a/website/astro.config.mjs +++ b/website/astro.config.mjs @@ -41,6 +41,7 @@ export default defineConfig({ [ /^https:\/\/raw\.githubusercontent\.com\/.*/i, /^https:\/\/freesound\.org\/.*/i, + /^https:\/\/cdn\.freesound\.org\/.*/i, /^https:\/\/shabda\.ndre\.gr\/.*/i, ].some((regex) => regex.test(url)), handler: 'CacheFirst', From 3209afa4ff8ddad3e1f226df531cdf1f3f19d6c2 Mon Sep 17 00:00:00 2001 From: Felix Roos Date: Thu, 9 Feb 2023 19:20:44 +0100 Subject: [PATCH 2/2] minirepl: add keyboard shortcuts --- packages/react/src/components/MiniRepl.jsx | 26 ++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/packages/react/src/components/MiniRepl.jsx b/packages/react/src/components/MiniRepl.jsx index fd803ac1..b2c40d79 100644 --- a/packages/react/src/components/MiniRepl.jsx +++ b/packages/react/src/components/MiniRepl.jsx @@ -63,6 +63,27 @@ export function MiniRepl({ tune, hideOutsideView = false, enableKeyboard, drawTi getTime: () => scheduler.now(), }); + // keyboard shortcuts + useKeydown( + useCallback( + async (e) => { + if (view?.hasFocus) { + if (e.ctrlKey || e.altKey) { + if (e.code === 'Enter') { + e.preventDefault(); + flash(view); + await activateCode(); + } else if (e.code === 'Period') { + stop(); + e.preventDefault(); + } + } + } + }, + [activateCode, stop, view], + ), + ); + // set active pattern on ctrl+enter useLayoutEffect(() => { if (enableKeyboard) { @@ -150,3 +171,8 @@ function useEvent(name, onTrigger, useCapture = false) { }; }, [onTrigger]); } + +// TODO: dedupe +function useKeydown(onTrigger) { + useEvent('keydown', onTrigger, true); +}