package templates import ( "fmt" "portfolio-tracker/internal/model" "portfolio-tracker/internal/web/templates/components" ) templ PortfolioDetailContent(portfolio model.Portfolio, positions []model.Position, positionSummary model.PositionSummary) {
| Wertpapier | Anzahl | Ø Einkaufspreis | Aktueller Wert | +/- Gesamt | |
|---|---|---|---|---|---|
|
{ position.Stock }
{ position.Currency }
|
{ position.FormatShares() } | { position.FormatCurrency(position.AverageCostPrice) } |
{ position.FormatCurrency(position.CurrentPrice) }
{ position.FormatCurrency(position.CurrentValue) }
|
{ position.FormatCurrency(position.UnrealizedPL) }
{ position.FormatPercentage() }
|
Details |
| Keine Positionen vorhanden. Fügen Sie Ihre erste Transaktion hinzu. | |||||
| Datum | Typ | Wertpapier | Anzahl | Preis | Preis ({ portfolio.BaseCurrency }) | Gesamt | Gesamt ({ portfolio.BaseCurrency }) | |
|---|---|---|---|---|---|---|---|---|
| { activity.Date.Format("02.01.2006") } | if activity.Type == "BUY" { Kauf } else if activity.Type == "SELL" { Verkauf } else if activity.Type == "DIVIDEND" { Dividende } else { { string(activity.Type) } } | { activity.Stock } | { fmt.Sprintf("%.3f", activity.Amount) } | { fmt.Sprintf("%.2f %s", activity.Price, activity.Currency) } | if activity.Currency != portfolio.BaseCurrency { { getConvertedPrice(activity, portfolio.BaseCurrency) } } else { - } | { fmt.Sprintf("%.2f %s", activity.Amount * activity.Price, activity.Currency) } | if activity.Currency != portfolio.BaseCurrency { { getConvertedTotalWithFallbackInfo(activity, portfolio.BaseCurrency) } } else { - } |
|
| Keine Transaktionen vorhanden | ||||||||
Allokations-Chart wird hier implementiert