Поля country/city/datacenter были потеряны при миграции формы на shadcn.
Добавлены в zod-схему, EMPTY_FORM, openEdit и в JSX формы (грид из 3
колонок после «Проект»).
Co-authored-by: Cursor <cursoragent@cursor.com>
Раньше в колонке тарифа вызывался formatInBaseCurrency с ratesData=null,
поэтому 0.8 EUR отображались как «0,80 ₽» (без конвертации, но в базовой
валюте). Теперь:
- ratesData грузится через ratesQueryOptions (как на dashboard/reports);
- валюта тарифа определяется через effectiveVpsTariffCurrency (приоритет
baseCurrency провайдера, затем vps.currency);
- форматирование через formatInProviderCurrency — учитывает курсы
провайдера (usdRate/eurRate) и глобальные курсы, при их отсутствии
показывает сумму в исходной валюте, а не в базовой.
Co-authored-by: Cursor <cursoragent@cursor.com>
Ставка/мес и Ставка/день теперь принимают дробные значения (например,
0.8 EUR), а не только целые. Раньше browser-native валидация type=number
со step=1 блокировала сохранение.
Co-authored-by: Cursor <cursoragent@cursor.com>
- SelectField: обёртка над base-ui Select с items prop
(Select.Value рендерит label выбранного элемента, а не raw value)
- все Select в forms (vps/providers/accounts/payments/balance/settings)
переписаны на SelectField
- FormSheetRhf: useEffect reset(defaultValues) при открытии sheet
— теперь форма редактирования заполняется текущими данными
Co-authored-by: Cursor <cursoragent@cursor.com>