* Use platform-agnostic path separators
* Fix file settings by fixing absolute file path
* Fix missing home link in AppHeader
* Found so many more instances of raw "/" characters
* Tiny Settings style fix
* Clean up onboarding behavior for XState and multi-file
* Fix unrelated bug, settings button in the home sidebar
doesn't go to the home settings after my previous fixes to routes
* Turn on "Replay Onboarding" button in home settings
* Add icons
* Add Tooltip component
* Rough-in of sidebar styling and add initial File Tree
* Polish basic styling
* Show nested files and directories
* Add tests
* use camelCase for entrypointMetadata
* Add ability to switch files via links
* Revert "Improve Prop Typings for Modals. Remove instances of `any`. (… (#813)
Revert "Improve Prop Typings for Modals. Remove instances of `any`. (#792)"
This reverts commit 629f326f4c.
* ffmpeg instructions (#814)
* Formatting
* Remove folder names from display in app header
* Highlight current file, open folders it's within
* Navigate on double click, delete on Cmd + Esc
+ highlight focused folders
* Migrate to an XState machine, add create new file
* Add ability to create folders (with naive names)
+ remove command bar stuff for now
* Use route loader data to instantiate the kcl code
* Clean up some unused things
* Add ability to rename files
* Add ability to rename folders
* Add keyboard shortcuts for creating files/folders
* Tooltip style tweaks
* Polish + re-execute when switching files with a connection
* Reset code before navigating via file tree
* Don't invoke `readProject` if you're in a browser
* Show files and folders for projects on home page
* Don't highlight folders further down the file tree
* @jgomez720 and @jessfraz feedback:
+ indentation markers
+ proper file icon
+ bump down font size
+ touch up colors
* Tune down spacing, allow scroll overflow
* Fix formatting
* Update src/lib/tauriFS.ts
* Add a confirmation dialog when deleting
Signed-off-by: Frank Noirot <frank@kittycad.io>
---------
Signed-off-by: Frank Noirot <frank@kittycad.io>
Co-authored-by: Kurt Hutten <k.hutten@protonmail.ch>
* Fix unrelated bug, settings button in the home sidebar
doesn't go to the home settings after my previous fixes to routes
* Turn on "Replay Onboarding" button in home settings
* Use ONBOARDING_PROJECT_NAME in both places
* Fix formatting
* Add Cmd + / to support windows, update walkthrough
* Fix#628 dark mode <select> bg color
* Fix#621 by narrowing margins and moving to left
---------
Co-authored-by: Jess Frazelle <jessfraz@users.noreply.github.com>
* Fix#593: don't prevent default on link click
* Use absolute/explicit path for settings
Trying to test fix for #594
* Broken: replace almost all relative URLs with absolute
* add relative jump backs util
* dot dot slash everywhere
* use usLocation not window.location
* the one that got away
* fmt 🤦♂️
---------
Co-authored-by: Kurt Hutten Irev-Dev <k.hutten@protonmail.ch>
* Refactor: rename CADProgram to CameraSystem
* Fix buttonDownInStream always set to 0
This is problematic because the left mouse
button ID is actually 0. If no button is
pressed we should set back to undefined.
* Fix: middle mouse button ID is 1, not 3
* Add "Trackpad Friendly" camera system setting
Signed off by Frank Noirot <frank@kittycad.io>
* Allow camera configs to be lenient on first click
* Add camera handler config object
Using definitions of camera controls of various
CAD incumbents from Onshape's onboarding.
Signed-off-by: Frank Noirot <frank@kittycad.io>
* Refactor: alphabetize settingsMachine
* Refactor: add descriptions to MouseGuards
* Refactor: don't destructure mousemove event
* Refactor: button down in stream as int, not bool
* Honor current camera control settings
* Add cameraControls to settings
* Refactor: alphabetize settings imports
* Refactor: break out cameraControls to own file
* Fix camera control setting in command bar
* Fix formatting on generated type file
* dont use "as" in App.tsx guards
Co-authored-by: Kurt Hutten <k.hutten@protonmail.ch>
* Don't use "as" in Stream.tsx
Co-authored-by: Kurt Hutten <k.hutten@protonmail.ch>
* Don't use "as" in settingsMachine.ts
Co-authored-by: Kurt Hutten <k.hutten@protonmail.ch>
* Add type to cadPrograms
Co-authored-by: Kurt Hutten <k.hutten@protonmail.ch>
* Kurt review
---------
Signed-off-by: Frank Noirot <frank@kittycad.io>
Co-authored-by: Kurt Hutten <k.hutten@protonmail.ch>
* Set named const as default project name
* Refactor: move base units into settings machine
Signed off by Frank Noirot <frank@kittycad.io>
* Reset default when creating with blank name
Signed off by Frank Noirot <frank@kittycad.io>
* Make it impossible to set empty defaultProjectName
Signed off by Frank Noirot <frank@kittycad.io>
* Make it impossible to assign empty strings
to defaultProjectName
Signed off by Frank Noirot <frank@kittycad.io>
* Add XState and naive ActionBar
* Add basic dialog and combobox
* Selectable commands in command bar
* Add a few (broken) file actions
* Home commands
* Add subcommand descriptions, cleanup on navigate
* Refactor: move command creation and types to lib
* Refactor to allow any machine to add commands
* Add auth to command bar, add ability to hide cmds
* Refactor: consolidate theme utilities
* Add settings as machine and command set
* Fix: type tweaks
* Fix: only allow auth to navigate from signin
* Remove zustand-powered settings
* Fix: remove zustand settings from App
* Fix: browser infinite redirect
* Feature: allow commands to be hidden per-platform
* Fix: tsc errors
* Fix: hide default project directory from cmd bar
* Polish: transitions, css tweaks
* Feature: label current value in options settings
* Fix broken debug panel UI
* Refactor: move settings toasts to actions
* Tweak: css rounding
* Fix: set default directory recursion and reload 🐞
* Refactor: move machines to their own directory
* Fix formatting
* @Irev-Dev clean-up catches, import cleanup
* Light mode style fixes
* Fix dismissing onboarding for nested routes
* Refactor: move export button to user side panel
* Refactor: add project data to modeling page loader
* Add new ProjectSidebarMenu
* Convert AppHeader to use ProjectSidebarMenu
* Move ExportButton to ProjectSidebarMenu
* Fix: hide default dir setting in Web
* Add DownloadAppBanner when in Prod
* Add unit tests to ProjectSidebarMenu
* Tiny CSS rounding tweak to sidebars
* Fix formatting in unit tests
* Update icons and logos to use full-color Kitt
* Fix: dim UI on camera drag, not click
* Bugfix: don't toast on every change of defaultDir
* Refactor app to live under /file/:id
* Stub out Tauri-only home page
* home reads and writes blank files to defaultDir
* Fix initial directory creation
* Make file names editable
* Refactor onboarding to use normal fns for load issues
* Feature: load and write files to and from disk
* Feature: Add file deletion, break out FileCard component
* Fix settings close URLs to be relative, button types
* Add filename and link to AppHeader
* Style tweaks: scrollbar, header name, card size
* Style: add header, empty state to Home
* Refactor: load file in route loader
* Move makePathRelative to lib to fix tests
* Fix App test
* Use '$nnn' default name scheme
* Fix type error on ActionButton
* Fix type error on ActionButton
* @adamchalmers review
* Fix merge mistake
* Refactor: rename all things "file" to "project"
* Feature: migrate to <project-name>/main.kcl setup
* Fix tsc test
* @Irev-Dev review part 1: renames and imports
* @Irev-Dev review pt 2: simplify file list refresh
* @Irev-Dev review pt 3: filter out non-projects
* @Irev-review pt 4: folder conventions + home auth
* Add sort functionality to new welcome page (#255)
* Add todo for Sentry
* Make /settings not throw away App component
* Make App not reload for Onboarding
* Close sidebar when navigating to /settings
* Use centralized constants for route pathnames
* Clean up a few stray raw path literals
* Feature: settings auto-save as they are updated
* Refactor: get rid of temporary settings states
* Feature: add escape hotkey to settings
* Style: layout tweaks
* Feature: setting unit system updates base unit too
* Add passive dark mode to everything but codemirror
* Add dark theme support for Codemirror
* Make theme a user setting
* Fix button text size
* guard against undefined window
* Formatting and test fix
* Add theme colors from Figma
* Rough-in of AppHeader
* Add styled ActionButton
* Add react-router and placeholder Settings page
* Add ability to set persistent defaultDir
* Add react-hot-toast for save success message
* Add defaultProjectName setting
* Handle case of stale empty defaultDir in storage
* Wrap app in BrowserRouter
* Wrap test App in BrowserRouter
* Don't need BrowserRouter outside of testing
because we use RouterProvider