Fix: Replace Quick Buy/Details buttons with single Buy button using short IDs
- ProductCarouselService: Use Buy button with short IDs for products without images - CallbackHandler: Fix HandleCategory to use Buy button with short IDs - MenuBuilder: Remove obsolete SingleProductMenu method This ensures consistent behavior across all product displays and fixes the Details button that was broken due to GUID format incompatibility. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
parent
3a8d576b64
commit
16ec41ccca
@ -298,11 +298,23 @@ namespace TeleBot.Handlers
|
||||
{
|
||||
foreach (var product in products.Items)
|
||||
{
|
||||
// Create Buy button with short ID format
|
||||
var buyButton = new InlineKeyboardMarkup(new[]
|
||||
{
|
||||
new[]
|
||||
{
|
||||
InlineKeyboardButton.WithCallbackData(
|
||||
$"🛒 Buy {product.Name}",
|
||||
_mapper.BuildCallback("product", product.Id)
|
||||
)
|
||||
}
|
||||
});
|
||||
|
||||
await bot.SendTextMessageAsync(
|
||||
message.Chat.Id,
|
||||
MessageFormatter.FormatSingleProduct(product),
|
||||
parseMode: Telegram.Bot.Types.Enums.ParseMode.Markdown,
|
||||
replyMarkup: MenuBuilder.SingleProductMenu(product.Id)
|
||||
replyMarkup: buyButton
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
@ -91,12 +91,23 @@ namespace TeleBot.Services
|
||||
}
|
||||
else
|
||||
{
|
||||
// If no image, send as text message instead
|
||||
// If no image, send as text message with Buy button
|
||||
var buyButton = new InlineKeyboardMarkup(new[]
|
||||
{
|
||||
new[]
|
||||
{
|
||||
InlineKeyboardButton.WithCallbackData(
|
||||
$"🛒 Buy {product.Name}",
|
||||
_mapper.BuildCallback("product", product.Id)
|
||||
)
|
||||
}
|
||||
});
|
||||
|
||||
await botClient.SendTextMessageAsync(
|
||||
chatId,
|
||||
FormatProductCaption(product),
|
||||
parseMode: Telegram.Bot.Types.Enums.ParseMode.Markdown,
|
||||
replyMarkup: MenuBuilder.SingleProductMenu(product.Id)
|
||||
replyMarkup: buyButton
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
@ -542,16 +542,6 @@ namespace TeleBot.UI
|
||||
};
|
||||
}
|
||||
|
||||
public static InlineKeyboardMarkup SingleProductMenu(Guid productId)
|
||||
{
|
||||
return new InlineKeyboardMarkup(new[]
|
||||
{
|
||||
new[] {
|
||||
InlineKeyboardButton.WithCallbackData("🛒 Quick Buy", $"quickbuy:{productId}:1"),
|
||||
InlineKeyboardButton.WithCallbackData("📄 Details", $"product:{productId}")
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
public static InlineKeyboardMarkup ProductMultiBuysMenu(Product product, int defaultQuantity = 1)
|
||||
{
|
||||
|
||||
Loading…
Reference in New Issue
Block a user