Giter Site home page Giter Site logo

puruvj / macos-preact Goto Github PK

View Code? Open in Web Editor NEW
1.0K 15.0 82.0 456.92 MB

Home Page: https://macos-preact.now.sh

License: MIT License

HTML 1.12% JavaScript 2.34% TypeScript 75.45% CSS 0.97% SCSS 20.12%
macos bigsur web html css javascript html-css-javascript desktop vite preact

macos-preact's Introduction

Hi there ๐Ÿ‘‹

Puru Vijay's Most used languages

macos-preact's People

Contributors

aslemammad avatar christophe-chausseray avatar deep-codes avatar haroenv avatar harshulvijay avatar josesaranda avatar lukewarlow avatar nirtamir2 avatar puruvj avatar sonjoydatta avatar tolgaerdonmez avatar zhiyue-yi avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

macos-preact's Issues

Cache all images while macOS "start"

Actually, if you open macos-web with a slow network, macOS "starts" first, and doesn't await for all images load... I suggest to wait body load, first, and then end "boot".

Fix dock tooltip

The app indication tooltip on the dock is quite weird on hover. Fix it to follow the scaleing of app icons

Magnification

The magnification effect should be disabled by default and made as a toggle.
In macOS Big Sur, the effect is not enabled by default. (the same with Monterey).

Add macOS boot transition

macOS, after boot, make a transition to the login panel, so, can be a nice thing add a transition from before "boot" to after "boot"...

Accessible macOS Web

Time to add accessibility to this app. Its highly unaccessible at this point. Keyboard users can never know where they are, users are used to moving around using arrow keys, on certain list-like areas(menus), and the aria markup pretty much sucks

Actions to be taken:

  • Add some form of indicator that the item is focused
  • Add roving tabindex to menubar, context menu.
  • Tabbing around should trigger the menubars
  • ARIA labels

Much more that can be done. Also, I am not very good at ARIA. Would appreciate if I could get comments/tips when I do it wrong in the code ๐Ÿ™๐Ÿ™

Create basic API for MenuBars

Let's start work on menubars

  • Create basic API structure for how the menubars are to be structured
  • Basic menu items
  • Menu item groups
  • Make way for search inputs
  • There should be a hook exposing the current active applications menu items
  • There should be hooks to modify state of items(Disabled, enabled)

Get this done

traffic light icons on hover

You mostly know this, traffic lights show icons in hover state.

I tried implementing it looks like this

If you want this implemented let me know I would raise a PR on it.

github

Make calculator functional

Calculator, currently is non-function. Make it function:

  • Click on buttons to add numbers and symbols to the equation
  • If calculator is focused, what is typed is also taken for input
  • If the equation ends with an operator, replicate the whole structure on the right side

Allow apps to go off screen

Currently, the apps are confined to w=viewport. But apps on macOS can go sideways and exit the frame horizontally.

use Rnd's bounds and provide coordinates minus the dock and topbar

Focus bug of VSCode

After VSCode app unfocus, isn't possible to see close button, etc. until is refocused.
Strangely the problem is only in this app and not in the others...

macOS Web VSCode close bug

Create basic window

  • Should open on clicking on any app icon in dock
  • should have traffic light buttons on it
  • Look like MacOS Window
  • Draggable
  • Resizable
  • For now, put "Windows coming soon" in them

Use :global(body dark) instead of useTheme hook

A lot of components rely on the useTheme hook to get if theme is dark, just for stylistic purposes. Let's get rid of that and use the :global(body[data-theme=dark] .selector. This is purely CSS based, and won't trigger unnecessary rerenders in components, and will make them smaller overall

Hide cursor when "boot"

To make a more same as original boot, I suggest to hide cursor when boot, and then show it after boot.

Dynamic wallpapers

Achieve that awesome wallpaper changing effect based on time(more like solar cycle stuff like sunset, sunrise, twilight time).

Use https://sunrise-sunset.org/api for this.

Implement in v2, and give customization options in v3.

Handle Cmd+W and Cmd+Q

Why don't handle Cmd(or Ctrl)+W to close app window and Cmd(or Ctrl)+Q to quit app? This can be very "useful"! ๐Ÿ˜„

Remove tippyjs from MenuBar and Action Center

Currently, MenuBar, to show menus, uses TippyJS and lots of state management with Jotai. But that is quite slow.

Goal:
Remove TippyJS from the equation entirely.
Rely on CSS as much as possible, though using Jotai to show stuff actually seems like the best scenario here, as :hover will not work unidirectionally, that is, it will show as well as hide on hover and removed-hover, which we do not want.

Same goes for ActionCenter. Use same methods for it too

Auto-Hide Dock

Auto-Hide Dock option would be better when we open any application in full screen.

Fix bugs in menubar

When you click on menubar, it should open up, when you hover out, it stays open.

When one menu is open, and you hover over another, that menu should open up and previous one should close.

context menu

I have a bare model of the context menu created.

I didn't use the API for Menubar to implement this, found it too complex ๐Ÿ˜….

github

let me know if you want this feature.

Auto-resize windows when viewport height/width change

Currently, if the viewport width changes the opened app window stays the same.

Before:
image

After viewport height is changed:
image

Instead of showing the current behavior, it should resize the open app window(s) automatically.

Menubar should act like the original

In original macOS's menubar, clicking on 1 menu open it, and then hovering on other open them, and close the previous one. When they're open, hovering out of these do not close them, but clicking outside so.

Current Behavior:
Open on hovering directly, and hovering out closes it.

Expected:
Just like I described above.

Files to look out for:
src/components/Menubar.tsx

Remove redundant aliases

__assets and __components as aliases are unnecessary. Remove them and fix the imports in Dock.tsx and Desktop.tsx

macOS cursors

Use macOS cursors instead of regular cursor properties.

Use CSS variables like --app-cursor-default, --app-cursor-pointer, etc to store their URLs

macOS start sound doesn't work

macOS start sound doesn't work because of no interactions with the user (page click) before playing.
I suggest to add a start button (as. iMac back start button) that invoke the user to click it to continue and start the OS.

Normal cursor on VSCode

As specified in the title. the cursor is not macOS one when interacting with the VSCode window.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.