enso/app/ide-desktop/lib/dashboard
somebody1234 0a493de012
Update uploaded files (#8797)
- Close https://github.com/enso-org/cloud-v2/issues/856
- Implement upload for existing files
- This is triggered by uploading a file with the same name.
- Add a modal that allows the user to select whether to rename or update the file, for each conflicting file

# Important Notes
- There are a *lot* of buttons in the modal. Any ideas on how to make this screen clearer/simpler/easier to understand would be greatly appreciated.
- There are currently a few minor backend issues preventing all functionality from fully working:
- Projects currently cannot be updated due to a bug
- Neither files nor projects can be uploaded if their name contains `()` - e.g. `foo (2).txt`
2024-01-23 09:55:15 +00:00
..
mock/authentication Change dashboard to use 2 spaces for indentation (#8798) 2024-01-22 21:26:15 +00:00
playwright Dashboard tests (#7656) 2023-10-11 10:24:33 +00:00
src Update uploaded files (#8797) 2024-01-23 09:55:15 +00:00
test-component/authentication/src Change dashboard to use 2 spaces for indentation (#8798) 2024-01-22 21:26:15 +00:00
test-e2e Change dashboard to use 2 spaces for indentation (#8798) 2024-01-22 21:26:15 +00:00
.gitignore Dashboard tests (#7656) 2023-10-11 10:24:33 +00:00
.prettierrc.cjs Change dashboard to use 2 spaces for indentation (#8798) 2024-01-22 21:26:15 +00:00
bundle.ts Change dashboard to use 2 spaces for indentation (#8798) 2024-01-22 21:26:15 +00:00
esbuild-config.ts Change dashboard to use 2 spaces for indentation (#8798) 2024-01-22 21:26:15 +00:00
index.html Re-organize lib/dashboard/ (#8587) 2024-01-10 16:22:11 +00:00
log-screenshot-diffs.ts Change dashboard to use 2 spaces for indentation (#8798) 2024-01-22 21:26:15 +00:00
package.json Re-organize lib/dashboard/ (#8587) 2024-01-10 16:22:11 +00:00
playwright-component.config.ts Change dashboard to use 2 spaces for indentation (#8798) 2024-01-22 21:26:15 +00:00
playwright-e2e.config.ts Change dashboard to use 2 spaces for indentation (#8798) 2024-01-22 21:26:15 +00:00
postcss.config.js Change dashboard to use 2 spaces for indentation (#8798) 2024-01-22 21:26:15 +00:00
README.md More unit tests for dashboard (#8586) 2024-01-09 10:43:18 +00:00
tailwind.config.js Update uploaded files (#8797) 2024-01-23 09:55:15 +00:00
test-server.ts Change dashboard to use 2 spaces for indentation (#8798) 2024-01-22 21:26:15 +00:00
tsconfig.json Re-organize lib/dashboard/ (#8587) 2024-01-10 16:22:11 +00:00
vite.config.ts Change dashboard to use 2 spaces for indentation (#8798) 2024-01-22 21:26:15 +00:00
vitest.config.ts Change dashboard to use 2 spaces for indentation (#8798) 2024-01-22 21:26:15 +00:00
watch.ts Change dashboard to use 2 spaces for indentation (#8798) 2024-01-22 21:26:15 +00:00

Dashboard

The dashboard is the entrypoint into the application. It includes project management, project sharing, and user accounts and authentication.

Folder structure

  • mock/: Overrides for specific files in src/ when running Playwright tests.
  • test-component/: Contains component tests.
  • test-e2e/: Contains end-to-end tests.
  • **/__tests__/: Contains all unit tests. Unit tests MUST be in a __tests__/ subfolder, not beside the module they are testing.
  • src/: The dashboard application.
    • index.html: The sole HTML file used by this SPA. It imports the TS entry point.
    • authentication/src/: The main body of the app.
      • index.tsx: The TS entry point.
      • providers/: Contains React Contexts used by the main app.
      • components/: Contains the root component for the app.
      • dashboard/: The main body of the app. Directly in the folder, there are some utility modules that do not belong elsewhere.
        • components/: Contains all components used by the main app.
        • events/: Custom discriminated unions used to communicate messages between unrelated components.
      • authentication/: The authentication flow. This includes login, registration, and changing passwords.
        • components/: Contains all components used by the authentication flow.
        • providers/: Contains React Contexts required for authentication, and used by the main app.