Telegram: https://t.me/+DOylgFv1jyJlNzM0
Why this matters
The seconds-per-unit mapping for stream durations is defined twice with magic numbers:
frontend/src/lib/soroban.ts — SECONDS_PER_UNIT (BigInt: minutes 60, hours 3600, days 86400, weeks 604800, months 2592000)
frontend/src/components/stream-creation/ScheduleStep.tsx — an inline switch repeating the same * 60 / * 3600 / * 86400 / * 604800 / * 2592000 literals
If one is changed (e.g. "months" definition), the preview rate in the wizard and the actual submitted duration can silently diverge.
Acceptance criteria
Files to touch
frontend/src/lib/soroban.ts
frontend/src/components/stream-creation/ScheduleStep.tsx
Out of scope
Telegram: https://t.me/+DOylgFv1jyJlNzM0
Why this matters
The seconds-per-unit mapping for stream durations is defined twice with magic numbers:
frontend/src/lib/soroban.ts—SECONDS_PER_UNIT(BigInt: minutes 60, hours 3600, days 86400, weeks 604800, months 2592000)frontend/src/components/stream-creation/ScheduleStep.tsx— an inlineswitchrepeating the same* 60 / * 3600 / * 86400 / * 604800 / * 2592000literalsIf one is changed (e.g. "months" definition), the preview rate in the wizard and the actual submitted duration can silently diverge.
Acceptance criteria
toDurationSeconds-style helper) and use it in both placesFiles to touch
frontend/src/lib/soroban.tsfrontend/src/components/stream-creation/ScheduleStep.tsxOut of scope