mirror of
				https://github.com/open-webui/desktop
				synced 2025-06-26 18:15:59 +00:00 
			
		
		
		
	enh: toast
This commit is contained in:
		
							parent
							
								
									ab0736728a
								
							
						
					
					
						commit
						c36ab799ef
					
				
							
								
								
									
										11
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										11
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							| @ -39,6 +39,7 @@ | ||||
| 				"prettier-plugin-svelte": "^3.3.2", | ||||
| 				"svelte": "^5.17.1", | ||||
| 				"svelte-check": "^4.1.3", | ||||
| 				"svelte-sonner": "^0.3.28", | ||||
| 				"tailwindcss": "^4.0.0-beta.8", | ||||
| 				"tippy.js": "^6.3.7", | ||||
| 				"ts-node": "^10.9.2", | ||||
| @ -10843,6 +10844,16 @@ | ||||
| 				"url": "https://github.com/sponsors/jonschlinkert" | ||||
| 			} | ||||
| 		}, | ||||
| 		"node_modules/svelte-sonner": { | ||||
| 			"version": "0.3.28", | ||||
| 			"resolved": "https://registry.npmjs.org/svelte-sonner/-/svelte-sonner-0.3.28.tgz", | ||||
| 			"integrity": "sha512-K3AmlySeFifF/cKgsYNv5uXqMVNln0NBAacOYgmkQStLa/UoU0LhfAACU6Gr+YYC8bOCHdVmFNoKuDbMEsppJg==", | ||||
| 			"dev": true, | ||||
| 			"license": "MIT", | ||||
| 			"peerDependencies": { | ||||
| 				"svelte": "^3.0.0 || ^4.0.0 || ^5.0.0-next.1" | ||||
| 			} | ||||
| 		}, | ||||
| 		"node_modules/tailwindcss": { | ||||
| 			"version": "4.0.0-beta.8", | ||||
| 			"resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.0.0-beta.8.tgz", | ||||
|  | ||||
| @ -39,6 +39,7 @@ | ||||
| 		"prettier-plugin-svelte": "^3.3.2", | ||||
| 		"svelte": "^5.17.1", | ||||
| 		"svelte-check": "^4.1.3", | ||||
| 		"svelte-sonner": "^0.3.28", | ||||
| 		"tailwindcss": "^4.0.0-beta.8", | ||||
| 		"tippy.js": "^6.3.7", | ||||
| 		"ts-node": "^10.9.2", | ||||
|  | ||||
| @ -1,4 +1,6 @@ | ||||
| <script lang="ts"> | ||||
| 	import { Toaster, toast } from 'svelte-sonner'; | ||||
| 
 | ||||
| 	import { onMount } from 'svelte'; | ||||
| 	import { installStatus, serverStatus, serverStartedAt, serverLogs } from './lib/stores'; | ||||
| 
 | ||||
| @ -61,3 +63,9 @@ | ||||
| <main class="w-screen h-screen bg-gray-900"> | ||||
| 	<Main /> | ||||
| </main> | ||||
| 
 | ||||
| <Toaster | ||||
| 	theme={window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light'} | ||||
| 	richColors | ||||
| 	position="top-center" | ||||
| /> | ||||
|  | ||||
| @ -89,7 +89,7 @@ | ||||
| 
 | ||||
| 		<div class="flex-1 w-full flex justify-center relative"> | ||||
| 			{#if $installStatus === false} | ||||
| 				<div class="m-auto flex flex-col justify-center text-center"> | ||||
| 				<div class="m-auto flex flex-col justify-center text-center max-w-2xl w-full"> | ||||
| 					{#if mounted} | ||||
| 						<div | ||||
| 							class=" font-medium text-5xl xl:text-7xl text-center mb-4 xl:mb-5 font-secondary" | ||||
| @ -168,7 +168,7 @@ | ||||
| 				</div> | ||||
| 			{:else if $installStatus === true} | ||||
| 				<div class="flex-1 w-full flex justify-center relative"> | ||||
| 					<div class="m-auto"> | ||||
| 					<div class="m-auto max-w-2xl w-full"> | ||||
| 						<div class="flex flex-col gap-3 text-center"> | ||||
| 							<Spinner className="size-5" /> | ||||
| 
 | ||||
|  | ||||
| @ -1,16 +1,26 @@ | ||||
| <script lang="ts"> | ||||
| 	import { toast } from 'svelte-sonner'; | ||||
| 	import Tooltip from '../common/Tooltip.svelte'; | ||||
| 	import { copyToClipboard } from '../../utils'; | ||||
| 
 | ||||
| 	export let show; | ||||
| 	export let logs = []; | ||||
| </script> | ||||
| 
 | ||||
| {#if show} | ||||
| 	<div class="relative max-w-full px-3"> | ||||
| 	<div class="relative max-w-full w-full px-3"> | ||||
| 		{#if logs.length > 0} | ||||
| 			<div class="absolute top-0 right-0 p-1 bg-transparent text-xs font-mono"> | ||||
| 				<Tooltip content="Copy"> | ||||
| 					<button class="text-xs cursor-pointer" on:click={() => (logs = [])}> | ||||
| 					<button | ||||
| 						class="text-xs cursor-pointer" | ||||
| 						type="button" | ||||
| 						on:click={async () => { | ||||
| 							await copyToClipboard(logs.join('\n')); | ||||
| 
 | ||||
| 							toast.success('Logs copied to clipboard'); | ||||
| 						}} | ||||
| 					> | ||||
| 						<svg | ||||
| 							xmlns="http://www.w3.org/2000/svg" | ||||
| 							fill="none" | ||||
| @ -31,10 +41,12 @@ | ||||
| 		{/if} | ||||
| 
 | ||||
| 		<div | ||||
| 			class="text-xs font-mono text-left max-h-40 overflow-y-auto max-w-2xl w-full flex flex-col-reverse scrollbar-hidden no-drag-region" | ||||
| 			class="text-xs font-mono text-left max-h-40 overflow-auto max-w-full w-full flex flex-col-reverse scrollbar-hidden no-drag-region" | ||||
| 		> | ||||
| 			{#each logs.reverse() as log, idx} | ||||
| 				<div class="text-xs font-mono">{log}</div> | ||||
| 				<div class="text-xs font-mono whitespace-pre-wrap text-wrap max-w-full w-full"> | ||||
| 					{log} | ||||
| 				</div> | ||||
| 			{/each} | ||||
| 		</div> | ||||
| 	</div> | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user