QrRapido/Views/Shared/_TelegramPremiumFab.cshtml
Ricardo Carneiro 5a90dc1570
All checks were successful
Deploy QR Rapido / test (push) Successful in 39s
Deploy QR Rapido / build-and-push (push) Successful in 13m22s
Deploy QR Rapido / deploy-staging (push) Has been skipped
Deploy QR Rapido / deploy-production (push) Successful in 2m10s
feat: tawk.to
2025-10-21 21:35:59 -03:00

95 lines
4.8 KiB
Plaintext

@using System.Globalization
@using Microsoft.Extensions.Localization
@inject IStringLocalizer<QRRapidoApp.Resources.SharedResource> Localizer
@inject Microsoft.Extensions.Configuration.IConfiguration Configuration
@{
var culture = CultureInfo.CurrentUICulture;
var telegramLang = culture.Name.Replace('-', '_');
var botUsername = Configuration["Telegram:LoginWidgetBotUsername"] ?? string.Empty;
var botId = Configuration["Telegram:BotId"] ?? string.Empty;
var requestAccess = Configuration["Telegram:LoginWidgetRequestAccess"] ?? "write";
}
<div id="telegramFabRoot"
class="telegram-fab-root"
data-telegram-lang="@telegramLang"
data-bot-username="@botUsername"
data-bot-id="@botId"
data-request-access="@requestAccess"
data-status-loading="@Localizer["TelegramPremiumStatusLoading"]"
data-status-error="@Localizer["TelegramPremiumStatusError"]"
data-status-connected="@Localizer["TelegramPremiumStatusConnected"]"
data-status-disconnected="@Localizer["TelegramPremiumStatusDisconnected"]"
data-link-success="@Localizer["TelegramPremiumLinkSuccess"]"
data-unlink-success="@Localizer["TelegramPremiumUnlinkSuccess"]"
data-link-error="@Localizer["TelegramPremiumLinkError"]"
data-unlink-error="@Localizer["TelegramPremiumUnlinkError"]"
data-retry-label="@Localizer["TelegramPremiumRetry"]"
data-open-label="@Localizer["TelegramPremiumOpenTelegram"]"
data-unlink-label="@Localizer["TelegramPremiumUnlink"]">
<button id="telegramPremiumFab"
type="button"
class="btn btn-primary fab-telegram d-flex align-items-center justify-content-center"
data-bs-toggle="offcanvas"
data-bs-target="#telegramPremiumOffcanvas"
aria-controls="telegramPremiumOffcanvas"
aria-label="@Localizer["TelegramPremiumHelp"]"
title="@Localizer["TelegramPremiumHelp"]">
<i class="fab fa-telegram-plane" aria-hidden="true"></i>
<span class="visually-hidden">@Localizer["TelegramPremiumHelp"]</span>
</button>
<div class="offcanvas offcanvas-end offcanvas-sm-bottom"
tabindex="-1"
id="telegramPremiumOffcanvas"
aria-labelledby="telegramPremiumOffcanvasLabel">
<div class="offcanvas-header border-bottom">
<h5 class="offcanvas-title" id="telegramPremiumOffcanvasLabel">@Localizer["TelegramPremiumTitle"]</h5>
<button type="button" class="btn-close" data-bs-dismiss="offcanvas" aria-label="@Localizer["Close"]"></button>
</div>
<div class="offcanvas-body">
<div id="telegramFabAlert" class="alert alert-danger d-none" role="alert"></div>
<div id="telegramFabLoading" class="d-flex align-items-center gap-2 telegram-fab-loading" role="status">
<div class="spinner-border spinner-border-sm text-primary" aria-hidden="true"></div>
<span>@Localizer["TelegramPremiumStatusLoading"]</span>
</div>
<div id="telegramFabConnected" class="telegram-fab-connected d-none">
<p class="mb-3 text-body">@Html.Raw(Localizer["TelegramPremiumStatusConnected", "<span class=\"fw-semibold telegram-fab-username\"></span>"])</p>
<div class="d-grid gap-2">
<button type="button" class="btn btn-success telegram-fab-open">
<i class="fab fa-telegram-plane me-2" aria-hidden="true"></i>
@Localizer["TelegramPremiumOpenTelegram"]
</button>
<button type="button" class="btn btn-outline-secondary telegram-fab-unlink">
@Localizer["TelegramPremiumUnlink"]
</button>
</div>
</div>
<div id="telegramFabDisconnected" class="telegram-fab-disconnected d-none">
<p class="mb-3 text-body-secondary">@Localizer["TelegramPremiumLoginHint"]</p>
<div id="telegramLoginWidgetPlaceholder" class="telegram-fab-widget-placeholder">
<div class="telegram-fab-widget-skeleton">
<div class="placeholder-wave">
<span class="placeholder col-8"></span>
<span class="placeholder col-6 mt-2"></span>
</div>
</div>
</div>
<div class="d-grid gap-2 mt-3">
<button type="button" class="btn btn-outline-primary telegram-fab-retry d-none">
@Localizer["TelegramPremiumRetry"]
</button>
</div>
</div>
</div>
</div>
<div id="telegramFabToasts" class="toast-container position-fixed bottom-0 end-0 p-3">
<!-- Toasts injected dynamically -->
</div>
</div>