├── .gitignore ├── README.md ├── index.html ├── jsconfig.json ├── package-lock.json ├── package.json ├── public ├── _redirects ├── favicon.ico ├── manifest.json ├── switchblade-full-dev.png ├── switchblade-full.png └── switchblade.png ├── src ├── App.jsx ├── AppChrome.jsx ├── components │ ├── Alert.jsx │ ├── AutoComplete.jsx │ ├── Button.jsx │ ├── Card.jsx │ ├── Checkbox.jsx │ ├── Collapse.jsx │ ├── Divider.jsx │ ├── Drawer.jsx │ ├── FeatureFlag.jsx │ ├── FilterShortcuts.jsx │ ├── FilterUsers.jsx │ ├── FilterVersions.jsx │ ├── Grid.jsx │ ├── Header.jsx │ ├── Icon.jsx │ ├── Input.jsx │ ├── LabeledInput.jsx │ ├── Loader.jsx │ ├── MfaModal.jsx │ ├── MobileSwap.jsx │ ├── Modal.jsx │ ├── NavDrawer.jsx │ ├── NavLink.jsx │ ├── NewShortcutButton.jsx │ ├── NewUserButton.jsx │ ├── NewVersionButton.jsx │ ├── NoContent.jsx │ ├── NotAuthorized.jsx │ ├── Panel.jsx │ ├── PermissionsWrapper.jsx │ ├── Select.jsx │ ├── SetupDrawer.jsx │ ├── ShortcutEditorDrawer.jsx │ ├── Stack.jsx │ ├── SystemInfoDrawer.jsx │ ├── Table.jsx │ ├── Tag.jsx │ ├── UserEditorDrawer.jsx │ └── VersionEditorDrawer.jsx ├── constants │ ├── deletedStates.js │ ├── prereleaseStates.js │ ├── requiredStates.js │ ├── shortcutStates.js │ ├── statusColors.js │ └── versionStates.js ├── icons │ ├── alert.svg │ ├── close.svg │ ├── collapse.svg │ ├── disabled.svg │ ├── enabled.svg │ ├── loader.svg │ ├── manage-users.svg │ ├── menu.svg │ ├── new.svg │ ├── not-found.svg │ ├── switchblade.svg │ └── user.svg ├── index.css ├── index.jsx ├── lib │ ├── config.js │ ├── switchblade.js │ └── util.js ├── pages │ ├── Account.jsx │ ├── Login.jsx │ ├── ManageUsers.jsx │ ├── ShortcutList.jsx │ └── ShortcutVersionList.jsx ├── router │ ├── paths.js │ └── routes.jsx ├── state │ ├── app.js │ ├── auth.js │ ├── index.js │ ├── me.js │ ├── server.js │ ├── shortcuts.js │ ├── users.js │ └── versions.js └── styles │ ├── Alert.module.css │ ├── AutoComplete.module.css │ ├── Button.module.css │ ├── Card.module.css │ ├── Checkbox.module.css │ ├── Collapse.module.css │ ├── Drawer.module.css │ ├── Grid.module.css │ ├── Header.module.css │ ├── Input.module.css │ ├── Loader.module.css │ ├── MfaModal.module.css │ ├── Modal.module.css │ ├── NavLink.module.css │ ├── Panel.module.css │ ├── Select.module.css │ ├── Stack.module.css │ ├── Table.module.css │ ├── Tag.module.css │ └── animations.module.css └── vite.config.js /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | build 3 | .DS_Store 4 | .env -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Requirements 2 | 3 | Any environment that can run an application built on React 18 should suffice. This app was created with Node 19, but should work with Node 18. The app is built using Vite. 4 | 5 | # Environment Variables 6 | 7 | You can setup the following environment variables to configure your Switchblade UI installation. When running the app locally you can do this with a `.env` file at the top level of the repo. This file has been git-ignored and will not be committed. 8 | 9 | - `SWITCHBLADE_API_HOST`: The full domain name for your Switchblade API with no trailing slash. If you don't enter this value, you'll be prompted to enter it before you reach the login screen. You will have the option of letting your browser remember your hostname in the future. Leaving this blank will allow anyone to use your installation of this interface to manage their own Switchblade installation, making it possible to host a pubicly-available version of this UI that does not give access to any of your data. 10 | 11 | # Change Log 12 | 13 | ## v1.1.2 (2024-12-24) 14 | - Updated dependencies 15 | 16 | ## v1.1.1 (2024-05-10) 17 | - Fixed an issue where pressing the escape key could take you to a different page if no modals or drawers were open 18 | - Updated dependencies 19 | 20 | ## v1.1.0 (2023-10-04) 21 | - Added support for Switchblade 1.2.0 features: 22 | - Create and manage users 23 | - Give each user specific access permissions to control what they can do in the app 24 | - Support filtering shortcuts and versions by creator 25 | - List shortcut and version creators on editor drawers 26 | 27 | ## v1.0.1 (2023-06-07) 28 | - Switched to `npm` as the package repo for `switchblade-sdk`. 29 | 30 | ## v1.0.0 (2023-06-07) 31 | - Initial release -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |
5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 |