refactor: reorder return fields in investment plan settings UI
This commit is contained in:
@@ -2588,10 +2588,7 @@ export default function CompanySettingsPage() {
|
|||||||
<label className="text-sm text-slate-600">Max Investment (৳)</label>
|
<label className="text-sm text-slate-600">Max Investment (৳)</label>
|
||||||
<input type="number" value={newInvestMax} onChange={(e) => setNewInvestMax(parseInt(e.target.value))} className="w-full px-3 py-2 border border-slate-200 rounded-lg text-sm mt-1" />
|
<input type="number" value={newInvestMax} onChange={(e) => setNewInvestMax(parseInt(e.target.value))} className="w-full px-3 py-2 border border-slate-200 rounded-lg text-sm mt-1" />
|
||||||
</div>
|
</div>
|
||||||
<div>
|
|
||||||
<label className="text-sm text-slate-600">Monthly Return (%)</label>
|
|
||||||
<input type="number" step="0.1" value={newInvestMonthly} onChange={(e) => setNewInvestMonthly(parseFloat(e.target.value))} className="w-full px-3 py-2 border border-slate-200 rounded-lg text-sm mt-1" />
|
|
||||||
</div>
|
|
||||||
<div>
|
<div>
|
||||||
<label className="text-sm text-slate-600">Duration (Months)</label>
|
<label className="text-sm text-slate-600">Duration (Months)</label>
|
||||||
<input type="number" value={newInvestDuration} onChange={(e) => setNewInvestDuration(parseInt(e.target.value))} className="w-full px-3 py-2 border border-slate-200 rounded-lg text-sm mt-1" />
|
<input type="number" value={newInvestDuration} onChange={(e) => setNewInvestDuration(parseInt(e.target.value))} className="w-full px-3 py-2 border border-slate-200 rounded-lg text-sm mt-1" />
|
||||||
@@ -2600,14 +2597,19 @@ export default function CompanySettingsPage() {
|
|||||||
<label className="text-sm text-slate-600">Lock-in Period (Months)</label>
|
<label className="text-sm text-slate-600">Lock-in Period (Months)</label>
|
||||||
<input type="number" value={newInvestLock} onChange={(e) => setNewInvestLock(parseInt(e.target.value))} className="w-full px-3 py-2 border border-slate-200 rounded-lg text-sm mt-1" />
|
<input type="number" value={newInvestLock} onChange={(e) => setNewInvestLock(parseInt(e.target.value))} className="w-full px-3 py-2 border border-slate-200 rounded-lg text-sm mt-1" />
|
||||||
</div>
|
</div>
|
||||||
<div>
|
|
||||||
<label className="text-sm text-slate-600">Total Return (%)</label>
|
|
||||||
<input type="number" step="0.1" value={newInvestTotal} onChange={(e) => setNewInvestTotal(parseFloat(e.target.value))} className="w-full px-3 py-2 border border-slate-200 rounded-lg text-sm mt-1" />
|
|
||||||
</div>
|
|
||||||
<div>
|
<div>
|
||||||
<label className="text-sm text-slate-600">Early Exit Penalty (%)</label>
|
<label className="text-sm text-slate-600">Early Exit Penalty (%)</label>
|
||||||
<input type="number" value={newInvestPenalty} onChange={(e) => setNewInvestPenalty(parseInt(e.target.value))} className="w-full px-3 py-2 border border-slate-200 rounded-lg text-sm mt-1" />
|
<input type="number" value={newInvestPenalty} onChange={(e) => setNewInvestPenalty(parseInt(e.target.value))} className="w-full px-3 py-2 border border-slate-200 rounded-lg text-sm mt-1" />
|
||||||
</div>
|
</div>
|
||||||
|
<div>
|
||||||
|
<label className="text-sm text-slate-600">Monthly Return (%)</label>
|
||||||
|
<input type="number" step="0.1" value={newInvestMonthly} onChange={(e) => setNewInvestMonthly(parseFloat(e.target.value))} className="w-full px-3 py-2 border border-slate-200 rounded-lg text-sm mt-1" />
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<label className="text-sm text-slate-600">Total Return (%)</label>
|
||||||
|
<input type="number" step="0.1" value={newInvestTotal} onChange={(e) => setNewInvestTotal(parseFloat(e.target.value))} className="w-full px-3 py-2 border border-slate-200 rounded-lg text-sm mt-1" />
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div className="mt-4 p-3 bg-slate-50 rounded-lg">
|
<div className="mt-4 p-3 bg-slate-50 rounded-lg">
|
||||||
<div className="flex items-center justify-between text-sm">
|
<div className="flex items-center justify-between text-sm">
|
||||||
@@ -2673,10 +2675,7 @@ export default function CompanySettingsPage() {
|
|||||||
<label className="text-sm text-slate-600">Max Investment (৳)</label>
|
<label className="text-sm text-slate-600">Max Investment (৳)</label>
|
||||||
<input type="number" value={plan.maxInvestment} onChange={(e) => { const updated = [...settings.plans.investment]; updated[idx].maxInvestment = parseInt(e.target.value); setSettings({ ...settings, plans: { ...settings.plans, investment: updated } }); }} className="w-full px-3 py-2 border border-slate-200 rounded-lg text-sm mt-1" />
|
<input type="number" value={plan.maxInvestment} onChange={(e) => { const updated = [...settings.plans.investment]; updated[idx].maxInvestment = parseInt(e.target.value); setSettings({ ...settings, plans: { ...settings.plans, investment: updated } }); }} className="w-full px-3 py-2 border border-slate-200 rounded-lg text-sm mt-1" />
|
||||||
</div>
|
</div>
|
||||||
<div>
|
|
||||||
<label className="text-sm text-slate-600">Monthly Return (%)</label>
|
|
||||||
<input type="number" step="0.1" value={plan.monthlyReturnPercent} onChange={(e) => { const updated = [...settings.plans.investment]; updated[idx].monthlyReturnPercent = parseFloat(e.target.value); setSettings({ ...settings, plans: { ...settings.plans, investment: updated } }); }} className="w-full px-3 py-2 border border-slate-200 rounded-lg text-sm mt-1" />
|
|
||||||
</div>
|
|
||||||
<div>
|
<div>
|
||||||
<label className="text-sm text-slate-600">Duration (Months)</label>
|
<label className="text-sm text-slate-600">Duration (Months)</label>
|
||||||
<input type="number" value={plan.durationMonths} onChange={(e) => { const updated = [...settings.plans.investment]; updated[idx].durationMonths = parseInt(e.target.value); setSettings({ ...settings, plans: { ...settings.plans, investment: updated } }); }} className="w-full px-3 py-2 border border-slate-200 rounded-lg text-sm mt-1" />
|
<input type="number" value={plan.durationMonths} onChange={(e) => { const updated = [...settings.plans.investment]; updated[idx].durationMonths = parseInt(e.target.value); setSettings({ ...settings, plans: { ...settings.plans, investment: updated } }); }} className="w-full px-3 py-2 border border-slate-200 rounded-lg text-sm mt-1" />
|
||||||
@@ -2685,14 +2684,19 @@ export default function CompanySettingsPage() {
|
|||||||
<label className="text-sm text-slate-600">Lock-in Period (Months)</label>
|
<label className="text-sm text-slate-600">Lock-in Period (Months)</label>
|
||||||
<input type="number" value={plan.lockInMonths} onChange={(e) => { const updated = [...settings.plans.investment]; updated[idx].lockInMonths = parseInt(e.target.value); setSettings({ ...settings, plans: { ...settings.plans, investment: updated } }); }} className="w-full px-3 py-2 border border-slate-200 rounded-lg text-sm mt-1" />
|
<input type="number" value={plan.lockInMonths} onChange={(e) => { const updated = [...settings.plans.investment]; updated[idx].lockInMonths = parseInt(e.target.value); setSettings({ ...settings, plans: { ...settings.plans, investment: updated } }); }} className="w-full px-3 py-2 border border-slate-200 rounded-lg text-sm mt-1" />
|
||||||
</div>
|
</div>
|
||||||
<div>
|
|
||||||
<label className="text-sm text-slate-600">Total Return (%)</label>
|
|
||||||
<input type="number" step="0.1" value={plan.totalReturnPercent} onChange={(e) => { const updated = [...settings.plans.investment]; updated[idx].totalReturnPercent = parseFloat(e.target.value); setSettings({ ...settings, plans: { ...settings.plans, investment: updated } }); }} className="w-full px-3 py-2 border border-slate-200 rounded-lg text-sm mt-1" />
|
|
||||||
</div>
|
|
||||||
<div>
|
<div>
|
||||||
<label className="text-sm text-slate-600">Early Exit Penalty (%)</label>
|
<label className="text-sm text-slate-600">Early Exit Penalty (%)</label>
|
||||||
<input type="number" value={plan.earlyExitPenalty} onChange={(e) => { const updated = [...settings.plans.investment]; updated[idx].earlyExitPenalty = parseInt(e.target.value); setSettings({ ...settings, plans: { ...settings.plans, investment: updated } }); }} className="w-full px-3 py-2 border border-slate-200 rounded-lg text-sm mt-1" />
|
<input type="number" value={plan.earlyExitPenalty} onChange={(e) => { const updated = [...settings.plans.investment]; updated[idx].earlyExitPenalty = parseInt(e.target.value); setSettings({ ...settings, plans: { ...settings.plans, investment: updated } }); }} className="w-full px-3 py-2 border border-slate-200 rounded-lg text-sm mt-1" />
|
||||||
</div>
|
</div>
|
||||||
|
<div>
|
||||||
|
<label className="text-sm text-slate-600">Monthly Return (%)</label>
|
||||||
|
<input type="number" step="0.1" value={plan.monthlyReturnPercent} onChange={(e) => { const updated = [...settings.plans.investment]; updated[idx].monthlyReturnPercent = parseFloat(e.target.value); setSettings({ ...settings, plans: { ...settings.plans, investment: updated } }); }} className="w-full px-3 py-2 border border-slate-200 rounded-lg text-sm mt-1" />
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<label className="text-sm text-slate-600">Total Return (%)</label>
|
||||||
|
<input type="number" step="0.1" value={plan.totalReturnPercent} onChange={(e) => { const updated = [...settings.plans.investment]; updated[idx].totalReturnPercent = parseFloat(e.target.value); setSettings({ ...settings, plans: { ...settings.plans, investment: updated } }); }} className="w-full px-3 py-2 border border-slate-200 rounded-lg text-sm mt-1" />
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div className="mt-4 p-3 bg-slate-50 rounded-lg">
|
<div className="mt-4 p-3 bg-slate-50 rounded-lg">
|
||||||
<div className="flex items-center justify-between text-sm">
|
<div className="flex items-center justify-between text-sm">
|
||||||
|
|||||||
Reference in New Issue
Block a user