mirror of
https://github.com/blueedgetechno/win11React.git
synced 2026-01-08 21:48:01 -05:00
merged improvements by @Tronic247
This commit is contained in:
12
.github/workflows/deploy.yml
vendored
12
.github/workflows/deploy.yml
vendored
@@ -12,19 +12,19 @@ jobs:
|
||||
build:
|
||||
name: Build
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
|
||||
steps:
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@v2
|
||||
|
||||
|
||||
- name: Install Node.js
|
||||
uses: actions/setup-node@v1
|
||||
with:
|
||||
node-version: '16.6.1'
|
||||
|
||||
|
||||
- name: Install NPM packages
|
||||
run: npm ci
|
||||
|
||||
|
||||
- name: Build project
|
||||
run: CI=false npm run build
|
||||
|
||||
@@ -33,13 +33,13 @@ jobs:
|
||||
with:
|
||||
name: production-files
|
||||
path: ./build
|
||||
|
||||
|
||||
deploy:
|
||||
name: Deploy
|
||||
needs: build
|
||||
runs-on: ubuntu-latest
|
||||
if: github.ref == 'refs/heads/master'
|
||||
|
||||
|
||||
steps:
|
||||
- name: Download artifact
|
||||
uses: actions/download-artifact@v2
|
||||
|
||||
31
.github/workflows/windows.yml
vendored
31
.github/workflows/windows.yml
vendored
@@ -12,19 +12,19 @@ jobs:
|
||||
build:
|
||||
name: Build
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
|
||||
steps:
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@v2
|
||||
|
||||
|
||||
- name: Install Node.js
|
||||
uses: actions/setup-node@v1
|
||||
with:
|
||||
node-version: '16.6.1'
|
||||
|
||||
|
||||
- name: Install NPM packages
|
||||
run: npm ci
|
||||
|
||||
|
||||
- name: Build project
|
||||
run: CI=false npm run build
|
||||
|
||||
@@ -33,48 +33,47 @@ jobs:
|
||||
with:
|
||||
name: production-files
|
||||
path: ./build
|
||||
|
||||
|
||||
deploy:
|
||||
name: electron
|
||||
needs: build
|
||||
runs-on: windows-latest
|
||||
|
||||
|
||||
steps:
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@v2
|
||||
with:
|
||||
repository: win11bot/electron
|
||||
path: ./build
|
||||
|
||||
|
||||
- name: Install Node.js
|
||||
uses: actions/setup-node@v1
|
||||
with:
|
||||
node-version: '16.6.1'
|
||||
|
||||
|
||||
- name: Download artifact
|
||||
uses: actions/download-artifact@v2
|
||||
with:
|
||||
name: production-files
|
||||
path: ./build/public
|
||||
|
||||
|
||||
- name: Install NPM packages
|
||||
run: cd ./build && npm i && npm install -g electron-packager
|
||||
|
||||
|
||||
- name: Build
|
||||
run: cd ./build && npm run electron-packager D:\a\windows11\windows11\build --platform=win32 --arch=x64
|
||||
|
||||
- uses: actions/upload-artifact@v2
|
||||
|
||||
- uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: win11-build
|
||||
path: ./build/win11-win32-x64
|
||||
|
||||
|
||||
- uses: papeloto/action-zip@v1
|
||||
with:
|
||||
files: ./build
|
||||
dest: source.zip
|
||||
|
||||
- uses: actions/upload-artifact@v2
|
||||
|
||||
- uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: win11-source
|
||||
path: source.zip
|
||||
|
||||
|
||||
2
.gitignore
vendored
2
.gitignore
vendored
@@ -13,7 +13,7 @@ todo*
|
||||
# production
|
||||
/build
|
||||
*.py
|
||||
rough.*
|
||||
rough*
|
||||
|
||||
# misc
|
||||
.DS_Store
|
||||
|
||||
BIN
public/favicon.png
Normal file
BIN
public/favicon.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 6.9 KiB |
BIN
public/img/asset/aliyss.png
Normal file
BIN
public/img/asset/aliyss.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 30 KiB |
BIN
public/img/asset/bootlogo.png
Normal file
BIN
public/img/asset/bootlogo.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 985 B |
Binary file not shown.
|
Before Width: | Height: | Size: 23 KiB |
@@ -4,14 +4,14 @@
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<link rel="icon" href="%PUBLIC_URL%/favicon.ico" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0;">
|
||||
<meta name="theme-color" content="#000000" />
|
||||
<meta name="description" content="Windows 11 made in React" />
|
||||
<meta name="og:description" content="Windows 11 made in React." />
|
||||
<meta name="og:color" content="#303030" />
|
||||
<!-- <link rel="apple-touch-icon" href="%PUBLIC_URL%/logo192.png" /> -->
|
||||
<!-- <link rel="manifest" href="%PUBLIC_URL%/manifest.json" /> -->
|
||||
<title>Win 11 in React</title>
|
||||
<link rel="apple-touch-icon" href="%PUBLIC_URL%/favicon.png" />
|
||||
<link rel="manifest" href="%PUBLIC_URL%/manifest.json" />
|
||||
<title>Windows 11 in React</title>
|
||||
<link rel="stylesheet" href="dycalendar.css">
|
||||
</head>
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"short_name": "React App",
|
||||
"name": "Create React App Sample",
|
||||
"short_name": "Windows 11",
|
||||
"name": "Windows 11 in React",
|
||||
"icons": [
|
||||
{
|
||||
"src": "favicon.ico",
|
||||
@@ -8,14 +8,9 @@
|
||||
"type": "image/x-icon"
|
||||
},
|
||||
{
|
||||
"src": "logo192.png",
|
||||
"src": "favicon.png",
|
||||
"type": "image/png",
|
||||
"sizes": "192x192"
|
||||
},
|
||||
{
|
||||
"src": "logo512.png",
|
||||
"type": "image/png",
|
||||
"sizes": "512x512"
|
||||
"sizes": "174x174"
|
||||
}
|
||||
],
|
||||
"start_url": ".",
|
||||
|
||||
111
public/style.css
111
public/style.css
@@ -84,3 +84,114 @@ h5 {
|
||||
width: 800px;
|
||||
}
|
||||
}
|
||||
|
||||
/* Loader css */
|
||||
#loader {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
background: #000000;
|
||||
z-index: 99999999999999;
|
||||
display: grid;
|
||||
text-align: center;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.circledots {
|
||||
position: relative;
|
||||
top: 0;
|
||||
left: 0;
|
||||
transform: scale(.9);
|
||||
width: 50px;
|
||||
height: 50px;
|
||||
margin: auto;
|
||||
}
|
||||
|
||||
.circledots .circle {
|
||||
position: absolute;
|
||||
width: 38px;
|
||||
height: 38px;
|
||||
opacity: 0;
|
||||
border-radius: 100px;
|
||||
transform: rotate(225deg);
|
||||
animation-iteration-count: infinite;
|
||||
animation-name: orbit;
|
||||
animation-duration: 5.5s;
|
||||
}
|
||||
|
||||
.circledots .circle:after {
|
||||
content: '';
|
||||
position: absolute;
|
||||
width: 6px;
|
||||
height: 6px;
|
||||
clip-path: circle(100%);
|
||||
border-radius: 100px;
|
||||
background: #fff;
|
||||
}
|
||||
|
||||
.circledots .circle:nth-child(2) {
|
||||
animation-delay: 240ms;
|
||||
}
|
||||
|
||||
.circledots .circle:nth-child(3) {
|
||||
animation-delay: 480ms;
|
||||
}
|
||||
|
||||
.circledots .circle:nth-child(4) {
|
||||
animation-delay: 720ms;
|
||||
}
|
||||
|
||||
.circledots .circle:nth-child(5) {
|
||||
animation-delay: 960ms;
|
||||
}
|
||||
|
||||
@keyframes orbit {
|
||||
0% {
|
||||
transform: rotate(225deg);
|
||||
opacity: 1;
|
||||
animation-timing-function: ease-out;
|
||||
}
|
||||
|
||||
7% {
|
||||
transform: rotate(345deg);
|
||||
animation-timing-function: linear;
|
||||
}
|
||||
|
||||
30% {
|
||||
transform: rotate(455deg);
|
||||
animation-timing-function: ease-in-out;
|
||||
}
|
||||
|
||||
39% {
|
||||
transform: rotate(690deg);
|
||||
animation-timing-function: linear;
|
||||
}
|
||||
|
||||
70% {
|
||||
transform: rotate(815deg);
|
||||
opacity: 1;
|
||||
animation-timing-function: ease-out;
|
||||
}
|
||||
|
||||
75% {
|
||||
transform: rotate(945deg);
|
||||
animation-timing-function: ease-out;
|
||||
}
|
||||
|
||||
76% {
|
||||
transform: rotate(945deg);
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
100% {
|
||||
transform: rotate(945deg);
|
||||
opacity: 0;
|
||||
}
|
||||
}
|
||||
|
||||
#loads {
|
||||
fill: #0178D4 !important;
|
||||
}
|
||||
|
||||
72
src/App.js
72
src/App.js
@@ -1,9 +1,15 @@
|
||||
import React from 'react';
|
||||
import {useSelector, useDispatch} from 'react-redux';
|
||||
import {
|
||||
useSelector,
|
||||
useDispatch
|
||||
} from 'react-redux';
|
||||
import './index.css';
|
||||
import './short.css';
|
||||
|
||||
import Background from './containers/background';
|
||||
import {
|
||||
Background,
|
||||
BootScreen
|
||||
} from './containers/background';
|
||||
import Taskbar from './components/taskbar';
|
||||
import ActMenu from './components/menu';
|
||||
import {
|
||||
@@ -20,25 +26,27 @@ function App() {
|
||||
const apps = useSelector(state => state.apps);
|
||||
const dispatch = useDispatch();
|
||||
|
||||
const afterMath = (event)=>{
|
||||
const afterMath = (event) => {
|
||||
var ess = [
|
||||
["START","STARTHID"],
|
||||
["PANE","PANEHIDE"],
|
||||
["WIDG","WIDGHIDE"],
|
||||
["CALN","CALNHIDE"],
|
||||
["MENU","MENUHIDE"]
|
||||
["START", "STARTHID"],
|
||||
["PANE", "PANEHIDE"],
|
||||
["WIDG", "WIDGHIDE"],
|
||||
["CALN", "CALNHIDE"],
|
||||
["MENU", "MENUHIDE"]
|
||||
];
|
||||
|
||||
var actionType = "";
|
||||
try{
|
||||
try {
|
||||
actionType = event.target.dataset.action || "";
|
||||
}catch(err){}
|
||||
} catch (err) {}
|
||||
|
||||
var actionType0 = getComputedStyle(event.target).getPropertyValue('--prefix');
|
||||
|
||||
ess.forEach((item, i) => {
|
||||
if(!actionType.startsWith(item[0]) && !actionType0.startsWith(item[0])){
|
||||
dispatch({type: item[1]});
|
||||
if (!actionType.startsWith(item[0]) && !actionType0.startsWith(item[0])) {
|
||||
dispatch({
|
||||
type: item[1]
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -52,9 +60,12 @@ function App() {
|
||||
left: e.clientX
|
||||
};
|
||||
|
||||
if(e.target.dataset.menu!=null){
|
||||
if (e.target.dataset.menu != null) {
|
||||
data.menu = e.target.dataset.menu;
|
||||
dispatch({ type: 'MENUSHOW', payload: data});
|
||||
dispatch({
|
||||
type: 'MENUSHOW',
|
||||
payload: data
|
||||
});
|
||||
}
|
||||
|
||||
});
|
||||
@@ -63,22 +74,29 @@ function App() {
|
||||
afterMath(e);
|
||||
});
|
||||
|
||||
window.addEventListener("load", e => {
|
||||
// document.querySelector('#loader').remove();
|
||||
});
|
||||
|
||||
return (
|
||||
<div className="App">
|
||||
<Background/>
|
||||
<div className="desktop" data-menu="desk">
|
||||
<DesktopApp/>
|
||||
{Object.keys(Applications).map((key,idx)=>{
|
||||
var WinApp = Applications[key];
|
||||
return <WinApp/>;
|
||||
})}
|
||||
<StartMenu/>
|
||||
<SidePane/>
|
||||
<WidPane/>
|
||||
<CalnWid/>
|
||||
{/* <BootScreen/> */}
|
||||
<div className="">
|
||||
<Background/>
|
||||
<div className="desktop" data-menu="desk">
|
||||
<DesktopApp/>
|
||||
{Object.keys(Applications).map((key,idx)=>{
|
||||
var WinApp = Applications[key];
|
||||
return <WinApp/>;
|
||||
})}
|
||||
<StartMenu/>
|
||||
<SidePane/>
|
||||
<WidPane/>
|
||||
<CalnWid/>
|
||||
</div>
|
||||
<Taskbar/>
|
||||
<ActMenu/>
|
||||
</div>
|
||||
<Taskbar/>
|
||||
<ActMenu/>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
@@ -52,6 +52,7 @@
|
||||
&[data-dsb="true"]{
|
||||
color: #aaa;
|
||||
font-weight: 400;
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
.uicon{
|
||||
|
||||
@@ -447,7 +447,7 @@ export const WidPane = () => {
|
||||
|
||||
return (
|
||||
<div className="widPaneCont" data-hide={widget.hide} style={{'--prefix':'WIDG'}}>
|
||||
<div className="WidPane" loading="lazy">
|
||||
<div className="WidPane thinScroll" loading="lazy">
|
||||
<div className="widtop">
|
||||
<Icon fafa="faEllipsisH" width={12}/>
|
||||
</div>
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
.searchMenu{
|
||||
.searchMenu {
|
||||
min-height: 500px;
|
||||
padding: 12px;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.searchBar{
|
||||
.searchBar {
|
||||
height: 30px;
|
||||
border: solid 2px #0e60e4;
|
||||
border-radius: 6px;
|
||||
@@ -12,35 +12,35 @@
|
||||
display: flex;
|
||||
padding: 0 10px;
|
||||
|
||||
.uicon{
|
||||
.uicon {
|
||||
filter: brightness(0.6);
|
||||
margin-right: 12px;
|
||||
}
|
||||
|
||||
input{
|
||||
input {
|
||||
width: 400px;
|
||||
color: #222;
|
||||
}
|
||||
}
|
||||
|
||||
.opts div{
|
||||
.opts div {
|
||||
border: solid 0 #1f4aff;
|
||||
cursor: pointer;
|
||||
|
||||
&[value="true"]{
|
||||
&[value="true"] {
|
||||
border-bottom-width: 2px;
|
||||
}
|
||||
}
|
||||
|
||||
.leftSide{
|
||||
.leftSide {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.leftSide[data-width="true"]{
|
||||
.leftSide[data-width="true"] {
|
||||
width: 32%;
|
||||
}
|
||||
|
||||
.rightSide{
|
||||
.rightSide {
|
||||
margin: 8px;
|
||||
height: 400px;
|
||||
background: #fafafa;
|
||||
@@ -48,7 +48,7 @@
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
|
||||
.hline{
|
||||
.hline {
|
||||
width: 90%;
|
||||
height: 1px;
|
||||
border-radius: 10px;
|
||||
@@ -56,7 +56,7 @@
|
||||
}
|
||||
}
|
||||
|
||||
.topApp{
|
||||
.topApp {
|
||||
width: 19%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
@@ -64,20 +64,20 @@
|
||||
border-radius: 4px;
|
||||
}
|
||||
|
||||
.qksrch{
|
||||
.qksrch {
|
||||
color: #111;
|
||||
}
|
||||
|
||||
.qksrch svg{
|
||||
.qksrch svg {
|
||||
color: #333;
|
||||
}
|
||||
|
||||
.calnpane{
|
||||
.calnpane {
|
||||
position: absolute;
|
||||
bottom: 12px;
|
||||
right: 12px;
|
||||
// width: 280px;
|
||||
min-height: 300px;
|
||||
// min-height: 300px;
|
||||
background: rgba(255, 255, 255, 0.88);
|
||||
-webkit-backdrop-filter: blur(10px);
|
||||
backdrop-filter: blur(10px);
|
||||
|
||||
@@ -11,9 +11,10 @@
|
||||
overflow: hidden;
|
||||
transition: all ease-in-out 200ms;
|
||||
z-index: 9999;
|
||||
transform: translateX(0);
|
||||
|
||||
&[data-hide="true"] {
|
||||
right: -330px;
|
||||
transform: translateX(330px);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -55,6 +56,7 @@
|
||||
background: rgba(255, 255, 255, 0.9);
|
||||
border: solid 0.1px rgba(17, 17, 17, 0.1);
|
||||
transition: all 0.1s ease;
|
||||
|
||||
&[data-state="true"] {
|
||||
background: rgb(0, 90, 255);
|
||||
|
||||
@@ -89,13 +91,17 @@
|
||||
left: 0;
|
||||
width: 610px;
|
||||
height: 100%;
|
||||
padding: 5px;
|
||||
margin: 6px;
|
||||
overflow: hidden;
|
||||
transition: all ease-in-out 200ms;
|
||||
transform: translateX(0);
|
||||
-webkit-backdrop-filter: blur(40px);
|
||||
backdrop-filter: blur(40px);
|
||||
transition: all 0.3s cubic-bezier(.77,0,.18,1);
|
||||
z-index: 9999;
|
||||
|
||||
&[data-hide="true"] {
|
||||
left: -620px;
|
||||
transform: translateX(-110%);
|
||||
transition: all 0.6s cubic-bezier(.77,0,.18,1);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -103,32 +109,13 @@
|
||||
width: 100%;
|
||||
border-radius: 8px;
|
||||
height: calc(100% - 12px);
|
||||
backdrop-filter: blur(40px);
|
||||
-webkit-backdrop-filter: blur(40px);
|
||||
background: rgba(255, 255, 255, 0.25);
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
|
||||
overflow-x: hidden;
|
||||
overflow-y: scroll;
|
||||
|
||||
&::-webkit-scrollbar {
|
||||
width: 1.6px;
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
&:hover::-webkit-scrollbar-thumb{
|
||||
background: rgba(0, 0, 0, 0.4);
|
||||
}
|
||||
|
||||
&::-webkit-scrollbar-thumb {
|
||||
width: 1.6px;
|
||||
box-sizing: border-box;
|
||||
border-radius: 10px;
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
.widtop {
|
||||
width: 96%;
|
||||
display: flex;
|
||||
@@ -161,9 +148,9 @@
|
||||
border-radius: 6px;
|
||||
box-sizing: border-box;
|
||||
background: rgb(255,255,255);
|
||||
background: -webkit-linear-gradient(top left, rgba(255,255,255,0.9951330874146533) 0%, rgba(255,243,190,1) 80%);
|
||||
background: -o-linear-gradient(top left, rgba(255,255,255,0.9951330874146533) 0%, rgba(255,243,190,1) 80%);
|
||||
background: linear-gradient(to bottom right, rgba(255,255,255,0.9951330874146533) 0%, rgba(255,243,190,1) 80%);
|
||||
background: -webkit-linear-gradient(top left, #fefefe 0%, #fff3be 80%);
|
||||
background: -o-linear-gradient(top left, #fefefe 0%, #fff3be 80%);
|
||||
background: linear-gradient(to bottom right, #fefefe 0%, #fff3be 80%);
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
@@ -350,7 +337,7 @@
|
||||
background-position: center;
|
||||
z-index: 1;
|
||||
|
||||
&::after{
|
||||
&::after {
|
||||
content: "";
|
||||
position: absolute;
|
||||
top: 0;
|
||||
@@ -365,14 +352,13 @@
|
||||
z-index: -1;
|
||||
}
|
||||
|
||||
&::before{
|
||||
&::before {
|
||||
content: "";
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
|
||||
backdrop-filter: brightness(0.8);
|
||||
-webkit-backdrop-filter: brightness(0.8);
|
||||
filter: blur(10px);
|
||||
@@ -389,7 +375,7 @@
|
||||
}
|
||||
}
|
||||
|
||||
.infotextCont{
|
||||
.infotextCont {
|
||||
position: absolute;
|
||||
bottom: 6px;
|
||||
padding-right: 10px;
|
||||
@@ -411,7 +397,7 @@
|
||||
text-align: justify;
|
||||
}
|
||||
|
||||
a{
|
||||
a {
|
||||
text-decoration: none;
|
||||
font-size: 0.64em;
|
||||
color: #c1e2ff;
|
||||
@@ -441,7 +427,7 @@
|
||||
background: -o-linear-gradient(top left, rgba(230, 230, 230, 1) 0%, rgba(255,255,255,1) 100%);
|
||||
background: linear-gradient(to bottom right, rgba(230, 230, 230, 1) 0%, rgba(255,255,255,1) 100%);
|
||||
|
||||
&::after{
|
||||
&::after {
|
||||
content: "source: saurav.tech/NewsAPI";
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
.desktopCont {
|
||||
width: fit-content;
|
||||
width: 0;
|
||||
height: 100%;
|
||||
display: grid;
|
||||
grid-auto-flow: column;
|
||||
@@ -35,17 +35,16 @@
|
||||
left: 0;
|
||||
// left: calc(50% - 260px);
|
||||
// height: 200px;
|
||||
&[data-align="center"]{
|
||||
&[data-align="center"] {
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
right: 0;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
&[data-align="left"]{
|
||||
&[data-align="left"] {
|
||||
left: 8px;
|
||||
}
|
||||
|
||||
background: rgba(255, 255, 255, 0.88);
|
||||
-webkit-backdrop-filter: blur(20px);
|
||||
backdrop-filter: blur(20px);
|
||||
@@ -165,7 +164,7 @@
|
||||
margin: 10px 0;
|
||||
position: relative;
|
||||
|
||||
&[value="true"] .pnIcon::before{
|
||||
&[value="true"] .pnIcon::before {
|
||||
content: "";
|
||||
position: absolute;
|
||||
top: -2px;
|
||||
|
||||
@@ -1,20 +1,8 @@
|
||||
import React from 'react';
|
||||
|
||||
export const Mark = (props) => {
|
||||
return (
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
width={76}
|
||||
height={95}
|
||||
viewBox="0 0 760 950"
|
||||
{...props}>
|
||||
<path
|
||||
d="M120 881c0-155 96-575 144-630 7-9 25-48 40-88 31-82 50-104 71-82 14 15 81 162 120 264 51 136 105 412 105 542v63h-30c-30 0-30-1-30-55v-55H180v55c0 54 0 55-30 55h-30v-69zm343-98l107-6v-44c0-84-95-447-122-464-15-10-148-12-172-3-27 10-114 328-123 452l-6 72h105c58 0 153-3 211-7zm-89-588c-4-8-10-15-15-15s-9 7-9 15 7 15 15 15c9 0 12-6 9-15z"
|
||||
fill="#020202"
|
||||
/>
|
||||
<path
|
||||
fill={props.color || "#111"}
|
||||
d="M150 880v-70h420v140H150v-70zM305 213c10-42 47-123 55-123 9 0 60 112 60 134 0 13-11 16-61 16h-61l7-27z" />
|
||||
</svg>
|
||||
);
|
||||
return (<svg xmlns="https://www.w3.org/2000/svg" width={76} height={95} viewBox="0 0 760 950" {...props}>
|
||||
<path d="M120 881c0-155 96-575 144-630 7-9 25-48 40-88 31-82 50-104 71-82 14 15 81 162 120 264 51 136 105 412 105 542v63h-30c-30 0-30-1-30-55v-55H180v55c0 54 0 55-30 55h-30v-69zm343-98l107-6v-44c0-84-95-447-122-464-15-10-148-12-172-3-27 10-114 328-123 452l-6 72h105c58 0 153-3 211-7zm-89-588c-4-8-10-15-15-15s-9 7-9 15 7 15 15 15c9 0 12-6 9-15z" fill="#020202"/>
|
||||
<path fill={props.color || "#111"} d="M150 880v-70h420v140H150v-70zM305 213c10-42 47-123 55-123 9 0 60 112 60 134 0 13-11 16-61 16h-61l7-27z"/>
|
||||
</svg>);
|
||||
}
|
||||
|
||||
@@ -9,6 +9,21 @@ export const DScord = ()=>{
|
||||
const wnapp = useSelector(state => state.apps.discord);
|
||||
const [url, setUrl] = useState(null);
|
||||
const dispatch = useDispatch();
|
||||
const servers = [
|
||||
{
|
||||
src: "arrtective.png",
|
||||
link: "https://discord.io/arttective"
|
||||
},{
|
||||
src: "mimi.png",
|
||||
link: "https://discord.gg/AGSCfjgDMc"
|
||||
},{
|
||||
src: "narjiday.png",
|
||||
link: "https://discord.gg/K9wcgZJfXS"
|
||||
},{
|
||||
src: "aliyss.png",
|
||||
link: "https://discord.gg/zAypMTH"
|
||||
}
|
||||
]
|
||||
|
||||
useEffect(()=>{
|
||||
if(url==null){
|
||||
@@ -34,14 +49,10 @@ export const DScord = ()=>{
|
||||
<hr/>
|
||||
<Icon className="wnServer svIcon" src="./img/asset/server.gif" click="EXTERNAL"
|
||||
payload="https://discord.gg/qmEZwUhb4b" ext width={48}/>
|
||||
<Icon className="svIcon" src="./img/asset/arrtective.png" click="EXTERNAL"
|
||||
payload="https://discord.io/arttective" ext width={48}/>
|
||||
<Icon className="svIcon" src="./img/asset/mimi.png" click="EXTERNAL"
|
||||
payload="https://discord.gg/AGSCfjgDMc" ext width={48}/>
|
||||
<Icon className="svIcon" src="./img/asset/narjiday.png" click="EXTERNAL"
|
||||
payload="https://discord.gg/K9wcgZJfXS" ext width={48}/>
|
||||
<Icon className="svIcon" src="./img/asset/lucina.png" click="EXTERNAL"
|
||||
payload="https://discord.gg/zAypMTH" ext width={48}/>
|
||||
{servers.map(server=>(
|
||||
<Icon className="svIcon" src={"./img/asset/"+server.src}
|
||||
click="EXTERNAL" payload={server.link} ext width={48}/>
|
||||
))}
|
||||
</div>
|
||||
</div>
|
||||
<div className="flex-grow overflow-hidden">
|
||||
|
||||
@@ -357,7 +357,8 @@ const Search = ({sid, paused, action,action2})=>{
|
||||
const [recentSearches, setRecent] = useState([
|
||||
"Perfect",
|
||||
"Agar tum sath ho",
|
||||
"One Republic"
|
||||
"One Republic",
|
||||
"Cheap thrills"
|
||||
]);
|
||||
|
||||
const handleQuery = (e)=>{
|
||||
@@ -394,7 +395,7 @@ const Search = ({sid, paused, action,action2})=>{
|
||||
<div className="absolute w-full flex top-0 -mt-8">
|
||||
<div className="flex bg-gray-100 px-4 w-max rounded-full overflow-hidden">
|
||||
<input className="w-64 ml-2 bg-transparent py-3 rounded-full text-base"
|
||||
value={query} defaultValue={query} type="text" placeholder="Artist, song or album"
|
||||
value={query} type="text" placeholder="Artist, song or album"
|
||||
onChange={handleQuery}/>
|
||||
<Icon className="handcr" icon="search" onClick={searchSpotify}/>
|
||||
</div>
|
||||
|
||||
@@ -275,7 +275,7 @@ export const WnTerminal = ()=>{
|
||||
<div className="cmdLine actmd">
|
||||
{pwd}>
|
||||
<div className="ipcmd" id="curcmd" contentEditable
|
||||
data-action="enter" onKeyDown={action}></div>
|
||||
data-action="enter" onKeyDown={action} spellCheck="false"></div>
|
||||
{/* <input id="curcmd" className="ipcmd" type="text" defaultValue="tyler"/> */}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -185,9 +185,9 @@
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
background: rgb(255,255,255);
|
||||
background: -webkit-linear-gradient(bottom, rgba(244, 244, 244, 1) 10%, rgba(135, 135, 135, 0.4) 50%, rgba(0,0,0,0) 100%);
|
||||
background: -o-linear-gradient(bottom, rgba(244, 244, 244, 1) 10%, rgba(135, 135, 135, 0.4) 50%, rgba(0,0,0,0) 100%);
|
||||
background: linear-gradient(to top, rgba(244, 244, 244, 1) 10%, rgba(135, 135, 135, 0.4) 50%, rgba(0,0,0,0) 100%);
|
||||
background: -webkit-linear-gradient(bottom, #f4f4f4 10%, rgba(135, 135, 135, 0.4) 50%, rgba(0,0,0,0) 100%);
|
||||
background: -o-linear-gradient(bottom, #f4f4f4 10%, rgba(135, 135, 135, 0.4) 50%, rgba(0,0,0,0) 100%);
|
||||
background: linear-gradient(to top, #f4f4f4 10%, rgba(135, 135, 135, 0.4) 50%, rgba(0,0,0,0) 100%);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -245,23 +245,23 @@
|
||||
|
||||
.amzApps {
|
||||
background: #670cd7;
|
||||
background: -webkit-linear-gradient(48deg, rgba(82, 47, 139, 1) 0%, rgba(113, 35, 133, 1) 100%);
|
||||
background: -o-linear-gradient(48deg, rgba(82, 47, 139, 1) 0%, rgba(113, 35, 133, 1) 100%);
|
||||
background: linear-gradient(138deg, rgba(82, 47, 139, 1) 0%, rgba(113, 35, 133, 1) 100%);
|
||||
background: -webkit-linear-gradient(48deg, #522f8b 0%, rgba(113, 35, 133, 1) 100%);
|
||||
background: -o-linear-gradient(48deg, #522f8b 0%, rgba(113, 35, 133, 1) 100%);
|
||||
background: linear-gradient(138deg, #522f8b 0%, rgba(113, 35, 133, 1) 100%);
|
||||
}
|
||||
|
||||
.amzGames {
|
||||
background: #214458;
|
||||
background: -webkit-linear-gradient(47deg, rgba(33,68,88,1) 0%, rgba(9,134,146,1) 100%);
|
||||
background: -o-linear-gradient(47deg, rgba(33,68,88,1) 0%, rgba(9,134,146,1) 100%);
|
||||
background: linear-gradient(137deg, rgba(33,68,88,1) 0%, rgba(9,134,146,1) 100%);
|
||||
background: -webkit-linear-gradient(47deg, #214458 0%, #098793 100%);
|
||||
background: -o-linear-gradient(47deg, #214458 0%, #098793 100%);
|
||||
background: linear-gradient(137deg, #214458 0%, #098793 100%);
|
||||
}
|
||||
|
||||
.amzMovies {
|
||||
background: #217558;
|
||||
background: -webkit-linear-gradient(47deg, rgba(33,117,88,1) 0%, rgba(15,163,69,1) 100%);
|
||||
background: -o-linear-gradient(47deg, rgba(33,117,88,1) 0%, rgba(15,163,69,1) 100%);
|
||||
background: linear-gradient(137deg, rgba(33,117,88,1) 0%, rgba(15,163,69,1) 100%);
|
||||
background: -webkit-linear-gradient(47deg, #217558 0%, #0fa345 100%);
|
||||
background: -o-linear-gradient(47deg, #217558 0%, #0fa345 100%);
|
||||
background: linear-gradient(137deg, #217558 0%, #0fa345 100%);
|
||||
}
|
||||
|
||||
.ribcont {
|
||||
@@ -293,9 +293,9 @@
|
||||
.cmdLine {
|
||||
font-size: 0.84em;
|
||||
color: rgba(255, 255, 255, 0.72);
|
||||
font-family: monospace, sans-serif;
|
||||
font-family: "consolas", monospace;
|
||||
height: 1.2em;
|
||||
font-weight: lighter;
|
||||
font-weight: 400;
|
||||
overflow: hidden;
|
||||
max-width: 100%;
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
www.OnlineWebFonts.Com
|
||||
www.OnlineWebFonts.Com
|
||||
*/
|
||||
@font-face {font-family: "Spotify";
|
||||
src: url("https://db.onlinewebfonts.com/t/1ccdd11fd9d1d81756c40d7acb17d0aa.eot"); /* IE9*/
|
||||
|
||||
@@ -6,3 +6,15 @@
|
||||
background-size: cover;
|
||||
background-position: center;
|
||||
}
|
||||
|
||||
.bootscreen{
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
min-width: 100vw;
|
||||
min-height: 100vh;
|
||||
background-color: #010001;
|
||||
z-index: 20000;
|
||||
display: grid;
|
||||
place-items: center;
|
||||
}
|
||||
|
||||
@@ -1,9 +1,10 @@
|
||||
import React from 'react';
|
||||
import {useSelector, useDispatch} from 'react-redux';
|
||||
import {Icon, Image} from '../../utils/general';
|
||||
|
||||
import './back.css';
|
||||
|
||||
const Background = ()=>{
|
||||
export const Background = ()=>{
|
||||
const wallpaper = useSelector(state => state.wallpaper);
|
||||
const dispatch = useDispatch();
|
||||
|
||||
@@ -15,4 +16,13 @@ const Background = ()=>{
|
||||
);
|
||||
}
|
||||
|
||||
export default Background;
|
||||
export const BootScreen = ()=>{
|
||||
const wallpaper = useSelector(state => state.wallpaper);
|
||||
const dispatch = useDispatch();
|
||||
|
||||
return (
|
||||
<div className="bootscreen">
|
||||
<Image src="asset/bootlogo" w={160}/>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
@@ -21,7 +21,7 @@ body {
|
||||
width: 100vw;
|
||||
height: 100vh;
|
||||
user-select: none;
|
||||
overflow: hidden;
|
||||
overflow: hidden !important;
|
||||
}
|
||||
|
||||
body:before {
|
||||
@@ -44,7 +44,7 @@ body[data-sepia="true"]:before {
|
||||
}
|
||||
|
||||
code {
|
||||
font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New', monospace;
|
||||
font-family: source-code-pro, Menlo, Monaco, "Consolas", Courier New, monospace;
|
||||
}
|
||||
|
||||
.App {
|
||||
@@ -142,6 +142,11 @@ img[data-flip='true'], svg[data-flip='true'] {
|
||||
box-shadow: 0 1px 1px rgba(0, 0, 0, 0.25);
|
||||
}
|
||||
|
||||
input {
|
||||
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen',
|
||||
'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue';
|
||||
}
|
||||
|
||||
.ltShad0 {
|
||||
filter: drop-shadow(0 1px 1px rgba(0, 0, 0, 0.25));
|
||||
}
|
||||
@@ -214,15 +219,26 @@ img[data-flip='true'], svg[data-flip='true'] {
|
||||
transition: all 200ms ease-in-out;
|
||||
}
|
||||
|
||||
a {
|
||||
text-decoration: none;
|
||||
color: #0080E1;
|
||||
}
|
||||
|
||||
#textpad {
|
||||
font-family: Consolas, monospace;
|
||||
/* font-size: 18px; */
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
.acol {
|
||||
color: #aaa;
|
||||
}
|
||||
|
||||
#probtn{
|
||||
#probtn {
|
||||
display: none;
|
||||
}
|
||||
|
||||
#warningmsg{
|
||||
#warningmsg {
|
||||
display: none;
|
||||
}
|
||||
|
||||
@@ -231,18 +247,18 @@ img[data-flip='true'], svg[data-flip='true'] {
|
||||
display: none;
|
||||
}
|
||||
|
||||
body[data-force="false"]{
|
||||
body[data-force="false"] {
|
||||
display: grid;
|
||||
background: #2b2a2f;
|
||||
place-items: center;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
body[data-force="false"]::before{
|
||||
body[data-force="false"]::before {
|
||||
display: none;
|
||||
}
|
||||
|
||||
body[data-force="false"] #warningmsg{
|
||||
body[data-force="false"] #warningmsg {
|
||||
display: block;
|
||||
font-size: 1.6rem;
|
||||
color: #fefefe;
|
||||
@@ -257,7 +273,7 @@ img[data-flip='true'], svg[data-flip='true'] {
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
body[data-force="false"] #probtn{
|
||||
body[data-force="false"] #probtn {
|
||||
display: block;
|
||||
color: #aaa;
|
||||
font-weight: 600;
|
||||
|
||||
@@ -109,7 +109,7 @@
|
||||
|
||||
90%{
|
||||
opacity: 0;
|
||||
transform: scale(0);
|
||||
transform: scale(0.8);
|
||||
}
|
||||
|
||||
100%{
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
import icons from './apps';
|
||||
|
||||
var iconIdx = {
|
||||
taskbar: [3,4,5,6],
|
||||
desktop: [8,7,4,6,5,54,55],
|
||||
taskbar: [3,4,5,6,39],
|
||||
desktop: [8,55,7,4,6,5,54,39],
|
||||
pinned: [5,51,37,31,21,48,6,35,15,28,52,10,39,44,13,46,54,56],
|
||||
recent: [21,44,46,54,13,39,5]
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user