mirror of
				https://github.com/RicterZ/nhentai.git
				synced 2025-11-04 11:00:55 +01:00 
			
		
		
		
	almost gave up
This commit is contained in:
		
							
								
								
									
										
											BIN
										
									
								
								nhentai/viewer/logo.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								nhentai/viewer/logo.png
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| 
		 After Width: | Height: | Size: 10 KiB  | 
@@ -286,17 +286,26 @@ blockquote {
 | 
				
			|||||||
  font-weight: bold;
 | 
					  font-weight: bold;
 | 
				
			||||||
  background-color: #eee;
 | 
					  background-color: #eee;
 | 
				
			||||||
  color: #444;
 | 
					  color: #444;
 | 
				
			||||||
  padding: 10px 0px 5px 8px;
 | 
					  padding: 8px 8px 5px 9px;
 | 
				
			||||||
  width: 100%;
 | 
					  width: 100%;
 | 
				
			||||||
  border: none;
 | 
					  border: none;
 | 
				
			||||||
  text-align: left;
 | 
					  text-align: left;
 | 
				
			||||||
  outline: none;
 | 
					  outline: none;
 | 
				
			||||||
  font-size: 15px;
 | 
					  font-size: 15px;
 | 
				
			||||||
  transition: 0.4s;
 | 
					 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
.nav-btn.hidden {
 | 
					.nav-btn.hidden {
 | 
				
			||||||
  display:none
 | 
					  display:none;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.nav-btn a{
 | 
				
			||||||
 | 
					  font-weight: normal;
 | 
				
			||||||
 | 
					  padding-right: 10px;
 | 
				
			||||||
 | 
					  border-radius: 15px;
 | 
				
			||||||
 | 
					  cursor: crosshair
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.nav-btn a.language{
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
.options {
 | 
					.options {
 | 
				
			||||||
@@ -363,24 +372,24 @@ blockquote {
 | 
				
			|||||||
    text-align:left;
 | 
					    text-align:left;
 | 
				
			||||||
    display: block;
 | 
					    display: block;
 | 
				
			||||||
	width:15rem;
 | 
						width:15rem;
 | 
				
			||||||
	display: flex;
 | 
					
 | 
				
			||||||
    flex-flow: row wrap;
 | 
					 | 
				
			||||||
    justify-content: start;
 | 
					    justify-content: start;
 | 
				
			||||||
	margin: 2px 2px 2px 0px
 | 
						margin: 2px 2px 2px 0px
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
.btn-2{
 | 
					.btn-2{
 | 
				
			||||||
  font-weight:700;
 | 
					  font-weight:700;
 | 
				
			||||||
  padding-right:10px;
 | 
					  padding-right:0.5rem;
 | 
				
			||||||
  padding-left:10px;
 | 
					  padding-left:0.5rem;
 | 
				
			||||||
  color:#fff;
 | 
					  color:#fff;
 | 
				
			||||||
  border:0;
 | 
					  border:0;
 | 
				
			||||||
  font-size:100%;
 | 
					  font-size:100%;
 | 
				
			||||||
  height:20px;
 | 
					  height:1.25rem;
 | 
				
			||||||
  outline: 0;
 | 
					  outline: 0;
 | 
				
			||||||
  border-radius: 3px;
 | 
					  border-radius: 0.3rem;
 | 
				
			||||||
  cursor: pointer;
 | 
					  cursor: pointer;
 | 
				
			||||||
  margin:2px;
 | 
					  margin:0.15rem;
 | 
				
			||||||
 | 
					  transition: all 1s linear;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
.btn-2.parody{
 | 
					.btn-2.parody{
 | 
				
			||||||
@@ -406,6 +415,15 @@ blockquote {
 | 
				
			|||||||
.btn-2.hover{
 | 
					.btn-2.hover{
 | 
				
			||||||
  filter: saturate(20%)
 | 
					  filter: saturate(20%)
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.btn-2.hidden{
 | 
				
			||||||
 | 
					  display: none;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.btn-2.vhidden {
 | 
				
			||||||
 | 
					  opacity: 0;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
input,input:focus{
 | 
					input,input:focus{
 | 
				
			||||||
  border:none;
 | 
					  border:none;
 | 
				
			||||||
  outline:0;
 | 
					  outline:0;
 | 
				
			||||||
@@ -442,3 +460,13 @@ html.theme-black code {
 | 
				
			|||||||
    border: none;
 | 
					    border: none;
 | 
				
			||||||
    background-color: #292929
 | 
					    background-color: #292929
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					.btn span.icon {
 | 
				
			||||||
 | 
					    background: url(imgs/icon.png) no-repeat;
 | 
				
			||||||
 | 
					    float: right;
 | 
				
			||||||
 | 
					    width: 10px;
 | 
				
			||||||
 | 
					    height: 40px;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.cross{
 | 
				
			||||||
 | 
						float:left
 | 
				
			||||||
 | 
						height: 5px;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@@ -18,18 +18,18 @@
 | 
				
			|||||||
        <nav class="sidenav">
 | 
					        <nav class="sidenav">
 | 
				
			||||||
			<img src="logo.png">
 | 
								<img src="logo.png">
 | 
				
			||||||
			<h1>nHentai Viewer</h1>
 | 
								<h1>nHentai Viewer</h1>
 | 
				
			||||||
									<button class="accordion">Language</button>
 | 
					            <button class="accordion">Language</button>
 | 
				
			||||||
            <div class="options" id="language">
 | 
					            <div class="options" id="language">
 | 
				
			||||||
                    <a>English</a>
 | 
					                    <a>English</a>
 | 
				
			||||||
                    <a>日本語</a>
 | 
					                    <a>Japanese</a>
 | 
				
			||||||
                    <a>中国語</a>
 | 
					                    <a>Chinese</a>
 | 
				
			||||||
            </div>
 | 
					            </div>
 | 
				
			||||||
			<button class="accordion">Category</button>
 | 
								<button class="accordion">Category</button>
 | 
				
			||||||
            <div class="options" id ="category">
 | 
					            <div class="options" id ="category">
 | 
				
			||||||
                    <a>Doujinshi	</a>
 | 
					                    <a>Doujinshi	</a>
 | 
				
			||||||
                    <a>Manga</a>
 | 
					                    <a>Manga</a>
 | 
				
			||||||
            </div>
 | 
					            </div>
 | 
				
			||||||
			<button class="nav-btn hidden">Filters</button>
 | 
								<button id="nav-btn" class="hidden">Filters</button>
 | 
				
			||||||
			<div class="search">
 | 
								<div class="search">
 | 
				
			||||||
				<input type="search" name="q" value="" autocapitalize="none" required="">
 | 
									<input type="search" name="q" value="" autocapitalize="none" required="">
 | 
				
			||||||
				<button type="submit" class="btn btn-primary btn-square">
 | 
									<button type="submit" class="btn btn-primary btn-square">
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -15,13 +15,17 @@ for (var i = 0; i < menu.length; i++) {
 | 
				
			|||||||
var language = document.getElementById("language").children;
 | 
					var language = document.getElementById("language").children;
 | 
				
			||||||
for (var i = 0; i < language.length; i++){
 | 
					for (var i = 0; i < language.length; i++){
 | 
				
			||||||
	language[i].addEventListener("click", function() {
 | 
						language[i].addEventListener("click", function() {
 | 
				
			||||||
		document.getElementById("language").style.maxHeight = null;
 | 
							toggler = document.getElementById("language")
 | 
				
			||||||
 | 
							toggler.style.maxHeight = null;
 | 
				
			||||||
		document.getElementsByClassName("accordion")[0].classList.toggle("active");
 | 
							document.getElementsByClassName("accordion")[0].classList.toggle("active");
 | 
				
			||||||
 | 
							var nav_btn = document.getElementsByClassName("nav-btn")[0];
 | 
				
			||||||
		var toggler = document.getElementsByClassName("nav-btn")[0].classList;
 | 
							if (nav_btn.classList.contains("hidden")){
 | 
				
			||||||
				if (toggler.contains("hidden")){
 | 
							  nav_btn.classList.toggle("hidden");
 | 
				
			||||||
		  toggler.toggle("hidden");
 | 
					 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
 | 
							var node = filter_maker(this.innerText, "language");
 | 
				
			||||||
 | 
							var check = filter_checker(this.innerText)
 | 
				
			||||||
 | 
							if (check == true){
 | 
				
			||||||
 | 
								nav_btn.appendChild(node);}
 | 
				
			||||||
});
 | 
					});
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
var category = document.getElementById("category").children;
 | 
					var category = document.getElementById("category").children;
 | 
				
			||||||
@@ -30,31 +34,72 @@ for (var i = 0; i < category.length; i++){
 | 
				
			|||||||
		document.getElementById("category").style.maxHeight = null;
 | 
							document.getElementById("category").style.maxHeight = null;
 | 
				
			||||||
		document.getElementsByClassName("accordion")[1].classList.toggle("active");
 | 
							document.getElementsByClassName("accordion")[1].classList.toggle("active");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		var toggler = document.getElementsByClassName("nav-btn")[0].classList;
 | 
							var nav_btn = document.getElementsByClassName("nav-btn")[0];
 | 
				
			||||||
				if (toggler.contains("hidden")){
 | 
							if (nav_btn.classList.contains("hidden")){
 | 
				
			||||||
		  toggler.toggle("hidden");
 | 
							  nav_btn.classList.toggle("hidden");
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							var node = filter_maker(this.innerText, "category");
 | 
				
			||||||
 | 
							var check = filter_checker(this.innerText)
 | 
				
			||||||
 | 
							if (check == true){
 | 
				
			||||||
 | 
								nav_btn.appendChild(node);}
 | 
				
			||||||
});
 | 
					});
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					tag_maker(tags)
 | 
				
			||||||
//-----------------------------------------------------------------------------------
 | 
					//-----------------------------------------------------------------------------------
 | 
				
			||||||
var tags = document.getElementById("tags");
 | 
					//------------------------------------Functions--------------------------------------
 | 
				
			||||||
for (i in data){
 | 
					
 | 
				
			||||||
	tag_maker(data[i])
 | 
					function filter_maker(text, class_value){
 | 
				
			||||||
 | 
					    var node = document.createElement("a");
 | 
				
			||||||
 | 
					    var textnode = document.createTextNode(text);
 | 
				
			||||||
 | 
					    node.appendChild(textnode);
 | 
				
			||||||
 | 
					    node.classList.add(class_value);
 | 
				
			||||||
 | 
					    return node;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					function filter_checker(text){
 | 
				
			||||||
 | 
					    var filter_tags = document.getElementsByClassName("nav-btn")[0].children;
 | 
				
			||||||
 | 
						if (filter_tags == null){return true;}
 | 
				
			||||||
 | 
						for (i in filter_tags){
 | 
				
			||||||
 | 
							if (filter_tags[i].innerText == text){return false;}
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return true;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function tag_maker(data){
 | 
					function tag_maker(data){
 | 
				
			||||||
	var options = ["parody", "character", "tag", "artist", "group"];
 | 
						for (i in data){
 | 
				
			||||||
		for (i in options){
 | 
							for (j in data[i]){
 | 
				
			||||||
			var i = options[i]
 | 
								var node = document.createElement("button");
 | 
				
			||||||
			if (data[i] != null){
 | 
								var textnode = document.createTextNode(data[i][j]);
 | 
				
			||||||
				for (j in data[i]){
 | 
								node.appendChild(textnode);
 | 
				
			||||||
					var node = document.createElement("button");                   // Create a <li> node
 | 
								node.classList.add("btn-2");
 | 
				
			||||||
					var textnode = document.createTextNode(data[i][j]);  					// Create a text node
 | 
								node.classList.add(i);
 | 
				
			||||||
					node.appendChild(textnode);                             // Append the text to <li>
 | 
								node.classList.add("hidden");
 | 
				
			||||||
					node.classList.add("btn-2");
 | 
								document.getElementById("tags").appendChild(node);
 | 
				
			||||||
					node.classList.add("parody");
 | 
					 | 
				
			||||||
					document.getElementById(i).appendChild(node);
 | 
					 | 
				
			||||||
					console.log("teste");
 | 
					 | 
				
			||||||
				}
 | 
					 | 
				
			||||||
			}
 | 
					 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					var input = document.getElementById("tagfilter");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					input.addEventListener("input", function() {
 | 
				
			||||||
 | 
						var tags = document.querySelectorAll(".btn-2");
 | 
				
			||||||
 | 
						if (this.value.length > 0) {
 | 
				
			||||||
 | 
					        for (var i = 0; i < tags.length; i++) {
 | 
				
			||||||
 | 
					            var tag = tags[i];
 | 
				
			||||||
 | 
					            var nome = tag.innerText;
 | 
				
			||||||
 | 
					            var exp = new RegExp(this.value, "i");;
 | 
				
			||||||
 | 
					            if (exp.test(nome)) {
 | 
				
			||||||
 | 
					                tag.classList.remove("hidden");
 | 
				
			||||||
 | 
							    }
 | 
				
			||||||
 | 
								else {
 | 
				
			||||||
 | 
									tag.classList.add("hidden");
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    } else {
 | 
				
			||||||
 | 
					        for (var i = 0; i < tags.length; i++) {
 | 
				
			||||||
 | 
					            var tag = tags[i];
 | 
				
			||||||
 | 
									tag.classList.add('hidden');
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					});
 | 
				
			||||||
		Reference in New Issue
	
	Block a user