| 
						
						
						
					 | 
				
				 | 
				
					@ -1,35 +1,17 @@ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					tag app-bang | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						def unset_active_bang | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							state.active_bang = no | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							api.sort_links! | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						get bang | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							state.active_bang or config.data.default_bang | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						get encoded_bang_query | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							"{bang.url}{window.encodeURIComponent(state.query)}" | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						def handle_bang | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							await api.increment_link_frequency bang | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							window.location.href = encoded_bang_query | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						def render | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							<self> | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								css w:100% d:flex fld:column gap:15px | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								<app-tips> | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
									<.tip-row> | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						get tips | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							let tips = [] | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							tips.push <> | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								<.tip | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
											@click=handle_bang | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
											@hotkey('return').capture.if(!state.loading)=handle_bang | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
									@click=api.handle_bang | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
									@hotkey('return').capture.if(!state.loading)=api.handle_bang | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								> | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
									<.tip-hotkey> "Return" | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
									<.tip-content> "Search" | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							tips.push <> | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								<.tip | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
									@click=api.handle_add_link | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
									@hotkey('shift+return').capture.if(!state.loading)=api.handle_add_link | 
				
			
			
		
	
	
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
				
				 | 
				
					@ -47,9 +29,10 @@ tag app-bang | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
										else | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
											<span> "\"{sq.join " "}\"" | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							tips.push <> | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								if state.active_bang | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
									<.tip | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
												@click=unset_active_bang | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
										@click=api.unset_active_bang | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
										@hotkey('esc').capture.if(!state.loading)=unset_active_bang | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
									> | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
										<.tip-hotkey> "Esc" | 
				
			
			
		
	
	
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
				
				 | 
				
					@ -59,10 +42,7 @@ tag app-bang | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
										<.tip-hotkey> "Paste (If Input Empty)" | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
										<.tip-content> "Instant Search" | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								<app-tips-more$tips-more> | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
									<.tip-row> | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							tips.push <> | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								<.tip | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
									@click.if(!state.loading)=api.toggle_effective_names | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
									@hotkey('tab').capture.if(!state.loading)=api.toggle_effective_names | 
				
			
			
		
	
	
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
				
				 | 
				
					@ -70,10 +50,9 @@ tag app-bang | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
									<.tip-hotkey> "Tab" | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
									<.tip-content> "Toggle Effective Names" | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
										<.tip | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
											@click.if(!loading)=api.handle_cut | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
										> | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
											if math_result | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							tips.push <> | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								<.tip @click.if(!loading)=api.handle_cut> | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
									if api.math_result | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
										<.tip-hotkey> "Cut (Math, If No Selection)" | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
										<.tip-content> "Cut Math Result" | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
									else | 
				
			
			
		
	
	
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
				
				 | 
				
					@ -81,28 +60,36 @@ tag app-bang | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
										<.tip-content> "Cut All Text" | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							if state.active_bang | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								tips.push <> | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
									<.tip.noclick> | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
										<.tip-hotkey> "Paste (If Input Empty)" | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
										<.tip-content> "Instant Search" | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
										else | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
											<.tip.placeholder> | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								unless $tips-more.active | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
									<.bang.selected@click=handle_bang> | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							tips | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						def render | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							<self> | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								css w:100% d:flex fld:column gap:15px | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								<app-tips$tips tips=tips> | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								unless $tips.show_more | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
									<.bang.selected@click=api.handle_bang> | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
										css d:flex fld:row jc:space-between ai:center | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
											px:16px py:11px rd:5px cursor:pointer c:#FAD4AB | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
										<.link-left> | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
											css d:flex fl:1 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
											<img.link-icon src=bang.icon> | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
											<img.link-icon src=api.bang.icon> | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
												css w:20px h:20px mr:10px rd:3px | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
											<.display-name> encoded_bang_query | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
											<.display-name> api.encoded_bang_query | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
												css fs:20px word-break:break-all | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
										<.link-right> | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
											css d:flex fld:row jc:space-between ai:center | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
											<.frequency> bang.frequency | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
											<.frequency> api.bang.frequency | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
												css fs:15px ml:7px | 
				
			
			
		
	
	
		
			
				
					| 
						
						
						
					 | 
				
				 | 
				
					
  |