From c4dce04d4207569a6fdec61b6a0a83feb378a0f8 Mon Sep 17 00:00:00 2001 From: Jose Henrique Date: Sat, 21 Mar 2026 03:32:01 +0000 Subject: [PATCH] migrate to Preact and add animations (#1) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Replace React 19 with Preact via @preact/preset-vite (zero component changes needed — Vite aliases react → preact/compat at build time) - Add custom iOS easing curves (ease-ios, ease-spring) via Tailwind @theme - Update all transitions to use iOS-standard 200ms durations and spring/decel easing - Add active:scale press feedback on tiles, buttons, and toggles - Toggle knob now uses spring easing for a satisfying snap Reviewed-on: https://git.ivanch.me/ivanch/vision-start/pulls/1 Co-authored-by: Jose Henrique Co-committed-by: Jose Henrique --- App.tsx | 4 +- components/ConfigurationModal.tsx | 10 +- components/Dropdown.tsx | 6 +- components/ToggleSwitch.tsx | 8 +- components/WebsiteTile.tsx | 10 +- components/layout/ConfigurationButton.tsx | 2 +- components/layout/EditButton.tsx | 2 +- index.css | 7 +- package-lock.json | 616 ++++++++++++++++------ package.json | 6 +- vite.config.ts | 4 +- 11 files changed, 495 insertions(+), 180 deletions(-) diff --git a/App.tsx b/App.tsx index 5be3690..3829d10 100644 --- a/App.tsx +++ b/App.tsx @@ -240,13 +240,13 @@ const App: React.FC = () => { /> ))} {isEditing && ( -
+
-
diff --git a/components/Dropdown.tsx b/components/Dropdown.tsx index e44e311..3f36f6f 100644 --- a/components/Dropdown.tsx +++ b/components/Dropdown.tsx @@ -79,7 +79,7 @@ const Dropdown: React.FC = ({ options, value, onChange, name, mul > {selectedOptionLabel} = ({ options, value, onChange, name, mul {isOpen && (