112 lines
5.5 KiB
HTML
112 lines
5.5 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<title>WaifuBoard - Marketplace</title>
|
|
<link rel="stylesheet" href="/views/css/globals.css">
|
|
<link rel="stylesheet" href="/views/css/components/navbar.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/titlebar.css">
|
|
<link rel="stylesheet" href="/views/css/components/create-room.css"/>
|
|
<script src="/src/scripts/titlebar.js"></script>
|
|
<link rel="icon" href="/public/assets/waifuboards.ico" type="image/x-icon">
|
|
</head>
|
|
<body>
|
|
|
|
<div class="nav-spacer"></div>
|
|
|
|
<main class="content-container">
|
|
|
|
<header class="mp-header">
|
|
<div class="header-top">
|
|
<h1 class="page-title">Extension Store</h1>
|
|
<div class="header-actions">
|
|
<button id="btn-configure" class="btn-secondary">
|
|
<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M12 20a8 8 0 1 0 0-16 8 8 0 0 0 0 16Z"/><path d="M12 14a2 2 0 1 0 0-4 2 2 0 0 0 0 4Z"/><path d="M12 2v2"/><path d="M12 22v-2"/><path d="m17 20.66-1-1.73"/><path d="M11 10.27 7 3.34"/><path d="m20.66 17-1.73-1"/><path d="m3.34 7 1.73 1"/><path d="M14 12h8"/><path d="M2 12h2"/><path d="m20.66 7-1.73 1"/><path d="m3.34 17 1.73-1"/><path d="m17 3.34-1 1.73"/><path d="m11 13.73-4 6.93"/></svg>
|
|
Source Settings
|
|
</button>
|
|
</div>
|
|
</div>
|
|
|
|
<div id="config-panel" class="config-panel hidden">
|
|
<div class="config-box">
|
|
<h3>Marketplace Source</h3>
|
|
<p class="config-desc">Enter a valid JSON URL to fetch extensions from.</p>
|
|
<div class="input-group">
|
|
<input type="text" id="source-url-input" placeholder="https://example.com/marketplace.json">
|
|
<button id="btn-save-source" class="btn-primary">Save & Reload</button>
|
|
</div>
|
|
<button id="btn-reset-source" class="btn-text">Reset to Default</button>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="tabs-wrapper">
|
|
<button class="tab-btn active" data-tab="marketplace">Discover</button>
|
|
<button class="tab-btn" data-tab="installed">Installed</button>
|
|
</div>
|
|
|
|
<div class="toolbar" id="mp-toolbar">
|
|
<div class="filter-group">
|
|
<div class="select-wrapper">
|
|
<label>Type</label>
|
|
<select id="filter-type">
|
|
<option value="All">All Types</option>
|
|
<option value="anime-board">Anime</option>
|
|
<option value="book-board">Manga/Books</option>
|
|
<option value="image-board">Images</option>
|
|
</select>
|
|
</div>
|
|
<div class="select-wrapper">
|
|
<label>Language</label>
|
|
<select id="filter-lang">
|
|
<option value="All">Any Language</option>
|
|
<option value="MULTI">Multi</option>
|
|
<option value="en">English</option>
|
|
<option value="es">Spanish</option>
|
|
<option value="jp">Japanese</option>
|
|
</select>
|
|
</div>
|
|
|
|
<div class="select-wrapper" style="justify-content: flex-end;">
|
|
<button id="btn-toggle-nsfw" class="btn-secondary" style="height: 42px; margin-top: auto;">
|
|
<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" style="margin-right: 6px;">
|
|
<path d="M17.94 17.94A10.07 10.07 0 0 1 12 20c-7 0-11-8-11-8a18.45 18.45 0 0 1 5.06-5.94M9.9 4.24A9.12 9.12 0 0 1 12 4c7 0 11 8 11 8a18.5 18.5 0 0 1-2.16 3.19m-6.72-1.07a3 3 0 1 1-4.24-4.24"></path>
|
|
<line x1="1" y1="1" x2="23" y2="23"></line>
|
|
</svg>
|
|
NSFW: Off
|
|
</button>
|
|
</div>
|
|
</div>
|
|
|
|
<button id="btn-update-all" class="btn-primary hidden">
|
|
<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M21 12a9 9 0 0 0-9-9 9.75 9.75 0 0 0-6.74 2.74L3 8"/><path d="M3 3v5h5"/><path d="M3 12a9 9 0 0 0 9 9 9.75 9.75 0 0 0 6.74-2.74L21 16"/><path d="M16 21h5v-5"/></svg>
|
|
Update All
|
|
</button>
|
|
</div>
|
|
</header>
|
|
|
|
<div id="marketplace-content" class="mp-grid-wrapper"></div>
|
|
|
|
<div id="customModal" class="modal-overlay hidden">
|
|
<div class="modal-box">
|
|
<h3 id="modalTitle"></h3>
|
|
<p id="modalMessage"></p>
|
|
<div class="modal-footer">
|
|
<button id="modalCloseButton" class="btn-secondary">Cancel</button>
|
|
<button id="modalConfirmButton" class="btn-danger hidden">Confirm</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</main>
|
|
|
|
<script src="/src/scripts/utils/notification-utils.js"></script>
|
|
<script src="/src/scripts/room-modal.js"></script>
|
|
<script src="/src/scripts/updateNotifier.js"></script>
|
|
<script src="/src/scripts/marketplace.js"></script>
|
|
<script src="/src/scripts/rpc-inapp.js"></script>
|
|
<script src="/src/scripts/auth-guard.js"></script>
|
|
<script src="/src/scripts/settings.js"></script>
|
|
</body>
|
|
</html> |