All Projects → padraigfl → packard-belle-desktop

padraigfl / packard-belle-desktop

Licence: other
Building website with packard-belle UI library and react-rnd

Programming Languages

javascript
184084 projects - #8 most used programming language
CSS
56736 projects
HTML
75241 projects

Projects that are alternatives of or similar to packard-belle-desktop

packard-belle
Windows 98 React Component Library
Stars: ✭ 127 (+188.64%)
Mutual labels:  osjs, windows98, reimplementation, web-desktop
nox-decomp
Unofficial Nox (2000) port to Linux using decompiled code from https://playnox.xyz
Stars: ✭ 21 (-52.27%)
Mutual labels:  remake, reimplementation
Winxp
🏁 Web based Windows XP desktop recreation.
Stars: ✭ 4,717 (+10620.45%)
Mutual labels:  reimplementation, web-desktop
The-Great-Escape-in-C
Classic ZX Spectrum game "The Great Escape" rewritten in portable C
Stars: ✭ 95 (+115.91%)
Mutual labels:  remake, reimplementation
Os.js
OS.js - JavaScript Web Desktop Platform
Stars: ✭ 5,864 (+13227.27%)
Mutual labels:  osjs, web-desktop
win95-winxp icons
default icons from win{95,98,2000,xp}
Stars: ✭ 43 (-2.27%)
Mutual labels:  windows98
Pytorch-PCGrad
Pytorch reimplementation for "Gradient Surgery for Multi-Task Learning"
Stars: ✭ 179 (+306.82%)
Mutual labels:  reimplementation
Hover
Hover is a work-in-progress port of Hover.
Stars: ✭ 58 (+31.82%)
Mutual labels:  remake
Jspaint
🎨 Classic MS Paint, REVIVED + ✨Extras
Stars: ✭ 5,972 (+13472.73%)
Mutual labels:  remake
osjs-client
OS.js Client Module
Stars: ✭ 28 (-36.36%)
Mutual labels:  osjs
o2r
Open Rodent's Revenge is a C++ remake of the famous Microsoft game "Rodent's Revenge" (1991).
Stars: ✭ 22 (-50%)
Mutual labels:  remake
rsc-client
🎮 runescape classic web client
Stars: ✭ 45 (+2.27%)
Mutual labels:  remake
ner-tagger-dynet
See http://github.com/onurgu/joint-ner-and-md-tagger This repository is basically a Bi-LSTM based sequence tagger in both Tensorflow and Dynet which can utilize several sources of information about each word unit like word embeddings, character based embeddings and morphological tags from an FST to obtain the representation for that specific wor…
Stars: ✭ 23 (-47.73%)
Mutual labels:  reimplementation
encounter
Remaking the classic C64 game in WebGL.
Stars: ✭ 45 (+2.27%)
Mutual labels:  remake
openwar
Classic fantasy RTS game in the spirit of Warcraft: Orcs & Humans.
Stars: ✭ 48 (+9.09%)
Mutual labels:  remake
Corsixth
Open source clone of Theme Hospital
Stars: ✭ 2,481 (+5538.64%)
Mutual labels:  remake
freeserf.net
Settlers 1 clone written in C#
Stars: ✭ 97 (+120.45%)
Mutual labels:  remake
osjs-gui
OS.js GUI Module
Stars: ✭ 19 (-56.82%)
Mutual labels:  osjs
DreeRally
Death Rally engine reimplementation
Stars: ✭ 68 (+54.55%)
Mutual labels:  reimplementation
OpenTriad
Open Triad is a reimplementation of the card game "Triple Triad" by Squaresoft.
Stars: ✭ 35 (-20.45%)
Mutual labels:  reimplementation

This project was bootstrapped with Create React App.

Running on iPhone SE

Really strained for mobile friendliness where I could (dragging still causes issues, it should look a good bit better one Chrome for Desktop)

Things this site currently does

  • Recreation of Windows 98 UI via Packard Belle
  • Somewhat mobile friendly (via defaulting to maximised windows and including alternative touch actions for doubleClicks)
  • Resizable and draggable windows (via react-rnd)
  • Launch and shut down screens
  • State management via Context API
  • Notepad recreation with the original font
  • Set background image
  • Abiliy to overwrite and save notepad files
  • Persistent storage of background images and saved files via LocalStorage
  • Mock MS DOS simulator (very basic)
  • IFrames of other recreatios as an example of easy expansion

How do I...

See the launch screen again

Either clear your localStorage for the site or go through the shut down process

Delete files

Unfortunately, you'll have to modify localStorage to do that at the moment

Get rid of that annoying flicker and everything else

The answer is probably Start -> Settings -> Control Panel

Goals

Key Refactors

  • launch screen in vanilla JS to hide intiial load
  • conversion of data files to be easily swapped with JSON (i.e. just strings, booleans and numbers)
  • CONTEXT (handle IDs instead of full program objects)
  • CONTEXT: means of handling folders and plugging in custom data better
  • CONTEXT: improve passing of props between sections
  • UI Library: increase flexibility by passing unspecified props
  • Reduced data-uri usage
  • documentation for the file system API to allow easy expandability of said component
  • Airbnb linting
  • z-index layering reworking
  • retain state of minimised programs (hide instead of removing)

Important

  • persistent data via local storage (background images)
  • shutdown screen
  • Improved mobile operations (but can be improved further)
  • writable features via local storage (desktop only atm)
  • documentation of states
  • optimised bundles of this exported and the component library
  • cypress testing of core features
  • refactoring (renaming to match purposes better, reducing prop passing)
  • save to other directories

Novel stuff

  • Semi-working My Computer folder (e.g. contains a floppy disc icon that freezes the whole machine for 10 seconds before saying no floppy is inserted)
  • Blue screen on all crashes
  • minesweeper difficulty options
  • Napster simulator (I've never actually used Napster so if you have then this will suck)
  • Images viewer, images folder
  • An actual working minesweeper (seems like an easy afternoon job?), separate component package
  • collection of easy additional components to write (e.g. calculator)
  • IE Naviagtion works for pages on same site and dangerously inserted innerHTML
  • Save other file types (write HTML files in notepad for IE4?)
  • windows XP skin (should be pretty doable and able to be its own CSS file with how the componets are written)

Proof of concepts

  • exportable as a single lightly modifiable component
  • one multiwindow app that runs in background (AIM?)
  • simple user accounts
  • server communications
  • server side rendering is more feasible (usage of window currently makes that hard)
  • writable features communicate with server (allowing users to log in)

If you'd like me to focus on any of these please consider donating https://www.buymeacoffee.com/padraig I will give most of this away to charity if anyone actually does donate. If you'd like to add them yourself I'd love to help make it happen!

Logging Hacks

Hack styles should either be flagged or placed within the root css file Boxshadowing has led to issues with some content covering the borders without hacky margins being used All resizable windows feature a lot of repetition atm Internet Explorer is a mess now and whenever I get around to it it'll need documentation all of its own

Credits go to:

Launch Screen iPhone SE

Background edits iPhone SE

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].