mirror of
https://github.com/khairul169/honey.git
synced 2025-04-28 14:59:32 +07:00
feat: open apps menu on scroll, set apps to grid view, etc
This commit is contained in:
parent
598f269b08
commit
dc48c53aa2
@ -1,52 +1,64 @@
|
||||
.boxes {
|
||||
display: flex;
|
||||
flex: 1 1 0;
|
||||
flex-wrap: wrap;
|
||||
display: grid;
|
||||
grid-template-columns: repeat(1, 1fr);
|
||||
grid-gap: 8px;
|
||||
padding: 16px;
|
||||
}
|
||||
|
||||
.box {
|
||||
min-width: 292px;
|
||||
flex: 1;
|
||||
margin: 2px;
|
||||
border-radius: 20px;
|
||||
padding: 8px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
text-align: left;
|
||||
text-decoration: none;
|
||||
color: inherit;
|
||||
transition: background .2s;
|
||||
border-radius: 20px;
|
||||
padding: 8px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
text-align: left;
|
||||
text-decoration: none;
|
||||
color: inherit;
|
||||
transition: background 0.2s;
|
||||
}
|
||||
|
||||
.box:hover {
|
||||
background: var(--hover);
|
||||
background: var(--hover);
|
||||
}
|
||||
|
||||
.box i {
|
||||
font-size: 24px;
|
||||
padding: 20px;
|
||||
background: hsl(var(--color), 100%, 89%);
|
||||
color: hsl(var(--color), 100%, 35%);
|
||||
border-radius: 100px;
|
||||
margin: 2px 12px 2px 2px;
|
||||
font-size: 24px;
|
||||
padding: 20px;
|
||||
background: hsl(var(--color), 100%, 89%);
|
||||
color: hsl(var(--color), 100%, 35%);
|
||||
border-radius: 100px;
|
||||
margin: 2px 12px 2px 2px;
|
||||
}
|
||||
|
||||
a.box {
|
||||
cursor: pointer;
|
||||
padding: 14px;
|
||||
cursor: pointer;
|
||||
padding: 14px;
|
||||
}
|
||||
|
||||
.box img {
|
||||
width: 64px;
|
||||
height: 64px;
|
||||
object-fit: cover;
|
||||
margin-right: 12px;
|
||||
width: 64px;
|
||||
height: 64px;
|
||||
object-fit: cover;
|
||||
margin-right: 12px;
|
||||
}
|
||||
|
||||
.box .name {
|
||||
font-size: 18px;
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
.box .desc {
|
||||
opacity: .6;
|
||||
opacity: 0.6;
|
||||
}
|
||||
|
||||
/* media query for medium screens */
|
||||
@media only screen and (min-width: 512px) {
|
||||
.boxes {
|
||||
grid-template-columns: repeat(2, 1fr);
|
||||
}
|
||||
}
|
||||
|
||||
/* large screens */
|
||||
@media only screen and (min-width: 768px) {
|
||||
.boxes {
|
||||
grid-template-columns: repeat(3, 1fr);
|
||||
}
|
||||
}
|
||||
|
@ -1,31 +1,50 @@
|
||||
import App from "../../App"
|
||||
import App from "../../App";
|
||||
import { currentPage, showPage } from "../../Utils/DOMUtils";
|
||||
|
||||
export default class Main {
|
||||
constructor() {
|
||||
this.app = new App()
|
||||
this.config = this.app.config
|
||||
this.init()
|
||||
}
|
||||
constructor() {
|
||||
this.app = new App();
|
||||
this.config = this.app.config;
|
||||
this.init();
|
||||
}
|
||||
|
||||
init() {
|
||||
document.title = this.config.get("name")
|
||||
document.querySelector("#favicon").href = this.config.get("icon")
|
||||
this.initBackgrounds()
|
||||
}
|
||||
init() {
|
||||
document.title = this.config.get("name");
|
||||
document.querySelector("#favicon").href = this.config.get("icon");
|
||||
this.initBackgrounds();
|
||||
this.initScrollEvent();
|
||||
}
|
||||
|
||||
initBackgrounds() {
|
||||
this.backgrounds = document.querySelector("#background")
|
||||
for (let i = 0; i < 2; i++) {
|
||||
let img = document.createElement("img")
|
||||
img.classList.add("notloaded")
|
||||
img.addEventListener("load", () => {
|
||||
img.classList.remove("notloaded")
|
||||
})
|
||||
this.backgrounds.appendChild(img)
|
||||
}
|
||||
initBackgrounds() {
|
||||
this.backgrounds = document.querySelector("#background");
|
||||
for (let i = 0; i < 2; i++) {
|
||||
let img = document.createElement("img");
|
||||
img.classList.add("notloaded");
|
||||
img.addEventListener("load", () => {
|
||||
img.classList.remove("notloaded");
|
||||
});
|
||||
this.backgrounds.appendChild(img);
|
||||
}
|
||||
|
||||
this.backgrounds = this.backgrounds.children
|
||||
this.backgrounds[0].src = this.config.get("wallpaper")
|
||||
this.backgrounds[1].src = this.config.get("wallpaper_dark")
|
||||
}
|
||||
this.backgrounds = this.backgrounds.children;
|
||||
this.backgrounds[0].src = this.config.get("wallpaper");
|
||||
this.backgrounds[1].src = this.config.get("wallpaper_dark");
|
||||
}
|
||||
|
||||
initScrollEvent() {
|
||||
const servicesPage = document.querySelector(".page[p=services]");
|
||||
|
||||
window.addEventListener("wheel", (e) => {
|
||||
if (currentPage === "home" && e.deltaY > 0) {
|
||||
showPage("services");
|
||||
}
|
||||
if (
|
||||
currentPage === "services" &&
|
||||
e.deltaY < 0 &&
|
||||
servicesPage.scrollTop === 0
|
||||
) {
|
||||
showPage("home");
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
@ -1,13 +1,15 @@
|
||||
export let currentPage;
|
||||
|
||||
export function showPage(target) {
|
||||
let bg = document.querySelector("#background").classList
|
||||
if (target == "home") bg.add("scaled")
|
||||
else bg.remove("scaled")
|
||||
let pages = document.querySelectorAll(".page")
|
||||
|
||||
for (let page of pages) {
|
||||
let p = page.getAttribute("p")
|
||||
if (p == target) page.classList.add("current")
|
||||
else page.classList.remove("current")
|
||||
}
|
||||
let bg = document.querySelector("#background").classList;
|
||||
if (target == "home") bg.add("scaled");
|
||||
else bg.remove("scaled");
|
||||
let pages = document.querySelectorAll(".page");
|
||||
|
||||
for (let page of pages) {
|
||||
let p = page.getAttribute("p");
|
||||
if (p == target) page.classList.add("current");
|
||||
else page.classList.remove("current");
|
||||
}
|
||||
currentPage = target;
|
||||
}
|
||||
|
@ -6,7 +6,8 @@
|
||||
"scripts": {
|
||||
"dev": "vite",
|
||||
"build": "vite build",
|
||||
"preview": "vite preview --host"
|
||||
"preview": "vite preview --host",
|
||||
"deploy": "cp -r dist/* ../honey"
|
||||
},
|
||||
"devDependencies": {
|
||||
"vite": "^4.5.0"
|
||||
|
326
pnpm-lock.yaml
generated
Normal file
326
pnpm-lock.yaml
generated
Normal file
@ -0,0 +1,326 @@
|
||||
lockfileVersion: '9.0'
|
||||
|
||||
settings:
|
||||
autoInstallPeers: true
|
||||
excludeLinksFromLockfile: false
|
||||
|
||||
importers:
|
||||
|
||||
.:
|
||||
devDependencies:
|
||||
vite:
|
||||
specifier: ^4.5.0
|
||||
version: 4.5.3
|
||||
|
||||
packages:
|
||||
|
||||
'@esbuild/android-arm64@0.18.20':
|
||||
resolution: {integrity: sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==}
|
||||
engines: {node: '>=12'}
|
||||
cpu: [arm64]
|
||||
os: [android]
|
||||
|
||||
'@esbuild/android-arm@0.18.20':
|
||||
resolution: {integrity: sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==}
|
||||
engines: {node: '>=12'}
|
||||
cpu: [arm]
|
||||
os: [android]
|
||||
|
||||
'@esbuild/android-x64@0.18.20':
|
||||
resolution: {integrity: sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==}
|
||||
engines: {node: '>=12'}
|
||||
cpu: [x64]
|
||||
os: [android]
|
||||
|
||||
'@esbuild/darwin-arm64@0.18.20':
|
||||
resolution: {integrity: sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==}
|
||||
engines: {node: '>=12'}
|
||||
cpu: [arm64]
|
||||
os: [darwin]
|
||||
|
||||
'@esbuild/darwin-x64@0.18.20':
|
||||
resolution: {integrity: sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==}
|
||||
engines: {node: '>=12'}
|
||||
cpu: [x64]
|
||||
os: [darwin]
|
||||
|
||||
'@esbuild/freebsd-arm64@0.18.20':
|
||||
resolution: {integrity: sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==}
|
||||
engines: {node: '>=12'}
|
||||
cpu: [arm64]
|
||||
os: [freebsd]
|
||||
|
||||
'@esbuild/freebsd-x64@0.18.20':
|
||||
resolution: {integrity: sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==}
|
||||
engines: {node: '>=12'}
|
||||
cpu: [x64]
|
||||
os: [freebsd]
|
||||
|
||||
'@esbuild/linux-arm64@0.18.20':
|
||||
resolution: {integrity: sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==}
|
||||
engines: {node: '>=12'}
|
||||
cpu: [arm64]
|
||||
os: [linux]
|
||||
|
||||
'@esbuild/linux-arm@0.18.20':
|
||||
resolution: {integrity: sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==}
|
||||
engines: {node: '>=12'}
|
||||
cpu: [arm]
|
||||
os: [linux]
|
||||
|
||||
'@esbuild/linux-ia32@0.18.20':
|
||||
resolution: {integrity: sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==}
|
||||
engines: {node: '>=12'}
|
||||
cpu: [ia32]
|
||||
os: [linux]
|
||||
|
||||
'@esbuild/linux-loong64@0.18.20':
|
||||
resolution: {integrity: sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==}
|
||||
engines: {node: '>=12'}
|
||||
cpu: [loong64]
|
||||
os: [linux]
|
||||
|
||||
'@esbuild/linux-mips64el@0.18.20':
|
||||
resolution: {integrity: sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==}
|
||||
engines: {node: '>=12'}
|
||||
cpu: [mips64el]
|
||||
os: [linux]
|
||||
|
||||
'@esbuild/linux-ppc64@0.18.20':
|
||||
resolution: {integrity: sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==}
|
||||
engines: {node: '>=12'}
|
||||
cpu: [ppc64]
|
||||
os: [linux]
|
||||
|
||||
'@esbuild/linux-riscv64@0.18.20':
|
||||
resolution: {integrity: sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==}
|
||||
engines: {node: '>=12'}
|
||||
cpu: [riscv64]
|
||||
os: [linux]
|
||||
|
||||
'@esbuild/linux-s390x@0.18.20':
|
||||
resolution: {integrity: sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==}
|
||||
engines: {node: '>=12'}
|
||||
cpu: [s390x]
|
||||
os: [linux]
|
||||
|
||||
'@esbuild/linux-x64@0.18.20':
|
||||
resolution: {integrity: sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==}
|
||||
engines: {node: '>=12'}
|
||||
cpu: [x64]
|
||||
os: [linux]
|
||||
|
||||
'@esbuild/netbsd-x64@0.18.20':
|
||||
resolution: {integrity: sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==}
|
||||
engines: {node: '>=12'}
|
||||
cpu: [x64]
|
||||
os: [netbsd]
|
||||
|
||||
'@esbuild/openbsd-x64@0.18.20':
|
||||
resolution: {integrity: sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==}
|
||||
engines: {node: '>=12'}
|
||||
cpu: [x64]
|
||||
os: [openbsd]
|
||||
|
||||
'@esbuild/sunos-x64@0.18.20':
|
||||
resolution: {integrity: sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==}
|
||||
engines: {node: '>=12'}
|
||||
cpu: [x64]
|
||||
os: [sunos]
|
||||
|
||||
'@esbuild/win32-arm64@0.18.20':
|
||||
resolution: {integrity: sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==}
|
||||
engines: {node: '>=12'}
|
||||
cpu: [arm64]
|
||||
os: [win32]
|
||||
|
||||
'@esbuild/win32-ia32@0.18.20':
|
||||
resolution: {integrity: sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==}
|
||||
engines: {node: '>=12'}
|
||||
cpu: [ia32]
|
||||
os: [win32]
|
||||
|
||||
'@esbuild/win32-x64@0.18.20':
|
||||
resolution: {integrity: sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==}
|
||||
engines: {node: '>=12'}
|
||||
cpu: [x64]
|
||||
os: [win32]
|
||||
|
||||
esbuild@0.18.20:
|
||||
resolution: {integrity: sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==}
|
||||
engines: {node: '>=12'}
|
||||
hasBin: true
|
||||
|
||||
fsevents@2.3.3:
|
||||
resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==}
|
||||
engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
|
||||
os: [darwin]
|
||||
|
||||
nanoid@3.3.7:
|
||||
resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==}
|
||||
engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
|
||||
hasBin: true
|
||||
|
||||
picocolors@1.0.1:
|
||||
resolution: {integrity: sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==}
|
||||
|
||||
postcss@8.4.41:
|
||||
resolution: {integrity: sha512-TesUflQ0WKZqAvg52PWL6kHgLKP6xB6heTOdoYM0Wt2UHyxNa4K25EZZMgKns3BH1RLVbZCREPpLY0rhnNoHVQ==}
|
||||
engines: {node: ^10 || ^12 || >=14}
|
||||
|
||||
rollup@3.29.4:
|
||||
resolution: {integrity: sha512-oWzmBZwvYrU0iJHtDmhsm662rC15FRXmcjCk1xD771dFDx5jJ02ufAQQTn0etB2emNk4J9EZg/yWKpsn9BWGRw==}
|
||||
engines: {node: '>=14.18.0', npm: '>=8.0.0'}
|
||||
hasBin: true
|
||||
|
||||
source-map-js@1.2.0:
|
||||
resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==}
|
||||
engines: {node: '>=0.10.0'}
|
||||
|
||||
vite@4.5.3:
|
||||
resolution: {integrity: sha512-kQL23kMeX92v3ph7IauVkXkikdDRsYMGTVl5KY2E9OY4ONLvkHf04MDTbnfo6NKxZiDLWzVpP5oTa8hQD8U3dg==}
|
||||
engines: {node: ^14.18.0 || >=16.0.0}
|
||||
hasBin: true
|
||||
peerDependencies:
|
||||
'@types/node': '>= 14'
|
||||
less: '*'
|
||||
lightningcss: ^1.21.0
|
||||
sass: '*'
|
||||
stylus: '*'
|
||||
sugarss: '*'
|
||||
terser: ^5.4.0
|
||||
peerDependenciesMeta:
|
||||
'@types/node':
|
||||
optional: true
|
||||
less:
|
||||
optional: true
|
||||
lightningcss:
|
||||
optional: true
|
||||
sass:
|
||||
optional: true
|
||||
stylus:
|
||||
optional: true
|
||||
sugarss:
|
||||
optional: true
|
||||
terser:
|
||||
optional: true
|
||||
|
||||
snapshots:
|
||||
|
||||
'@esbuild/android-arm64@0.18.20':
|
||||
optional: true
|
||||
|
||||
'@esbuild/android-arm@0.18.20':
|
||||
optional: true
|
||||
|
||||
'@esbuild/android-x64@0.18.20':
|
||||
optional: true
|
||||
|
||||
'@esbuild/darwin-arm64@0.18.20':
|
||||
optional: true
|
||||
|
||||
'@esbuild/darwin-x64@0.18.20':
|
||||
optional: true
|
||||
|
||||
'@esbuild/freebsd-arm64@0.18.20':
|
||||
optional: true
|
||||
|
||||
'@esbuild/freebsd-x64@0.18.20':
|
||||
optional: true
|
||||
|
||||
'@esbuild/linux-arm64@0.18.20':
|
||||
optional: true
|
||||
|
||||
'@esbuild/linux-arm@0.18.20':
|
||||
optional: true
|
||||
|
||||
'@esbuild/linux-ia32@0.18.20':
|
||||
optional: true
|
||||
|
||||
'@esbuild/linux-loong64@0.18.20':
|
||||
optional: true
|
||||
|
||||
'@esbuild/linux-mips64el@0.18.20':
|
||||
optional: true
|
||||
|
||||
'@esbuild/linux-ppc64@0.18.20':
|
||||
optional: true
|
||||
|
||||
'@esbuild/linux-riscv64@0.18.20':
|
||||
optional: true
|
||||
|
||||
'@esbuild/linux-s390x@0.18.20':
|
||||
optional: true
|
||||
|
||||
'@esbuild/linux-x64@0.18.20':
|
||||
optional: true
|
||||
|
||||
'@esbuild/netbsd-x64@0.18.20':
|
||||
optional: true
|
||||
|
||||
'@esbuild/openbsd-x64@0.18.20':
|
||||
optional: true
|
||||
|
||||
'@esbuild/sunos-x64@0.18.20':
|
||||
optional: true
|
||||
|
||||
'@esbuild/win32-arm64@0.18.20':
|
||||
optional: true
|
||||
|
||||
'@esbuild/win32-ia32@0.18.20':
|
||||
optional: true
|
||||
|
||||
'@esbuild/win32-x64@0.18.20':
|
||||
optional: true
|
||||
|
||||
esbuild@0.18.20:
|
||||
optionalDependencies:
|
||||
'@esbuild/android-arm': 0.18.20
|
||||
'@esbuild/android-arm64': 0.18.20
|
||||
'@esbuild/android-x64': 0.18.20
|
||||
'@esbuild/darwin-arm64': 0.18.20
|
||||
'@esbuild/darwin-x64': 0.18.20
|
||||
'@esbuild/freebsd-arm64': 0.18.20
|
||||
'@esbuild/freebsd-x64': 0.18.20
|
||||
'@esbuild/linux-arm': 0.18.20
|
||||
'@esbuild/linux-arm64': 0.18.20
|
||||
'@esbuild/linux-ia32': 0.18.20
|
||||
'@esbuild/linux-loong64': 0.18.20
|
||||
'@esbuild/linux-mips64el': 0.18.20
|
||||
'@esbuild/linux-ppc64': 0.18.20
|
||||
'@esbuild/linux-riscv64': 0.18.20
|
||||
'@esbuild/linux-s390x': 0.18.20
|
||||
'@esbuild/linux-x64': 0.18.20
|
||||
'@esbuild/netbsd-x64': 0.18.20
|
||||
'@esbuild/openbsd-x64': 0.18.20
|
||||
'@esbuild/sunos-x64': 0.18.20
|
||||
'@esbuild/win32-arm64': 0.18.20
|
||||
'@esbuild/win32-ia32': 0.18.20
|
||||
'@esbuild/win32-x64': 0.18.20
|
||||
|
||||
fsevents@2.3.3:
|
||||
optional: true
|
||||
|
||||
nanoid@3.3.7: {}
|
||||
|
||||
picocolors@1.0.1: {}
|
||||
|
||||
postcss@8.4.41:
|
||||
dependencies:
|
||||
nanoid: 3.3.7
|
||||
picocolors: 1.0.1
|
||||
source-map-js: 1.2.0
|
||||
|
||||
rollup@3.29.4:
|
||||
optionalDependencies:
|
||||
fsevents: 2.3.3
|
||||
|
||||
source-map-js@1.2.0: {}
|
||||
|
||||
vite@4.5.3:
|
||||
dependencies:
|
||||
esbuild: 0.18.20
|
||||
postcss: 8.4.41
|
||||
rollup: 3.29.4
|
||||
optionalDependencies:
|
||||
fsevents: 2.3.3
|
@ -1,63 +1,117 @@
|
||||
{
|
||||
"ui": {
|
||||
"name": "honey",
|
||||
"name": "Eclair",
|
||||
"desc": "Nice and sweet place for all your self-hosted services.",
|
||||
"icon": "img/icon.png",
|
||||
"wallpaper": "img/background.jpg",
|
||||
"wallpaper_dark": "img/background-dark.jpg",
|
||||
"dark_mode": false,
|
||||
"dark_mode": true,
|
||||
"open_new_tab": false,
|
||||
"blur": true,
|
||||
"animations": true
|
||||
},
|
||||
"services": [
|
||||
{
|
||||
"name": "CalDav",
|
||||
"desc": "Simple CalDav server for calendar sync between various devices.",
|
||||
"href": "caldav",
|
||||
"icon": "img/preview/caldav.png"
|
||||
"name": "Jellyfin",
|
||||
"desc": "",
|
||||
"href": "https://jellyfin.rul.sh/",
|
||||
"icon": "https://github.com/walkxcode/dashboard-icons/raw/be82e22c418f5980ee2a13064d50f1483df39c8c/svg/jellyfin.svg"
|
||||
},
|
||||
{
|
||||
"name": "Files",
|
||||
"desc": "Fancy file manager for the web.",
|
||||
"href": "files",
|
||||
"icon": "img/preview/files.png"
|
||||
"name": "NextDeck",
|
||||
"desc": "",
|
||||
"href": "https://cloud.rul.sh/apps/deck/#/board/1",
|
||||
"icon": "https://github.com/walkxcode/dashboard-icons/raw/be82e22c418f5980ee2a13064d50f1483df39c8c/svg/nextcloud-deck.svg"
|
||||
},
|
||||
{
|
||||
"name": "Gallery",
|
||||
"desc": "Photo & video gallery syncable with multiple Android devices.",
|
||||
"href": "gallery",
|
||||
"icon": "img/preview/gallery.png"
|
||||
},
|
||||
{
|
||||
"name": "Git",
|
||||
"desc": "Self-hosted, painless, secure place for your repositories.",
|
||||
"href": "git",
|
||||
"icon": "img/preview/git.png"
|
||||
},
|
||||
{
|
||||
"name": "E-Mail",
|
||||
"desc": "Feature-rich, decentralized and secure E-Mail server.",
|
||||
"href": "mail",
|
||||
"icon": "img/preview/mail.png"
|
||||
},
|
||||
{
|
||||
"name": "Music",
|
||||
"desc": "Beautiful, moody music streaming app.",
|
||||
"href": "music",
|
||||
"icon": "img/preview/music.png"
|
||||
"name": "Memos",
|
||||
"desc": "",
|
||||
"href": "https://memos.rul.sh",
|
||||
"icon": "https://memos.rul.sh/apple-touch-icon.png"
|
||||
},
|
||||
{
|
||||
"name": "Notes",
|
||||
"desc": "Sweet & lightweight app for taking notes.",
|
||||
"href": "notes",
|
||||
"icon": "img/preview/notes.png"
|
||||
"desc": "",
|
||||
"href": "https://cloud.rul.sh/apps/notes/",
|
||||
"icon": "https://github.com/walkxcode/dashboard-icons/raw/be82e22c418f5980ee2a13064d50f1483df39c8c/svg/nextcloud-notes.svg"
|
||||
},
|
||||
{
|
||||
"name": "Google",
|
||||
"desc": "DON'T CLICK: goes to google.com",
|
||||
"href": "https://google.com",
|
||||
"icon": "img/preview/google.png"
|
||||
"name": "Nextcloud",
|
||||
"desc": "",
|
||||
"href": "https://cloud.rul.sh/",
|
||||
"icon": "https://github.com/walkxcode/dashboard-icons/raw/be82e22c418f5980ee2a13064d50f1483df39c8c/svg/nextcloud.svg"
|
||||
},
|
||||
{
|
||||
"name": "Gitea",
|
||||
"desc": "",
|
||||
"href": "https://git.rul.sh",
|
||||
"icon": "https://github.com/walkxcode/dashboard-icons/raw/be82e22c418f5980ee2a13064d50f1483df39c8c/svg/gitea.svg"
|
||||
},
|
||||
{
|
||||
"name": "Gotify",
|
||||
"desc": "",
|
||||
"href": "https://gotify.rul.sh",
|
||||
"icon": "https://github.com/walkxcode/dashboard-icons/raw/be82e22c418f5980ee2a13064d50f1483df39c8c/svg/gotify.svg"
|
||||
},
|
||||
{
|
||||
"name": "Vaultwarden",
|
||||
"desc": "",
|
||||
"href": "https://vw.rul.sh",
|
||||
"icon": "https://github.com/walkxcode/dashboard-icons/raw/be82e22c418f5980ee2a13064d50f1483df39c8c/svg/vaultwarden.svg"
|
||||
},
|
||||
{
|
||||
"name": "Pi-hole",
|
||||
"desc": "",
|
||||
"href": "http://pi.hole/admin",
|
||||
"icon": "https://github.com/walkxcode/dashboard-icons/raw/be82e22c418f5980ee2a13064d50f1483df39c8c/svg/pi-hole.svg"
|
||||
},
|
||||
{
|
||||
"name": "Headscale",
|
||||
"desc": "",
|
||||
"href": "https://headscale.rul.sh/web",
|
||||
"icon": "https://github.com/walkxcode/dashboard-icons/raw/be82e22c418f5980ee2a13064d50f1483df39c8c/svg/tailscale.svg"
|
||||
},
|
||||
{
|
||||
"name": "Nginx Proxy Manager",
|
||||
"desc": "",
|
||||
"href": "http://nginx-pm.home.ip/",
|
||||
"icon": "https://github.com/walkxcode/dashboard-icons/raw/be82e22c418f5980ee2a13064d50f1483df39c8c/svg/nginx-proxy-manager.svg"
|
||||
},
|
||||
{
|
||||
"name": "Nginx UI",
|
||||
"desc": "",
|
||||
"href": "https://nginx-ui.rul.sh/",
|
||||
"icon": "https://nginxui.com/assets/icon.svg"
|
||||
},
|
||||
{
|
||||
"name": "pgAdmin",
|
||||
"desc": "",
|
||||
"href": "http://pgadmin.home.ip/",
|
||||
"icon": "https://github.com/walkxcode/dashboard-icons/raw/be82e22c418f5980ee2a13064d50f1483df39c8c/svg/pgadmin.svg"
|
||||
},
|
||||
{
|
||||
"name": "phpMyAdmin",
|
||||
"desc": "",
|
||||
"href": "http://pma.home.ip/",
|
||||
"icon": "https://github.com/walkxcode/dashboard-icons/raw/be82e22c418f5980ee2a13064d50f1483df39c8c/svg/phpmyadmin.svg"
|
||||
},
|
||||
{
|
||||
"name": "Mongo Express",
|
||||
"desc": "",
|
||||
"href": "http://home:27018/",
|
||||
"icon": "https://github.com/walkxcode/dashboard-icons/raw/be82e22c418f5980ee2a13064d50f1483df39c8c/svg/mongodb.svg"
|
||||
},
|
||||
{
|
||||
"name": "Hoppscotch",
|
||||
"desc": "",
|
||||
"href": "https://hopp.rul.sh/",
|
||||
"icon": "https://github.com/walkxcode/dashboard-icons/raw/be82e22c418f5980ee2a13064d50f1483df39c8c/svg/hoppscotch.svg"
|
||||
},
|
||||
{
|
||||
"name": "Portainer",
|
||||
"desc": "",
|
||||
"href": "https://portainer.rul.sh/",
|
||||
"icon": "https://github.com/walkxcode/dashboard-icons/raw/be82e22c418f5980ee2a13064d50f1483df39c8c/svg/portainer.svg"
|
||||
}
|
||||
]
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user