Ghost/apps/admin-x-settings
Ronald Langeveld 429e8ed4d9
Added debounce to design modal on Admin X (#17793)
refs https://github.com/TryGhost/Product/issues/3349

- When updating certain states, eg the branding colour using or a typing
in a text box, we want it display on the preview almost immediately.
However this comes with a drawback of sending a ton of requests to the
server.
- This fix adds debouncing which essentially adds a small delay of
500ms, to wait for the user to finish typing / selecting colour before
making a request.

---

<!-- Leave the line below if you'd like GitHub Copilot to generate a
summary from your commit -->
<!--
copilot:summary
-->
### <samp>🤖 Generated by Copilot at 4e623ff</samp>

Improved the performance and user experience of the site description and
accent color settings by debouncing the backend updates. Added a
`debounce` utility function in `debounce.ts`.
2023-08-23 13:59:43 +02:00
..
.storybook
public
src Added debounce to design modal on Admin X (#17793) 2023-08-23 13:59:43 +02:00
test Added debounce to design modal on Admin X (#17793) 2023-08-23 13:59:43 +02:00
.eslintrc.cjs
.yarnrc
index.html
package.json Update dependency vitest to v0.34.2 2023-08-23 11:45:02 +01:00
playwright.config.ts
postcss.config.cjs
README.md
tailwind.config.cjs Admin x custom integrations UI (#17747) 2023-08-17 10:12:28 +02:00
tsconfig.json
tsconfig.node.json
vite.config.ts

Admin X Settings

Experimental re-write of Ghost Admin Settings in React

Development

Pre-requisites

  • Run yarn in Ghost monorepo root
  • Run yarn in this directory

Running the development version

Run yarn dev to start the development server to test/develop the settings standalone. This will generate a demo site from the index.html file which renders the app and makes it available on http://localhost:5173

Running inside Admin

Run yarn dev from the top-level repo with --adminX

Develop

This is a monorepo package.

Follow the instructions for the top-level repo.

  1. git clone this repo & cd into it as usual
  2. Run yarn to install top-level dependencies.

Test

  • yarn lint run just eslint
  • yarn test run lint and tests