| 
						
						
							
								
							
						
						
					 | 
				
				 | 
				
					@ -2,8 +2,6 @@ import { evaluate as eval_math } from 'mathjs' | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					tag app-links | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						active_bang = no | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						def mount | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							p document | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							$links-input.focus! | 
				
			
			
		
	
	
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
				
				 | 
				
					@ -53,26 +51,19 @@ tag app-links | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							api.set_link_selection_index 0 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							api.sort_links! | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						def handle_click_link link | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							navigate link | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						def navigate link | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							await increment_link_frequency link | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							window.location.href = link.url | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						def handle_return | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							if active_bang or state.sorted_links.length < 1 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						def handle_click_link | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							if state.active_bang or state.sorted_links.length < 1 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								return handle_bang! | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							let link = api.selected_link | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							if link.is_bang | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								state.query = '' | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								active_bang = link | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								state.active_bang = link | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							else | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								navigate link | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								api.navigate link | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						def handle_del | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							if state.query.length < 1 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								active_bang = no | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								state.active_bang = no | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								api.sort_links! | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						def handle_click_delete link | 
				
			
			
		
	
	
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
				
				 | 
				
					@ -142,7 +133,6 @@ tag app-links | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
											@keydown.del.if(!state.loading)=handle_del | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
											@input.if(!state.loading)=handle_input | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
											@paste.if(!state.loading)=handle_paste | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
											@blur=this.focus | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
											@cut=handle_cut | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
											disabled=state.loading | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
										> | 
				
			
			
		
	
	
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
				
				 | 
				
					@ -157,49 +147,25 @@ tag app-links | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
												<svg src="../assets/settings.svg"> | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
									if config.data.enable_tips | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
										if active_bang | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
										if state.active_bang | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
											<.tips> | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
												<.tip@click=handle_search> | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
													<.tip-hotkey> "Return" | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
													<.tip-content> "Search With Query" | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
												<.tip@click=exit_bang> | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
													<.tip-hotkey> "Esc" | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
													<.tip-content> "Exit Bang" | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
												<.tip[jc:center ta:center fl:2 px:15px] | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
													@click=handle_shift_return | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
												> | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
													<.tip-hotkey> "Shift + Return" | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
													<.tip-content[of:hidden text-overflow:ellipsis white-space:nowrap]> | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
														<span> "Add New Link" | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
														<span[ws:pre]> " " | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
														let sq = state.query.trim!.split /\s+/ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
														if sq.length >= 2 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
															let url = sq.pop! | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
															<span> '"' | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
															<span> sq.join ' ' | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
															<span[ws:pre]> ' ' | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
															<span[c:blue3]> url | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
															<span> '"' | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
														else | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
															<span> '"' | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
															<span> sq.join ' ' | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
															<span> '"' | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
												<.tip[jc:end ta:right fl:1] | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
													@click=handle_shift_backspace | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
												<.tip | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
													@click=(state.active_bang = no) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
													@hotkey('esc').capture.if(!state.loading)=(state.active_bang = no) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
												> | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
													<.tip-hotkey> "Tab" | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
													<.tip-content> "Select Next History Item" | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
													<.tip-hotkey> "Esc" | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
													<.tip-content> "Back" | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
										else | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
											<.tips> | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
												<.tip @click=handle_return> | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
												<.tip | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
													@click=handle_click_link | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
													@hotkey('return').force.if(!loading)=handle_click_link | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
												> | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
													<.tip-hotkey> "Return" | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
													<.tip-content> "Navigate To Link" | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
	
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
				
				 | 
				
					@ -225,8 +191,8 @@ tag app-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> | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
										if not viewing_community_links and (state.active_bang or state.sorted_links.length < 1) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
											<app-bang data=state.active_bang> | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
										else | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
											for link, index in state.sorted_links | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
												<app-link link=link index=index> | 
				
			
			
		
	
	
		
			
				
					| 
						
						
						
					 | 
				
				 | 
				
					
  |