diff --git a/README.md b/README.md index e7672d1..04a5d58 100644 --- a/README.md +++ b/README.md @@ -25,6 +25,7 @@ These libraries are different modules of ProzillaOS that can be installed separa - [`prozilla-os`][prozilla-os]: A bundle containing the core packages and all standard applications of ProzillaOS - [`@prozilla-os/core`][core]: Core functionality, React components and hooks +- [`@prozilla-os/skins`](./shared/): Customizable skins for ProzillaOS - [`@prozilla-os/shared`][shared]: Shared functions and utilities #### Standard applications diff --git a/packages/README.md b/packages/README.md new file mode 100644 index 0000000..716bac5 --- /dev/null +++ b/packages/README.md @@ -0,0 +1,40 @@ +
+ +## Packages + +### Libraries (public) + +- [`prozilla-os`](./prozilla-os/): A bundle containing the core packages and all standard applications of ProzillaOS +- [`@prozilla-os/core`](./core/): Core functionality, React components and hooks +- [`@prozilla-os/skins`](./shared/): Customizable skins for ProzillaOS +- [`@prozilla-os/shared`](./shared/): Shared functions and utilities + +#### Standard applications + +- [`@prozilla-os/file-explorer`](./apps/file-explorer/): File explorer app +- [`@prozilla-os/terminal`](./apps/terminal/): Terminal/shell app +- [`@prozilla-os/text-editor`](./apps/text-editor/): Text editor app +- [`@prozilla-os/settings`](./apps/settings/): Settings app +- [`@prozilla-os/media-viewer`](./apps/media-viewer/): Media viewer app +- [`@prozilla-os/browser`](./apps/browser/): Browser app +- [`@prozilla-os/calculator`](./apps/calculator/): Calculator app + +#### Non-standard applications + +- [`@prozilla-os/logic-sim`](./apps/logic-sim/): Logic simulator app + +### Sites (internal) + +- [`@prozilla-os/demo`](./demo/): Demo site +- [`@prozilla-os/docs`](./docs/): Documentation site \ No newline at end of file diff --git a/packages/apps/browser/CHANGELOG.md b/packages/apps/browser/CHANGELOG.md index 1788dbf..e5a67a7 100644 --- a/packages/apps/browser/CHANGELOG.md +++ b/packages/apps/browser/CHANGELOG.md @@ -1,5 +1,12 @@ # @prozilla-os/browser +## 1.0.4 + +### Patch Changes + +- Updated dependencies + - @prozilla-os/core@1.1.1 + ## 1.0.3 ### Patch Changes diff --git a/packages/apps/browser/package.json b/packages/apps/browser/package.json index 341be74..fef21a2 100644 --- a/packages/apps/browser/package.json +++ b/packages/apps/browser/package.json @@ -1,7 +1,7 @@ { "name": "@prozilla-os/browser", "description": "A ProzillaOS application for browsing the internet.", - "version": "1.0.3", + "version": "1.0.4", "homepage": "https://os.prozilla.dev/browser", "author": { "name": "Prozilla", diff --git a/packages/apps/calculator/CHANGELOG.md b/packages/apps/calculator/CHANGELOG.md index ba03dbc..19cabd0 100644 --- a/packages/apps/calculator/CHANGELOG.md +++ b/packages/apps/calculator/CHANGELOG.md @@ -1,5 +1,12 @@ # @prozilla-os/calculator +## 1.0.4 + +### Patch Changes + +- Updated dependencies + - @prozilla-os/core@1.1.1 + ## 1.0.3 ### Patch Changes diff --git a/packages/apps/calculator/package.json b/packages/apps/calculator/package.json index 3c7052c..2dbcd06 100644 --- a/packages/apps/calculator/package.json +++ b/packages/apps/calculator/package.json @@ -1,7 +1,7 @@ { "name": "@prozilla-os/calculator", "description": "A ProzillaOS application for making basic calculations.", - "version": "1.0.3", + "version": "1.0.4", "homepage": "https://os.prozilla.dev/calculator", "author": { "name": "Prozilla", diff --git a/packages/apps/file-explorer/CHANGELOG.md b/packages/apps/file-explorer/CHANGELOG.md index 7e7e5ed..c320272 100644 --- a/packages/apps/file-explorer/CHANGELOG.md +++ b/packages/apps/file-explorer/CHANGELOG.md @@ -1,5 +1,12 @@ # @prozilla-os/file-explorer +## 1.0.15 + +### Patch Changes + +- Updated dependencies + - @prozilla-os/core@1.1.1 + ## 1.0.14 ### Patch Changes diff --git a/packages/apps/file-explorer/package.json b/packages/apps/file-explorer/package.json index 0bdef42..637da84 100644 --- a/packages/apps/file-explorer/package.json +++ b/packages/apps/file-explorer/package.json @@ -1,7 +1,7 @@ { "name": "@prozilla-os/file-explorer", "description": "A standard ProzillaOS application for browsing files.", - "version": "1.0.14", + "version": "1.0.15", "homepage": "https://os.prozilla.dev/file-explorer", "author": { "name": "Prozilla", diff --git a/packages/apps/logic-sim/CHANGELOG.md b/packages/apps/logic-sim/CHANGELOG.md index 7d35872..78f20cb 100644 --- a/packages/apps/logic-sim/CHANGELOG.md +++ b/packages/apps/logic-sim/CHANGELOG.md @@ -1,5 +1,12 @@ # @prozilla-os/logic-sim +## 1.0.4 + +### Patch Changes + +- Updated dependencies + - @prozilla-os/core@1.1.1 + ## 1.0.3 ### Patch Changes diff --git a/packages/apps/logic-sim/package.json b/packages/apps/logic-sim/package.json index bd391ad..8275fb6 100644 --- a/packages/apps/logic-sim/package.json +++ b/packages/apps/logic-sim/package.json @@ -1,7 +1,7 @@ { "name": "@prozilla-os/logic-sim", "description": "A ProzillaOS application for simulating digital logic.", - "version": "1.0.3", + "version": "1.0.4", "homepage": "https://os.prozilla.dev/logic-sim", "author": { "name": "Prozilla", diff --git a/packages/apps/media-viewer/CHANGELOG.md b/packages/apps/media-viewer/CHANGELOG.md index 2ffd717..ef86d6c 100644 --- a/packages/apps/media-viewer/CHANGELOG.md +++ b/packages/apps/media-viewer/CHANGELOG.md @@ -1,5 +1,12 @@ # @prozilla-os/media-viewer +## 1.0.4 + +### Patch Changes + +- Updated dependencies + - @prozilla-os/core@1.1.1 + ## 1.0.3 ### Patch Changes diff --git a/packages/apps/media-viewer/package.json b/packages/apps/media-viewer/package.json index 56db0bc..1fec611 100644 --- a/packages/apps/media-viewer/package.json +++ b/packages/apps/media-viewer/package.json @@ -1,7 +1,7 @@ { "name": "@prozilla-os/media-viewer", "description": "A ProzillaOS application for viewing different kinds of media.", - "version": "1.0.3", + "version": "1.0.4", "homepage": "https://os.prozilla.dev/media-viewer", "author": { "name": "Prozilla", diff --git a/packages/apps/settings/CHANGELOG.md b/packages/apps/settings/CHANGELOG.md index 4abdd0c..f44e1d0 100644 --- a/packages/apps/settings/CHANGELOG.md +++ b/packages/apps/settings/CHANGELOG.md @@ -1,5 +1,13 @@ # @prozilla-os/settings +## 1.0.4 + +### Patch Changes + +- Updated dependencies + - @prozilla-os/core@1.1.1 + - @prozilla-os/file-explorer@1.0.15 + ## 1.0.3 ### Patch Changes diff --git a/packages/apps/settings/package.json b/packages/apps/settings/package.json index 017cc21..731bb9f 100644 --- a/packages/apps/settings/package.json +++ b/packages/apps/settings/package.json @@ -1,7 +1,7 @@ { "name": "@prozilla-os/settings", "description": "A settings app for ProzillaOS.", - "version": "1.0.3", + "version": "1.0.4", "homepage": "https://os.prozilla.dev/settings", "author": { "name": "Prozilla", diff --git a/packages/apps/terminal/CHANGELOG.md b/packages/apps/terminal/CHANGELOG.md index 1097795..964000c 100644 --- a/packages/apps/terminal/CHANGELOG.md +++ b/packages/apps/terminal/CHANGELOG.md @@ -1,5 +1,12 @@ # @prozilla-os/terminal +## 1.0.8 + +### Patch Changes + +- Updated dependencies + - @prozilla-os/core@1.1.1 + ## 1.0.7 ### Patch Changes diff --git a/packages/apps/terminal/package.json b/packages/apps/terminal/package.json index 26b607f..127e8d4 100644 --- a/packages/apps/terminal/package.json +++ b/packages/apps/terminal/package.json @@ -1,7 +1,7 @@ { "name": "@prozilla-os/terminal", "description": "A terminal/shell application for ProzillaOS.", - "version": "1.0.7", + "version": "1.0.8", "homepage": "https://os.prozilla.dev/terminal", "author": { "name": "Prozilla", diff --git a/packages/apps/text-editor/CHANGELOG.md b/packages/apps/text-editor/CHANGELOG.md index c8ed64a..59dc107 100644 --- a/packages/apps/text-editor/CHANGELOG.md +++ b/packages/apps/text-editor/CHANGELOG.md @@ -1,5 +1,12 @@ # @prozilla-os/text-editor +## 1.0.8 + +### Patch Changes + +- Updated dependencies + - @prozilla-os/core@1.1.1 + ## 1.0.7 ### Patch Changes diff --git a/packages/apps/text-editor/package.json b/packages/apps/text-editor/package.json index 7434068..bd5ac76 100644 --- a/packages/apps/text-editor/package.json +++ b/packages/apps/text-editor/package.json @@ -1,7 +1,7 @@ { "name": "@prozilla-os/text-editor", "description": "A text editor application for ProzillaOS.", - "version": "1.0.7", + "version": "1.0.8", "homepage": "https://os.prozilla.dev/text-editor", "author": { "name": "Prozilla", diff --git a/packages/core/CHANGELOG.md b/packages/core/CHANGELOG.md index 3f6b9f5..e8c0b89 100644 --- a/packages/core/CHANGELOG.md +++ b/packages/core/CHANGELOG.md @@ -1,5 +1,13 @@ # @prozilla-os/core +## 1.1.1 + +### Patch Changes + +- Updated skins and configuration +- Updated dependencies + - @prozilla-os/skins@1.0.1 + ## 1.1.0 ### Minor Changes diff --git a/packages/core/package.json b/packages/core/package.json index e4a3720..3a9dd44 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,7 +1,7 @@ { "name": "@prozilla-os/core", "description": "A React component library written in TypeScript for building web-based operating systems, made by Prozilla.", - "version": "1.1.0", + "version": "1.1.1", "homepage": "https://os.prozilla.dev", "author": { "name": "Prozilla", @@ -12,7 +12,7 @@ "main": "dist/main.js", "types": "dist/main.d.ts", "scripts": { - "build": "tsc && vite build" + "build": "tsc --project tsconfig.build.json && vite build" }, "repository": { "type": "git", diff --git a/packages/core/src/components/_utils/directory-list/ImagePreview.tsx b/packages/core/src/components/_utils/directory-list/ImagePreview.tsx index 3045f0d..19c80ad 100644 --- a/packages/core/src/components/_utils/directory-list/ImagePreview.tsx +++ b/packages/core/src/components/_utils/directory-list/ImagePreview.tsx @@ -10,7 +10,7 @@ interface ImagePreviewProps { } export function ImagePreview({ source, className, onError, ...props }: ImagePreviewProps) { - const { virtualDriveConfig } = useSystemManager(); + const { skin } = useSystemManager(); const [loadingFailed, setLoadingFailed] = useState(false); const onLoadingError = () => { @@ -24,7 +24,7 @@ export function ImagePreview({ source, className, onError, ...props }: ImagePrev return (
{date.toLocaleDateString("en-GB", {
day: "numeric",
diff --git a/packages/core/src/features/system/configs/desktopConfig.ts b/packages/core/src/features/system/configs/desktopConfig.ts
index 662196a..f33ca6e 100644
--- a/packages/core/src/features/system/configs/desktopConfig.ts
+++ b/packages/core/src/features/system/configs/desktopConfig.ts
@@ -1,12 +1,6 @@
import { OptionalInterface } from "../../../types/utils";
export interface DesktopConfigOptions {
- /** Array of URLs of wallpaper images */
- wallpapers: string[];
-
- /** URL of default wallpaper image */
- defaultWallpaper: string;
-
/**
* @default 1
*/
@@ -20,26 +14,12 @@ export interface DesktopConfigOptions {
}
export class DesktopConfig {
- wallpapers: DesktopConfigOptions["wallpapers"];
- defaultWallpaper: DesktopConfigOptions["defaultWallpaper"];
defaultIconSize: DesktopConfigOptions["defaultIconSize"];
defaultIconDirection: DesktopConfigOptions["defaultIconDirection"];
constructor(options: OptionalInterface
+
+#### options
+
+- **Optional**
+- **Type:** `SkinOptions`
+
+```ts
+interface SkinOptions {
+ appIcons?: { [key: string]: string };
+ appNames?: { [key: string]: string };
+ wallpapers: string[];
+ defaultWallpaper: string;
+ fileIcons: {
+ generic: string;
+ info?: string;
+ text?: string;
+ code?: string;
+ };
+ folderIcons: {
+ generic: string;
+ images?: string;
+ text?: string;
+ link?: string;
+ };
+ loadStyleSheet?: () => void;
+}
+```
+
+## Properties
+
+### appIcons
+
+- **Type:** `{ [key: string]: string }`
+
+Replacements for app icons based on app id
+
+### appNames
+
+- **Type:** `{ [key: string]: string }`
+
+Replacements for app names based on app id
+
+### wallpapers
+
+- **Type:** `string[]`
+
+Array of URLs of wallpaper images
+
+### defaultWallpaper
+
+- **Type:** `string`
+- **Default:** `"https://os.prozilla.dev/assets/wallpapers/vibrant-wallpaper-blue-purple-red.png"`
+ - Preview:
+
+ 
+
+URL of default wallpaper image
+
+### fileIcons
+
+- **Type:** `FileIcons`
+
+URLs of icons for types of files
+
+```ts
+interface FileIcons {
+ generic: string;
+ info?: string;
+ text?: string;
+ code?: string;
+}
+```
+
+### folderIcons
+
+- **Type:** `FolderIcons`
+
+URLs of icons for types of folders
+
+```ts
+interface FolderIcons {
+ generic: string;
+ images?: string;
+ text?: string;
+ link?: string;
+}
+```
+
+### loadStyleSheet
+
+- **Type:** `() => void`
+- **Example:**
+
+ ```ts
+ function loadStyleSheet() {
+ import("../styles/skins/macOs.css");
+ }
+ ```
+
+Function that dynamically imports style sheet
diff --git a/packages/docs/src/reference/classes/system/apps-config.md b/packages/docs/src/reference/classes/system/apps-config.md
index 75b2c05..0e4669f 100644
--- a/packages/docs/src/reference/classes/system/apps-config.md
+++ b/packages/docs/src/reference/classes/system/apps-config.md
@@ -14,10 +14,12 @@ outline: deep
#### options
-- options.apps : [`App[]`](app)
+- options.apps : [`App[]`](../apps/app)
## Properties
-### apps : [`App[]`](app) {#apps}
+### apps
+
+- **Type:** [`App[]`](../apps/app)
An array of applications
diff --git a/packages/docs/src/reference/classes/system/desktop-config.md b/packages/docs/src/reference/classes/system/desktop-config.md
index 536c858..835c0c5 100644
--- a/packages/docs/src/reference/classes/system/desktop-config.md
+++ b/packages/docs/src/reference/classes/system/desktop-config.md
@@ -14,44 +14,11 @@ outline: deep
#### options
-- options.wallpapers : `string[]`
-- options.defaultWallpaper : `string`
- options.defaultIconSize : `0 | 1 | 2`
- options.defaultIconDirection : `0 | 1`
## Properties
-### wallpapers : `string[]` {#wallpapers}
-
-Array of URLs of wallpaper images
-
-> **@default**
->
-> ```ts
-> [
-> "https://os.prozilla.dev/assets/wallpapers/vibrant-wallpaper-blue-purple-red.png",
-> "https://os.prozilla.dev/assets/wallpapers/abstract-mesh-gradient-orange-red-purple.png",
-> "https://os.prozilla.dev/assets/wallpapers/vibrant-wallpaper-purple-yellow.png",
-> "https://os.prozilla.dev/assets/wallpapers/abstract-wallpaper-mesh-gradient-cyan.png",
-> "https://os.prozilla.dev/assets/wallpapers/colorful-abstract-wallpaper-blue-red-green.png",
-> "https://os.prozilla.dev/assets/wallpapers/mesh-gradient-wallpaper-red-purple.png",
-> "https://os.prozilla.dev/assets/wallpapers/colorful-mesh-gradient-red-green.png",
-> "https://os.prozilla.dev/assets/wallpapers/flame-abstract-wallpaper-orange.png",
-> "https://os.prozilla.dev/assets/wallpapers/wave-abstract-wallpaper-teal.png",
-> ]
-> ```
-
-### defaultWallpaper : `string` {#default-wallpaper}
-
-URL of default wallpaper image
-
-> **@default**
->
-> ```ts
-> "https://os.prozilla.dev/assets/wallpapers/vibrant-wallpaper-blue-purple-red.png"
-> ```
-> 
-
### defaultIconSize : `0 | 1 | 2` {#default-icon-size}
The default size of the desktop icons
diff --git a/packages/docs/src/reference/classes/system/virtual-drive-config.md b/packages/docs/src/reference/classes/system/virtual-drive-config.md
deleted file mode 100644
index cd58a05..0000000
--- a/packages/docs/src/reference/classes/system/virtual-drive-config.md
+++ /dev/null
@@ -1,114 +0,0 @@
----
-outline: deep
----
-
-# Class [`VirtualDriveConfig`](https://github.com/prozilla-os/ProzillaOS/blob/main/packages/core/src/features/system/configs/virtualDriveConfig.ts)
-
-## Constructor
-
-> `new VirtualDriveConfig(options)`
-
-### Parameters
-
-
-
-#### options
-
-- options.fileIcon : `string`
-- options.infoFileIcon : `string`
-- options.textFileIcon : `string`
-- options.codeFileIcon : `string`
-- options.folderIcon : `string`
-- options.imagesFolderIcon : `string`
-- options.textFolderIcon : `string`
-- options.folderLinkIcon : `string`
-
-## Properties
-
-### fileIcon : `string` {#file-icon}
-
-URL of an icon for regular files
-
-> **@default**
->
-> ```ts
-> "https://os.prozilla.dev/assets/apps/file-explorer/icons/file.svg"
-> ```
-> 
-
-### infoFileIcon : `string` {#info-file-icon}
-
-URL of an icon for information files
-
-> **@default**
->
-> ```ts
-> "https://os.prozilla.dev/assets/apps/file-explorer/icons/file-info.svg"
-> ```
-> 
-
-### textFileIcon : `string` {#text-file-icon}
-
-URL of an icon for text files
-
-> **@default**
->
-> ```ts
-> "https://os.prozilla.dev/assets/apps/file-explorer/icons/file-text.svg"
-> ```
-> 
-
-### codeFileIcon : `string` {#code-file-icon}
-
-URL of an icon for code files
-
-> **@default**
->
-> ```ts
-> "https://os.prozilla.dev/assets/apps/file-explorer/icons/file-code.svg"
-> ```
-> 
-
-### folderIcon : `string` {#folder-icon}
-
-URL of an icon for regular folders
-
-> **@default**
->
-> ```ts
-> "https://os.prozilla.dev/assets/apps/file-explorer/icons/folder.svg"
-> ```
-> 
-
-### imagesFolderIcon : `string` {#images-folder-icon}
-
-URL of an icon for image folders
-
-> **@default**
->
-> ```ts
-> "https://os.prozilla.dev/assets/apps/file-explorer/icons/folder-images.svg"
-> ```
-> 
-
-### textFolderIcon : `string` {#text-folder-icon}
-
-URL of an icon for text folders
-
-> **@default**
->
-> ```ts
-> "https://os.prozilla.dev/assets/apps/file-explorer/icons/folder-text.svg"
-> ```
-> 
-
-### folderLinkIcon : `string` {#folder-link-icon}
-
-URL of an icon for folder links
-
-> **@default**
->
-> ```ts
-> "https://os.prozilla.dev/assets/apps/file-explorer/icons/folder-link.svg"
-> ```
-> 
diff --git a/packages/docs/src/reference/configuration.md b/packages/docs/src/reference/configuration.md
index ec2093b..4521ccd 100644
--- a/packages/docs/src/reference/configuration.md
+++ b/packages/docs/src/reference/configuration.md
@@ -28,6 +28,10 @@ To configure ProzillaOS, pass the following properties inside to the `config` pr
> "Web-based Operating System"
> ```
+### skin : [`Skin`](./classes/skins/skin) {#skin}
+
+
+
### config
@@ -40,7 +44,6 @@ To configure ProzillaOS, pass the following properties inside to the `config` pr
- config.modals : [`ModalsConfig`](classes/system/modals-config)
- config.taskbar : [`TaskbarConfig`](classes/system/taskbar-config)
- config.tracking : [`TrackingConfig`](classes/system/tracking-config)
-- config.virtualDrive : [`VirtualDriveConfig`](classes/system/virtual-drive-config)
- config.windows : [`WindowsConfig`](classes/system/windows-config)
## Example
@@ -49,6 +52,9 @@ To configure ProzillaOS, pass the following properties inside to the `config` pr