Polish: UI theme colors, onboarding dismiss, Export button in sidebar (#270)

* Light mode style fixes

* Fix dismissing onboarding for nested routes

* Refactor: move export button to  user side panel

* Refactor: add project data to modeling page loader

* Add new ProjectSidebarMenu

* Convert AppHeader to use ProjectSidebarMenu

* Move ExportButton to ProjectSidebarMenu

* Fix: hide default dir setting in Web

* Add DownloadAppBanner when in Prod

* Add unit tests to ProjectSidebarMenu

* Tiny CSS rounding tweak to sidebars

* Fix formatting in unit tests

* Update icons and logos to use full-color Kitt

* Fix: dim UI on camera drag, not click
This commit is contained in:
Frank Noirot
2023-08-18 10:27:01 -04:00
committed by GitHub
parent ff08c30ddc
commit aa24b9d6bd
40 changed files with 496 additions and 221 deletions

View File

@ -23,6 +23,7 @@ import {
PROJECT_ENTRYPOINT,
} from './lib/tauriFS'
import { metadata, type Metadata } from 'tauri-plugin-fs-extra-api'
import DownloadAppBanner from './components/DownloadAppBanner'
const prependRoutes =
(routesObject: Record<string, string>) => (prepend: string) => {
@ -47,6 +48,7 @@ export const paths = {
export type IndexLoaderData = {
code: string | null
project?: ProjectWithEntryPointMetadata
}
export type ProjectWithEntryPointMetadata = FileEntry & {
@ -68,9 +70,11 @@ const router = createBrowserRouter([
<Auth>
<Outlet />
<App />
{!isTauri() && import.meta.env.PROD && <DownloadAppBanner />}
</Auth>
),
errorElement: <ErrorPage />,
id: paths.FILE,
loader: async ({
request,
params,
@ -98,9 +102,19 @@ const router = createBrowserRouter([
if (params.id && params.id !== 'new') {
// Note that PROJECT_ENTRYPOINT is hardcoded until we support multiple files
const code = await readTextFile(params.id + '/' + PROJECT_ENTRYPOINT)
const entrypoint_metadata = await metadata(
params.id + '/' + PROJECT_ENTRYPOINT
)
const children = await readDir(params.id)
return {
code,
project: {
name: params.id.slice(params.id.lastIndexOf('/') + 1),
path: params.id,
children,
entrypoint_metadata,
},
}
}