Help
Frequently Asked Questions
Practical answers for the most common customer setup and customization tasks.
How do I change the logo?
Replace the appropriate files in src/assets/images/logos/. Use full variants
for expanded branding and icon variants for collapsed/minimal locations. Update the static
public favicon copies too.
How do I change theme colors?
Edit the accent ramps and semantic tokens in src/styles.css. Skin options and
defaults are managed in src/lib/nova-settings.ts.
How do I enable dark mode?
Use the built-in Customizer or set the mode in the Nova settings store. The current implementation supports light, dark, and system modes.
How do I add a new page?
Create a route file under src/routes/, then add the item to
src/data/navigation.ts when it belongs in the sidebar.
How do I replace user avatars?
Replace local files in src/assets/images/users/ while retaining their names,
or update the shared image mapping where a new filename is required.
Where are images stored?
Brand assets are in src/assets/images/logos/; user images are in
src/assets/images/users/.
How do I create a production build?
npm run build
Why is npm install failing?
Check the active Node.js version, confirm your network or registry access, delete only the
install artifacts if necessary, then retry from the folder containing
package.json.
How do I update dependencies?
Review the package release notes, update package.json deliberately, run
npm install, and test npm run build before deployment.
Why did my edit disappear?
Most new page records are stored in component state and reset when the page is remounted. Customizer settings persist in browser storage. Add a backend or a deliberate persistence layer for business records.
Why does a booking not appear on another page?
Doctor booking, Appointments, Wards, Patients, and other demo workspaces have independent local state. They demonstrate UI workflows without a shared hospital or HR system.
Does AI Chat call a model?
No. It uses local sample responses. Attachments stay in the conversation and are not analyzed or uploaded. Voice input depends on the browser SpeechRecognition API.
This page did not load
- Check the development terminal and browser console for the original exception.
- Verify route imports and component paths; avoid placing state-dependent JSX at module scope.
- Keep
src/lib/vexui-settings.tscompatibility imports available. - Restart the development server if its module graph is stale after file moves.
- Run the build, then verify the affected route and controls in a browser.
Voice input unavailable
Speech recognition is browser-dependent. The feature shows a fallback when unsupported. Browser microphone permission and connection requirements may affect availability. No backend speech service is implemented here.
v2.0.0 Documentation