removed electron stuff from docker ver
This commit is contained in:
@@ -30,39 +30,6 @@ const userRoutes = require("./electron/api/user/user.routes");
|
|||||||
const listRoutes = require("./electron/api/list/list.routes");
|
const listRoutes = require("./electron/api/list/list.routes");
|
||||||
const anilistRoute = require("./electron/api/anilist/anilist");
|
const anilistRoute = require("./electron/api/anilist/anilist");
|
||||||
|
|
||||||
const fs = require("fs");
|
|
||||||
|
|
||||||
try {
|
|
||||||
console.log("--- DEBUGGING PATHS ---");
|
|
||||||
|
|
||||||
// 1. Check where we are currently running
|
|
||||||
console.log("Current Directory:", __dirname);
|
|
||||||
|
|
||||||
// 2. Check if 'electron' exists
|
|
||||||
const electronPath = path.join(__dirname, "electron");
|
|
||||||
if (fs.existsSync(electronPath)) {
|
|
||||||
console.log("✅ electron folder found.");
|
|
||||||
} else {
|
|
||||||
console.log("❌ electron folder missing!");
|
|
||||||
}
|
|
||||||
|
|
||||||
// 3. Check 'electron/api/rpc' specifically
|
|
||||||
const rpcPath = path.join(__dirname, "electron", "api", "rpc");
|
|
||||||
if (fs.existsSync(rpcPath)) {
|
|
||||||
console.log("✅ electron/api/rpc folder found. Contents:");
|
|
||||||
// LIST EVERYTHING INSIDE THE RPC FOLDER
|
|
||||||
console.log(fs.readdirSync(rpcPath));
|
|
||||||
} else {
|
|
||||||
console.log(`❌ electron/api/rpc folder NOT found at: ${rpcPath}`);
|
|
||||||
// Check parent folder to see what IS there
|
|
||||||
const parent = path.join(__dirname, "electron", "api");
|
|
||||||
console.log("Contents of electron/api:", fs.readdirSync(parent));
|
|
||||||
}
|
|
||||||
console.log("-----------------------");
|
|
||||||
} catch (e) {
|
|
||||||
console.log("Debug Error:", e);
|
|
||||||
}
|
|
||||||
|
|
||||||
fastify.addHook("preHandler", async (request) => {
|
fastify.addHook("preHandler", async (request) => {
|
||||||
const auth = request.headers.authorization;
|
const auth = request.headers.authorization;
|
||||||
if (!auth) return;
|
if (!auth) return;
|
||||||
|
|||||||
@@ -1,41 +0,0 @@
|
|||||||
const { app, BrowserWindow, ipcMain } = require('electron');
|
|
||||||
const { fork } = require('child_process');
|
|
||||||
const path = require('path');
|
|
||||||
|
|
||||||
let win;
|
|
||||||
let backend;
|
|
||||||
|
|
||||||
function startBackend() {
|
|
||||||
backend = fork(path.join(__dirname, 'server.js'));
|
|
||||||
}
|
|
||||||
|
|
||||||
function createWindow() {
|
|
||||||
win = new BrowserWindow({
|
|
||||||
width: 1200,
|
|
||||||
height: 800,
|
|
||||||
frame: false,
|
|
||||||
titleBarStyle: "hidden",
|
|
||||||
webPreferences: {
|
|
||||||
preload: path.join(__dirname, "preload.js"),
|
|
||||||
nodeIntegration: false,
|
|
||||||
contextIsolation: true
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
win.setMenu(null);
|
|
||||||
win.loadURL('http://localhost:54322');
|
|
||||||
}
|
|
||||||
|
|
||||||
ipcMain.on("win:minimize", () => win.minimize());
|
|
||||||
ipcMain.on("win:maximize", () => win.maximize());
|
|
||||||
ipcMain.on("win:close", () => win.close());
|
|
||||||
|
|
||||||
app.whenReady().then(() => {
|
|
||||||
startBackend();
|
|
||||||
createWindow();
|
|
||||||
});
|
|
||||||
|
|
||||||
app.on('window-all-closed', () => {
|
|
||||||
if (backend) backend.kill();
|
|
||||||
app.quit();
|
|
||||||
});
|
|
||||||
@@ -1,10 +0,0 @@
|
|||||||
const { contextBridge, ipcRenderer } = require("electron");
|
|
||||||
|
|
||||||
contextBridge.exposeInMainWorld("electronAPI", {
|
|
||||||
isElectron: true,
|
|
||||||
win: {
|
|
||||||
minimize: () => ipcRenderer.send("win:minimize"),
|
|
||||||
maximize: () => ipcRenderer.send("win:maximize"),
|
|
||||||
close: () => ipcRenderer.send("win:close")
|
|
||||||
}
|
|
||||||
});
|
|
||||||
@@ -5,24 +5,24 @@ const fastify = require("fastify")({
|
|||||||
const path = require("path");
|
const path = require("path");
|
||||||
const jwt = require("jsonwebtoken");
|
const jwt = require("jsonwebtoken");
|
||||||
const cron = require("node-cron");
|
const cron = require("node-cron");
|
||||||
const { initHeadless } = require("./electron/shared/headless");
|
const { initHeadless } = require("./dist/shared/headless");
|
||||||
const { initDatabase } = require("./electron/shared/database");
|
const { initDatabase } = require("./dist/shared/database");
|
||||||
const { loadExtensions } = require("./electron/shared/extensions");
|
const { loadExtensions } = require("./dist/shared/extensions");
|
||||||
const {refreshTrendingAnime, refreshTopAiringAnime} = require("./electron/api/anime/anime.service");
|
const {refreshTrendingAnime, refreshTopAiringAnime} = require("./dist/api/anime/anime.service");
|
||||||
const {refreshPopularBooks, refreshTrendingBooks} = require("./electron/api/books/books.service");
|
const {refreshPopularBooks, refreshTrendingBooks} = require("./dist/api/books/books.service");
|
||||||
const dotenv = require("dotenv");
|
const dotenv = require("dotenv");
|
||||||
|
|
||||||
dotenv.config();
|
dotenv.config();
|
||||||
|
|
||||||
const viewsRoutes = require("./electron/views/views.routes");
|
const viewsRoutes = require("./dist/views/views.routes");
|
||||||
const animeRoutes = require("./electron/api/anime/anime.routes");
|
const animeRoutes = require("./dist/api/anime/anime.routes");
|
||||||
const booksRoutes = require("./electron/api/books/books.routes");
|
const booksRoutes = require("./dist/api/books/books.routes");
|
||||||
const proxyRoutes = require("./electron/api/proxy/proxy.routes");
|
const proxyRoutes = require("./dist/api/proxy/proxy.routes");
|
||||||
const extensionsRoutes = require("./electron/api/extensions/extensions.routes");
|
const extensionsRoutes = require("./dist/api/extensions/extensions.routes");
|
||||||
const galleryRoutes = require("./electron/api/gallery/gallery.routes");
|
const galleryRoutes = require("./dist/api/gallery/gallery.routes");
|
||||||
const userRoutes = require("./electron/api/user/user.routes");
|
const userRoutes = require("./dist/api/user/user.routes");
|
||||||
const listRoutes = require("./electron/api/list/list.routes");
|
const listRoutes = require("./dist/api/list/list.routes");
|
||||||
const anilistRoute = require("./electron/api/anilist/anilist");
|
const anilistRoute = require("./dist/api/anilist/anilist");
|
||||||
|
|
||||||
fastify.addHook("preHandler", async (request) => {
|
fastify.addHook("preHandler", async (request) => {
|
||||||
const auth = request.headers.authorization;
|
const auth = request.headers.authorization;
|
||||||
|
|||||||
@@ -1,18 +0,0 @@
|
|||||||
if (window.electronAPI?.isElectron) {
|
|
||||||
document.documentElement.classList.add("electron");
|
|
||||||
}
|
|
||||||
|
|
||||||
document.addEventListener("DOMContentLoaded", () => {
|
|
||||||
document.documentElement.style.visibility = "visible";
|
|
||||||
if (!window.electronAPI?.isElectron) return;
|
|
||||||
document.body.classList.add("electron");
|
|
||||||
|
|
||||||
const titlebar = document.getElementById("titlebar");
|
|
||||||
if (!titlebar) return;
|
|
||||||
|
|
||||||
titlebar.style.display = "flex";
|
|
||||||
|
|
||||||
titlebar.querySelector(".min").onclick = () => window.electronAPI.win.minimize();
|
|
||||||
titlebar.querySelector(".max").onclick = () => window.electronAPI.win.maximize();
|
|
||||||
titlebar.querySelector(".close").onclick = () => window.electronAPI.win.close();
|
|
||||||
});
|
|
||||||
@@ -5,7 +5,7 @@
|
|||||||
"allowJs": true,
|
"allowJs": true,
|
||||||
"checkJs": false,
|
"checkJs": false,
|
||||||
"strict": true,
|
"strict": true,
|
||||||
"outDir": "electron",
|
"outDir": "dist",
|
||||||
"rootDir": "src",
|
"rootDir": "src",
|
||||||
"esModuleInterop": true,
|
"esModuleInterop": true,
|
||||||
"skipLibCheck": true
|
"skipLibCheck": true
|
||||||
|
|||||||
@@ -17,26 +17,8 @@
|
|||||||
rel="stylesheet"
|
rel="stylesheet"
|
||||||
href="/views/css/components/updateNotifier.css"
|
href="/views/css/components/updateNotifier.css"
|
||||||
/>
|
/>
|
||||||
<script src="/src/scripts/titlebar.js"></script>
|
|
||||||
<link rel="stylesheet" href="/views/css/components/titlebar.css" />
|
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<div id="titlebar">
|
|
||||||
<div class="title-left">
|
|
||||||
<img
|
|
||||||
class="app-icon"
|
|
||||||
src="/public/assets/waifuboards.ico"
|
|
||||||
alt=""
|
|
||||||
/>
|
|
||||||
<span class="app-title">WaifuBoard</span>
|
|
||||||
</div>
|
|
||||||
<div class="title-right">
|
|
||||||
<button class="min">—</button>
|
|
||||||
<button class="max">🗖</button>
|
|
||||||
<button class="close">✕</button>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="modal-overlay" id="desc-modal">
|
<div class="modal-overlay" id="desc-modal">
|
||||||
<div class="modal-content">
|
<div class="modal-content">
|
||||||
<button class="modal-close" onclick="closeModal()">✕</button>
|
<button class="modal-close" onclick="closeModal()">✕</button>
|
||||||
|
|||||||
@@ -9,22 +9,9 @@
|
|||||||
<link rel="stylesheet" href="/views/css/components/hero.css">
|
<link rel="stylesheet" href="/views/css/components/hero.css">
|
||||||
<link rel="stylesheet" href="/views/css/components/anilist-modal.css">
|
<link rel="stylesheet" href="/views/css/components/anilist-modal.css">
|
||||||
<link rel="stylesheet" href="/views/css/components/updateNotifier.css">
|
<link rel="stylesheet" href="/views/css/components/updateNotifier.css">
|
||||||
<link rel="stylesheet" href="/views/css/components/titlebar.css">
|
|
||||||
<link rel="icon" href="/public/assets/waifuboards.ico" type="image/x-icon">
|
<link rel="icon" href="/public/assets/waifuboards.ico" type="image/x-icon">
|
||||||
<script src="/src/scripts/titlebar.js"></script>
|
|
||||||
</head>
|
</head>
|
||||||
<body >
|
<body >
|
||||||
<div id="titlebar"><div class="title-left">
|
|
||||||
<img class="app-icon" src="/public/assets/waifuboards.ico" alt=""/>
|
|
||||||
<span class="app-title">WaifuBoard</span>
|
|
||||||
</div>
|
|
||||||
<div class="title-right">
|
|
||||||
<button class="min">—</button>
|
|
||||||
<button class="max">🗖</button>
|
|
||||||
<button class="close">✕</button>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<nav class="navbar" id="navbar">
|
<nav class="navbar" id="navbar">
|
||||||
<a href="#" class="nav-brand">
|
<a href="#" class="nav-brand">
|
||||||
<div class="brand-icon">
|
<div class="brand-icon">
|
||||||
|
|||||||
@@ -11,21 +11,8 @@
|
|||||||
<link rel="stylesheet" href="https://cdn.plyr.io/3.7.8/plyr.css" />
|
<link rel="stylesheet" href="https://cdn.plyr.io/3.7.8/plyr.css" />
|
||||||
<script src="https://cdn.plyr.io/3.7.8/plyr.js"></script>
|
<script src="https://cdn.plyr.io/3.7.8/plyr.js"></script>
|
||||||
<link rel="icon" href="/public/assets/waifuboards.ico">
|
<link rel="icon" href="/public/assets/waifuboards.ico">
|
||||||
<link rel="stylesheet" href="/views/css/components/titlebar.css">
|
|
||||||
<script src="/src/scripts/titlebar.js"></script>
|
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<div id="titlebar"> <div class="title-left">
|
|
||||||
<img class="app-icon" src="/public/assets/waifuboards.ico" alt=""/>
|
|
||||||
<span class="app-title">WaifuBoard</span>
|
|
||||||
</div>
|
|
||||||
<div class="title-right">
|
|
||||||
<button class="min">—</button>
|
|
||||||
<button class="max">🗖</button>
|
|
||||||
<button class="close">✕</button>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
<header class="top-bar">
|
<header class="top-bar">
|
||||||
<a href="#" id="back-link" class="back-btn">
|
<a href="#" id="back-link" class="back-btn">
|
||||||
|
|||||||
@@ -10,20 +10,8 @@
|
|||||||
<link rel="stylesheet" href="/views/css/components/anilist-modal.css">
|
<link rel="stylesheet" href="/views/css/components/anilist-modal.css">
|
||||||
<link rel="stylesheet" href="/views/css/books/book.css">
|
<link rel="stylesheet" href="/views/css/books/book.css">
|
||||||
<link rel="stylesheet" href="/views/css/components/updateNotifier.css">
|
<link rel="stylesheet" href="/views/css/components/updateNotifier.css">
|
||||||
<link rel="stylesheet" href="/views/css/components/titlebar.css">
|
|
||||||
<script src="/src/scripts/titlebar.js"></script>
|
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<div id="titlebar"> <div class="title-left">
|
|
||||||
<img class="app-icon" src="/public/assets/waifuboards.ico" alt=""/>
|
|
||||||
<span class="app-title">WaifuBoard</span>
|
|
||||||
</div>
|
|
||||||
<div class="title-right">
|
|
||||||
<button class="min">—</button>
|
|
||||||
<button class="max">🗖</button>
|
|
||||||
<button class="close">✕</button>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="modal-overlay" id="add-list-modal">
|
<div class="modal-overlay" id="add-list-modal">
|
||||||
<div class="modal-content">
|
<div class="modal-content">
|
||||||
|
|||||||
@@ -7,23 +7,11 @@
|
|||||||
<link rel="stylesheet" href="/views/css/globals.css">
|
<link rel="stylesheet" href="/views/css/globals.css">
|
||||||
<link rel="stylesheet" href="/views/css/components/navbar.css">
|
<link rel="stylesheet" href="/views/css/components/navbar.css">
|
||||||
<link rel="stylesheet" href="/views/css/components/hero.css">
|
<link rel="stylesheet" href="/views/css/components/hero.css">
|
||||||
<link rel="stylesheet" href="/views/css/components/titlebar.css">
|
|
||||||
<link rel="stylesheet" href="/views/css/components/anilist-modal.css">
|
<link rel="stylesheet" href="/views/css/components/anilist-modal.css">
|
||||||
<link rel="stylesheet" href="/views/css/components/updateNotifier.css">
|
<link rel="stylesheet" href="/views/css/components/updateNotifier.css">
|
||||||
<link rel="icon" href="/public/assets/waifuboards.ico" type="image/x-icon">
|
<link rel="icon" href="/public/assets/waifuboards.ico" type="image/x-icon">
|
||||||
<script src="/src/scripts/titlebar.js"></script>
|
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<div id="titlebar"> <div class="title-left">
|
|
||||||
<img class="app-icon" src="/public/assets/waifuboards.ico" alt=""/>
|
|
||||||
<span class="app-title">WaifuBoard</span>
|
|
||||||
</div>
|
|
||||||
<div class="title-right">
|
|
||||||
<button class="min">—</button>
|
|
||||||
<button class="max">🗖</button>
|
|
||||||
<button class="close">✕</button>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<nav class="navbar" id="navbar">
|
<nav class="navbar" id="navbar">
|
||||||
<a href="#" class="nav-brand">
|
<a href="#" class="nav-brand">
|
||||||
|
|||||||
@@ -8,20 +8,8 @@
|
|||||||
<link rel="stylesheet" href="/views/css/books/reader.css">
|
<link rel="stylesheet" href="/views/css/books/reader.css">
|
||||||
<link rel="stylesheet" href="/views/css/components/updateNotifier.css">
|
<link rel="stylesheet" href="/views/css/components/updateNotifier.css">
|
||||||
<link rel="icon" href="/public/assets/waifuboards.ico" type="image/x-icon">
|
<link rel="icon" href="/public/assets/waifuboards.ico" type="image/x-icon">
|
||||||
<link rel="stylesheet" href="/views/css/components/titlebar.css">
|
|
||||||
<script src="/src/scripts/titlebar.js"></script>
|
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<div id="titlebar"> <div class="title-left">
|
|
||||||
<img class="app-icon" src="/public/assets/waifuboards.ico" alt=""/>
|
|
||||||
<span class="app-title">WaifuBoard</span>
|
|
||||||
</div>
|
|
||||||
<div class="title-right">
|
|
||||||
<button class="min">—</button>
|
|
||||||
<button class="max">🗖</button>
|
|
||||||
<button class="close">✕</button>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<header class="top-bar">
|
<header class="top-bar">
|
||||||
<button id="back-btn" class="glass-btn">
|
<button id="back-btn" class="glass-btn">
|
||||||
|
|||||||
@@ -1,195 +0,0 @@
|
|||||||
:root {
|
|
||||||
--titlebar-height: 40px;
|
|
||||||
}
|
|
||||||
|
|
||||||
* {
|
|
||||||
box-sizing: border-box;
|
|
||||||
}
|
|
||||||
|
|
||||||
html {
|
|
||||||
background: #09090b;
|
|
||||||
visibility: hidden;
|
|
||||||
scrollbar-gutter: stable;
|
|
||||||
}
|
|
||||||
|
|
||||||
html.electron {
|
|
||||||
margin: 0;
|
|
||||||
box-sizing: border-box;
|
|
||||||
overflow-x: hidden;
|
|
||||||
overflow-y: auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
html.electron .navbar,
|
|
||||||
html.electron .top-bar,
|
|
||||||
html.electron .panel-header {
|
|
||||||
top: var(--titlebar-height) !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
html.electron .panel-content {
|
|
||||||
margin-top: 2rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
html.electron .calendar-wrapper{
|
|
||||||
margin-top: 4rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
html.electron .back-btn {
|
|
||||||
top: 55px !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
#back-link {
|
|
||||||
margin-top: 55px !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
#titlebar {
|
|
||||||
display: none;
|
|
||||||
height: var(--titlebar-height);
|
|
||||||
background: rgba(9, 9, 11, 0.95);
|
|
||||||
color: white;
|
|
||||||
align-items: center;
|
|
||||||
justify-content: space-between;
|
|
||||||
padding: 0 12px;
|
|
||||||
-webkit-app-region: drag;
|
|
||||||
user-select: none;
|
|
||||||
font-family: "Inter", system-ui, sans-serif;
|
|
||||||
border-bottom: 1px solid rgba(139, 92, 246, 0.2);
|
|
||||||
position: fixed;
|
|
||||||
top: 0;
|
|
||||||
left: 0;
|
|
||||||
width: 100vw;
|
|
||||||
z-index: 999999;
|
|
||||||
backdrop-filter: blur(12px);
|
|
||||||
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
|
|
||||||
}
|
|
||||||
|
|
||||||
.title-left {
|
|
||||||
display: flex;
|
|
||||||
align-items: center !important;
|
|
||||||
gap: 10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#titlebar .app-icon {
|
|
||||||
width: 24px;
|
|
||||||
height: 24px;
|
|
||||||
display: flex;
|
|
||||||
align-items: center;
|
|
||||||
justify-content: center;
|
|
||||||
border-radius: 6px;
|
|
||||||
background: rgba(139, 92, 246, 0.15);
|
|
||||||
border: 1px solid rgba(139, 92, 246, 0.3);
|
|
||||||
padding: 3px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#titlebar .app-icon img {
|
|
||||||
width: 100%;
|
|
||||||
height: 100%;
|
|
||||||
object-fit: contain;
|
|
||||||
}
|
|
||||||
|
|
||||||
.app-title {
|
|
||||||
font-size: 13px;
|
|
||||||
font-weight: 600;
|
|
||||||
color: rgba(255, 255, 255, 0.9);
|
|
||||||
letter-spacing: -0.2px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.title-right {
|
|
||||||
display: flex;
|
|
||||||
height: 100%;
|
|
||||||
gap: 1px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.title-right button {
|
|
||||||
-webkit-app-region: no-drag;
|
|
||||||
border: none;
|
|
||||||
background: transparent;
|
|
||||||
color: rgba(255, 255, 255, 0.7);
|
|
||||||
width: 46px;
|
|
||||||
height: 100%;
|
|
||||||
cursor: pointer;
|
|
||||||
font-size: 16px;
|
|
||||||
display: flex;
|
|
||||||
align-items: center;
|
|
||||||
justify-content: center;
|
|
||||||
position: relative;
|
|
||||||
}
|
|
||||||
|
|
||||||
.title-right button svg {
|
|
||||||
width: 16px;
|
|
||||||
height: 16px;
|
|
||||||
transition: transform 0.2s;
|
|
||||||
}
|
|
||||||
|
|
||||||
.title-right button:hover {
|
|
||||||
color: white;
|
|
||||||
}
|
|
||||||
|
|
||||||
.title-right button:active {
|
|
||||||
transform: scale(0.95);
|
|
||||||
}
|
|
||||||
|
|
||||||
.title-right .min:hover {
|
|
||||||
background: rgba(139, 92, 246, 0.2);
|
|
||||||
}
|
|
||||||
|
|
||||||
.title-right .max:hover {
|
|
||||||
background: rgba(34, 197, 94, 0.2);
|
|
||||||
}
|
|
||||||
|
|
||||||
.title-right .close:hover {
|
|
||||||
background: #e81123;
|
|
||||||
color: white;
|
|
||||||
}
|
|
||||||
|
|
||||||
.title-right button:hover svg {
|
|
||||||
transform: scale(1.1);
|
|
||||||
}
|
|
||||||
|
|
||||||
html.electron::-webkit-scrollbar {
|
|
||||||
width: 12px;
|
|
||||||
position: absolute;
|
|
||||||
}
|
|
||||||
|
|
||||||
html.electron::-webkit-scrollbar-track {
|
|
||||||
background: #09090b;
|
|
||||||
margin-top: var(--titlebar-height);
|
|
||||||
}
|
|
||||||
|
|
||||||
html.electron::-webkit-scrollbar-thumb {
|
|
||||||
background: rgba(139, 92, 246, 0.3);
|
|
||||||
border-radius: 6px;
|
|
||||||
border: 2px solid #09090b;
|
|
||||||
}
|
|
||||||
|
|
||||||
html.electron::-webkit-scrollbar-thumb:hover {
|
|
||||||
background: rgba(139, 92, 246, 0.5);
|
|
||||||
}
|
|
||||||
|
|
||||||
body {
|
|
||||||
margin: 0;
|
|
||||||
padding: 0;
|
|
||||||
overflow-x: hidden;
|
|
||||||
}
|
|
||||||
|
|
||||||
.user-box {
|
|
||||||
display: flex;
|
|
||||||
align-items: center;
|
|
||||||
gap: 8px;
|
|
||||||
margin-right: 12px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.user-box img {
|
|
||||||
width: 26px;
|
|
||||||
height: 26px;
|
|
||||||
border-radius: 50%;
|
|
||||||
object-fit: cover;
|
|
||||||
}
|
|
||||||
|
|
||||||
.user-box span {
|
|
||||||
font-size: 13px;
|
|
||||||
opacity: 0.9;
|
|
||||||
}
|
|
||||||
|
|
||||||
.hidden {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
@@ -12,20 +12,8 @@
|
|||||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/css/all.min.css">
|
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/css/all.min.css">
|
||||||
|
|
||||||
<script src="https://unpkg.com/masonry-layout@4/dist/masonry.pkgd.min.js" async></script>
|
<script src="https://unpkg.com/masonry-layout@4/dist/masonry.pkgd.min.js" async></script>
|
||||||
<link rel="stylesheet" href="/views/css/components/titlebar.css">
|
|
||||||
<script src="/src/scripts/titlebar.js"></script>
|
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<div id="titlebar"> <div class="title-left">
|
|
||||||
<img class="app-icon" src="/public/assets/waifuboards.ico" alt=""/>
|
|
||||||
<span class="app-title">WaifuBoard</span>
|
|
||||||
</div>
|
|
||||||
<div class="title-right">
|
|
||||||
<button class="min">—</button>
|
|
||||||
<button class="max">🗖</button>
|
|
||||||
<button class="close">✕</button>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<nav class="navbar" id="navbar">
|
<nav class="navbar" id="navbar">
|
||||||
<a href="#" class="nav-brand">
|
<a href="#" class="nav-brand">
|
||||||
|
|||||||
@@ -7,24 +7,12 @@
|
|||||||
<link rel="stylesheet" href="/views/css/components/navbar.css">
|
<link rel="stylesheet" href="/views/css/components/navbar.css">
|
||||||
<link rel="stylesheet" href="/views/css/globals.css">
|
<link rel="stylesheet" href="/views/css/globals.css">
|
||||||
<link rel="stylesheet" href="/views/css/gallery/gallery.css">
|
<link rel="stylesheet" href="/views/css/gallery/gallery.css">
|
||||||
<link rel="stylesheet" href="/views/css/components/titlebar.css">
|
|
||||||
<link rel="stylesheet" href="/views/css/gallery/image.css">
|
<link rel="stylesheet" href="/views/css/gallery/image.css">
|
||||||
<link rel="icon" href="/public/assets/waifuboards.ico" type="image/x-icon">
|
<link rel="icon" href="/public/assets/waifuboards.ico" type="image/x-icon">
|
||||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/css/all.min.css">
|
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/css/all.min.css">
|
||||||
<link rel="stylesheet" href="/views/css/components/updateNotifier.css">
|
<link rel="stylesheet" href="/views/css/components/updateNotifier.css">
|
||||||
<script src="/src/scripts/titlebar.js"></script>
|
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<div id="titlebar"> <div class="title-left">
|
|
||||||
<img class="app-icon" src="/public/assets/waifuboards.ico" alt=""/>
|
|
||||||
<span class="app-title">WaifuBoard</span>
|
|
||||||
</div>
|
|
||||||
<div class="title-right">
|
|
||||||
<button class="min">—</button>
|
|
||||||
<button class="max">🗖</button>
|
|
||||||
<button class="close">✕</button>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<nav class="navbar" id="navbar">
|
<nav class="navbar" id="navbar">
|
||||||
<a href="#" class="nav-brand">
|
<a href="#" class="nav-brand">
|
||||||
|
|||||||
@@ -10,20 +10,8 @@
|
|||||||
<link rel="stylesheet" href="/views/css/components/anilist-modal.css">
|
<link rel="stylesheet" href="/views/css/components/anilist-modal.css">
|
||||||
<link rel="stylesheet" href="/views/css/list.css">
|
<link rel="stylesheet" href="/views/css/list.css">
|
||||||
<link rel="stylesheet" href="/views/css/components/updateNotifier.css">
|
<link rel="stylesheet" href="/views/css/components/updateNotifier.css">
|
||||||
<link rel="stylesheet" href="/views/css/components/titlebar.css">
|
|
||||||
<script src="/src/scripts/titlebar.js"></script>
|
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<div id="titlebar"> <div class="title-left">
|
|
||||||
<img class="app-icon" src="/public/assets/waifuboards.ico" alt=""/>
|
|
||||||
<span class="app-title">WaifuBoard</span>
|
|
||||||
</div>
|
|
||||||
<div class="title-right">
|
|
||||||
<button class="min">—</button>
|
|
||||||
<button class="max">🗖</button>
|
|
||||||
<button class="close">✕</button>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<nav class="navbar" id="navbar">
|
<nav class="navbar" id="navbar">
|
||||||
<a href="#" class="nav-brand">
|
<a href="#" class="nav-brand">
|
||||||
|
|||||||
@@ -9,20 +9,8 @@
|
|||||||
<link rel="stylesheet" href="/views/css/marketplace.css">
|
<link rel="stylesheet" href="/views/css/marketplace.css">
|
||||||
<link rel="stylesheet" href="/views/css/components/updateNotifier.css">
|
<link rel="stylesheet" href="/views/css/components/updateNotifier.css">
|
||||||
<link rel="icon" href="/public/assets/waifuboards.ico" type="image/x-icon">
|
<link rel="icon" href="/public/assets/waifuboards.ico" type="image/x-icon">
|
||||||
<link rel="stylesheet" href="/views/css/components/titlebar.css">
|
|
||||||
<script src="/src/scripts/titlebar.js"></script>
|
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<div id="titlebar"> <div class="title-left">
|
|
||||||
<img class="app-icon" src="/public/assets/waifuboards.ico" alt=""/>
|
|
||||||
<span class="app-title">WaifuBoard</span>
|
|
||||||
</div>
|
|
||||||
<div class="title-right">
|
|
||||||
<button class="min">—</button>
|
|
||||||
<button class="max">🗖</button>
|
|
||||||
<button class="close">✕</button>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<nav class="navbar" id="navbar">
|
<nav class="navbar" id="navbar">
|
||||||
<a href="#" class="nav-brand">
|
<a href="#" class="nav-brand">
|
||||||
|
|||||||
@@ -12,21 +12,8 @@
|
|||||||
<link rel="stylesheet" href="/views/css/schedule/schedule.css">
|
<link rel="stylesheet" href="/views/css/schedule/schedule.css">
|
||||||
<link rel="stylesheet" href="/views/css/components/navbar.css">
|
<link rel="stylesheet" href="/views/css/components/navbar.css">
|
||||||
<link rel="stylesheet" href="/views/css/components/updateNotifier.css">
|
<link rel="stylesheet" href="/views/css/components/updateNotifier.css">
|
||||||
<link rel="stylesheet" href="/views/css/components/titlebar.css">
|
|
||||||
<script src="/src/scripts/titlebar.js"></script>
|
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<div id="titlebar"> <div class="title-left">
|
|
||||||
<img class="app-icon" src="/public/assets/waifuboards.ico" alt=""/>
|
|
||||||
<span class="app-title">WaifuBoard</span>
|
|
||||||
</div>
|
|
||||||
<div class="title-right">
|
|
||||||
<button class="min">—</button>
|
|
||||||
<button class="max">🗖</button>
|
|
||||||
<button class="close">✕</button>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="ambient-bg" id="ambientBg"></div>
|
<div class="ambient-bg" id="ambientBg"></div>
|
||||||
|
|
||||||
<nav class="navbar" id="navbar">
|
<nav class="navbar" id="navbar">
|
||||||
|
|||||||
@@ -8,7 +8,6 @@
|
|||||||
rel="stylesheet"
|
rel="stylesheet"
|
||||||
href="/views/css/components/updateNotifier.css"
|
href="/views/css/components/updateNotifier.css"
|
||||||
/>
|
/>
|
||||||
<link rel="stylesheet" href="/views/css/components/titlebar.css" />
|
|
||||||
<link rel="stylesheet" href="/views/css/users.css" />
|
<link rel="stylesheet" href="/views/css/users.css" />
|
||||||
<link
|
<link
|
||||||
rel="icon"
|
rel="icon"
|
||||||
@@ -16,25 +15,8 @@
|
|||||||
type="image/x-icon"
|
type="image/x-icon"
|
||||||
/>
|
/>
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||||
<script src="/src/scripts/titlebar.js"></script>
|
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<div id="titlebar">
|
|
||||||
<div class="title-left">
|
|
||||||
<img
|
|
||||||
class="app-icon"
|
|
||||||
src="/public/assets/waifuboards.ico"
|
|
||||||
alt=""
|
|
||||||
/>
|
|
||||||
<span class="app-title">WaifuBoard</span>
|
|
||||||
</div>
|
|
||||||
<div class="title-right">
|
|
||||||
<button class="min">—</button>
|
|
||||||
<button class="max">🗖</button>
|
|
||||||
<button class="close">✕</button>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="page-wrapper">
|
<div class="page-wrapper">
|
||||||
<div class="background-gradient"></div>
|
<div class="background-gradient"></div>
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user