mirror of
				https://codeberg.org/claui/mobile-config-firefox.git
				synced 2025-11-03 20:15:56 +00:00 
			
		
		
		
	tag-browser: assorted improvements to tag browser
This patch patch makes the link generator handle "+" characters in the filename. Additionally, file-target list should now have more-correct grid-layout without producing overflowing rows. The category list is fixed-positioned sidebar which hopefully makes mobile rendering work better than before.
This commit is contained in:
		
							parent
							
								
									c8f143e3c7
								
							
						
					
					
						commit
						e129aa349c
					
				
					 3 changed files with 39 additions and 32 deletions
				
			
		| 
						 | 
				
			
			@ -1,11 +1,15 @@
 | 
			
		|||
body{background-color: rgb(60,50,70); color: silver; margin: 0px }
 | 
			
		||||
#ui{ display: flex; }
 | 
			
		||||
:root{
 | 
			
		||||
  background-color: rgb(60,50,70);
 | 
			
		||||
  color: silver;
 | 
			
		||||
}
 | 
			
		||||
body{
 | 
			
		||||
  margin: 0px
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#site{
 | 
			
		||||
  height: 100vh;
 | 
			
		||||
  box-sizing: border-box;
 | 
			
		||||
  overflow-y: auto;
 | 
			
		||||
  flex: 1;
 | 
			
		||||
  border-top: 2.2em solid transparent;
 | 
			
		||||
  margin-left: 22ch;
 | 
			
		||||
  display: flex;
 | 
			
		||||
  flex-direction: column;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.categoryList{
 | 
			
		||||
| 
						 | 
				
			
			@ -13,25 +17,27 @@ body{background-color: rgb(60,50,70); color: silver; margin: 0px }
 | 
			
		|||
  box-sizing: border-box;
 | 
			
		||||
  border-inline-end: 1px solid gold;
 | 
			
		||||
  background-color: rgb(60,60,70);
 | 
			
		||||
  max-height: 100vh;
 | 
			
		||||
  height: 100vh;
 | 
			
		||||
  overflow-y: auto;
 | 
			
		||||
  min-width: 22ch
 | 
			
		||||
  min-width: 22ch;
 | 
			
		||||
  position: fixed;
 | 
			
		||||
  z-index: 1;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.categoryList.blurred{
 | 
			
		||||
  background-color: rgb(20,20,30);
 | 
			
		||||
  opacity: 0.5;
 | 
			
		||||
  margin-inline-end: -13ch;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.categoryList.blurred ~ #site{
 | 
			
		||||
  margin-left: 31ch
 | 
			
		||||
}
 | 
			
		||||
#secondaryCategories{
 | 
			
		||||
  position: relative;
 | 
			
		||||
  z-index:1;
 | 
			
		||||
  z-index:2;
 | 
			
		||||
  left: 8ch;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.categoryList:hover{
 | 
			
		||||
  position: relative;
 | 
			
		||||
  z-index: 2;
 | 
			
		||||
  z-index: 3;
 | 
			
		||||
  background-color: rgb(60,60,70);
 | 
			
		||||
  opacity: 1;
 | 
			
		||||
  box-shadow: 0 0 26px 0 black;
 | 
			
		||||
| 
						 | 
				
			
			@ -56,20 +62,21 @@ pre:empty{ display: none }
 | 
			
		|||
  padding: 0.3em;
 | 
			
		||||
  border: 1px solid rgb(40,40,40);
 | 
			
		||||
  border-radius: 4px;
 | 
			
		||||
  max-width: 30%;
 | 
			
		||||
  max-width: calc(100% / var(--grid-columns,1) - 20px);
 | 
			
		||||
  cursor: pointer;
 | 
			
		||||
  white-space:nowrap;
 | 
			
		||||
  display: flex;
 | 
			
		||||
}
 | 
			
		||||
.target > a{
 | 
			
		||||
  display:inline-block;
 | 
			
		||||
  width: 1.2em;
 | 
			
		||||
  height: 1.2em;
 | 
			
		||||
  display: inline-block;
 | 
			
		||||
  width: 1em;
 | 
			
		||||
  height: 1em;
 | 
			
		||||
  background-image: url("ext.svg");
 | 
			
		||||
  background-repeat: no-repeat;
 | 
			
		||||
  background-size: contain;
 | 
			
		||||
  flex-shrink: 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.target > span{
 | 
			
		||||
  overflow: hidden;
 | 
			
		||||
  pointer-events: none;
 | 
			
		||||
| 
						 | 
				
			
			@ -83,7 +90,7 @@ pre:empty{ display: none }
 | 
			
		|||
  flex-direction: column;
 | 
			
		||||
  flex-wrap: wrap;
 | 
			
		||||
  max-height: calc(var(--grid-rows) * 2.4rem);
 | 
			
		||||
  align-content: space-between;
 | 
			
		||||
  align-content: start;
 | 
			
		||||
  margin-bottom: 0.2em;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -93,11 +100,9 @@ pre:empty{ display: none }
 | 
			
		|||
  border-bottom: 1px solid black;
 | 
			
		||||
  border-left: 1px solid black;
 | 
			
		||||
  background: rgb(40,37,43);
 | 
			
		||||
  position: fixed;
 | 
			
		||||
  top: 0;
 | 
			
		||||
  right: 0;
 | 
			
		||||
  z-index: -1;
 | 
			
		||||
  display: inline-block;
 | 
			
		||||
  width: max-content;
 | 
			
		||||
  align-self: flex-end;
 | 
			
		||||
  order: -1;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
kbd{
 | 
			
		||||
| 
						 | 
				
			
			@ -161,17 +166,14 @@ pre > div{
 | 
			
		|||
  }
 | 
			
		||||
  .categoryList{
 | 
			
		||||
    opacity: 1;
 | 
			
		||||
    margin-inline-end: -13ch;
 | 
			
		||||
  }
 | 
			
		||||
  
 | 
			
		||||
  .banner{
 | 
			
		||||
    display: none;
 | 
			
		||||
  }
 | 
			
		||||
  #site{
 | 
			
		||||
    background-color: rgb(60,50,70);
 | 
			
		||||
    position: relative;
 | 
			
		||||
    border-top: none;
 | 
			
		||||
  }
 | 
			
		||||
  #ui > #site{ margin-left: 22ch }
 | 
			
		||||
  #targets{
 | 
			
		||||
    position: relative;
 | 
			
		||||
  }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -129,7 +129,12 @@ function showMatchingTargets(fileNames,setSelected = false){
 | 
			
		|||
      
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
  document.getElementById("targets").setAttribute("style",`--grid-rows:${Math.ceil(fileNames.length/3)}`)
 | 
			
		||||
  const container = document.getElementById("targets");
 | 
			
		||||
  const width = container.getBoundingClientRect().width;
 | 
			
		||||
  const horizontal_items = Math.max(1,Math.min(Math.floor(width / 180),4));
 | 
			
		||||
  const real_items = fileNames.length + bonus;
 | 
			
		||||
  const full_rows = Math.ceil(real_items/horizontal_items);
 | 
			
		||||
  document.getElementById("targets").setAttribute("style",`--grid-rows:${full_rows};--grid-columns:${Math.ceil(real_items/full_rows)}`);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function onCategoryClicked(categoryNode,isSecondary = false){
 | 
			
		||||
| 
						 | 
				
			
			@ -253,7 +258,7 @@ const selectedTarget = new(function(){
 | 
			
		|||
    for(let value of selected.values()){
 | 
			
		||||
      t.push(value.getAttribute("title")+".css")
 | 
			
		||||
    }
 | 
			
		||||
    history.replaceState(state_object,"",`?file=${t.join(",")}`);
 | 
			
		||||
    history.replaceState(state_object,"",`?file=${t.map(encodeURIComponent).join(",")}`);
 | 
			
		||||
  }
 | 
			
		||||
})();
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -26,7 +26,7 @@
 | 
			
		|||
      <div class="hint placeholder">Select a style category from the left pane</div>
 | 
			
		||||
    </div>
 | 
			
		||||
    <div>
 | 
			
		||||
      <code-block data-highlight="css" data-matchlinks="[\w-\.]+\.css -> ./chrome/%s" id="previewBox" class="copy-able"></code-block>
 | 
			
		||||
      <code-block data-highlight="css" data-matchlinks="[\w-\.\+]+\.css -> ./chrome/%s" id="previewBox" class="copy-able"></code-block>
 | 
			
		||||
    </div>
 | 
			
		||||
  </main>
 | 
			
		||||
</div>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue