autism die zweite
This commit is contained in:
		| @@ -6,7 +6,7 @@ | ||||
|   <link rel="stylesheet" type="text/css" href="./s/style.css"> | ||||
| </head> | ||||
| <body> | ||||
| 	<div class="navbar"><a href="/">f0ck.me</a> | <a href="/how">how to</a> | <a href="/contact">Contact</a> | <span id="themes"></span></div> | ||||
|   <div class="navbar"><a href="/">f0ck.me</a> | <a href="/how">how to</a> | <a href="/contact">Contact</a> | <span id="themes"></span></div> | ||||
|   <ul id="posts" data-last="{{ last }}"> | ||||
|     {% for item in items %}<li class="post"><a href="./{{ item.id }}" title="{{ item.mime }}"><img class="thumb" src="./t/{{ item.id }}.png" /></a></li> | ||||
|     {% endfor %} | ||||
|   | ||||
| @@ -10,11 +10,11 @@ | ||||
|   <div class="return"><a href="/" title="return to main">f0ck.me</a></div> | ||||
|   <div class="controls"> | ||||
|     {% if next != null %} | ||||
| 	<a id="next" href="/{{ next }}"><<-</a> |  | ||||
|   <a id="next" href="/{{ next }}"><<-</a> |  | ||||
|     {% endif %} | ||||
| 	<a id="random" href="/random">random</a>  | ||||
|   <a id="random" href="/random">random</a>  | ||||
|     {% if prev != null %} | ||||
| 	 | <a id="prev" href="/{{ prev }}">->></a> | ||||
|    | <a id="prev" href="/{{ prev }}">->></a> | ||||
|     {% endif %} | ||||
|   </div> | ||||
|  | ||||
|   | ||||
| @@ -1,17 +1,17 @@ | ||||
|   var load = false; | ||||
|   $(()=>{ | ||||
|     $(window).scroll(()=>{ | ||||
|       if($(window).scrollTop() + $(window).height() >= $(document).height() - 130 && !load) { | ||||
|         load = true; | ||||
|         $.getJSON('./api/p/'+$('#posts').data('last'), (msg) => { | ||||
|           var html = ""; | ||||
|           for(var i = 0; i < msg.items.length; i++) | ||||
|             if(msg.items[i].id) | ||||
|               html += "<li class=\"post\"><a href=\"./"+msg.items[i].id+"\" title=\""+msg.items[i].mime+"\"><img class=\"thumb\" src=\"./t/"+msg.items[i].id+".png\" /></a></li>\n"; | ||||
|           $('#posts').append(html); | ||||
|           $('#posts').data('last', msg.last); | ||||
|           load = false; | ||||
|         }); | ||||
|       } | ||||
|     }); | ||||
| var load = false; | ||||
| $(()=>{ | ||||
|   $(window).scroll(()=>{ | ||||
|     if($(window).scrollTop() + $(window).height() >= $(document).height() - 130 && !load) { | ||||
|       load = true; | ||||
|       $.getJSON('./api/p/'+$('#posts').data('last'), (msg) => { | ||||
|         var html = ""; | ||||
|         for(var i = 0; i < msg.items.length; i++) | ||||
|           if(msg.items[i].id) | ||||
|             html += "<li class=\"post\"><a href=\"./"+msg.items[i].id+"\" title=\""+msg.items[i].mime+"\"><img class=\"thumb\" src=\"./t/"+msg.items[i].id+".png\" /></a></li>\n"; | ||||
|         $('#posts').append(html); | ||||
|         $('#posts').data('last', msg.last); | ||||
|         load = false; | ||||
|       }); | ||||
|     } | ||||
|   }); | ||||
| }); | ||||
							
								
								
									
										135
									
								
								s/theme.js
									
									
									
									
									
								
							
							
						
						
									
										135
									
								
								s/theme.js
									
									
									
									
									
								
							| @@ -1,5 +1,4 @@ | ||||
| /* Thanks to StephenLynx, I modified his Theme Changer from the Penumbra Lynx Frontend for the Lynxchan Software https://gitgud.io/LynxChan/LynxChan and reused it to make f0ck a nicer place. */ | ||||
|  | ||||
| var themes = [ { | ||||
|   file : 'cyber.css', | ||||
|   label : 'Cyber', | ||||
| @@ -13,109 +12,69 @@ var themes = [ { | ||||
|   label : 'TERM', | ||||
|   id : 'TERM' | ||||
| }]; | ||||
|  | ||||
| var customCss; | ||||
| var addedTheme; | ||||
|  | ||||
| function updateCss() { | ||||
|  | ||||
|   if (addedTheme) { | ||||
|     addedTheme.parentNode.removeChild(addedTheme); | ||||
|     addedTheme = null; | ||||
|   } | ||||
|  | ||||
|   for (var i = 0; i < themes.length; i++) { | ||||
|     var theme = themes[i]; | ||||
|  | ||||
|     if (theme.id === localStorage.selectedTheme) { | ||||
|       addedTheme = theme.element; | ||||
|       document.head.insertBefore(theme.element, customCss); | ||||
|     } | ||||
|   } | ||||
|  | ||||
| } | ||||
|  | ||||
|   for (var i = 0; i < document.head.children.length; i++) { | ||||
|     var element = document.head.children[i]; | ||||
|  | ||||
|     if (element.rel === 'stylesheet' | ||||
|         && element.href.indexOf('/custom.css') > -1) { | ||||
|  | ||||
|       customCss = element; | ||||
|       break; | ||||
| for (var i = 0; i < document.head.children.length; i++) { | ||||
|   var element = document.head.children[i]; | ||||
|   if (element.rel === 'stylesheet' && element.href.indexOf('/custom.css') > -1) { | ||||
|     customCss = element; | ||||
|     break; | ||||
|   } | ||||
| } | ||||
| for (var i = 0; i < themes.length; i++) { | ||||
|   themes[i].element = document.createElement('link'); | ||||
|   themes[i].element.type = 'text/css'; | ||||
|   themes[i].element.rel = 'stylesheet'; | ||||
|   themes[i].element.href = './s/' + themes[i].file; | ||||
| } | ||||
| updateCss(); | ||||
| var postingLink = document.getElementById('themes'); | ||||
| if (postingLink) { | ||||
|   var divider = document.createElement('span'); | ||||
|   divider.innerHTML = ''; | ||||
|   var referenceNode = postingLink.nextSibling; | ||||
|   postingLink.parentNode.insertBefore(divider, referenceNode); | ||||
|   var themeSelector = document.createElement('select'); | ||||
|   themeSelector.id = 'themeSelector'; | ||||
|   var vanillaOption = document.createElement('option'); | ||||
|   vanillaOption.innerHTML = 'Default'; | ||||
|   themeSelector.appendChild(vanillaOption); | ||||
|   for (i = 0; i < themes.length; i++) { | ||||
|     var theme = themes[i]; | ||||
|     var themeOption = document.createElement('option'); | ||||
|     themeOption.innerHTML = theme.label; | ||||
|     if (theme.id === localStorage.selectedTheme) { | ||||
|       themeOption.selected = true; | ||||
|     } | ||||
|  | ||||
|     themeSelector.appendChild(themeOption); | ||||
|   } | ||||
|  | ||||
|   for (var i = 0; i < themes.length; i++) { | ||||
|     themes[i].element = document.createElement('link'); | ||||
|     themes[i].element.type = 'text/css'; | ||||
|     themes[i].element.rel = 'stylesheet'; | ||||
|     themes[i].element.href = './s/' + themes[i].file; | ||||
|   } | ||||
|  | ||||
|   updateCss(); | ||||
|  | ||||
|   var postingLink = document.getElementById('themes'); | ||||
|  | ||||
|   if (postingLink) { | ||||
|  | ||||
|     var divider = document.createElement('span'); | ||||
|     divider.innerHTML = ''; | ||||
|  | ||||
|     var referenceNode = postingLink.nextSibling; | ||||
|  | ||||
|     postingLink.parentNode.insertBefore(divider, referenceNode); | ||||
|  | ||||
|     var themeSelector = document.createElement('select'); | ||||
|     themeSelector.id = 'themeSelector'; | ||||
|  | ||||
|     var vanillaOption = document.createElement('option'); | ||||
|     vanillaOption.innerHTML = 'Default'; | ||||
|     themeSelector.appendChild(vanillaOption); | ||||
|  | ||||
|     for (i = 0; i < themes.length; i++) { | ||||
|  | ||||
|       var theme = themes[i]; | ||||
|  | ||||
|       var themeOption = document.createElement('option'); | ||||
|       themeOption.innerHTML = theme.label; | ||||
|  | ||||
|       if (theme.id === localStorage.selectedTheme) { | ||||
|         themeOption.selected = true; | ||||
|   themeSelector.onchange = function() { | ||||
|     if (!themeSelector.selectedIndex) { | ||||
|       if (localStorage.selectedTheme) { | ||||
|         delete localStorage.selectedTheme; | ||||
|         updateCss(); | ||||
|       } | ||||
|  | ||||
|       themeSelector.appendChild(themeOption); | ||||
|  | ||||
|       return; | ||||
|     } | ||||
|  | ||||
|     themeSelector.onchange = function() { | ||||
|  | ||||
|       if (!themeSelector.selectedIndex) { | ||||
|  | ||||
|         if (localStorage.selectedTheme) { | ||||
|  | ||||
|           delete localStorage.selectedTheme; | ||||
|  | ||||
|           updateCss(); | ||||
|         } | ||||
|  | ||||
|         return; | ||||
|       } | ||||
|  | ||||
|       var selectedTheme = themes[themeSelector.selectedIndex - 1]; | ||||
|  | ||||
|       if (selectedTheme.id === localStorage.selectedTheme) { | ||||
|         return; | ||||
|       } | ||||
|  | ||||
|       localStorage.selectedTheme = selectedTheme.id; | ||||
|  | ||||
|       updateCss(); | ||||
|  | ||||
|     }; | ||||
|  | ||||
|     postingLink.parentNode.insertBefore(themeSelector, referenceNode); | ||||
|  | ||||
|   } | ||||
|  | ||||
|     var selectedTheme = themes[themeSelector.selectedIndex - 1]; | ||||
|     if (selectedTheme.id === localStorage.selectedTheme) { | ||||
|       return; | ||||
|     } | ||||
|     localStorage.selectedTheme = selectedTheme.id; | ||||
|     updateCss(); | ||||
|   }; | ||||
|   postingLink.parentNode.insertBefore(themeSelector, referenceNode); | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user