feat(savings): give each vault its own FAQ - #2513
Merged
Merged
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub. |
Code reviewNo issues found. Checked for bugs and CLAUDE.md compliance. |
The vault detail screen rendered one soUSD-centric FAQ list on all three vaults, so someone opening the ETH or FUSE vault was told what soUSD is and why they didn't receive 1 soUSD per USDC. VaultFaqCard now takes the selected vault type and reads from a per-vault list, with the accordion values scoped to the vault so switching vaults on the same mounted screen collapses the rows rather than leaving an index expanded onto a different question. Copy is product-owned and reproduced verbatim. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_019daPVkNqbwvt4mroiM53x8
MusabShakeel576
force-pushed
the
claude/charming-faraday-12xciz
branch
from
September 13, 2026 12:45
a627b30 to
429d179
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Implements Update the vaults FAQ using the copy Luka posted on the item, verbatim.
Problem
VaultFaqCardtook no props and read the single globalconstants/faqs.tsxlist, so all three vault detail pages rendered the same soUSD-centric questions. Someone opening the ETH or FUSE vault was asked "What is SoUSD?" and "Why didn't I receive 1 SoUSD per 1 USDC?".Every other card on the screen already receives
selectedVaultType— the FAQ card was the one that didn't.Changes
constants/vault-faqs.ts(new) —VAULT_FAQS: Record<VaultType, Faq[]>plus agetVaultFaqsaccessor that falls back to the USDC list for an unknown type.VaultFaqCard— takesvaultTypeand reads the matching list. Accordion values are now scoped to the vault (${vaultType}-faq-${index}), so switching vaults on the same mounted screen collapses the rows instead of leaving an index expanded onto a different question.SavingsScreenNew— passesselectedVaultTypethrough.constants/__tests__/vault-faqs.test.ts(new) — 5 tests covering the split.The global
constants/faqs.tsxis untouched; the landing page and the legacy savings screens keep the general "What is SOLID?" list.Copy
All 14 answers are reproduced exactly as written on the Monday item — no rewording, punctuation changes, or added emphasis, verified by diff against the source text.
Two claims I spot-checked against the backend and found accurate:
fuse-vault.service.tsis the source of truth for the tier unlock and reads the user's soFUSE share balance × accountant rate, not a wallet FUSE balance. Prime/Ultra default to 50,000 / 400,000 FUSE (app-config.constants.ts:718-719). Worth knowing these are admin-tunable AppConfig values rather than constants, so the numbers in this copy could drift — same as the existing fallbacks intierFees.ts.Testing
npx jest constants/__tests__/vault-faqs.test.ts— 5 passednpx tsc --noEmit— 9 errors, identical to the count on a cleanmastercheckout; none in the touched filesnpx eslinton all four files — cleanNo OOM; lint and tests both ran normally.
🤖 Generated with Claude Code
https://claude.ai/code/session_019daPVkNqbwvt4mroiM53x8