Updated default data to mirror repo content

This commit is contained in:
Prozilla 2023-12-23 16:30:54 +01:00
parent dd0590ef01
commit 4729a6d623
No known key found for this signature in database
GPG key ID: 5858DFE71CAF31EE
8 changed files with 126 additions and 53 deletions

View file

@ -1,3 +1,3 @@
<options>
<startup></startup>
<startup>file-explorer</startup>
</options>

View file

@ -1,6 +1,7 @@
.Container {
--header-height: 3.5rem;
--sidebar-width: 10rem;
--footer-height: 1.75rem;
--scale: 1.15rem;
display: flex;
@ -131,6 +132,7 @@
align-content: flex-start;
height: 100%;
padding: 0.5rem;
padding-bottom: calc(0.5rem + var(--footer-height));
overflow: auto;
}
@ -142,7 +144,7 @@
bottom: 0;
left: 0;
width: 100%;
height: 1.75rem;
height: var(--footer-height);
padding: 0 0.75rem;
border-top: 0.25rem solid var(--background-color-a);
background-color: var(--background-color-c);

View file

@ -3,6 +3,7 @@ import { useEffect } from "react";
import { useWindowsManager } from "../../../hooks/windows/windowsManagerContext.js";
import styles from "./MediaViewer.module.css";
import { APPS } from "../../../config/apps.config.js";
import { IMAGE_FORMATS } from "../../../config/apps/mediaViewer.config.js";
/**
* @param {import("../../windows/WindowView.jsx").windowProps} props
@ -23,7 +24,7 @@ export function MediaViewer({ file, close, setTitle }) {
return;
}
if (!["png"].includes(file.extension))
if (!IMAGE_FORMATS.includes(file.extension))
return (<p>Invalid file format.</p>);
if (file.source == null)

View file

@ -0,0 +1,8 @@
export const IMAGE_FORMATS = [
"png",
"jpeg",
"svg",
"gif",
"webp",
"ico"
];

View file

@ -9,6 +9,7 @@ import { Settings } from "../../components/apps/settings/Settings.jsx";
import Vector2 from "../math/vector2.js";
import { APPS } from "../../config/apps.config.js";
import { Browser } from "../../components/apps/browser/Browser.jsx";
import { IMAGE_FORMATS } from "../../config/apps/mediaViewer.config.js";
export default class AppsManager {
static APPS = [
@ -62,14 +63,11 @@ export default class AppsManager {
static getAppByFileExtension(fileExtension) {
let app = null;
// eslint-disable-next-line default-case
if (IMAGE_FORMATS.includes(fileExtension))
return this.getAppById(APPS.MEDIA_VIEWER);
switch (fileExtension) {
case "png":
app = this.getAppById(APPS.MEDIA_VIEWER);
break;
case "txt":
case "md":
case "xml":
default:
app = this.getAppById(APPS.TEXT_EDITOR);
break;
}

View file

@ -1,4 +1,5 @@
import { APPS } from "../../../config/apps.config.js";
import { IMAGE_FORMATS } from "../../../config/apps/mediaViewer.config.js";
import AppsManager from "../../apps/appsManager.js";
import WindowsManager from "../../windows/windowsManager.js";
import { VirtualBase } from "../virtualBase.js";
@ -120,15 +121,21 @@ export class VirtualFile extends VirtualBase {
let iconUrl = null;
if (IMAGE_FORMATS.includes(this.extension))
return this.source;
switch (this.extension) {
case "png":
iconUrl = this.source;
break;
case "txt":
case "md":
iconUrl = AppsManager.getAppIconUrl(APPS.FILE_EXPLORER, "file-text");
break;
case "xml":
case "js":
case "json":
case "jsx":
case "css":
case "html":
case "yml":
iconUrl = AppsManager.getAppIconUrl(APPS.FILE_EXPLORER, "file-code");
break;
default:

View file

@ -8,29 +8,6 @@ import { VirtualRoot } from "./virtualRoot.js";
* @param {VirtualRoot} virtualRoot
*/
export function loadDefaultData(virtualRoot) {
virtualRoot.createFolder("bin", (folder) => {
folder.createFiles([
{ name: "echo" },
{ name: "cd" },
{ name: "ls" },
{ name: "clear" },
]);
});
virtualRoot.createFolder("dev", (folder) => {
folder.createFiles([
{ name: "null" },
{ name: "zero" },
{ name: "random" },
]);
});
virtualRoot.createFolder("etc");
virtualRoot.createFolder("usr", (folder) => {
folder.createFolders(["bin", "sbin", "lib", "share"]);
});
const linkedPaths = {};
virtualRoot.createFolder("home", (folder) => {
@ -98,22 +75,101 @@ export function loadDefaultData(virtualRoot) {
});
});
virtualRoot.createFolder("lib");
virtualRoot.createFolder("sbin");
virtualRoot.createFolder("tmp");
virtualRoot.createFolder("var");
virtualRoot.createFolder("boot");
virtualRoot.createFolder("proc", (folder) => {
folder.createFiles([
{ name: "cpuinfo" },
{ name: "meminfo" },
]);
virtualRoot.createFolder(".github", (folder) => {
folder.createFile("FUNDING", "yml", (file) => {
file.setSource("https://raw.githubusercontent.com/Prozilla/Prozilla-OS/main/.github/FUNDING.yml");
});
});
virtualRoot.createFolder("var");
virtualRoot.createFolder("opt");
virtualRoot.createFolder("media");
virtualRoot.createFolder("mnt");
virtualRoot.createFolder("srv");
virtualRoot.createFolder(".vscode", (folder) => {
folder.createFile("settings", "json", (file) => {
file.setSource("https://raw.githubusercontent.com/Prozilla/Prozilla-OS/main/.vscode/settings.json");
});
});
virtualRoot.createFolder("docs", (folder) => {
folder.createFile("README", "md", (file) => {
file.setSource("https://raw.githubusercontent.com/Prozilla/Prozilla-OS/main/docs/README.md");
});
});
virtualRoot.createFolder("public", (folder) => {
folder.createFolder("assets", (folder) => {
folder.createFolder("apps", (folder) => {
folder.createFolder("icons", (folder) => {
AppsManager.APPS.forEach(({ id }) => {
folder.createFile(id, "svg", (file) => {
file.setSource(AppsManager.getAppIconUrl(id));
});
});
});
}).createFolder("fonts", (folder) => {
folder.createFolders(["poppins", "roboto-mono"]);
}).createFolder("screenshots", (folder) => {
folder.createFile("screenshot", "png", (file) => {
file.setSource(`${process.env.PUBLIC_URL}/assets/screenshots/screenshot-files-settings-taskbar-desktop.png`);
});
}).createFolder("wallpapers", (folder) => {
folder.setProtected(true);
for (let i = 0; i < WALLPAPERS.length; i++) {
const source = WALLPAPERS[i];
const name = source.split("/").pop().split(".")[0];
folder.createFile(name, "png", (file) => {
file.setSource(source);
});
}
}).createFile("banner", "png", (file) => {
file.setSource(`${process.env.PUBLIC_URL}/assets/banner-logo-title.png`);
}).createFile("logo", "svg", (file) => {
file.setSource(`${process.env.PUBLIC_URL}/assets/logo.svg`);
});
}).createFolder("config", (folder) => {
folder.createFile("apps", "xml", (file) => {
file.setSource(`${process.env.PUBLIC_URL}/config/apps.xml`);
}).createFile("desktop", "xml", (file) => {
file.setSource(`${process.env.PUBLIC_URL}/config/desktop.xml`);
}).createFile("taskbar", "xml", (file) => {
file.setSource(`${process.env.PUBLIC_URL}/config/taskbar.xml`);
});
}).createFolder("documents", (folder) => {
folder.createFile("info", "md", (file) => {
file.setSource(`${process.env.PUBLIC_URL}/documents/info.md`);
}).createFile("links", "md", (file) => {
file.setSource(`${process.env.PUBLIC_URL}/documents/links.md`);
});
}).createFile("favicon", "ico", (file) => {
file.setSource(`${process.env.PUBLIC_URL}/favicon.ico`);
}).createFile("index", "html", (file) => {
file.setSource(`${process.env.PUBLIC_URL}/index.html`);
}).createFile("robots", "txt", (file) => {
file.setSource(`${process.env.PUBLIC_URL}/robots.txt`);
}).createFile("sitemap", "xml", (file) => {
file.setSource(`${process.env.PUBLIC_URL}/sitemap.xml`);
});
});
virtualRoot.createFolder("src", (folder) => {
folder.createFolder("components")
.createFolder("config")
.createFolder("features")
.createFolder("hooks")
.createFolder("styles")
.createFile("App", "jsx", (file) => {
file.setSource("https://raw.githubusercontent.com/Prozilla/Prozilla-OS/main/src/App.jsx");
}).createFile("index", "js", (file) => {
file.setSource("https://raw.githubusercontent.com/Prozilla/Prozilla-OS/main/src/index.js");
});
});
virtualRoot.createFile("", "env", (file) => {
file.setSource("https://raw.githubusercontent.com/Prozilla/Prozilla-OS/main/.env");
}).createFile("", "gitignore", (file) => {
file.setSource("https://raw.githubusercontent.com/Prozilla/Prozilla-OS/main/.gitignore");
}).createFile("LICENSE", "md", (file) => {
file.setSource("https://raw.githubusercontent.com/Prozilla/Prozilla-OS/main/LICENSE.md");
}).createFile("README", "md", (file) => {
file.setSource("https://raw.githubusercontent.com/Prozilla/Prozilla-OS/main/README.md");
}).createFile("package", "json", (file) => {
file.setSource("https://raw.githubusercontent.com/Prozilla/Prozilla-OS/main/package.json");
});
}

View file

@ -214,7 +214,8 @@ export class VirtualRoot extends VirtualFolder {
object.scs = {};
for (const [key, value] of Object.entries(this.shortcuts)) {
object.scs[key] = value.absolutePath;
if (!value.root)
object.scs[key] = value.absolutePath;
}
}