| 
						
						
							
								
							
						
						
					 | 
				
				 | 
				
					@ -64,11 +64,11 @@ tag app | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
									err "adding link", e | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						def validate_config | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							throw _ if config.default_bang.id === null | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							throw _ if config.default_bang.url === null | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							throw _ if config.default_bang.img === null | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							throw _ if config.default_bang.name === null | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							throw _ if config.default_bang.frequency === null | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							throw _ if config.default_bang.id is null | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							throw _ if config.default_bang.url is null | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							throw _ if config.default_bang.img is null | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							throw _ if config.default_bang.name is null | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							throw _ if config.default_bang.frequency is null | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						def reset_config | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							p "resetting config" | 
				
			
			
		
	
	
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
				
				 | 
				
					@ -144,14 +144,14 @@ tag app | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							return no if loading | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							return no if settings_active | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							let query = state.query.trim! | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							return no if query === '' | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							return no if query is '' | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							let split_query = query.split /\s+/ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							return no if split_query.length < 2 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							yes | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						def create_link_from_text text | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							text = text.trim! | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							throw "text is empty" if text === '' | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							throw "text is empty" if text is '' | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							let split_text = text.split(/\s+/) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							throw "no url provided" if split_text.length < 2 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							let url = split_text.pop! | 
				
			
			
		
	
	
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
				
				 | 
				
					@ -182,7 +182,7 @@ tag app | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						def handle_edit link | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							def edit_link | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								let input = window.prompt "Enter the new link name and url:", "{link.name} {link.url}" | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								return if input === null | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								return if input is null | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								try | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
									await update_link link, input | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								catch e | 
				
			
			
		
	
	
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
				
				 | 
				
					@ -195,7 +195,7 @@ tag app | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							let new_link = await create_link_from_text new_link_text | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							new_link.frequency = old_link.frequency | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							let result = await db.links.update old_link.id, new_link | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							throw "link id not found" if result === 0 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							throw "link id not found" if result is 0 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							await reload_db! | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							imba.commit! | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							return new_link | 
				
			
			
		
	
	
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
				
				 | 
				
					@ -271,9 +271,9 @@ tag app | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						def handle_click_import e | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							loading = yes | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							let id_exists = do |newid| | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								state.links.some! do |{id}| newid === id | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								state.links.some! do |{id}| newid is id | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							let filter = do |table, value, key| | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								table === 'links' and not id_exists value.id | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								table is 'links' and not id_exists value.id | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							try | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								await reload_db! | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								await db.import(e.target.files[0], { filter }) | 
				
			
			
		
	
	
		
			
				
					| 
						
							
								
							
						
						
						
					 | 
				
				 | 
				
					
  |