Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
chenpangpang
open-webui
Commits
de75679f
Commit
de75679f
authored
May 14, 2024
by
Timothy J. Baek
Browse files
fix: sidebar model selector issue
parent
ad673394
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
24 additions
and
4 deletions
+24
-4
src/lib/components/chat/ModelSelector/Selector.svelte
src/lib/components/chat/ModelSelector/Selector.svelte
+3
-2
src/lib/components/layout/Sidebar.svelte
src/lib/components/layout/Sidebar.svelte
+1
-1
src/lib/stores/index.ts
src/lib/stores/index.ts
+2
-0
src/routes/+layout.svelte
src/routes/+layout.svelte
+18
-1
No files found.
src/lib/components/chat/ModelSelector/Selector.svelte
View file @
de75679f
...
@@ -10,7 +10,7 @@
...
@@ -10,7 +10,7 @@
import { cancelOllamaRequest, deleteModel, getOllamaVersion, pullModel } from '$lib/apis/ollama';
import { cancelOllamaRequest, deleteModel, getOllamaVersion, pullModel } from '$lib/apis/ollama';
import { user, MODEL_DOWNLOAD_POOL, models } from '$lib/stores';
import { user, MODEL_DOWNLOAD_POOL, models
, mobile
} from '$lib/stores';
import { toast } from 'svelte-sonner';
import { toast } from 'svelte-sonner';
import { capitalizeFirstLetter, getModels, splitStream } from '$lib/utils';
import { capitalizeFirstLetter, getModels, splitStream } from '$lib/utils';
import Tooltip from '$lib/components/common/Tooltip.svelte';
import Tooltip from '$lib/components/common/Tooltip.svelte';
...
@@ -201,10 +201,11 @@
...
@@ -201,10 +201,11 @@
<ChevronDown className=" self-center ml-2 size-3" strokeWidth="2.5" />
<ChevronDown className=" self-center ml-2 size-3" strokeWidth="2.5" />
</div>
</div>
</DropdownMenu.Trigger>
</DropdownMenu.Trigger>
<DropdownMenu.Content
<DropdownMenu.Content
class=" z-40 {className} max-w-[calc(100vw-1rem)] justify-start rounded-lg bg-white dark:bg-gray-900 dark:text-white shadow-lg border border-gray-300/30 dark:border-gray-700/50 outline-none "
class=" z-40 {className} max-w-[calc(100vw-1rem)] justify-start rounded-lg bg-white dark:bg-gray-900 dark:text-white shadow-lg border border-gray-300/30 dark:border-gray-700/50 outline-none "
transition={flyAndScale}
transition={flyAndScale}
side={
'bottom
'}
side={
$mobile ? 'bottom' : 'bottom-start
'}
sideOffset={4}
sideOffset={4}
>
>
<slot>
<slot>
...
...
src/lib/components/layout/Sidebar.svelte
View file @
de75679f
...
@@ -234,7 +234,7 @@
...
@@ -234,7 +234,7 @@
</button>
</button>
<a
<a
id="sidebar-new-chat-button"
id="sidebar-new-chat-button"
class="flex justify-between rounded-xl px-2 py-2 hover:bg-gray-100 dark:hover:bg-gray-
90
0 transition"
class="flex justify-between rounded-xl px-2 py-2 hover:bg-gray-100 dark:hover:bg-gray-
85
0 transition"
href="/"
href="/"
on:click={async () => {
on:click={async () => {
selectedChatId = null;
selectedChatId = null;
...
...
src/lib/stores/index.ts
View file @
de75679f
...
@@ -9,6 +9,8 @@ export const user: Writable<SessionUser | undefined> = writable(undefined);
...
@@ -9,6 +9,8 @@ export const user: Writable<SessionUser | undefined> = writable(undefined);
// Frontend
// Frontend
export
const
MODEL_DOWNLOAD_POOL
=
writable
({});
export
const
MODEL_DOWNLOAD_POOL
=
writable
({});
export
const
mobile
=
writable
(
false
);
export
const
theme
=
writable
(
'
system
'
);
export
const
theme
=
writable
(
'
system
'
);
export
const
chatId
=
writable
(
''
);
export
const
chatId
=
writable
(
''
);
...
...
src/routes/+layout.svelte
View file @
de75679f
<script>
<script>
import { onMount, tick, setContext } from 'svelte';
import { onMount, tick, setContext } from 'svelte';
import { config, user, theme, WEBUI_NAME } from '$lib/stores';
import { config, user, theme, WEBUI_NAME
, mobile
} from '$lib/stores';
import { goto } from '$app/navigation';
import { goto } from '$app/navigation';
import { Toaster, toast } from 'svelte-sonner';
import { Toaster, toast } from 'svelte-sonner';
...
@@ -18,9 +18,22 @@
...
@@ -18,9 +18,22 @@
setContext('i18n', i18n);
setContext('i18n', i18n);
let loaded = false;
let loaded = false;
const BREAKPOINT = 1024;
onMount(async () => {
onMount(async () => {
theme.set(localStorage.theme);
theme.set(localStorage.theme);
mobile.set(window.innerWidth < BREAKPOINT);
const onResize = () => {
if (window.innerWidth < BREAKPOINT) {
mobile.set(true);
} else {
mobile.set(false);
}
};
window.addEventListener('resize', onResize);
let backendConfig = null;
let backendConfig = null;
try {
try {
backendConfig = await getBackendConfig();
backendConfig = await getBackendConfig();
...
@@ -67,6 +80,10 @@
...
@@ -67,6 +80,10 @@
document.getElementById('splash-screen')?.remove();
document.getElementById('splash-screen')?.remove();
loaded = true;
loaded = true;
return () => {
window.removeEventListener('resize', onResize);
};
});
});
</script>
</script>
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment