Document design for top nav-bar
- Dominant language
- TypeScript
- Stars
- 2
- Forks
- 0
- PR merge metrics
- No merged PRs in 30d
Description
The top nav bar needs to be able to run in many different environments. We need to create a well documented architecture for it.
Suggestion: Create a single svelte component for the nav bar, which exports a lot of variables that can tweak how it behaves. Then create an adapter/adapters that can translate the system API's into our standardized variables
## Problem: location
There are different API's and design systems for the placement and appearance of the nav bar.
- In a browser as a normal page: at the top of the page
- In a browser installed as a web app: https://developer.mozilla.org/en-US/docs/Web/API/Window_Controls_Overlay_API
- In a tauri app: https://tauri.app/v1/guides/features/window-customization/
- Make sure it can also run in future environments. Electron? Phone? The moo-moo browser?
## Problem: file access
There are different API's for accessing files locally (we need to access an entire folder)
- In a chrome browser: https://developer.chrome.com/articles/file-system-access/
- In a firefox/safari browser: https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/webkitdirectory
- In tauri: https://tauri.app/v1/api/js/dialog
- Make sure it can also run in future environments. Electron? Phone? The moo-moo browser?
## Problem: file saving
There are different API's for downloading files locally (we need to save an entire folder)
- In a chrome browser: https://developer.chrome.com/articles/file-system-access/
- In a firefox/safari browser: we probably need to zip it :/ (we should also allow zip uploads when loading projects)
- In tauri: https://tauri.app/v1/api/js/dialog
- Make sure it can also run in future environments. Electron? Phone? The moo-moo browser?
## Something else?
Please investigate
Contributor guide
Assessment
This issue has not been assessed yet.