Compare commits
3 Commits
db9624822b
...
aedc6a8a17
| Author | SHA1 | Date | |
|---|---|---|---|
| aedc6a8a17 | |||
| c1371e9c72 | |||
| e93b9dfa53 |
@@ -70,3 +70,9 @@ Dashboard has a chart toggle (Both / Portfolio / 1-Year BTC) using tab state in
|
|||||||
- `purchases`: id, amount_eur, price_eur, created_at, user_id (FK)
|
- `purchases`: id, amount_eur, price_eur, created_at, user_id (FK)
|
||||||
|
|
||||||
Database persists via Docker volume at `/app/data/btc_portfolio.db`.
|
Database persists via Docker volume at `/app/data/btc_portfolio.db`.
|
||||||
|
|
||||||
|
## Git Workflow
|
||||||
|
|
||||||
|
- **Never work directly on `main`.** All development happens on `development` (or a feature branch).
|
||||||
|
- After any merge/push to `main`, always switch back to `development` immediately.
|
||||||
|
- `main` is only touched to merge in completed work from `development`.
|
||||||
|
|||||||
@@ -42,6 +42,14 @@ export default function PortfolioChart({ purchases, stats }) {
|
|||||||
investedValues.push(parseFloat(cumInvested.toFixed(2)));
|
investedValues.push(parseFloat(cumInvested.toFixed(2)));
|
||||||
});
|
});
|
||||||
|
|
||||||
|
const todayLabel = new Date().toLocaleDateString();
|
||||||
|
if (labels.length === 0 || labels[labels.length - 1] !== todayLabel) {
|
||||||
|
const currentVal = cumBtc * (stats?.current_price || 0);
|
||||||
|
labels.push(todayLabel);
|
||||||
|
portfolioValues.push(parseFloat(currentVal.toFixed(2)));
|
||||||
|
investedValues.push(parseFloat(cumInvested.toFixed(2)));
|
||||||
|
}
|
||||||
|
|
||||||
const currentPrice = stats?.current_price || 0;
|
const currentPrice = stats?.current_price || 0;
|
||||||
const breakEvenLine = labels.map(() => stats?.average_price || 0);
|
const breakEvenLine = labels.map(() => stats?.average_price || 0);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user