| 
						
						
						
					 | 
					@ -1,7 +1,7 @@ | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					tag app-links | 
					 | 
					 | 
					tag app-links | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					
 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
						selection_index = 0 | 
					 | 
					 | 
						selection_index = 0 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
						bang = no | 
					 | 
					 | 
						active_bang = no | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					 | 
					 | 
					
 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
						def mount | 
					 | 
					 | 
						def mount | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
							p document | 
					 | 
					 | 
							p document | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					@ -13,12 +13,6 @@ tag app-links | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
						def decrement_selection_index | 
					 | 
					 | 
						def decrement_selection_index | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
							selection_index = Math.max(0, selection_index - 1) | 
					 | 
					 | 
							selection_index = Math.max(0, selection_index - 1) | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					
 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
						get active_bang | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
							return bang or config.data.default_bang | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
						get encoded_bang_query | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
							"{active_bang.url}{window.encodeURIComponent(state.query)}" | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
						get math_result | 
					 | 
					 | 
						get math_result | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
							try | 
					 | 
					 | 
							try | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
								let result = Number(eval_math state.query) | 
					 | 
					 | 
								let result = Number(eval_math state.query) | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
					@ -48,18 +42,7 @@ tag app-links | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
							state.loading = no | 
					 | 
					 | 
							state.loading = no | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					
 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
						def handle_click_link link | 
					 | 
					 | 
						def handle_click_link link | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
							if link.is_bang | 
					 | 
					 | 
							navigate link | 
				
			
			
				
				
			
		
	
		
		
			
				
					 | 
					 | 
								state.query = '' | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
								bang = link | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
							else | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
								navigate link | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
						def handle_bang | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
							await increment_link_frequency active_bang | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
							window.location.href = encoded_bang_query | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
						def handle_click_bang | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
							handle_bang! | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
	
		
		
			
				
					 | 
					 | 
					
 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
						def navigate link | 
					 | 
					 | 
						def navigate link | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
							await increment_link_frequency link | 
					 | 
					 | 
							await increment_link_frequency link | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					@ -67,18 +50,18 @@ tag app-links | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					
 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
						def handle_return | 
					 | 
					 | 
						def handle_return | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
							return if editing_link | 
					 | 
					 | 
							return if editing_link | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
							if bang or state.sorted_links.length < 1 | 
					 | 
					 | 
							if active_bang or state.sorted_links.length < 1 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					 | 
					 | 
								return handle_bang! | 
					 | 
					 | 
								return handle_bang! | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
							let link = selected_link | 
					 | 
					 | 
							let link = selected_link | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
							if link.is_bang | 
					 | 
					 | 
							if link.is_bang | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
								state.query = '' | 
					 | 
					 | 
								state.query = '' | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
								bang = link | 
					 | 
					 | 
								active_bang = link | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					 | 
					 | 
							else | 
					 | 
					 | 
							else | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
								navigate link | 
					 | 
					 | 
								navigate link | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					
 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
						def handle_del | 
					 | 
					 | 
						def handle_del | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
							if state.query.length < 1 | 
					 | 
					 | 
							if state.query.length < 1 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
								bang = no | 
					 | 
					 | 
								active_bang = no | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					 | 
					 | 
								api.sort_links! | 
					 | 
					 | 
								api.sort_links! | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					
 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
						def handle_click_delete link | 
					 | 
					 | 
						def handle_click_delete link | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
					@ -126,79 +109,22 @@ tag app-links | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					
 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
							<self[w:100%]> | 
					 | 
					 | 
							<self[w:100%]> | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					
 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
								css .link | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
									d:flex fld:row jc:space-between ai:center | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
									px:16px py:11px rd:5px cursor:pointer c:blue3 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
								css .link-left | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
									d:flex fl:1 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
								css .link-icon | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
									w:20px h:20px mr:10px rd:3px | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
								css .display-name | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
									tt:capitalize fs:20px | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
									overflow-wrap:anywhere | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
								css .name | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
									d:flex ja:center | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
									c:gray4 ml:10px fs:14px | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
								css .parens | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
									fs:10px c:gray4/80 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
								css .bang-text | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
									tt:none word-break:break-all | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
								css .link-right | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
									d:flex fld:row jc:space-between ai:center | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
								css .link-buttons | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
									d:flex fld:row jc:flex-start ai:center pr:25px gap:5px | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
								css .link-button | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
									visibility:hidden | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
									rd:3px c:purple4 fs:15px cursor:pointer | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
									px:3px | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
								css .link-button svg | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
									w:15px | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
								css .selected .link-button | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
									visibility:visible | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
								css .buttons-disabled .link-button | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
									visibility:hidden | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
								css .frequency | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
									fs:15px ml:7px | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
								css .header | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
									d:flex fld:row w:100% | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
								css .side | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
									c:purple3/90 fs:15px | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
									d:flex ja:center w:30px | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
									cursor:pointer | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
								css .side svg | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
									w:15px | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
								css .left | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
									d:flex jc:left | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
								css .right | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
									d:flex jc:right | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
								if $as.active | 
					 | 
					 | 
								if $as.active | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
									<app-settings$as> | 
					 | 
					 | 
									<app-settings$as> | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					
 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
								else | 
					 | 
					 | 
								else | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
									<.header> | 
					 | 
					 | 
									<.header> | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
										css d:flex fld:row w:100% | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
										css .side c:purple3/90 fs:15px d:flex ja:center w:30px cursor:pointer | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
										css .side svg w:15px | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
										<.side@click=api.toggle_effective_names> | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
											css d:flex jc:left | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					
 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
										<.side.left@click=api.toggle_effective_names> | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
											if config.data.enable_effective_names | 
					 | 
					 | 
											if config.data.enable_effective_names | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
												<svg src="../assets/eye.svg"> | 
					 | 
					 | 
												<svg src="../assets/eye.svg"> | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
											else | 
					 | 
					 | 
											else | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
												<svg src="../assets/eye-off.svg"> | 
					 | 
					 | 
												<svg src="../assets/eye-off.svg"> | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					
 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					@ -221,83 +147,85 @@ tag app-links | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
										> | 
					 | 
					 | 
										> | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					
 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
										if (let m = math_result) isnt no | 
					 | 
					 | 
										if (let m = math_result) isnt no | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
											<.side.right[c:blue3 fs:20px ml:10px w:unset] | 
					 | 
					 | 
											<.side @click=handle_click_copy(m)> | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
												@click=handle_click_copy(m) | 
					 | 
					 | 
												"= {Math.round(m * 100)/100}" | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
											> "= {Math.round(m * 100)/100}" | 
					 | 
					 | 
												css d:flex jc:right c:blue3 fs:20px ml:10px w:unset | 
				
			
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
										else | 
					 | 
					 | 
										else | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
											<.side.right @click.if(!state.loading)=toggle_settings> | 
					 | 
					 | 
											<.side.right @click.if(!state.loading)=toggle_settings> | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
												<svg src="../assets/settings.svg"> | 
					 | 
					 | 
												<svg src="../assets/settings.svg"> | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					
 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
									if config.data.enable_tips | 
					 | 
					 | 
									if config.data.enable_tips | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
										<.middle-button> | 
					 | 
					 | 
										if active_bang | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
											<.tip[jc:start ta:left fl:1] @click=handle_return> | 
					 | 
					 | 
					
 | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
												<.tip-hotkey> "Return" | 
					 | 
					 | 
											<.tips> | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
												<.tip-content> "Navigate To Link" | 
					 | 
					 | 
					
 | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
											<.tip[jc:center ta:center fl:2 px:15px] | 
					 | 
					 | 
												<.tip@click=handle_search> | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
												@click=handle_shift_return | 
					 | 
					 | 
													<.tip-hotkey> "Return" | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
											> | 
					 | 
					 | 
													<.tip-content> "Search With Query" | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
												<.tip-hotkey> "Shift + Return" | 
					 | 
					 | 
					
 | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
												<.tip-content[of:hidden text-overflow:ellipsis white-space:nowrap]> | 
					 | 
					 | 
												<.tip@click=exit_bang> | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
													<span> "Add New Link" | 
					 | 
					 | 
													<.tip-hotkey> "Esc" | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
													<span[ws:pre]> " " | 
					 | 
					 | 
													<.tip-content> "Exit Bang" | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
													let sq = state.query.trim!.split /\s+/ | 
					 | 
					 | 
					
 | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
													if sq.length >= 2 | 
					 | 
					 | 
												<.tip[jc:center ta:center fl:2 px:15px] | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
														let url = sq.pop! | 
					 | 
					 | 
													@click=handle_shift_return | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
														<span> '"' | 
					 | 
					 | 
												> | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
														<span> sq.join ' ' | 
					 | 
					 | 
													<.tip-hotkey> "Shift + Return" | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
														<span[ws:pre]> ' ' | 
					 | 
					 | 
													<.tip-content[of:hidden text-overflow:ellipsis white-space:nowrap]> | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
														<span[c:blue3]> url | 
					 | 
					 | 
														<span> "Add New Link" | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
														<span> '"' | 
					 | 
					 | 
														<span[ws:pre]> " " | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
													else | 
					 | 
					 | 
														let sq = state.query.trim!.split /\s+/ | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
														<span> '"' | 
					 | 
					 | 
														if sq.length >= 2 | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
														<span> sq.join ' ' | 
					 | 
					 | 
															let url = sq.pop! | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
														<span> '"' | 
					 | 
					 | 
															<span> '"' | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
											<.tip[jc:end ta:right fl:1] | 
					 | 
					 | 
															<span> sq.join ' ' | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
												@click=handle_shift_backspace | 
					 | 
					 | 
															<span[ws:pre]> ' ' | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
											> | 
					 | 
					 | 
															<span[c:blue3]> url | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
												<.tip-hotkey> "Shift + Backspace" | 
					 | 
					 | 
															<span> '"' | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
												<.tip-content> "Edit Link" | 
					 | 
					 | 
														else | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					
 | 
					 | 
					 | 
															<span> '"' | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
									<div> | 
					 | 
					 | 
															<span> sq.join ' ' | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
										css d:flex fld:column jc:flex-start fl:1 w:100% ofy:auto pt:15px | 
					 | 
					 | 
															<span> '"' | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					
 | 
					 | 
					 | 
					
 | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
										if not viewing_community_links and (bang or state.sorted_links.length < 1) | 
					 | 
					 | 
												<.tip[jc:end ta:right fl:1] | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
											<a.link.selected | 
					 | 
					 | 
													@click=handle_shift_backspace | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
												href=encoded_bang_query | 
					 | 
					 | 
												> | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
												@click=handle_click_bang | 
					 | 
					 | 
													<.tip-hotkey> "Tab" | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
											> | 
					 | 
					 | 
													<.tip-content> "Select Next History Item" | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
												<.link-left> | 
					 | 
					 | 
					
 | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
													<img.link-icon src=active_bang.icon> | 
					 | 
					 | 
										else | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
													<.display-name.bang-text> encoded_bang_query | 
					 | 
					 | 
					
 | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
												<.link-right[jc:flex-end]> | 
					 | 
					 | 
											<.tips> | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
													<.frequency> active_bang.frequency | 
					 | 
					 | 
					
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
												<.tip @click=handle_return> | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
													<.tip-hotkey> "Return" | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
													<.tip-content> "Navigate To Link" | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
												<.tip[fl:2] @click=handle_shift_return> | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
													<.tip-hotkey> "Shift + Return" | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
													<.tip-content.ellipsis> | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
														<span[ws:pre]> "Add New Link " | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
														let sq = state.query.trim!.split /\s+/ | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
														if sq.length >= 2 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
															let url = sq.pop! | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
															<span> '"' | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
															<span> sq.join " " | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
															<span[c:blue3 ws:pre]> " {url}" | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
															<span> '"' | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
														else | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
															<span> '"{sq.join " "}"' | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
												<.tip @click=handle_shift_backspace> | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
													<.tip-hotkey> "Shift + Backspace" | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
													<.tip-content> "Edit Link" | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
									<.links> | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
										css d:flex fld:column jc:flex-start | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
											fl:1 w:100% ofy:auto pt:15px | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
										if not viewing_community_links and (active_bang or state.sorted_links.length < 1) | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
											<app-bang data=active_bang> | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
										else | 
					 | 
					 | 
										else | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
											for link, index in state.sorted_links | 
					 | 
					 | 
											for link, index in state.sorted_links | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
												<a.link | 
					 | 
					 | 
												<app-link data=link index=index> | 
				
			
			
				
				
			
		
	
		
		
			
				
					 | 
					 | 
													href=link.url | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
													@pointerover=(selection_index = index) | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
													@click.prevent=handle_click_link(link) | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
													.selected=(index is selection_index) | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
												> | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
													<.link-left> | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
														<img.link-icon src=link.icon> | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
														<.display-name | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
															[c:#FAD4AB]=link.is_bang | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
														> link.display_name | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
														if link.display_name isnt link.name and config.data.enable_effective_names | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
															<.name> | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
																<span.parens> "(" | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
																<span> link.name | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
																<span.parens> ")" | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
													<.link-right> | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
														<.link-buttons .buttons-disabled=!config.data.enable_buttons> | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
															<.link-button@click.prevent.stop=handle_click_edit(link)> | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
																<svg src='../assets/edit-2.svg'> | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
															<.link-button@click.prevent.stop=handle_click_delete(link)> | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
																<svg src='../assets/trash.svg'> | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
															<.link-button | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
																@click.prevent.stop=handle_click_pin(link) | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
																[visibility:visible c:purple3/50]=(link.is_pinned and (index isnt selection_index or not config.data.enable_buttons)) | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
															> | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
																<svg src='../assets/star.svg'> | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
														<.frequency> link.frequency | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
	
	
		
		
			
				
					| 
						
						
						
					 | 
					
  |