Thomas G. Lopes commited on
Commit
bf8e775
·
1 Parent(s): 357ab93

improve auto presentation

Browse files
src/lib/components/icon-provider.svelte CHANGED
@@ -659,6 +659,19 @@ C 321.52 279.69 330.41 279.63 336.00 278.00 Z"
659
  />
660
  </g>
661
  </svg>
 
 
 
 
 
 
 
 
 
 
 
 
 
662
  {:else if children}{@render children()}{:else}
663
  <div class="size-4 flex-none rounded-sm bg-gray-200"></div>
664
  {/if}
 
659
  />
660
  </g>
661
  </svg>
662
+ {:else if provider === "auto"}
663
+ <svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 24 24"
664
+ ><!-- Icon from Lucide by Lucide Contributors - https://github.com/lucide-icons/lucide/blob/main/LICENSE --><g
665
+ fill="none"
666
+ stroke="currentColor"
667
+ stroke-linecap="round"
668
+ stroke-linejoin="round"
669
+ stroke-width="2"
670
+ ><path d="M12 8V4H8" /><rect width="16" height="12" x="4" y="8" rx="2" /><path
671
+ d="M2 14h2m16 0h2m-7-1v2m-6-2v2"
672
+ /></g
673
+ ></svg
674
+ >
675
  {:else if children}{@render children()}{:else}
676
  <div class="size-4 flex-none rounded-sm bg-gray-200"></div>
677
  {/if}
src/lib/components/inference-playground/provider-select.svelte CHANGED
@@ -70,6 +70,11 @@
70
 
71
  return words.join(" ");
72
  }
 
 
 
 
 
73
  </script>
74
 
75
  <div class="flex flex-col gap-2">
@@ -89,7 +94,7 @@
89
  >
90
  <div class="flex items-center gap-1 text-sm">
91
  <IconProvider provider={conversation.data.provider} />
92
- {formatName(conversation.data.provider ?? "") ?? "loading"}
93
  </div>
94
  <div
95
  class="absolute right-2 grid size-4 flex-none place-items-center rounded-sm bg-gray-100 text-xs dark:bg-gray-600"
@@ -99,19 +104,19 @@
99
  </button>
100
 
101
  <div {...select.content} class="rounded-lg border bg-gray-100 dark:border-gray-700 dark:bg-gray-800">
102
- {#snippet option(provider: string, label?: string)}
103
  <div {...select.getOption(provider)} class="group block w-full p-1 text-sm dark:text-white">
104
  <div
105
  class="flex items-center gap-2 rounded-md px-2 py-1.5 group-data-[highlighted]:bg-gray-200 dark:group-data-[highlighted]:bg-gray-700"
106
  >
107
  <IconProvider {provider} />
108
- {formatName(label ?? provider)}
109
  </div>
110
  </div>
111
  {/snippet}
112
  {#each conversation.model.inferenceProviderMapping as { provider, providerId } (provider + providerId)}
113
  {@render option(provider)}
114
  {/each}
115
- {@render option("auto", "Choose automatically")}
116
  </div>
117
  </div>
 
70
 
71
  return words.join(" ");
72
  }
73
+
74
+ function getProviderName(provider: string) {
75
+ if (provider in nameMap) return formatName(provider);
76
+ return provider === "auto" ? "Choose automatically" : provider;
77
+ }
78
  </script>
79
 
80
  <div class="flex flex-col gap-2">
 
94
  >
95
  <div class="flex items-center gap-1 text-sm">
96
  <IconProvider provider={conversation.data.provider} />
97
+ {getProviderName(conversation.data.provider ?? "") ?? "loading"}
98
  </div>
99
  <div
100
  class="absolute right-2 grid size-4 flex-none place-items-center rounded-sm bg-gray-100 text-xs dark:bg-gray-600"
 
104
  </button>
105
 
106
  <div {...select.content} class="rounded-lg border bg-gray-100 dark:border-gray-700 dark:bg-gray-800">
107
+ {#snippet option(provider: string)}
108
  <div {...select.getOption(provider)} class="group block w-full p-1 text-sm dark:text-white">
109
  <div
110
  class="flex items-center gap-2 rounded-md px-2 py-1.5 group-data-[highlighted]:bg-gray-200 dark:group-data-[highlighted]:bg-gray-700"
111
  >
112
  <IconProvider {provider} />
113
+ {getProviderName(provider)}
114
  </div>
115
  </div>
116
  {/snippet}
117
  {#each conversation.model.inferenceProviderMapping as { provider, providerId } (provider + providerId)}
118
  {@render option(provider)}
119
  {/each}
120
+ {@render option("auto")}
121
  </div>
122
  </div>