Rework realm and several bug fixes

This commit is contained in:
Kwaroran
2024-12-14 19:09:28 +09:00
parent f2994b823e
commit f4b78480f3
5 changed files with 31 additions and 15 deletions

View File

@@ -31,7 +31,7 @@
search: '', search: '',
page: 0, page: 0,
nsfw: false, nsfw: false,
sort: '' sort: 'recommended'
}) then charas} }) then charas}
{#if charas.length > 0} {#if charas.length > 0}
{@html hubAdditionalHTML} {@html hubAdditionalHTML}

View File

@@ -12,7 +12,7 @@
let charas:hubType[] = $state([]) let charas:hubType[] = $state([])
let page = $state(0) let page = $state(0)
let sort = $state('') let sort = $state('recommended')
let search = $state('') let search = $state('')
let menuOpen = $state(false) let menuOpen = $state(false)
@@ -27,6 +27,16 @@
}) })
} }
function changeSort(type:string) {
if(sort === type){
sort = 'recommended'
}else{
sort = type
}
page = 0
return getHub()
}
getHub() getHub()
@@ -36,6 +46,9 @@
<input bind:value={search} class="peer focus:border-textcolor transition-colors outline-none text-textcolor p-2 min-w-0 border border-r-0 bg-transparent rounded-md rounded-r-none input-text text-xl flex-grow ml-4 border-darkborderc resize-none overflow-y-hidden overflow-x-hidden max-w-full"> <input bind:value={search} class="peer focus:border-textcolor transition-colors outline-none text-textcolor p-2 min-w-0 border border-r-0 bg-transparent rounded-md rounded-r-none input-text text-xl flex-grow ml-4 border-darkborderc resize-none overflow-y-hidden overflow-x-hidden max-w-full">
<button <button
onclick={() => { onclick={() => {
if(sort === 'random' || sort === 'recommended'){
sort = ''
}
page = 0 page = 0
getHub() getHub()
}} }}
@@ -81,6 +94,7 @@
getHub() getHub()
}}> }}>
{ {
sort === 'recommended' ? language.recommended :
sort === '' ? language.recent : sort === '' ? language.recent :
sort === 'trending' ? language.trending : sort === 'trending' ? language.trending :
sort === 'downloads' ? language.downloads : sort === 'downloads' ? language.downloads :
@@ -99,26 +113,22 @@
</button> </button>
<div class="ml-2 mr-2 h-full border-r border-r-selected"></div> <div class="ml-2 mr-2 h-full border-r border-r-selected"></div>
<button class="bg-darkbg p-2 rounded-lg ml-2 flex justify-center items-center hover:bg-selected transition-shadow" class:ring={sort === ''} onclick={() => { <button class="bg-darkbg p-2 rounded-lg ml-2 flex justify-center items-center hover:bg-selected transition-shadow" class:ring={sort === ''} onclick={() => {
sort = '' changeSort('')
getHub()
}}> }}>
{language.recent} {language.recent}
</button> </button>
<button class="bg-darkbg p-2 rounded-lg ml-2 flex justify-center items-center hover:bg-selected transition-shadow" class:ring={sort === 'trending'} onclick={() => { <button class="bg-darkbg p-2 rounded-lg ml-2 flex justify-center items-center hover:bg-selected transition-shadow" class:ring={sort === 'trending'} onclick={() => {
sort = 'trending' changeSort('trending')
getHub()
}}> }}>
{language.trending} {language.trending}
</button> </button>
<button class="bg-darkbg p-2 rounded-lg ml-2 flex justify-center items-center hover:bg-selected transition-shadow" class:ring={sort === 'downloads'} onclick={() => { <button class="bg-darkbg p-2 rounded-lg ml-2 flex justify-center items-center hover:bg-selected transition-shadow" class:ring={sort === 'downloads'} onclick={() => {
sort = 'downloads' changeSort('downloads')
getHub()
}}> }}>
{language.downloads} {language.downloads}
</button> </button>
<button class="bg-darkbg p-2 rounded-lg ml-2 flex justify-center items-center hover:bg-selected transition-shadow min-w-0 max-w-full" class:ring={sort === 'random'} onclick={() => { <button class="bg-darkbg p-2 rounded-lg ml-2 flex justify-center items-center hover:bg-selected transition-shadow min-w-0 max-w-full" class:ring={sort === 'random'} onclick={() => {
sort = 'random' changeSort('random')
getHub()
}}> }}>
{language.random} {language.random}
</button> </button>
@@ -132,7 +142,7 @@
{/each} {/each}
{/key} {/key}
</div> </div>
{#if sort !== 'random'} {#if sort !== 'random' && sort !== 'recommended'}
<div class="w-full flex justify-center"> <div class="w-full flex justify-center">
<div class="flex"> <div class="flex">
<button class="bg-darkbg h-14 w-14 min-w-14 rounded-lg flex justify-center items-center hover:ring transition-shadow" onclick={() => { <button class="bg-darkbg h-14 w-14 min-w-14 rounded-lg flex justify-center items-center hover:ring transition-shadow" onclick={() => {

View File

@@ -1141,7 +1141,7 @@ export async function sendChat(chatProcessIndex = -1,arg:{
pointer++ pointer++
} }
formated = formated.filter((v) => { formated = formated.filter((v) => {
return v.content !== '' return v.content !== '' || (v.multimodals && v.multimodals.length > 0)
}) })
} }

View File

@@ -218,8 +218,13 @@ function reformater(formated:OpenAIChat[],modelInfo:LLMModel){
if(!modelInfo.flags.includes(LLMFlags.hasFullSystemPrompt)){ if(!modelInfo.flags.includes(LLMFlags.hasFullSystemPrompt)){
if(modelInfo.flags.includes(LLMFlags.hasFirstSystemPrompt)){ if(modelInfo.flags.includes(LLMFlags.hasFirstSystemPrompt)){
if(formated[0].role === 'system'){ while(formated[0].role === 'system'){
systemPrompt = formated[0] if(systemPrompt){
systemPrompt.content += '\n\n' + formated[0].content
}
else{
systemPrompt = formated[0]
}
formated = formated.slice(1) formated = formated.slice(1)
} }
} }
@@ -400,7 +405,7 @@ async function requestOpenAI(arg:RequestDataArgumentExtended):Promise<requestDat
if(db.newOAIHandle){ if(db.newOAIHandle){
formatedChat = formatedChat.filter(m => { formatedChat = formatedChat.filter(m => {
return m.content !== '' return m.content !== '' || (m.multimodals && m.multimodals.length > 0)
}) })
} }

View File

@@ -856,6 +856,7 @@ export interface Database{
googleClaudeTokenizing: boolean googleClaudeTokenizing: boolean
presetChain: string presetChain: string
legacyMediaFindings?:boolean legacyMediaFindings?:boolean
geminiStream?:boolean
} }
interface SeparateParameters{ interface SeparateParameters{