Bootstrap NebulaOS repo and desktop shell UI
Initialize the NebulaOS monorepo layout with top-level documentation, ignore rules, placeholder service/package directories, compositor docs plus a baseline Sway config, and session startup/desktop entry files. Add the first desktop shell prototype under `shells/desktop/ui` using React + Vite, including themed surface components (desktop, top bar, launcher, preview), mock Nebula APIs and shell bridge state wiring, reusable UI controls/icons, and supporting styles/config needed for local development.
This commit is contained in:
@@ -0,0 +1,18 @@
|
||||
import { getSurfaceName, SURFACES } from './lib/surface.js';
|
||||
import { DesktopSurface } from './surfaces/DesktopSurface.jsx';
|
||||
import { LauncherSurface } from './surfaces/LauncherSurface.jsx';
|
||||
import { PreviewSurface } from './surfaces/PreviewSurface.jsx';
|
||||
import { TopBarSurface } from './surfaces/TopBarSurface.jsx';
|
||||
|
||||
const SURFACE_VIEWS = {
|
||||
[SURFACES.DESKTOP]: DesktopSurface,
|
||||
[SURFACES.TOPBAR]: TopBarSurface,
|
||||
[SURFACES.LAUNCHER]: LauncherSurface,
|
||||
[SURFACES.PREVIEW]: PreviewSurface,
|
||||
};
|
||||
|
||||
export default function App() {
|
||||
const surface = getSurfaceName();
|
||||
const View = SURFACE_VIEWS[surface] ?? PreviewSurface;
|
||||
return <View />;
|
||||
}
|
||||
Reference in New Issue
Block a user