forked from open-webui/open-webui
		
	feat: tts support
This commit is contained in:
		
							parent
							
								
									61cc24c5bb
								
							
						
					
					
						commit
						8af1646706
					
				
					 1 changed files with 29 additions and 0 deletions
				
			
		|  | @ -28,6 +28,11 @@ | |||
| 		})(); | ||||
| 	} | ||||
| 
 | ||||
| 	const speakMessage = (message) => { | ||||
| 		const speak = new SpeechSynthesisUtterance(message); | ||||
| 		speechSynthesis.speak(speak); | ||||
| 	}; | ||||
| 
 | ||||
| 	const createCopyCodeBlockButton = () => { | ||||
| 		// use a class selector if available | ||||
| 		let blocks = document.querySelectorAll('pre'); | ||||
|  | @ -692,6 +697,30 @@ | |||
| 													> | ||||
| 												</button> | ||||
| 
 | ||||
| 												<button | ||||
| 													class="{messageIdx + 1 === messages.length | ||||
| 														? 'visible' | ||||
| 														: 'invisible group-hover:visible'} p-1 rounded dark:hover:bg-gray-800 transition" | ||||
| 													on:click={() => { | ||||
| 														speakMessage(message.content); | ||||
| 													}} | ||||
| 												> | ||||
| 													<svg | ||||
| 														xmlns="http://www.w3.org/2000/svg" | ||||
| 														fill="none" | ||||
| 														viewBox="0 0 24 24" | ||||
| 														stroke-width="1.5" | ||||
| 														stroke="currentColor" | ||||
| 														class="w-4 h-4" | ||||
| 													> | ||||
| 														<path | ||||
| 															stroke-linecap="round" | ||||
| 															stroke-linejoin="round" | ||||
| 															d="M19.114 5.636a9 9 0 010 12.728M16.463 8.288a5.25 5.25 0 010 7.424M6.75 8.25l4.72-4.72a.75.75 0 011.28.53v15.88a.75.75 0 01-1.28.53l-4.72-4.72H4.51c-.88 0-1.704-.507-1.938-1.354A9.01 9.01 0 012.25 12c0-.83.112-1.633.322-2.396C2.806 8.756 3.63 8.25 4.51 8.25H6.75z" | ||||
| 														/> | ||||
| 													</svg> | ||||
| 												</button> | ||||
| 
 | ||||
| 												{#if messageIdx + 1 === messages.length} | ||||
| 													<button | ||||
| 														type="button" | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Timothy J. Baek
						Timothy J. Baek