GithubHelp home page GithubHelp logo

react95-io / react95-native Goto Github PK

View Code? Open in Web Editor NEW
93.0 93.0 1.0 8.61 MB

๐ŸŒˆ๐Ÿ•น Windows 95 style UI component library for React Native

License: MIT License

JavaScript 1.48% TypeScript 98.52%

react95-native's People

Contributors

arturbien avatar luizbaldi 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

Watchers

 avatar  avatar

Forkers

squidfinder

react95-native's Issues

Add Windows 95 Guidelines

  • add Windows 95 guidelines PDF book
  • for each component add a comment including page number for corresponding component description in the book

Add Select like component

Button opening list of options. in our case the triggering component would be a Button wrapped in contrasting theme (to stand out from the rest of UI). Clicking the button would open a list of options (just like in our Select component)

Screenshot 2021-01-15 at 22 27 55

Create icon set for controls (buttons, menus)

There are two types of icons used in controls in Win95:

  1. Monochromatic icons. In disabled state they change color and drop shadow (see "Restore" and "X" icon below):

Screenshot 2021-01-12 at 13 44 26

Icons should use theme colors and it seems like the easiest way to achieve this effect is to create font-based icon set. This will allow us to style the icon with color and textShadow to achieve desired effect. This approach would work both for Web and Native version.

  1. Colored icons. These are quite tricky because in their default state they can take any color and are not related with theme colors in any way, but in disabled state they behave like icons mentioned above (monochrome with drop-shadow):

Screenshot 2021-01-12 at 13 34 30

While this could possibly be achieved with SVG and filter: drop-shadow() on the web, in RN there's no SVG support or drop-shadow equivalent. Let's try to find a solution for this

Consider using tools like this: https://glyphsapp.com/learn/creating-a-pixel-font-in-glyphs-min

Decide on border width

Currently we're using 2px base as a size for border widths, checkered background, dropdown icons etc. See if 1.5px would be enough if there's no drawbacks to it

New components/materials proposals

Explore different materials and components that were not present in Windows 95 and try to integrate them in our lib. We need help from some creative designers to do this

Screenshot 2020-12-18 at 18 50 50

Screenshot 2022-04-01 at 08 22 52

Component Renaming and Organizing (align with React95 and some Windows guidelines)

In order to align the two React95 projects, I propose the following names changes for our components:

Component New Component Group Notes
AppBar AppBar Environment
Toolbar MenuBar Controls Aligned with Win32
Button Button Controls
Card Card Other
Checkbox CheckBox Controls Aligned with Win32
ColorPicker ColorPicker Controls
Desktop Monitor Other
Divider Separator Controls
FAB FAB Other
Fieldset Fieldset Controls
Hourglass Hourglass Graphics
Label ? Other This looks like a Tooltip but is laid out with content. It can also be interactive, so it shouldnโ€™t be classified as Label.
List ? Other Only exists in a flat style, and reminds of an accordion. Maybe AccordionFlat?
Menu Menu Controls
NumberInput SpinBox Controls Aligned with Win32
Panel Frame Layout
Progress ProgressBar Controls Aligned with Win32
Radio Radio Controls
Select ComboBox Controls Aligned with Win32
SelectBox ListBox Controls Aligned with Win32
ScrollPanel ? Other This looks like a toolbar, it might make more sense as one of Toolbarโ€™s appearances.
ScrollView ScrollView Layout
Slider Slider Controls
Snackbar InfoBar Controls Aligned with WinUI
Tabs Tabs Controls
TextInput TextBox Controls Aligned with Win32
Typography/Anchor Link Text
Typography/Text Text Text
Typography/Title Title Text
Window Window Environment

Still unsure about "Frame".

References:

Skeleton component

Design + implement Skeleton component (and different variants of it like text/avatar/image etc).

Screenshot 2022-02-02 at 22 02 39

Add color picker

Let's consider adding Windows 95 color pickers. Here's an example:
dialog-formatwordart-fillpalette

Find a way to utilize free space on devices with rounded corners

Since Win95 UI is rectangular we don't want to cut off corners of Panels or bottom AppBars on devices with rounded screen corners. In most cases this free space outside of SafeAreaView will be just black, but maybe we can find a way to utilize this free space

Add missing theme variables

We probably need new theme color variables. In particular for the following components:

  • tooltip/snackbar: border, text
  • card: border (probably the same as border), text

Create util function to generate checkered background

we should create a way to generate checkered background (its used throughout the project for example on the scrollbars or on active buttons). Currently we're using hardcoded data:uri for background image, but it should be based on theme colors so we need to generate these patterns on the fly

Screenshot 2021-01-02 at 16 00 03

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.