diff --git a/web/default/src/components/data-table/core/data-table-row.tsx b/web/default/src/components/data-table/core/data-table-row.tsx index b6d56bb10281..2d7bfe1a42ad 100644 --- a/web/default/src/components/data-table/core/data-table-row.tsx +++ b/web/default/src/components/data-table/core/data-table-row.tsx @@ -51,13 +51,4 @@ function DataTableRowInner({ ) } -export const DataTableRow = React.memo(DataTableRowInner, (prev, next) => { - // Skip re-render when only the getColumnClassName reference changed but the - // row identity and selection state are the same — callers rarely stabilize - // this callback, so excluding it from comparison avoids unnecessary renders. - return ( - prev.row === next.row && - prev.className === next.className && - prev.row.getIsSelected() === next.row.getIsSelected() - ) -}) as typeof DataTableRowInner +export const DataTableRow = DataTableRowInner diff --git a/web/default/src/components/layout/components/footer.tsx b/web/default/src/components/layout/components/footer.tsx index be4e612fd42e..db0d3ff083fb 100644 --- a/web/default/src/components/layout/components/footer.tsx +++ b/web/default/src/components/layout/components/footer.tsx @@ -274,7 +274,7 @@ export function Footer(props: FooterProps) { {displayColumns.map((column, index) => (

- {t(column.title)} + {column.title}

), enableHiding: false, diff --git a/web/default/src/features/system-settings/models/model-ratio-visual-editor.tsx b/web/default/src/features/system-settings/models/model-ratio-visual-editor.tsx index a1684a1dc4e9..cddfb7a006b2 100644 --- a/web/default/src/features/system-settings/models/model-ratio-visual-editor.tsx +++ b/web/default/src/features/system-settings/models/model-ratio-visual-editor.tsx @@ -212,7 +212,7 @@ const ModelRatioVisualEditorComponent = forwardRef< .map((name) => { const saved = savedByName.get(name) const draft = draftByName.get(name) - const displayed = saved ?? draft + const displayed = draft ?? saved const savedSignature = getSnapshotSignature(saved) const draftSignature = getSnapshotSignature(draft) @@ -225,6 +225,7 @@ const ModelRatioVisualEditorComponent = forwardRef< isDraftNew: Boolean(!saved && draft), } }) + .filter((row) => !row.isDraftDeleted) .sort((a, b) => a.name.localeCompare(b.name)) }, [ savedModelPrice, diff --git a/web/default/src/i18n/locales/en.json b/web/default/src/i18n/locales/en.json index 97e47f5552c9..a5e6fcce9554 100644 --- a/web/default/src/i18n/locales/en.json +++ b/web/default/src/i18n/locales/en.json @@ -392,6 +392,7 @@ "Are you sure you want to delete {{count}} model(s)? This action cannot be undone.": "Are you sure you want to delete {{count}} model(s)? This action cannot be undone.", "Are you sure you want to delete all auto-disabled keys? This action cannot be undone.": "Are you sure you want to delete all auto-disabled keys? This action cannot be undone.", "Are you sure you want to delete deployment \"{{name}}\"? This action cannot be undone.": "Are you sure you want to delete deployment \"{{name}}\"? This action cannot be undone.", + "Are you sure you want to delete pricing for \"{{name}}\"? This action cannot be undone.": "Are you sure you want to delete pricing for \"{{name}}\"? This action cannot be undone.", "Are you sure you want to delete this key? This action cannot be undone.": "Are you sure you want to delete this key? This action cannot be undone.", "Are you sure you want to disable all enabled keys?": "Are you sure you want to disable all enabled keys?", "Are you sure you want to enable all keys?": "Are you sure you want to enable all keys?", @@ -1160,6 +1161,7 @@ "Delete logs": "Delete logs", "Delete mapping": "Delete mapping", "Delete Model": "Delete Model", + "Delete model pricing": "Delete model pricing", "Delete Models?": "Delete Models?", "Delete Provider": "Delete Provider", "Delete Request Header": "Delete Request Header", diff --git a/web/default/src/i18n/locales/fr.json b/web/default/src/i18n/locales/fr.json index 94acf17a2c7e..0e689487927f 100644 --- a/web/default/src/i18n/locales/fr.json +++ b/web/default/src/i18n/locales/fr.json @@ -392,6 +392,7 @@ "Are you sure you want to delete {{count}} model(s)? This action cannot be undone.": "Êtes-vous sûr de vouloir supprimer {{count}} modèle(s) ? Cette action ne peut pas être annulée.", "Are you sure you want to delete all auto-disabled keys? This action cannot be undone.": "Êtes-vous sûr de vouloir supprimer toutes les clés automatiquement désactivées ? Cette action ne peut pas être annulée.", "Are you sure you want to delete deployment \"{{name}}\"? This action cannot be undone.": "Êtes-vous sûr de vouloir supprimer le déploiement \"{{name}}\" ? Cette action est irréversible.", + "Are you sure you want to delete pricing for \"{{name}}\"? This action cannot be undone.": "Êtes-vous sûr de vouloir supprimer la tarification pour \"{{name}}\" ? Cette action est irréversible.", "Are you sure you want to delete this key? This action cannot be undone.": "Êtes-vous sûr de vouloir supprimer cette clé ? Cette action ne peut pas être annulée.", "Are you sure you want to disable all enabled keys?": "Êtes-vous sûr de vouloir désactiver toutes les clés activées ?", "Are you sure you want to enable all keys?": "Êtes-vous sûr de vouloir activer toutes les clés ?", @@ -1160,6 +1161,7 @@ "Delete logs": "Supprimer les journaux", "Delete mapping": "Supprimer le mappage", "Delete Model": "Supprimer le modèle", + "Delete model pricing": "Supprimer la tarification du modèle", "Delete Models?": "Supprimer les modèles ?", "Delete Provider": "Supprimer le fournisseur", "Delete Request Header": "Supprimer un en-tête de requête", diff --git a/web/default/src/i18n/locales/ja.json b/web/default/src/i18n/locales/ja.json index 3fc292a2bfe8..b02b566fc387 100644 --- a/web/default/src/i18n/locales/ja.json +++ b/web/default/src/i18n/locales/ja.json @@ -392,6 +392,7 @@ "Are you sure you want to delete {{count}} model(s)? This action cannot be undone.": "{{count}} 個のモデルを削除してもよろしいですか?この操作は元に戻せません。", "Are you sure you want to delete all auto-disabled keys? This action cannot be undone.": "すべての自動無効化されたキーを削除してもよろしいですか?この操作は元に戻せません。", "Are you sure you want to delete deployment \"{{name}}\"? This action cannot be undone.": "デプロイ \"{{name}}\" を削除してもよろしいですか?この操作は元に戻せません。", + "Are you sure you want to delete pricing for \"{{name}}\"? This action cannot be undone.": "モデル \"{{name}}\" の価格を削除してもよろしいですか?この操作は元に戻せません。", "Are you sure you want to delete this key? This action cannot be undone.": "このキーを削除してもよろしいですか?この操作は元に戻せません。", "Are you sure you want to disable all enabled keys?": "すべての有効なキーを無効にすることをよろしいですか?", "Are you sure you want to enable all keys?": "すべてのキーを有効にすることをよろしいですか?", @@ -1160,6 +1161,7 @@ "Delete logs": "ログを削除", "Delete mapping": "マッピングを削除", "Delete Model": "モデルを削除", + "Delete model pricing": "モデル価格を削除", "Delete Models?": "モデルを削除しますか?", "Delete Provider": "プロバイダーを削除", "Delete Request Header": "リクエストヘッダーを削除", diff --git a/web/default/src/i18n/locales/ru.json b/web/default/src/i18n/locales/ru.json index 50517e7cf4f6..fae400ddbf7a 100644 --- a/web/default/src/i18n/locales/ru.json +++ b/web/default/src/i18n/locales/ru.json @@ -392,6 +392,7 @@ "Are you sure you want to delete {{count}} model(s)? This action cannot be undone.": "Вы уверены, что хотите удалить {{count}} модел(ей)? Это действие нельзя отменить.", "Are you sure you want to delete all auto-disabled keys? This action cannot be undone.": "Вы уверены, что хотите удалить все автоматически отключённые ключи? Это действие нельзя отменить.", "Are you sure you want to delete deployment \"{{name}}\"? This action cannot be undone.": "Вы уверены, что хотите удалить развертывание \"{{name}}\"? Это действие нельзя отменить.", + "Are you sure you want to delete pricing for \"{{name}}\"? This action cannot be undone.": "Вы уверены, что хотите удалить цену для \"{{name}}\"? Это действие нельзя отменить.", "Are you sure you want to delete this key? This action cannot be undone.": "Вы уверены, что хотите удалить этот ключ? Это действие нельзя отменить.", "Are you sure you want to disable all enabled keys?": "Вы уверены, что хотите отключить все включённые ключи?", "Are you sure you want to enable all keys?": "Вы уверены, что хотите включить все ключи?", @@ -1160,6 +1161,7 @@ "Delete logs": "Удалить логи", "Delete mapping": "Удалить сопоставление", "Delete Model": "Удалить модель", + "Delete model pricing": "Удалить цену модели", "Delete Models?": "Удалить модели?", "Delete Provider": "Удалить провайдер", "Delete Request Header": "Удалить заголовок запроса", diff --git a/web/default/src/i18n/locales/vi.json b/web/default/src/i18n/locales/vi.json index c23c877d63a4..cbdf77a3fa6b 100644 --- a/web/default/src/i18n/locales/vi.json +++ b/web/default/src/i18n/locales/vi.json @@ -392,6 +392,7 @@ "Are you sure you want to delete {{count}} model(s)? This action cannot be undone.": "Bạn có chắc muốn xóa {{count}} mô hình không? Hành động này không thể hoàn tác.", "Are you sure you want to delete all auto-disabled keys? This action cannot be undone.": "Bạn có chắc chắn muốn xóa tất cả các khóa bị tắt tự động? Hành động này không thể hoàn tác.", "Are you sure you want to delete deployment \"{{name}}\"? This action cannot be undone.": "Bạn có chắc muốn xóa triển khai \"{{name}}\" không? Hành động này không thể hoàn tác.", + "Are you sure you want to delete pricing for \"{{name}}\"? This action cannot be undone.": "Bạn có chắc muốn xóa giá cho \"{{name}}\" không? Hành động này không thể hoàn tác.", "Are you sure you want to delete this key? This action cannot be undone.": "Bạn có chắc chắn muốn xóa khóa này? Hành động này không thể hoàn tác.", "Are you sure you want to disable all enabled keys?": "Bạn có chắc chắn muốn vô hiệu hóa tất cả các khóa đang bật không?", "Are you sure you want to enable all keys?": "Bạn có chắc chắn muốn bật tất cả các khóa không?", @@ -1160,6 +1161,7 @@ "Delete logs": "Xóa nhật ký", "Delete mapping": "Xóa ánh xạ", "Delete Model": "Xóa Mô hình", + "Delete model pricing": "Xóa giá mô hình", "Delete Models?": "Xóa mô hình?", "Delete Provider": "Xóa nhà cung cấp", "Delete Request Header": "Xóa header yêu cầu", diff --git a/web/default/src/i18n/locales/zh.json b/web/default/src/i18n/locales/zh.json index 5ca604561ace..f6450584f9ce 100644 --- a/web/default/src/i18n/locales/zh.json +++ b/web/default/src/i18n/locales/zh.json @@ -392,6 +392,7 @@ "Are you sure you want to delete {{count}} model(s)? This action cannot be undone.": "您确定要删除 {{count}} 个模型吗?此操作无法撤销。", "Are you sure you want to delete all auto-disabled keys? This action cannot be undone.": "您确定要删除所有自动禁用的密钥吗?此操作无法撤销。", "Are you sure you want to delete deployment \"{{name}}\"? This action cannot be undone.": "确定要删除部署 \"{{name}}\" 吗?此操作不可撤销。", + "Are you sure you want to delete pricing for \"{{name}}\"? This action cannot be undone.": "确定要删除模型 \"{{name}}\" 的定价吗?此操作不可撤销。", "Are you sure you want to delete this key? This action cannot be undone.": "您确定要删除此密钥吗?此操作无法撤销。", "Are you sure you want to disable all enabled keys?": "您确定要禁用所有已启用的密钥吗?", "Are you sure you want to enable all keys?": "您确定要启用所有密钥吗?", @@ -1160,6 +1161,7 @@ "Delete logs": "删除日志", "Delete mapping": "删除映射", "Delete Model": "删除模型", + "Delete model pricing": "删除模型定价", "Delete Models?": "删除模型?", "Delete Provider": "删除提供商", "Delete Request Header": "删除请求头",