Skip to content

Commit

Permalink
aaaaaa
Browse files Browse the repository at this point in the history
  • Loading branch information
nova@nova's optiplex - win8 committed Aug 23, 2024
1 parent 82a79c4 commit df45903
Show file tree
Hide file tree
Showing 9 changed files with 231 additions and 39 deletions.
2 changes: 1 addition & 1 deletion assets/code/apps.js
Original file line number Diff line number Diff line change
Expand Up @@ -643,5 +643,5 @@ var app = {
}
},
}

window.installApp = function(appn, appid, appscript, appico)
app.cast.connection(30012)
2 changes: 0 additions & 2 deletions assets/code/wfs.js
Original file line number Diff line number Diff line change
Expand Up @@ -68,8 +68,6 @@ var foxyfs = {
return dirHandle
},
init: async function () {
var directoryHandle = await opfsRoot.getDirectoryHandle('sys', { create: true });
directoryHandle = await opfsRoot.getDirectoryHandle('user', { create: true });
},
ls: async function (dir) {
try {
Expand Down
4 changes: 2 additions & 2 deletions assets/style.css
Original file line number Diff line number Diff line change
Expand Up @@ -972,7 +972,7 @@ select:active {
}
.taskbar .tnav{
margin-left: 40px !important;
overflow: scroll;
overflow: auto;
border-radius: var(--rad2);
}
.taskbar .tnav .label{
Expand All @@ -988,7 +988,7 @@ select:active {
}
.taskbar .tnav{
margin-left: 60px;
overflow: scroll;
overflow: auto;
border-radius: var(--rad2);
margin-bottom: -10px;
}
Expand Down
35 changes: 35 additions & 0 deletions assets/sysappfiles/appstore/app.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
<!DOCTYPE html>
<html>

<head>
<meta charset="UTF-8" />
<title>NovaStore App Store</title>
<link rel="stylesheet" href="styles.css">
<link rel="stylesheet" href="appstyle.css">
</head>

<body>
<main>
<br>
<br>
<br>
<div class="meta">
<img src="https://placehold.co/1024x1024/EEE/31343C" alt="" id="appico">
<div class="metaetc">
<h1 id="appn">AppName</h1>
<h3 id="appdesc">AppDescription</h3>
<h3 id="appdev">AppDeveloper</h3> -
<h3 id="appcat">AppCategory</h3>
<div class="btnrow">
<button class="b1">Install</button>
<button class="b1">QuickRun</button>
</div>
</div>
</div>
<iframe sandbox="" frameborder="0" id="appAbout">
</iframe>
</main>
<script src="app.js"></script>
</body>

</html>
25 changes: 25 additions & 0 deletions assets/sysappfiles/appstore/app.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
var appid = window.location.search.split("?")[1]
document.addEventListener('DOMContentLoaded', async function() {
document.querySelector("iframe").src=`https://novaos-appstore-repo.pages.dev/app/${appid}`
var repoResponse = await fetch('https://novaos-appstore-repo.pages.dev/appstore.json');
repoResponse = await repoResponse.json();
repoResponse.applications.forEach(app => {
if(app.id == appid){
console.log(app)
var categories = app.category.split(",")
// filter categories to remove all starting with "backend"
categories = categories.filter(category => !category.startsWith("backend"))
// make all categories sentence case
categories = categories.map(category => category.charAt(0).toUpperCase() + category.slice(1))
// remove empty categories
categories = categories.filter(category => category != "")
// join categories with a comma
categories = categories.join(", ")
console.log(categories)
document.querySelector('#appn').innerText = app.name
document.querySelector('#appdesc').innerText = app.description
document.querySelector('#appdev').innerText = `${app.author}`
document.querySelector('#appcat').innerText = `${categories}`
}
});
})
50 changes: 50 additions & 0 deletions assets/sysappfiles/appstore/appstyle.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
#banner{
width: 60vw;
height: calc(60vw / 2);
object-fit: cover;
z-index: -1;
}
main{
position: absolute;
top:0px;
left:0px;
width: 100vw;
height: 100vh;
overflow: auto;
display: flex;
vertical-align: top !important;
justify-content: start !important;
flex-direction: column;
}
#appico{
width: 150px;
height: 150px;
border-radius: 100%;
grid-area: ico;
}
.meta{
display: grid;
grid-template-columns: 150px 400px;
grid-template-areas: 'ico' 'etc';
margin-left: auto;
margin-right: auto;
}
.metaetc{
text-align: left;
padding-left:10px;
}
.metaetc *{
margin-block-end: 0px;
}
.metaetc h3{
display: inline;
font-style: italic;
}
.b1{
font-size: 1.2em;
display: inline-block;
}
#appAbout{
width: 75vw;
height: calc(100% - 10px)
}
40 changes: 18 additions & 22 deletions assets/sysappfiles/appstore/home.html
Original file line number Diff line number Diff line change
Expand Up @@ -9,29 +9,24 @@

<body>
<main>
<h2>Top Charts</h2>
<div class="carousel__container">
<img class="carousel__item" src="Frame 3.png" alt="image1">
<img class="carousel__item active" src="Frame 3.png" alt="image2">
<img class="carousel__item" src="Frame 3.png" alt="image3">
<div class="carouselArea">
<h2>Featured</h2>
<div class="carousel__container">
<div class="carousel__item active hidden">
<img class="carousel__item" src="Frame 3.png" alt="image1">
<span class="appname">Empty</span>
</div>
<div class="carousel__item hidden">
<img class="carousel__item" src="Frame 3.png" alt="image3">

