+
;
diff --git a/src/components/taskbar/menus/HomeMenu.tsx b/src/components/taskbar/menus/HomeMenu.tsx
index 7dc434f..8c090a6 100644
--- a/src/components/taskbar/menus/HomeMenu.tsx
+++ b/src/components/taskbar/menus/HomeMenu.tsx
@@ -77,7 +77,7 @@ export function HomeMenu({ active, setActive, search }: HomeMenuProps) {
setActive(false);
windowsManager.open("text-editor", {
mode: "view",
- file: virtualRoot.navigate("~/Documents/info.md"),
+ file: virtualRoot.navigate("~/Documents/Info.md"),
size: new Vector2(575, 675),
});
}}>
@@ -85,13 +85,13 @@ export function HomeMenu({ active, setActive, search }: HomeMenuProps) {
diff --git a/src/components/windows/WindowView.tsx b/src/components/windows/WindowView.tsx
index a188087..247c1cc 100644
--- a/src/components/windows/WindowView.tsx
+++ b/src/components/windows/WindowView.tsx
@@ -69,7 +69,7 @@ export const WindowView: FC
= memo(({ id, app, size, position, onIn
openWindowedModal({
appId: app.id,
fullscreen: maximized,
- size: new Vector2(350, 400),
+ size: new Vector2(350, 350),
Modal: (props) =>
});
}}/>
diff --git a/src/config/branding.config.ts b/src/config/branding.config.ts
index b131482..351c411 100644
--- a/src/config/branding.config.ts
+++ b/src/config/branding.config.ts
@@ -2,8 +2,6 @@ import { ANSI } from "./apps/terminal.config";
export const NAME = "ProzillaOS";
export const TAG_LINE = "Web-based Operating System";
-export const DOMAIN = "os.prozilla.dev";
-export const BASE_URL = `https://${DOMAIN}/`;
export const ASCII_LOGO = `
:.
diff --git a/src/config/deploy.config.ts b/src/config/deploy.config.ts
new file mode 100644
index 0000000..b59f20f
--- /dev/null
+++ b/src/config/deploy.config.ts
@@ -0,0 +1,9 @@
+export const BUILD_DIR = "dist";
+
+export const DOMAIN = "os.prozilla.dev";
+export const BASE_URL = `https://${DOMAIN}/`;
+
+export const REPO = { owner: "Prozilla", name: "ProzillaOS", branch: "main" };
+export const REPO_URL = `https://github.com/${REPO.owner}/${REPO.name}`;
+
+export const COMMIT_MESSAGE = "Deployed build to GitHub Pages";
\ No newline at end of file
diff --git a/src/features/virtual-drive/folder/virtualFolder.ts b/src/features/virtual-drive/folder/virtualFolder.ts
index 387feb8..148107a 100644
--- a/src/features/virtual-drive/folder/virtualFolder.ts
+++ b/src/features/virtual-drive/folder/virtualFolder.ts
@@ -289,7 +289,7 @@ export class VirtualFolder extends VirtualBase {
* Opens this folder in file explorer
*/
open(windowsManager: WindowsManager) {
- return windowsManager.open(APPS.FILE_EXPLORER, { startPath: this.path });
+ return windowsManager.open(APPS.FILE_EXPLORER, { path: this.path });
}
/**
diff --git a/src/features/virtual-drive/root/defaultData.ts b/src/features/virtual-drive/root/defaultData.ts
index a4505c5..aa6a20a 100644
--- a/src/features/virtual-drive/root/defaultData.ts
+++ b/src/features/virtual-drive/root/defaultData.ts
@@ -37,6 +37,8 @@ export function loadDefaultData(virtualRoot: VirtualRoot) {
}
}).createFile("ProzillaOS", "png", (file) => {
file.setSource("/assets/banner-logo-title.png");
+ }).createFile("Icon", "svg", (file) => {
+ file.setSource("/icon.svg");
}).createFolder("Crumbling City", (folder) => {
folder.createFile("Japan", "png", (file) => {
file.setSource("https://daisygames.org/media/Games/Crumbling%20City/CrumblingCityRelease.png");
@@ -52,22 +54,22 @@ export function loadDefaultData(virtualRoot: VirtualRoot) {
folder.setIconUrl(AppsManager.getAppIconUrl(APPS.FILE_EXPLORER, "folder-text"));
folder.createFile("text", "txt", (file) => {
file.setContent("Hello world!");
- }).createFile("info", "md", (file) => {
+ }).createFile("Info", "md", (file) => {
file.setProtected(true)
- .setSource("/documents/info.md")
+ .setSource("/documents/Info.md")
.setIconUrl(AppsManager.getAppIconUrl(APPS.FILE_EXPLORER, "file-info"));
linkedPaths.info = file.path;
- }).createFile("links", "md", (file) => {
+ }).createFile("Prozilla", "md", (file) => {
file.setProtected(true)
- .setSource("/documents/links.md");
+ .setSource("/documents/Prozilla.md");
linkedPaths.links = file.path;
});
linkedPaths.documents = folder.path;
})
.createFolder("Desktop", (folder) => {
- folder.createFileLink("info.md", (fileLink: VirtualFileLink) => {
+ folder.createFileLink("Info.md", (fileLink: VirtualFileLink) => {
fileLink.setLinkedPath(linkedPaths.info);
- }).createFileLink("links.md", (fileLink: VirtualFileLink) => {
+ }).createFileLink("Prozilla.md", (fileLink: VirtualFileLink) => {
fileLink.setLinkedPath(linkedPaths.links);
}).createFolderLink("Pictures", (folderLink: VirtualFolderLink) => {
folderLink.setLinkedPath(linkedPaths.images);
diff --git a/src/hooks/_utils/scrollWithShadows.ts b/src/hooks/_utils/scrollWithShadows.ts
index 707a015..c07aeee 100644
--- a/src/hooks/_utils/scrollWithShadows.ts
+++ b/src/hooks/_utils/scrollWithShadows.ts
@@ -26,7 +26,7 @@ interface UseScrollWithShadowParams {
export function useScrollWithShadow(params: UseScrollWithShadowParams): {
boxShadow: string;
- onUpdate: (event: Event) => void;
+ onUpdate: (event: Event | { target: HTMLElement }) => void;
} {
const [initiated, setInitiated] = useState(false);
const [scrollStart, setScrollStart] = useState(0);
@@ -67,7 +67,7 @@ export function useScrollWithShadow(params: UseScrollWithShadowParams): {
setClientLength(horizontal ? element.clientWidth : element.clientHeight);
}, [horizontal]);
- const onUpdate = (event: Event) => {
+ const onUpdate = (event: Event | { target: HTMLElement }) => {
updateValues(event.target as HTMLElement);
};
diff --git a/src/index.tsx b/src/index.tsx
index e9166a1..9f278df 100644
--- a/src/index.tsx
+++ b/src/index.tsx
@@ -20,4 +20,10 @@ root.render(
const asciiLogoWidth = ASCII_LOGO.split("\n")[1].length;
const welcomeMessage = `Welcome to ${NAME}`;
const space = "\n\n" + " ".repeat(Math.ceil((asciiLogoWidth - welcomeMessage.length) / 2));
-console.info(ASCII_LOGO + space + welcomeMessage);
\ No newline at end of file
+console.info(ASCII_LOGO + space + welcomeMessage);
+
+// Remove trailing slash
+window.onload = () => {
+ if (window.location.pathname.endsWith("/"))
+ window.history.pushState({}, null, window.location.pathname.replace(/\/+$/, ""));
+};
diff --git a/tsconfig.json b/tsconfig.json
index 3e60bc4..5e9e91f 100644
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -28,13 +28,14 @@
},
"include": [
"src/**/*",
- "vite.config.ts"
+ "vite.config.ts",
+ "scripts/**/*",
],
"exclude": [
"./node_modules",
- "./build",
"./dist",
- "./.vscode"
+ "./.vscode",
+ "./.github"
],
"ts-node": {
"experimentalSpecifierResolution": "node",
diff --git a/vite.config.ts b/vite.config.ts
index 7832c31..a69ead0 100644
--- a/vite.config.ts
+++ b/vite.config.ts
@@ -1,8 +1,16 @@
import { defineConfig } from "vite";
import react from "@vitejs/plugin-react-swc";
+import { BUILD_DIR } from "./src/config/deploy.config";
// https://vitejs.dev/config/
export default defineConfig({
base: "/",
- plugins: [react()]
+ plugins: [react()],
+ build: {
+ outDir: BUILD_DIR
+ },
+ server: {
+ port: 3000,
+ host: true
+ }
});
\ No newline at end of file