feat: ollamahub modelfile import

This commit is contained in:
Timothy J. Baek 2023-12-03 23:44:12 -08:00
parent 6df1b197aa
commit cbcce68c61
3 changed files with 56 additions and 18 deletions

View file

@ -103,7 +103,7 @@
<a
class=" w-fit text-sm px-3 py-2 border dark:border-gray-600 rounded-xl"
type="button"
href={`/modelfiles/edit/${modelfile.tagName}`}
href={`/modelfiles/edit?tag=${modelfile.tagName}`}
>
Edit</a
>

View file

@ -7,6 +7,7 @@
import Advanced from '$lib/components/chat/Settings/Advanced.svelte';
import { splitStream } from '$lib/utils';
import { onMount, tick } from 'svelte';
let loading = false;
@ -209,6 +210,39 @@ SYSTEM """${system}"""`.replace(/^\s*\n/gm, '');
loading = false;
success = false;
};
onMount(() => {
window.addEventListener('message', async (event) => {
if (
!['https://ollamahub.com', 'https://www.ollamahub.com', 'http://localhost:5173'].includes(
event.origin
)
)
return;
const modelfile = JSON.parse(event.data);
console.log(modelfile);
imageUrl = modelfile.imageUrl;
title = modelfile.title;
await tick();
tagName = `${modelfile.user.username}/${modelfile.tagName}`;
desc = modelfile.desc;
content = modelfile.content;
suggestions =
modelfile.suggestionPrompts.length != 0
? modelfile.suggestionPrompts
: [
{
content: ''
}
];
for (const category of modelfile.categories) {
categories[category.toLowerCase()] = true;
}
});
window.opener.postMessage('loaded', '*');
});
</script>
<div class="min-h-screen w-full flex justify-center dark:text-white">

View file

@ -50,27 +50,31 @@
};
onMount(() => {
tagName = $page.params.tag;
tagName = $page.url.searchParams.get('tag');
modelfile = $modelfiles.filter((modelfile) => modelfile.tagName === tagName)[0];
if (tagName) {
modelfile = $modelfiles.filter((modelfile) => modelfile.tagName === tagName)[0];
console.log(modelfile);
console.log(modelfile);
imageUrl = modelfile.imageUrl;
title = modelfile.title;
desc = modelfile.desc;
content = modelfile.content;
suggestions =
modelfile.suggestionPrompts.length != 0
? modelfile.suggestionPrompts
: [
{
content: ''
}
];
imageUrl = modelfile.imageUrl;
title = modelfile.title;
desc = modelfile.desc;
content = modelfile.content;
suggestions =
modelfile.suggestionPrompts.length != 0
? modelfile.suggestionPrompts
: [
{
content: ''
}
];
for (const category of modelfile.categories) {
categories[category.toLowerCase()] = true;
for (const category of modelfile.categories) {
categories[category.toLowerCase()] = true;
}
} else {
goto('/modelfiles');
}
});