@@ -516,67 +516,77 @@ use:enhance={createSubmitHandler(
516516 <!-- RAGインデックス状態 -->
517517 {#if data .semanticSearchEnabled && data .entry }
518518 <div class =" mt-2 text-xs" >
519- <div class =" flex items-center gap-2" >
520- {#if data .embeddingStatus ?.indexed }
521- <button
522- type =" button"
523- class =" inline-flex items-center px-2 py-0.5 rounded-full bg-purple-100 text-purple-800 dark:bg-purple-900/30 dark:text-purple-300 hover:bg-purple-200 dark:hover:bg-purple-900/50 transition-colors cursor-pointer"
524- on:click ={() => (embeddingDetailOpen = ! embeddingDetailOpen )}
525- >
526- <svg class =" w-3 h-3 mr-1" fill =" currentColor" viewBox =" 0 0 20 20" >
527- <path fill-rule =" evenodd" d =" M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z" clip-rule =" evenodd" />
528- </svg >
529- {$_ (" diary.embedding.indexed" )}
530- <svg class ="w-3 h-3 ml-1 transition-transform {embeddingDetailOpen ? ' rotate-180' : ' ' }" fill =" none" stroke =" currentColor" viewBox =" 0 0 24 24" >
531- <path stroke-linecap =" round" stroke-linejoin =" round" stroke-width =" 2" d =" M19 9l-7 7-7-7" />
532- </svg >
533- </button >
534- {:else }
535- <span class =" inline-flex items-center px-2 py-0.5 rounded-full bg-gray-100 text-gray-600 dark:bg-gray-700 dark:text-gray-400" >
536- <svg class =" w-3 h-3 mr-1" fill =" currentColor" viewBox =" 0 0 20 20" >
537- <path fill-rule =" evenodd" d =" M10 18a8 8 0 100-16 8 8 0 000 16zM8.707 7.293a1 1 0 00-1.414 1.414L8.586 10l-1.293 1.293a1 1 0 101.414 1.414L10 11.414l1.293 1.293a1 1 0 001.414-1.414L11.414 10l1.293-1.293a1 1 0 00-1.414-1.414L10 8.586 8.707 7.293z" clip-rule =" evenodd" />
538- </svg >
539- {$_ (" diary.embedding.notIndexed" )}
540- </span >
541- {/if }
542- </div >
519+ {#await data .embeddingStatus }
520+ <!-- ローディング中 -->
521+ <span class =" inline-flex items-center px-2 py-0.5 rounded-full bg-gray-100 text-gray-500 dark:bg-gray-700 dark:text-gray-400" >
522+ <svg class =" w-3 h-3 mr-1 animate-spin" fill =" none" stroke =" currentColor" viewBox =" 0 0 24 24" >
523+ <path stroke-linecap =" round" stroke-linejoin =" round" stroke-width =" 2" d =" M4 4v5h.582m15.356 2A8.001 8.001 0 004.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 01-15.357-2m15.357 2H15" />
524+ </svg >
525+ {$_ (" common.loading" )}
526+ </span >
527+ {:then embeddingStatus }
528+ <div class =" flex items-center gap-2" >
529+ {#if embeddingStatus ?.indexed }
530+ <button
531+ type =" button"
532+ class =" inline-flex items-center px-2 py-0.5 rounded-full bg-purple-100 text-purple-800 dark:bg-purple-900/30 dark:text-purple-300 hover:bg-purple-200 dark:hover:bg-purple-900/50 transition-colors cursor-pointer"
533+ on:click ={() => (embeddingDetailOpen = ! embeddingDetailOpen )}
534+ >
535+ <svg class =" w-3 h-3 mr-1" fill =" currentColor" viewBox =" 0 0 20 20" >
536+ <path fill-rule =" evenodd" d =" M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z" clip-rule =" evenodd" />
537+ </svg >
538+ {$_ (" diary.embedding.indexed" )}
539+ <svg class ="w-3 h-3 ml-1 transition-transform {embeddingDetailOpen ? ' rotate-180' : ' ' }" fill =" none" stroke =" currentColor" viewBox =" 0 0 24 24" >
540+ <path stroke-linecap =" round" stroke-linejoin =" round" stroke-width =" 2" d =" M19 9l-7 7-7-7" />
541+ </svg >
542+ </button >
543+ {:else }
544+ <span class =" inline-flex items-center px-2 py-0.5 rounded-full bg-gray-100 text-gray-600 dark:bg-gray-700 dark:text-gray-400" >
545+ <svg class =" w-3 h-3 mr-1" fill =" currentColor" viewBox =" 0 0 20 20" >
546+ <path fill-rule =" evenodd" d =" M10 18a8 8 0 100-16 8 8 0 000 16zM8.707 7.293a1 1 0 00-1.414 1.414L8.586 10l-1.293 1.293a1 1 0 101.414 1.414L10 11.414l1.293 1.293a1 1 0 001.414-1.414L11.414 10l1.293-1.293a1 1 0 00-1.414-1.414L10 8.586 8.707 7.293z" clip-rule =" evenodd" />
547+ </svg >
548+ {$_ (" diary.embedding.notIndexed" )}
549+ </span >
550+ {/if }
551+ </div >
543552
544- {#if data .embeddingStatus ?.indexed && embeddingDetailOpen }
545- <div class =" mt-2 p-3 rounded-lg bg-purple-50 dark:bg-purple-950/20 border border-purple-200 dark:border-purple-800/40 space-y-1.5" >
546- <div class =" flex items-center gap-2" >
547- <span class ="text-gray-500 dark:text-gray-400 w-28 shrink-0" >{$_ (" diary.embedding.modelVersion" )}:</span >
548- <span class ="font-mono text-purple-700 dark:text-purple-300" >{data .embeddingStatus .modelVersion }</span >
549- </div >
550- <div class =" flex items-center gap-2" >
551- <span class ="text-gray-500 dark:text-gray-400 w-28 shrink-0" >{$_ (" diary.embedding.chunkCount" )}:</span >
552- <span class ="text-gray-700 dark:text-gray-300" >{data .embeddingStatus .chunkCount }</span >
553- </div >
554- {#if data .embeddingStatus .chunkSummaries .length > 0 }
555- <div >
556- <span class ="text-gray-500 dark:text-gray-400" >{$_ (" diary.embedding.chunkSummaries" )}:</span >
557- <ol class =" mt-1 space-y-0.5 list-decimal list-inside" >
558- {#each data .embeddingStatus .chunkSummaries as chunkSummary }
559- <li class =" text-gray-600 dark:text-gray-400" >
560- {#if chunkSummary }
561- {chunkSummary }
562- {:else }
563- {$_ (" diary.embedding.chunkSummaryEmpty" )}
564- {/if }
565- </li >
566- {/each }
567- </ol >
553+ {#if embeddingStatus ?.indexed && embeddingDetailOpen }
554+ <div class =" mt-2 p-3 rounded-lg bg-purple-50 dark:bg-purple-950/20 border border-purple-200 dark:border-purple-800/40 space-y-1.5" >
555+ <div class =" flex items-center gap-2" >
556+ <span class ="text-gray-500 dark:text-gray-400 w-28 shrink-0" >{$_ (" diary.embedding.modelVersion" )}:</span >
557+ <span class ="font-mono text-purple-700 dark:text-purple-300" >{embeddingStatus .modelVersion }</span >
558+ </div >
559+ <div class =" flex items-center gap-2" >
560+ <span class ="text-gray-500 dark:text-gray-400 w-28 shrink-0" >{$_ (" diary.embedding.chunkCount" )}:</span >
561+ <span class ="text-gray-700 dark:text-gray-300" >{embeddingStatus .chunkCount }</span >
562+ </div >
563+ {#if embeddingStatus .chunkSummaries .length > 0 }
564+ <div >
565+ <span class ="text-gray-500 dark:text-gray-400" >{$_ (" diary.embedding.chunkSummaries" )}:</span >
566+ <ol class =" mt-1 space-y-0.5 list-decimal list-inside" >
567+ {#each embeddingStatus .chunkSummaries as chunkSummary }
568+ <li class =" text-gray-600 dark:text-gray-400" >
569+ {#if chunkSummary }
570+ {chunkSummary }
571+ {:else }
572+ {$_ (" diary.embedding.chunkSummaryEmpty" )}
573+ {/if }
574+ </li >
575+ {/each }
576+ </ol >
577+ </div >
578+ {/if }
579+ <div class =" flex items-center gap-2" >
580+ <span class ="text-gray-500 dark:text-gray-400 w-28 shrink-0" >{$_ (" diary.embedding.indexedAt" )}:</span >
581+ <span class ="text-gray-700 dark:text-gray-300" >{new Date (embeddingStatus .createdAt * 1000 ).toLocaleString ()}</span >
582+ </div >
583+ <div class =" flex items-center gap-2" >
584+ <span class ="text-gray-500 dark:text-gray-400 w-28 shrink-0" >{$_ (" diary.embedding.updatedAt" )}:</span >
585+ <span class ="text-gray-700 dark:text-gray-300" >{new Date (embeddingStatus .updatedAt * 1000 ).toLocaleString ()}</span >
568586 </div >
569- {/if }
570- <div class =" flex items-center gap-2" >
571- <span class ="text-gray-500 dark:text-gray-400 w-28 shrink-0" >{$_ (" diary.embedding.indexedAt" )}:</span >
572- <span class ="text-gray-700 dark:text-gray-300" >{new Date (data .embeddingStatus .createdAt * 1000 ).toLocaleString ()}</span >
573- </div >
574- <div class =" flex items-center gap-2" >
575- <span class ="text-gray-500 dark:text-gray-400 w-28 shrink-0" >{$_ (" diary.embedding.updatedAt" )}:</span >
576- <span class ="text-gray-700 dark:text-gray-300" >{new Date (data .embeddingStatus .updatedAt * 1000 ).toLocaleString ()}</span >
577587 </div >
578- </ div >
579- {/if }
588+ { /if }
589+ {/await }
580590 </div >
581591 {/if }
582592
0 commit comments