mirror of
https://github.com/C9Glax/tranga.git
synced 2025-07-04 18:04:16 +02:00
Compare commits
7 Commits
1.1
...
c9537a9963
Author | SHA1 | Date | |
---|---|---|---|
c9537a9963 | |||
4fd3c03804 | |||
a1e9dd0232 | |||
aa1f9b1b56 | |||
6069578b6e | |||
a84b768e24 | |||
d1a21af15d |
@ -42,6 +42,8 @@ public readonly struct Publication
|
|||||||
this.status = status;
|
this.status = status;
|
||||||
this.publicationId = publicationId;
|
this.publicationId = publicationId;
|
||||||
this.folderName = string.Concat(LegalCharacters.Matches(sortName));
|
this.folderName = string.Concat(LegalCharacters.Matches(sortName));
|
||||||
|
while (this.folderName.EndsWith('.'))
|
||||||
|
this.folderName = this.folderName.Substring(0, this.folderName.Length - 1);
|
||||||
string onlyLowerLetters = string.Concat(this.sortName.ToLower().Where(Char.IsLetter));
|
string onlyLowerLetters = string.Concat(this.sortName.ToLower().Where(Char.IsLetter));
|
||||||
this.internalId = Convert.ToBase64String(Encoding.ASCII.GetBytes($"{onlyLowerLetters}{this.year}"));
|
this.internalId = Convert.ToBase64String(Encoding.ASCII.GetBytes($"{onlyLowerLetters}{this.year}"));
|
||||||
}
|
}
|
||||||
|
@ -141,15 +141,12 @@ public class TaskManager
|
|||||||
TrangaTask newTask;
|
TrangaTask newTask;
|
||||||
if (task == TrangaTask.Task.UpdateKomgaLibrary)
|
if (task == TrangaTask.Task.UpdateKomgaLibrary)
|
||||||
{
|
{
|
||||||
newTask = new TrangaTask(task, null, null, reoccurrence, language);
|
newTask = new TrangaTask(task, null, null, reoccurrence);
|
||||||
|
logger?.WriteLine(this.GetType().ToString(), $"Removing old {task}-Task.");
|
||||||
//Check if same task already exists
|
//Only one UpdateKomgaLibrary Task
|
||||||
// ReSharper disable once SimplifyLinqExpressionUseAll readabilty
|
_allTasks.RemoveWhere(trangaTask => trangaTask.task is TrangaTask.Task.UpdateKomgaLibrary);
|
||||||
if (!_allTasks.Any(trangaTask => trangaTask.task == task))
|
|
||||||
{
|
|
||||||
_allTasks.Add(newTask);
|
_allTasks.Add(newTask);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if(connectorName is null)
|
if(connectorName is null)
|
||||||
|
@ -6,6 +6,7 @@
|
|||||||
<link rel="stylesheet" href="style.css">
|
<link rel="stylesheet" href="style.css">
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
|
<wrapper>
|
||||||
<topbar>
|
<topbar>
|
||||||
<titlebox>
|
<titlebox>
|
||||||
<img src="media/blahaj.png">
|
<img src="media/blahaj.png">
|
||||||
@ -106,6 +107,13 @@
|
|||||||
</div>
|
</div>
|
||||||
<p id="madeWith">Made with Blåhaj 🦈</p>
|
<p id="madeWith">Made with Blåhaj 🦈</p>
|
||||||
</footer>
|
</footer>
|
||||||
|
</wrapper>
|
||||||
|
<footer-tag-popup>
|
||||||
|
<footer-tag-content>
|
||||||
|
<footer-tag-task-name>Test</footer-tag-task-name>
|
||||||
|
</footer-tag-content>
|
||||||
|
</footer-tag-popup>
|
||||||
|
|
||||||
<script src="apiConnector.js"></script>
|
<script src="apiConnector.js"></script>
|
||||||
<script src="interaction.js"></script>
|
<script src="interaction.js"></script>
|
||||||
</body>
|
</body>
|
||||||
|
@ -29,6 +29,8 @@ const settingApiUri = document.querySelector("#settingApiUri");
|
|||||||
const tagTasksRunning = document.querySelector("#tasksRunningTag");
|
const tagTasksRunning = document.querySelector("#tasksRunningTag");
|
||||||
const tagTasksQueued = document.querySelector("#tasksQueuedTag");
|
const tagTasksQueued = document.querySelector("#tasksQueuedTag");
|
||||||
const tagTasksTotal = document.querySelector("#totalTasksTag");
|
const tagTasksTotal = document.querySelector("#totalTasksTag");
|
||||||
|
const tagTaskPopup = document.querySelector("footer-tag-popup");
|
||||||
|
const tagTasksPopupContent = document.querySelector("footer-tag-content");
|
||||||
|
|
||||||
settingsCog.addEventListener("click", () => OpenSettings());
|
settingsCog.addEventListener("click", () => OpenSettings());
|
||||||
document.querySelector("#blurBackgroundSettingsPopup").addEventListener("click", () => HideSettings());
|
document.querySelector("#blurBackgroundSettingsPopup").addEventListener("click", () => HideSettings());
|
||||||
@ -49,6 +51,12 @@ searchPublicationQuery.addEventListener("keypress", (event) => {
|
|||||||
NewSearch();
|
NewSearch();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
tagTasksRunning.addEventListener("mouseover", (event) => ShowRunningTasks(event));
|
||||||
|
tagTasksRunning.addEventListener("mouseout", () => CloseTasksPopup());
|
||||||
|
tagTasksQueued.addEventListener("mouseover", (event) => ShowQueuedTasks(event));
|
||||||
|
tagTasksQueued.addEventListener("mouseout", () => CloseTasksPopup());
|
||||||
|
tagTasksTotal.addEventListener("mouseover", (event) => ShowAllTasks(event));
|
||||||
|
tagTasksTotal.addEventListener("mouseout", () => CloseTasksPopup());
|
||||||
|
|
||||||
let availableConnectors;
|
let availableConnectors;
|
||||||
GetAvailableControllers()
|
GetAvailableControllers()
|
||||||
@ -219,6 +227,7 @@ function GetSettingsClick(){
|
|||||||
});
|
});
|
||||||
|
|
||||||
GetKomgaTask().then(json => {
|
GetKomgaTask().then(json => {
|
||||||
|
settingKomgaTime.value = json[0].reoccurrence;
|
||||||
if(json.length > 0)
|
if(json.length > 0)
|
||||||
settingKomgaConfigured.innerText = "✅";
|
settingKomgaConfigured.innerText = "✅";
|
||||||
else
|
else
|
||||||
@ -227,17 +236,77 @@ function GetSettingsClick(){
|
|||||||
}
|
}
|
||||||
|
|
||||||
function UpdateKomgaSettings(){
|
function UpdateKomgaSettings(){
|
||||||
|
if(settingKomgaUser.value != "" && settingKomgaPass != ""){
|
||||||
var auth = utf8_to_b64(`${settingKomgaUser.value}:${settingKomgaPass.value}`);
|
var auth = utf8_to_b64(`${settingKomgaUser.value}:${settingKomgaPass.value}`);
|
||||||
console.log(auth);
|
console.log(auth);
|
||||||
|
|
||||||
|
if(settingKomgaUrl.value != "")
|
||||||
UpdateSettings("", settingKomgaUrl.value, auth);
|
UpdateSettings("", settingKomgaUrl.value, auth);
|
||||||
|
else
|
||||||
|
UpdateSettings("", settingKomgaUrl.placeholder, auth);
|
||||||
|
}
|
||||||
CreateTask("UpdateKomgaLibrary", settingKomgaTime.value, "","","");
|
CreateTask("UpdateKomgaLibrary", settingKomgaTime.value, "","","");
|
||||||
setTimeout(() => GetSettingsClick(), 500);
|
setTimeout(() => GetSettingsClick(), 100);
|
||||||
}
|
}
|
||||||
|
|
||||||
function utf8_to_b64( str ) {
|
function utf8_to_b64( str ) {
|
||||||
return window.btoa(unescape(encodeURIComponent( str )));
|
return window.btoa(unescape(encodeURIComponent( str )));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function ShowRunningTasks(event){
|
||||||
|
GetRunningTasks()
|
||||||
|
.then(json => {
|
||||||
|
tagTasksPopupContent.replaceChildren();
|
||||||
|
json.forEach(task => {
|
||||||
|
var taskname = document.createElement("footer-tag-task-name");
|
||||||
|
taskname.innerText = task.publication.sortName;
|
||||||
|
tagTasksPopupContent.appendChild(taskname);
|
||||||
|
});
|
||||||
|
if(json.length > 0){
|
||||||
|
tagTaskPopup.style.display = "block";
|
||||||
|
tagTaskPopup.style.left = `${tagTasksRunning.offsetLeft - 20}px`;
|
||||||
|
}
|
||||||
|
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function ShowQueuedTasks(event){
|
||||||
|
GetQueue()
|
||||||
|
.then(json => {
|
||||||
|
tagTasksPopupContent.replaceChildren();
|
||||||
|
json.forEach(task => {
|
||||||
|
var taskname = document.createElement("footer-tag-task-name");
|
||||||
|
taskname.innerText = task.publication.sortName;
|
||||||
|
tagTasksPopupContent.appendChild(taskname);
|
||||||
|
});
|
||||||
|
if(json.length > 0){
|
||||||
|
tagTaskPopup.style.display = "block";
|
||||||
|
tagTaskPopup.style.left = `${tagTasksQueued.offsetLeft- 20}px`;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function ShowAllTasks(event){
|
||||||
|
GetDownloadTasks()
|
||||||
|
.then(json => {
|
||||||
|
tagTasksPopupContent.replaceChildren();
|
||||||
|
json.forEach(task => {
|
||||||
|
var taskname = document.createElement("footer-tag-task-name");
|
||||||
|
taskname.innerText = task.publication.sortName;
|
||||||
|
tagTasksPopupContent.appendChild(taskname);
|
||||||
|
});
|
||||||
|
if(json.length > 0){
|
||||||
|
tagTaskPopup.style.display = "block";
|
||||||
|
tagTaskPopup.style.left = `${tagTasksTotal.offsetLeft - 20}px`;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function CloseTasksPopup(){
|
||||||
|
tagTaskPopup.style.display = "none";
|
||||||
|
}
|
||||||
|
|
||||||
//Resets the tasks shown
|
//Resets the tasks shown
|
||||||
ResetContent();
|
ResetContent();
|
||||||
//Get Tasks and show them
|
//Get Tasks and show them
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
:root{
|
:root{
|
||||||
--background-color: #eee;
|
--background-color: #030304;
|
||||||
--second-background-color: #fff;
|
--second-background-color: #fff;
|
||||||
--primary-color: #f5a9b8;
|
--primary-color: #f5a9b8;
|
||||||
--secondary-color: #5bcefa;
|
--secondary-color: #5bcefa;
|
||||||
@ -11,15 +11,19 @@
|
|||||||
body{
|
body{
|
||||||
padding: 0;
|
padding: 0;
|
||||||
margin: 0;
|
margin: 0;
|
||||||
display: flex;
|
|
||||||
flex-flow: column;
|
|
||||||
flex-wrap: nowrap;
|
|
||||||
height: 100vh;
|
height: 100vh;
|
||||||
background-color: var(--background-color);
|
background-color: var(--background-color);
|
||||||
font-family: "Inter", sans-serif;
|
font-family: "Inter", sans-serif;
|
||||||
overflow-x: hidden;
|
overflow-x: hidden;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
wrapper {
|
||||||
|
display: flex;
|
||||||
|
flex-flow: column;
|
||||||
|
flex-wrap: nowrap;
|
||||||
|
height: 100vh;
|
||||||
|
}
|
||||||
|
|
||||||
background-placeholder{
|
background-placeholder{
|
||||||
background-color: var(--second-background-color);
|
background-color: var(--second-background-color);
|
||||||
opacity: 1;
|
opacity: 1;
|
||||||
@ -229,7 +233,7 @@ publication::after{
|
|||||||
left: 0; top: 0;
|
left: 0; top: 0;
|
||||||
border-radius: 5px;
|
border-radius: 5px;
|
||||||
width: 100%; height: 100%;
|
width: 100%; height: 100%;
|
||||||
background: linear-gradient(rgba(0,0,0,0.7), rgba(0, 0, 0, 0.6),rgba(0, 0, 0, 0.2));
|
background: linear-gradient(rgba(0,0,0,0.8), rgba(0, 0, 0, 0.7),rgba(0, 0, 0, 0.2));
|
||||||
}
|
}
|
||||||
|
|
||||||
publication-information {
|
publication-information {
|
||||||
@ -448,3 +452,42 @@ publication-viewer publication-information publication-add {
|
|||||||
margin: 20px;
|
margin: 20px;
|
||||||
font-size: 16pt;
|
font-size: 16pt;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
footer-tag-popup {
|
||||||
|
display: none;
|
||||||
|
padding: 2px 4px;
|
||||||
|
position: fixed;
|
||||||
|
bottom: 58px;
|
||||||
|
left: 20px;
|
||||||
|
background-color: var(--second-background-color);
|
||||||
|
z-index: 8;
|
||||||
|
border-radius: 5px;
|
||||||
|
max-height: 400px;
|
||||||
|
}
|
||||||
|
|
||||||
|
footer-tag-content{
|
||||||
|
position: relative;
|
||||||
|
max-height: 400px;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
flex-wrap: nowrap;
|
||||||
|
overflow-y: scroll;
|
||||||
|
}
|
||||||
|
|
||||||
|
footer-tag-content > * {
|
||||||
|
margin: 2px 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
footer-tag-popup::before{
|
||||||
|
content: "";
|
||||||
|
width: 0;
|
||||||
|
height: 0;
|
||||||
|
position: absolute;
|
||||||
|
border-right: 10px solid var(--second-background-color);
|
||||||
|
border-left: 10px solid transparent;
|
||||||
|
border-top: 10px solid var(--second-background-color);
|
||||||
|
border-bottom: 10px solid transparent;
|
||||||
|
left: 0px;
|
||||||
|
bottom: -17px;
|
||||||
|
border-radius: 0 0 0 5px;
|
||||||
|
}
|
Reference in New Issue
Block a user