Tranga-Website/Website/index.html

338 lines
17 KiB
HTML
Raw Normal View History

2023-05-22 22:25:50 +02:00
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Tranga</title>
<link id='basestyle' rel="stylesheet" href="styles/base.css">
<link id='librarystyle' rel="stylesheet" href="styles/style_default.css">
2023-05-31 17:52:47 +02:00
<link rel="icon" type="image/x-icon" href="favicon.ico">
2024-05-18 21:08:38 +02:00
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400..900&display=swap" rel="stylesheet">
2023-05-22 22:25:50 +02:00
</head>
<body>
2023-05-25 21:58:45 +02:00
<wrapper>
2023-05-25 21:58:45 +02:00
<topbar>
<titlebox>
2023-05-31 22:16:01 +02:00
<img alt="website image is Blahaj" src="media/blahaj.png">
2023-05-25 21:58:45 +02:00
<span>Tranga</span>
</titlebox>
<spacer></spacer>
<img id="filterFunnel" src="media/filter-funnel.svg" height="50%" alt="filterFunnel">
2023-05-25 21:58:45 +02:00
<img id="settingscog" src="media/settings-cogwheel.svg" height="100%" alt="settingscog">
</topbar>
<filter-box id="filterBox">
<border-bar>
<popup-title>Filter by: </popup-title>
2024-04-21 20:18:30 +02:00
<popup-close onclick="filterBox.style.display = 'none';" >&times</popup-close>
</border-bar>
<popup-content id="filterContent">
<div class="popup-section">
NAME:
<div class="section-content">
<label for="searchbox"></label><input id="searchbox" placeholder="Title" type="text">
</div>
</div>
<div class = "popup-section">
CONNECTOR:
<div class="section-content" id="connectorFilterBox">
</div>
</div>
<div class = "popup-section">
STATUS:
<div class="section-content" id="statusFilterBox">
</div>
</div>
</popup-content>
<border-bar-button onclick="ClearFilter()" class="clearFilter">Clear Filter</border-bar-button>
</filter-box>
2023-05-25 21:58:45 +02:00
<viewport>
2023-09-08 16:32:09 +02:00
<div id="loaderdiv">
<blur-background></blur-background>
<div id="loader"></div>
<p id="loaderText">Check your Settings > API-URI</p>
</div>
2023-05-25 21:58:45 +02:00
<content>
<div id="addPublication">
<p>+</p>
</div>
2023-08-31 23:45:13 +02:00
<publication onclick="ShowNewMangaSearch()">
<img alt="cover" src="media/cover.jpg">
2023-05-25 21:58:45 +02:00
<publication-information>
2023-09-02 13:48:23 +02:00
<connector-name class="pill">Sample</connector-name>
<publication-name>Best Manga there is</publication-name>
2023-05-25 21:58:45 +02:00
</publication-information>
</publication>
</content>
2023-08-31 23:45:13 +02:00
<popup id="newMangaPopup">
<blur-background id="blurBackgroundNewMangaPopup" onclick="newMangaPopup.style.display = 'none';"></blur-background>
2024-04-25 04:23:49 +02:00
<popup-window>
<border-bar>
<popup-title>Search</popup-title>
<popup-close onclick="newMangaPopup.style.display = 'none'">&times</popup-close>
</border-bar>
<popup-content>
<div id="loaderdiv">
<div id="loader"></div>
</div>
<div id="newMangaPopupSelector">
<select id="newMangaConnector">
<input type="text" placeholder="Title" id="newMangaTitle" />
<select id="newMangaTranslatedLanguage">
<option selected="selected">EN</option>
<option>IT</option>
<option>DE</option>
</select>
</div>
<div id="newMangaResult"></div>
</popup-content>
</popup-window>
2023-08-31 23:45:13 +02:00
</popup>
2023-05-25 21:58:45 +02:00
<popup id="settingsPopup">
<blur-background id="blurBackgroundSettingsPopup" onclick="settingsPopup.style.display = 'none';"></blur-background>
<popup-window>
<border-bar>
<popup-title>Settings</popup-title>
<popup-close onclick="settingsPopup.style.display = 'none'">&times</popup-close>
</border-bar>
<popup-content>
<div class="popup-section">
TRANGA
<div class="section-content">
<div class="section-item dyn-height">
<span class="title">API Settings</span>
<row><label for="settingApiUri">API URI:</label><input placeholder="https://" type="text" id="settingApiUri"></row>
<row><label for="userAgent">User Agent:</label><input placeholder="UserAgent" id="userAgent" type="text"></row>
2024-04-21 19:36:25 +02:00
<row>
<label for="aprilFoolsMode">Skip Chapters on April 1st:</label>
<label class="switch-toggle">
<input type="checkbox" onclick="UpdateAprilFoolsMode()" id="aprilFoolsMode">
<span class="slider"></span>
</label>
</row>
<row>
2024-04-21 19:51:44 +02:00
<border-bar-button class="section" onclick="ResetUserAgent()">Reset User Agent</border-bar-button>
<border-bar-button class="section" onclick="DownloadLogs()">Download Logs</border-bar-button>
</row>
</div>
2024-02-11 22:59:05 +01:00
<div class="section-item dyn-height">
<span class="title">Rate Limits</span>
<row><label for="DefaultRL">Default:</label><input id="defaultRL" type="text" ></row>
<row><label for="CoverRL">Manga Covers:</label><input id="coverRL" type="text"></row>
<row><label for="ImageRL">Manga Images:</label><input id="imageRL" type="text"></row>
<row><label for="InfoRL">Manga Info:</label><input id="infoRL" type="text"></row>
2024-04-21 19:51:44 +02:00
<row>
<border-bar-button class="section" onclick="ResetRateLimits()">Reset All Rate Limits</border-bar-button>
</row>
2024-02-11 22:59:05 +01:00
</div>
<div class="section-item dyn-height">
2024-04-21 19:51:44 +02:00
<span class="title">Library</span>
<row><label for="cssStyle">Appearance Style:</label><select id="cssStyle">
<option id="card_compact" value="card_compact">Cards (Compact)</option>
<option id="card_hover" value="card_hover">Cards (Hover)</option>
</select></row>
2024-04-21 19:51:44 +02:00
<row>
<border-bar-button class="section" onclick="RefreshLibraryMetadata()">Refresh Library Metadata</border-bar-button>
</row>
</div>
</div>
</div>
<div class="popup-section">
MANGA SOURCES
<div class="section-content">
2024-02-11 22:59:05 +01:00
<!-- <div class="section-item dyn-height">
<span class="title"><img src="connector-icons/manganato.png"><a href="https://manganato.com">MangaNato</a></span>
2024-02-11 22:59:05 +01:00
</div> -->
<!-- <div class="section-item dyn-height">
<span class="title"><img src="connector-icons/mangasee.png"><a href="https://mangasee123.com">MangaSee</a></span>
2024-02-11 22:59:05 +01:00
</div> -->
<div class="section-item dyn-height">
<span class="title"><img src="connector-icons/mangadex-logo.svg"><a href="https://mangadex.org">MangaDex</a></span>
2024-02-11 22:59:05 +01:00
<row><label for="mDexFeedRL">Feed Rate Limit:</label><input id="mDexFeedRL" type="text"></row>
<row><label for="mDexImageRL">Image Rate Limit:</label><input id="mDexImageRL" type="text"></row>
</div>
2024-02-11 22:59:05 +01:00
<!-- <div class="section-item dyn-height">
<span class="title"><img src="connector-icons/mangakatana.png"><a href="https://mangakatana.com">MangaKatana</a></span>
2024-02-11 22:59:05 +01:00
</div> -->
<!-- <div class="section-item dyn-height">
<span class="title"><img src="connector-icons/mangaworld.png"><a href="https://www.mangaworld.ac">MangaWorld</a></span>
2024-02-11 22:59:05 +01:00
</div> -->
<!-- <div class="section-item dyn-height">
<span class="title"><img src="connector-icons/bato.ico"><a href="https://bato.to">Bato</a></span>
2024-02-11 22:59:05 +01:00
</div> -->
<!-- <div class="section-item dyn-height">
<span class="title"><img src="connector-icons/mangalife.png"><a href="https://www.manga4life.com">MangaLife</a></span>
2024-02-11 22:59:05 +01:00
</div> -->
</div>
</div>
<div class="popup-section">
LIBRARY CONNECTORS
<div class="section-content">
<div class="section-item">
<span class="title"><img src='connector-icons/komga.svg'>Komga<connector-configured id="komgaConfigured"></connector-configured></span>
<label for="komgaUrl"></label><input placeholder="URL" id="komgaUrl" type="text">
<label for="komgaUsername"></label><input placeholder="Username" id="komgaUsername" type="text">
<label for="komgaPassword"></label><input placeholder="Password" id="komgaPassword" type="password">
<div class="section-buttons-container">
<span onclick="TestKomga(komgaUrl.value, utf8_to_b64(`${komgaUsername.value}:${komgaPassword.value}`))" class='section-button' id="test-connector">Test</span>
<span onclick="ClearKomga()" class='section-button' id="reset">Reset</span>
<span onclick="UpdateKomga(komgaUrl.value, utf8_to_b64(`${komgaUsername.value}:${komgaPassword.value}`))" class='section-button'>Apply</span>
</div>
</div>
<div class="section-item">
<span class="title"><img src='connector-icons/kavita.png'>Kavita<connector-configured id="kavitaConfigured"></connector-configured></span>
<label for="kavitaUrl"></label><input placeholder="URL" id="kavitaUrl" type="text">
<label for="kavitaUsername"></label><input placeholder="Username" id="kavitaUsername" type="text">
<label for="kavitaPassword"></label><input placeholder="Password" id="kavitaPassword" type="password">
<div class="section-buttons-container">
<span onclick="TestKavita(kavitaUrl.value, kavitaUsername.value, kavitaPassword.value)" class='section-button' id="test-connector">Test</span>
<span onclick="ClearKavita()" class='section-button' id="reset">Reset</span>
<span onclick="UpdateKavita(kavitaUrl.value, kavitaUsername.value, kavitaPassword.value)" class='section-button'>Apply</span>
</div>
</div>
</div>
</div>
<div class="popup-section">
NOTIFICATION CONNECTORS
<div class="section-content">
<div class="section-item">
<span class="title"><img src='connector-icons/gotify-logo.png'>Gotify<connector-configured id="gotifyConfigured"></connector-configured></span>
<label for="gotifyUrl"></label><input placeholder="URL" id="gotifyUrl" type="text">
<label for="gotifyAppToken"></label><input placeholder="App-Token" id="gotifyAppToken" type="text">
<div class="section-buttons-container">
<span onclick="TestGotify(gotifyUrl.value, gotifyAppToken.value)" class='section-button' id="test-connector">Test</span>
<span onclick="ClearGotify()" class='section-button' id="reset">Reset</span>
<span onclick="UpdateGotify(gotifyUrl.value, gotifyAppToken.value)" class='section-button'>Apply</span>
</div>
</div>
<div class="section-item">
<span class="title"><img src='connector-icons/lunasea.png'>LunaSea<connector-configured id="lunaseaConfigured"></connector-configured></span>
<label for="lunaseaWebhook"></label><input placeholder="device/:id or user/:id" id="lunaseaWebhook" type="text">
<div class="section-buttons-container">
<span onclick="TestLunaSea(lunaseaWebhook.value);" class='section-button' id="test-connector">Test</span>
<span onclick="ClearLunasea()" class='section-button' id="reset">Reset</span>
<span onclick="UpdateLunaSea(lunaseaWebhook.value);" class='section-button'>Apply</span>
</div>
</div>
<div class="section-item">
<span class="title"><img src='connector-icons/ntfy.svg'>Ntfy<connector-configured id="ntfyConfigured"></connector-configured></span>
<label for="ntfyEndpoint"></label><input placeholder="URL" id="ntfyEndpoint" type="text">
<label for="ntfyUser"></label><input placeholder="Username" id="ntfyUser" type="text">
<label for="ntfyPass"></label><input placeholder="Password" id="ntfyPass" type="password">
<div class="section-buttons-container">
<span onclick="TestNtfy(ntfyEndpoint.value, ntfyUser.value, ntfyPass.value);" class='section-button' id="test-connector">Test</span>
<span onclick="ClearNtfy()" class='section-button' id="reset">Reset</span>
<span onclick="UpdateNtfy(ntfyEndpoint.value, ntfyUser.value, ntfyPass.value);" class='section-button'>Apply</span>
</div>
</div>
</div>
</div>
</popup-content>
<border-bar>
<div class="button-container">
<border-bar-button class="primary" onclick="UpdateSettings()">Apply Settings</border-bar-button>
</div>
</border-bar>
</popup-window>
2023-05-25 21:58:45 +02:00
</popup>
2023-08-31 16:45:33 +02:00
<popup id="publicationViewerPopup">
<blur-background id="blurBackgroundPublicationPopup" onclick="publicationViewerPopup.style.display= 'none';"></blur-background>
<popup-window>
<border-bar>
<popup-title><a class="mangaTitle" id="publicationViewerName"></a></popup-title><status-filter id="publicationViewerStatus"></status-filter>
<popup-close onclick="publicationViewerPopup.style.display = 'none'">&times</popup-close>
</border-bar>
<manga-details>
<img-container>
<img id="pubviewcover">
<manga-connector id="publicationViewerConnector"></manga-connector>
<span class="latest-chapter-no" id="publicationViewerChapterNo"></span>
</img-container>
<div style="height: 100%;">
<tag-cloud id="publicationViewerTags"></tag-cloud>
<div class="mangaDescription" id="publicationViewerDescription"></div>
</div>
</manga-details>
<!-- <manga-chapter id="publicationViewerChapters"></manga-chapter> -->
<border-bar>
<div class="button-container">
<border-bar-button onclick="RefreshMangaMetadata(selectedManga.internalId)">Refresh Metadata</border-bar-button>
<border-bar-button id="reset" onclick="RemoveJob(selectedJob.id); UpdateJobs(); mangaViewerPopup.style.display = 'none'">Remove Manga</border-bar-button>
<border-bar-button class="primary" onclick="StartJob(selectedJob.id); mangaViewerPopup.style.display = 'none'">Start Job</border-bar-button>
</div>
</border-bar>
</popup-window>
</popup>
<popup id="jobStatusView">
<blur-background id="blurBackgroundSettingsPopup" onclick="jobStatusView.style.display = 'none';"></blur-background>
<popup-window>
<border-bar>
<popup-title>Jobs</popup-title>
<popup-close onclick="jobStatusView.style.display = 'none'">&times</popup-close>
</border-bar>
<popup-content>
<div class="popup-section">
RUNNING JOBS
<div class="section-content" id="jobStatusRunning">
</div>
</div>
<div class="popup-section">
QUEUED JOBS
<div class="section-content" id="jobStatusWaiting">
</div>
</div>
</popup-content>
<border-bar>
<!-- <div class="button-container">
<border-bar-button class="primary" onclick="UpdateSettings()">Apply Settings</border-bar-button>
</div> -->
</border-bar>
</popup-window>
2024-04-25 04:23:49 +02:00
</popup>
2023-05-25 21:58:45 +02:00
</viewport>
2023-08-31 16:45:33 +02:00
2023-05-25 21:58:45 +02:00
<footer>
<div onclick="ShowJobQueue();">
<img src="media/running.svg" alt="running"><div id="jobsRunningTag">0</div>
2023-05-25 21:58:45 +02:00
</div>
<div onclick="ShowJobQueue();">
<img src="media/queue.svg" alt="queue"><div id="jobsQueuedTag">0</div>
2023-05-25 21:58:45 +02:00
</div>
<p id="madeWith">Made with Blåhaj 🦈</p>
</footer>
</wrapper>
2023-05-23 12:51:21 +02:00
<script src="apiConnector.js"></script>
2023-05-22 23:52:35 +02:00
<script src="interaction.js"></script>
2023-05-22 22:25:50 +02:00
</body>
</html>