| 
						
						
							
								
							
						
						
					 | 
				
				 | 
				
					@ -15,8 +15,8 @@ let state = { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						scored_links: [] | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					} | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					global._fuzzyhome_delete_everything = do | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						return unless window.confirm "This will delete everything. Are you sure?" | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					global._fuzzyhome_delete_everything = do |prompt=yes| | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						return if prompt and window.confirm "This will delete everything. Are you sure?" | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						indexedDB.deleteDatabase("fuzzyhome") | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						delete localStorage.fuzzyhome_config | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						delete localStorage.fuzzyhome_visited | 
				
			
			
		
	
	
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
				
				 | 
				
					@ -69,16 +69,17 @@ tag app | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								config = JSON.parse(global.localStorage.fuzzyhome_config) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								validate_config! | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							catch | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								p "resetting config" | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								reset_config! | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						def validate_config | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							p config | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							throw _ if config.default_bang.id is null | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							throw _ if config.default_bang.url is null | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							throw _ if config.default_bang.icon is null | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							throw _ if config.default_bang.name is null | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							throw _ if config.default_bang.frequency is null | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							throw _ if config.default_bang.display_name is null | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							throw _ if config.default_bang.id == null | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							throw _ if config.default_bang.url == null | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							throw _ if config.default_bang.icon == null | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							throw _ if config.default_bang.name == null | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							throw _ if config.default_bang.frequency == null | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							throw _ if config.default_bang.display_name == null | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						def reset_config | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							p "resetting config" | 
				
			
			
		
	
	
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
				
				 | 
				
					@ -96,6 +97,25 @@ tag app | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							state.links = await db.links.toArray() | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							sort_links! | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						get tip_url | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							let split_query = state.query.trim!.split /\s+/ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							if split_query.length >= 2 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								return ' https://' + split_query.pop! | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							else | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								return '' | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						get tip_name | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							let split_query = state.query.trim!.split /\s+/ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							let name = split_query.join ' ' | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							if split_query.length >= 2 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								split_query.pop! | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								if split_query[-1].startsWith '~' | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
									split_query.pop! | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								name = split_query.join ' ' | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								if name.startsWith '!' | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
									name = name.slice(1) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							name | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						def sort_links | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							if state.query.trim!.length > 0 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								state.scored_links = fzi state.links, state.query | 
				
			
			
		
	
	
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
				
				 | 
				
					@ -281,7 +301,7 @@ tag app | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						def handle_shift_backspace | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							return unless state.scored_links.length > 0 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							handle_delete state.scored_links[selection_index] | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							handle_edit state.scored_links[selection_index] | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						def handle_shift_return | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							handle_add! | 
				
			
			
		
	
	
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
				
				 | 
				
					@ -365,23 +385,36 @@ tag app | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								css .settings-container | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
									d:flex fld:row jc:space-around ai:center | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
									w:100% h:50px | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
									bg:purple4/10 rd:5px | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
									mt:10px | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
									gap:10px | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								css .settings-button | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								css .settings-button, .settings-container button | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
									d:flex fld:column jc:center ai:center fl:1 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
									bg:none c:purple4 bd:none cursor:pointer fs:14px | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
									bg:purple4/10 rd:5px | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
									h:100% | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								css .middle-button | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
									d:flex fld:column jc:center ai:center | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
									h:35px c:purple4 fs:20px cursor:pointer | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
									fs:20px | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
									d:flex fld:row w:100% | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
									c:purple4 fs:20px cursor:pointer | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
									fs:14px pt:15px | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								css .tip | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
									d:flex fld:column bdr:1px solid blue3/10 min-width:0 fl:1 p:5px | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
									@last bd:none | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								css .tip-hotkey | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
									fs:12px c:purple3/50 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								css .tip-content | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
									pt:2px fs:14px c:purple3 white-space:nowrap | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								css .disabled | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
									c:gray4 cursor:default user-select:none | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								css .links | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
									d:flex fld:column jc:flex-start fl:1 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
									w:100% ofy:auto | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
									w:100% ofy:auto pt:15px | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								css .link | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
									d:flex fld:row jc:space-between ai:center | 
				
			
			
		
	
	
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
				
				 | 
				
					@ -439,52 +472,77 @@ tag app | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
											Consider refreshing. | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
											Check developer console for more information. | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
										""" | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								else | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
									if settings_active | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
										<.settings-container> | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
											<label.settings-button .disabled=loading> | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
												"IMPORT" | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
												<input[d:none] | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
													disabled=loading | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
													@change=handle_click_import | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
													@click=(this.value = '') | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
													type="file" | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
												> | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
											<.settings-button | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
												.disabled=loading | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
												@click.if(!loading)=handle_click_export | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
											> "EXPORT" | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
											<.settings-button | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
												.disabled=loading | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
												@click.if(!loading)=handle_click_github | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
											> "GITHUB" | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
									else | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
										<input$main-input | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
											bind=state.query | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
											placeholder=pretty_date | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
											@hotkey('return').capture=handle_return | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
											@hotkey('shift+return').capture.if(can_add)=handle_shift_return | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
											@hotkey('shift+backspace').capture=handle_shift_backspace | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
											@hotkey('down').capture=increment_selection_index | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
											@hotkey('up').capture=decrement_selection_index | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
											@keydown.del=handle_del | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
											@input=handle_input | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
											@paste=handle_paste | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
											@blur=this.focus | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
											.disabled=loading | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
											disabled=loading | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
										> | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
									if state.query.trim!.split(/\s+/).length < 2 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
										<.middle-button | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
											[mt:-10px py:5px fs:25px] | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								### | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								<[c:purple3/90 cursor:pointer fs:14px pb:20px] | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
									@click.if(!loading)=toggle_settings | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								> "SETTINGS" | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								### | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								if settings_active | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
									<.settings-container> | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
										<label.settings-button .disabled=loading> | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
											"IMPORT" | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
											<input[d:none] | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
												disabled=loading | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
												@change=handle_click_import | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
												@click=(this.value = '') | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
												type="file" | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
											> | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
										<.settings-button | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
											.disabled=loading | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
											@click.if(!loading)=handle_click_export | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
										> "EXPORT" | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
									<.settings-container> | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
										<.settings-button | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
											.disabled=loading | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
											@click.if(!loading)=handle_click_github | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
										> "TUTORIAL" | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
										<.settings-button | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
											.disabled=loading | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
											@click.if(!loading)=handle_click_github | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
										> "GITHUB" | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
									<.settings-container> | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
										<.settings-button> | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
											config.enable_tips ? "DISABLE TIPS" : "ENABLE TIPS" | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
										<.settings-button | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
											.disabled=loading | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
											@click.if(!loading)=toggle_settings | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
										> "..." | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
									elif can_add | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
										<.middle-button@click=handle_click_add> "+" | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
									else | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
										<.middle-button.disabled> "+" | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
											@click.if(!loading)=handle_click_github | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
										> "LIGHT THEME" | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								else | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
									<input$main-input | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
										bind=state.query | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
										# placeholder=pretty_date | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
										@hotkey('return').capture=handle_return | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
										@hotkey('shift+return').capture.if(can_add)=handle_shift_return | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
										@hotkey('shift+backspace').capture=handle_shift_backspace | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
										@hotkey('down').capture=increment_selection_index | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
										@hotkey('up').capture=decrement_selection_index | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
										@keydown.del=handle_del | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
										@input=handle_input | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
										@paste=handle_paste | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
										@blur=this.focus | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
										.disabled=loading | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
										disabled=loading | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
									> | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
									if config.enable_tips | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
										<.middle-button> | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
											<.tip[jc:start ta:left fl:1] @click=handle_return> | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
												<.tip-hotkey> "Return" | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
												<.tip-content> "Navigate To Link" | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
											<.tip[jc:center ta:center fl:2 px:15px] | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
												@click=handle_shift_return | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
											> | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
												<.tip-hotkey> "Shift + Return" | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
												<.tip-content[of:hidden text-overflow:ellipsis]> | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
													"Add New Link \"{state.query.trim!}\"" | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
											<.tip[jc:end ta:right fl:1] | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
												@click=handle_shift_backspace | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
											> | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
												<.tip-hotkey> "Shift + Backspace" | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
												<.tip-content> "Edit Link" | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
									<.links> | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
										if bang or state.scored_links.length < 1 | 
				
			
			
		
	
	
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
				
				 | 
				
					@ -520,6 +578,7 @@ tag app | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
															<.link-button[fs:12px]@click.prevent.stop=handle_click_edit(link)> "✎" | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
															<.link-button@click.prevent.stop=handle_click_delete(link)> "x" | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
														<.frequency> link.frequency | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
									# <[c:purple3 pt:10px fs:10px]> state.scored_links.length | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								$main-input.focus! | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					imba.mount <app> | 
				
			
			
		
	
	
		
			
				
					| 
						
						
						
					 | 
				
				 | 
				
					
  |