Добавьте первую подписку для отслеживания платежей
- -| handleSort('hostName')} - style={{ minWidth: '200px' }} - > - Сервис - {sortField === 'hostName' && ( - {sortOrder === 'asc' ? '↑' : '↓'} - )} - | -handleSort('monthlyCost')} - style={{ width: '140px' }} - > - Стоимость - {sortField === 'monthlyCost' && ( - {sortOrder === 'asc' ? '↑' : '↓'} - )} - | -handleSort('nextPaymentDate')} - style={{ width: '120px' }} - > - Платёж - {sortField === 'nextPaymentDate' && ( - {sortOrder === 'asc' ? '↑' : '↓'} - )} - | -Срок | -Статус | -- | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
-
-
-
- {item.hostName}
- {item._external && (
-
- не заполнен
-
- )}
-
-
- {item.provider}
- {linkedServer && (
- <>
- •
- {linkedServer.ip}
- >
- )}
- {item.loginUrl && (
-
-
+ {item.monthlyCostCurrency !== 'RUB' && (
+
+
+ ) : viewMode === 'cards' ? (
+ /* Карточный вид */
+ {searchTerm || filterUrgency ? 'Ничего не найдено' : 'Нет подписок'}+Добавьте первую подписку для отслеживания платежей + +
+ {paginatedData.map(item => {
+ const days = getDaysUntilPayment(item.nextPaymentDate);
+ const linkedServer = item.serverId ? serversById.get(item.serverId) : null;
+
+ return (
+
+ ) : (
+ /* Табличный вид */
+
+
- )}
-
- {totalPages > 1 && (
-
+ ≈ {formatCurrencyInRUB(item.monthlyCost, item.monthlyCostCurrency)}
+
+ )}
+ |
+ + {formatDate(item.nextPaymentDate)} + | +
+ |
+ + {item.status === 'active' ? ( + Активен + ) : ( + Неактивен + )} + | +
+
+
+
+
+
+ |
+