+ {/* Name */}
+
+
+ setName(e.target.value)}
+ className="w-full px-3 py-2 bg-dark-700 border border-dark-600 rounded-lg text-dark-100 focus:outline-none focus:border-accent-500"
+ placeholder="Например: Instagram Реклама"
+ />
+
+
+ {/* Start Parameter */}
+
+
+
setStartParameter(e.target.value.replace(/[^a-zA-Z0-9_-]/g, ''))}
+ className="w-full px-3 py-2 bg-dark-700 border border-dark-600 rounded-lg text-dark-100 focus:outline-none focus:border-accent-500"
+ placeholder="instagram_jan2024"
+ />
+
Только латиница, цифры, _ и -
+
+
+ {/* Bonus Type */}
+
+
+
+ {(Object.keys(bonusTypeConfig) as CampaignBonusType[]).map(type => (
+
+ ))}
+
+
+
+ {/* Bonus Settings */}
+ {bonusType === 'balance' && (
+
+
+
+ setBalanceBonusRubles(Math.max(0, parseFloat(e.target.value) || 0))}
+ className="w-32 px-3 py-2 bg-dark-700 border border-dark-600 rounded-lg text-dark-100 focus:outline-none focus:border-emerald-500"
+ min={0}
+ step={1}
+ />
+ ₽
+
+
+ )}
+
+ {bonusType === 'subscription' && (
+
+
+
+ {servers.length > 0 && (
+
+
+
+ {servers.map(server => (
+
+ ))}
+
+
+ )}
+
+ )}
+
+ {bonusType === 'tariff' && (
+
+
+
+
+
+
+
+
+ setTariffDays(Math.max(1, parseInt(e.target.value) || 1))}
+ className="w-full px-3 py-2 bg-dark-700 border border-dark-600 rounded-lg text-dark-100 focus:outline-none focus:border-purple-500"
+ min={1}
+ />
+
+
+ )}
+
+ {bonusType === 'none' && (
+
+
+ Кампания без бонусов - только для отслеживания переходов и регистраций.
+
+
+ )}
+
+ {/* Active toggle */}
+
+ Активна
+
+
+