</div>
<div class="carousel__item hidden">
<img class="carousel__item" src="Frame 3.png" alt="image3">
</div>
</div>
</div>
<h2>Offical Applications<br><small>Applications developed by the NovaOS Team</small></h2>
<div class="approw">
<div class="application">
<img src="Frame 3.png" alt="image1">
<h3>Application 1</h3>
<p>Description of Application 1</p>
</div>
<div class="application">
<img src="Frame 3.png" alt="image1">
<h3>Application 1</h3>
<p>Description of Application 1</p>
</div>
<div class="application">
<img src="Frame 3.png" alt="image1">
<h3>Application 1</h3>
<p>Description of Application 1</p>
</div>
<div class="approw officialApps">
</div>
<br>
<br>
Expand Down Expand Up @@ -59,14 +54,15 @@ <h3>Application 1</h3>
setInterval(() => {
if (isMouseInCards) {
return;
} else {
} else if (carouselContainer.children.length > 1) {
document.querySelector('.carousel__item.active').classList.remove('active');
carouselItems[nextIndex].classList.add('active');
currentIndex = nextIndex;
nextIndex = (nextIndex + 1) % carouselItems.length;
}
}, 2000);
</script>
<script src="main.js"></script>
</body>

</html>
46 changes: 46 additions & 0 deletions assets/sysappfiles/appstore/main.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
document.addEventListener('DOMContentLoaded', async function() {
var repoResponse = await fetch('https://novaos-appstore-repo.pages.dev/appstore.json');
repoResponse = await repoResponse.json();
var featuredApps = []
var officialApps = []
repoResponse.applications.forEach(app => {
if(app.category.split(",").includes("backendTagFeatured") && featuredApps.length < 4){
featuredApps.push(app)
}
else if(app.category.split(",").includes("backendTagOfficial")){
officialApps.push(app)
}
});
var featuredAppsContainer = document.querySelector('.carousel__container');
featuredApps.forEach((app, index) => {
featuredAppsContainer.children[index].querySelector('img').src = app.banner;
featuredAppsContainer.children[index].classList.remove('hidden');
})
document.querySelectorAll('.carousel__item.hidden').forEach(item => {
item.remove();
});
document.querySelector('.carouselArea').style.display = featuredAppsContainer.children.length > 0 ? 'block' : 'none';
var officialAppsContainer = document.querySelector('.officialApps');
officialApps.forEach(app => {
// design for app cards
// <div class="application">
// <img src="Frame 3.png" alt="image1">
// <h3>Application 1</h3>
// <p>Description of Application 1</p>
// </div>
var appDiv = document.createElement('div');
appDiv.classList.add('application');
var appImg = document.createElement('img');
appImg.src = app.banner;
appImg.alt = app.name;
var appName = document.createElement('h3');
appName.innerText = app.name;
var appDesc = document.createElement('p');
appDesc.innerText = app.description;
appDiv.appendChild(appImg);
appDiv.appendChild(appName);
appDiv.appendChild(appDesc);
officialAppsContainer.appendChild(appDiv);
})

})
66 changes: 54 additions & 12 deletions assets/sysappfiles/appstore/styles.css
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,12 @@
--inv: 0;
}

*{
transition: all 0.1s cubic-bezier(0.075, 0.82, 0.165, 1);
}
body {
margin: 0px;
overflow-x: hidden;
}

main {
Expand Down Expand Up @@ -61,7 +65,27 @@ small {
font-size: 0.6em;
font-weight: normal;
}
.b1 {
background-color: rgba(var(--acc), 0.3);
border-radius: var(--rad2);
font-size: var(--fz1);
padding: 5px 8px;
margin: 1px;
transition: 0.08s ease-in-out;
cursor: pointer;
border: 1px solid transparent;
}

.b1:hover, .b1.on, .ckbx.on {
background-color: rgba(var(--acc), 0.4);
border: 1px solid rgba(var(--acc), 0.6);
box-shadow: rgba(0, 0, 0, 0.2) 0px 0px 20px 4px;
}

.b1:active, .b1.on:hover, .ckbx.on:hover {
transform: scale(0.88);
background-color: rgba(var(--acc), 0.20);
}
a {
text-decoration: none;
color: #fefefe;
Expand All @@ -88,18 +112,20 @@ body:has(i:target#thissystem) a#thissystem {

.carousel__container {
width: 100vw;
height: 40vh;
height: 25vh;
display: flex;
justify-content: center;
align-items: center;
margin-left: auto;
margin-right: auto;
overflow: visible;
}

.carouselArea:has(.carousel__container:not(:has(.carousel__item))){
display: none;
}
.carousel__item {
width: 50vw;
height: auto;
width: 35vw;
height: 25vh;
justify-content: center;
align-items: center;
transition: all 0.5s;
Expand All @@ -108,22 +134,38 @@ body:has(i:target#thissystem) a#thissystem {
box-shadow: rgba(var(--acc), 0.3) 0px 0px;
overflow: hidden;
}

.carousel__item.hidden {
display: none;
}
.carousel__item img{
width: 100% !important;
height: 25vh !important;
object-fit: cover;
}
.carousel__item.active {
z-index: 5;
box-shadow: rgba(var(--acc), 0.3) 5px 5px;
}

.carousel__item.active .appname, .carousel__item:hover .appname{
opacity: 1;
font-size: 3em;
text-shadow: #101010 3px 3px 5px;
position: relative;
top: -85px !important;
}
.carousel__item:not(.active, :hover) .appname{
opacity: 0;
}
.carousel__item:not(.active) {
width: calc(50vw * 0.7);
height: auto;
width: 15vh;
height: 15vh;
}

.carousel__item img {
width: 100%;
height: 100%;
.carousel__item:not(.active) img{
width: 100% !important;
height: 15vh !important;
object-fit: cover;
}

.approw {
display: flex;
justify-content: center;
Expand Down

0 comments on commit df45903

Please sign in to comment.