This commit is contained in:
Artem Tsyrulnikov
2026-01-19 13:04:30 +03:00
parent 5473b26787
commit 72856aaf77
8 changed files with 111 additions and 1 deletions

View File

@@ -44,6 +44,28 @@ func (s *PlacementDetails) renderDetails(b *bot.Bot, mode bot.RenderMode, jwt st
return
}
placementPosts, err := b.Backend.GetPlacementPosts(
context.Background(),
jwt,
s.WorkspaceID,
&s.ProjectID,
&s.PlacementID,
)
if err != nil {
log.Error().Err(err).Msg("Failed to get placement posts")
}
var placementPost *backend.PlacementPostOutput
if placementPosts != nil {
for i := range placementPosts.PlacementPosts {
post := &placementPosts.PlacementPosts[i]
if post.PlacementID == s.PlacementID {
placementPost = post
break
}
}
}
text := "<b>Детали размещения</b>\n\n"
channelName := formatChannelName(placement.Channel)
@@ -78,6 +100,16 @@ func (s *PlacementDetails) renderDetails(b *bot.Bot, mode bot.RenderMode, jwt st
}
}
if placementPost != nil {
text += "\n<b>Пост</b>\n"
if placementPost.AdPostURL != nil && *placementPost.AdPostURL != "" {
text += fmt.Sprintf("• <b>Ссылка на пост:</b> %s\n", *placementPost.AdPostURL)
} else {
text += "• <b>Ссылка на пост:</b> не найдена\n"
}
text += fmt.Sprintf("• <b>Статус поста:</b> %s\n", formatPlacementPostStatus(placementPost.Status))
}
keyboard := Keyboard(Row(Button("← Назад", "back")))
b.Render(text, keyboard, mode)
}
@@ -129,6 +161,18 @@ func formatPlacementType(value string) string {
}
}
func formatPlacementPostStatus(status string) string {
normalized := strings.TrimSpace(strings.ToLower(status))
switch normalized {
case "active":
return "Активен"
case "archived":
return "Архивирован"
default:
return status
}
}
func formatCostType(value string) string {
switch strings.TrimSpace(strings.ToLower(value)) {
case "cpm":