правки

This commit is contained in:
Artem Tsyrulnikov
2026-02-03 14:22:49 +03:00
parent 26a5792665
commit c99afd6c0a
3 changed files with 49 additions and 31 deletions

View File

@@ -252,15 +252,17 @@ func (s *PurchaseOptionalDetails) HandleCallback(b *bot.Bot, u *echotron.Update)
s.Enter(b, bot.EditMessage)
case "back":
// Сохраняем текущее состояние перед возвратом назад
b.SetState(&SelectChannelsForPurchase{
ProjectID: s.ProjectID,
ProjectTitle: s.ProjectTitle,
CreativeID: s.CreativeID,
CreativeTitle: s.CreativeTitle,
Channels: s.Channels,
Duplicates: []string{},
ParsingErrors: []ParseError{},
BackState: s.BackState,
ProjectID: s.ProjectID,
ProjectTitle: s.ProjectTitle,
CreativeID: s.CreativeID,
CreativeTitle: s.CreativeTitle,
Channels: s.Channels,
Duplicates: []string{},
ParsingErrors: []ParseError{},
OptionalDetailsState: s, // Сохраняем текущее состояние
BackState: s.BackState,
}, bot.EditMessage)
case "next":
jwt := b.Session.JWT
@@ -2234,6 +2236,12 @@ func (s *PurchaseOptionalDetails) createPurchase(b *bot.Bot, jwt string) {
}
}
// Очищаем сохранённое состояние после успешного создания
// Находим SelectChannelsForPurchase в BackState и очищаем его OptionalDetailsState
if selectState, ok := s.BackState.(*SelectChannelsForPurchase); ok {
selectState.OptionalDetailsState = nil
}
b.SetState(&Placements{
ProjectID: s.ProjectID,
ProjectTitle: s.ProjectTitle,