@using QRRapidoApp.Services @using Microsoft.Extensions.Localization @inject AdDisplayService AdService @inject IStringLocalizer Localizer @{ ViewData["Title"] = "Home"; var userId = User?.FindFirst(System.Security.Claims.ClaimTypes.NameIdentifier)?.Value; Layout = "~/Views/Shared/_Layout.cshtml"; }
@{ var statusValue = "anonymous"; if (User.Identity.IsAuthenticated) { var isPremium = await AdService.HasValidPremiumSubscription(userId); statusValue = isPremium ? "premium" : "logged-in"; } }
@Localizer["RateLimitExceeded"] @Localizer["QRCodesRemainingToday"] @Localizer["UnlimitedToday"]

@Localizer["CreateQRCodeQuickly"]

@if (User.Identity.IsAuthenticated) { var isPremium = await AdService.HasValidPremiumSubscription(userId); @if (isPremium) {
@Localizer["PremiumUserActive"] @Localizer["NoAdsHistoryUnlimitedQR"]
} }
0.0s
@Localizer["UltraFastGeneration"]
Carregando...
@Localizer["ChooseTypeFirst"]
@Localizer["TypeGuideURL"] @Localizer["TypeGuideVCard"] @Localizer["TypeGuideWiFi"] @Localizer["TypeGuideSMS"] @Localizer["TypeGuideEmail"] @Localizer["TypeGuideText"]
Conteúdo deve ter pelo menos 3 caracteres
@Localizer["ContentHints"]

@if (User.Identity.IsAuthenticated) {
@{ var userService = Context.RequestServices.GetService(); var currentUserId = User?.FindFirst(System.Security.Claims.ClaimTypes.NameIdentifier)?.Value; var currentUser = currentUserId != null ? await userService.GetUserAsync(currentUserId) : null; var isPremium = currentUser?.IsPremium == true; } @if (isPremium) {
Logo Personalizado - Premium
PNG ou JPG, máximo 2MB, recomendado: formato quadrado
20%
10% (Discreto) 25% (Máximo seguro)
Converte o logo para a cor selecionada
Dicas para Melhor Resultado:
  • Use logos com formato quadrado ou circular
  • Prefira fundos transparentes (PNG)
  • Evite logos com muito detalhe
Garantia de Leitura:
  • ✅ Correção de erro de 30%
  • ✅ Bordas de proteção automáticas
  • ✅ Testado em todos os leitores
} else {
Logo Personalizado - Premium

Adicione sua marca aos QR Codes! Agora com tamanho configurável (10-25%) e colorização automática.

Fazer Upgrade
}
@if (!isPremium) {
Upgrade Premium para estilos personalizados
}
}
1.2s
@Localizer["AverageTime"]
99.9%
@Localizer["Availability"]
10.5K
@Localizer["QRsGeneratedToday"]

@Localizer["LearnQRTypes"]

@Localizer["WhatIsIt"]

@Localizer["URLQRDescription"]

@Localizer["HowToUse"]
  1. @Localizer["URLStep1"]
  2. @Localizer["URLStep2"]
  3. @Localizer["URLStep3"]
  4. @Localizer["URLStep4"]
@Localizer["Tips"]
  • @Localizer["URLTip1"]
  • @Localizer["URLTip2"]
  • @Localizer["URLTip3"]
@Localizer["UseCases"]
  • @Localizer["URLUseCase1"]
  • @Localizer["URLUseCase2"]
  • @Localizer["URLUseCase3"]

@Localizer["WhatIsIt"]

@Localizer["TextQRDescription"]

@Localizer["HowToUse"]
  1. @Localizer["TextStep1"]
  2. @Localizer["TextStep2"]
  3. @Localizer["TextStep3"]
@Localizer["Tips"]
  • @Localizer["TextTip1"]
  • @Localizer["TextTip2"]
@Localizer["UseCases"]
  • @Localizer["TextUseCase1"]
  • @Localizer["TextUseCase2"]
  • @Localizer["TextUseCase3"]

@Localizer["WhatIsIt"]

@Localizer["WhatsAppQRDescription"]

@Localizer["HowToUse"]
  1. @Localizer["WhatsAppStep1"]
  2. @Localizer["WhatsAppStep2"]
  3. @Localizer["WhatsAppStep3"]
@Localizer["Tips"]
  • @Localizer["WhatsAppTip1"]
  • @Localizer["WhatsAppTip2"]
@Localizer["UseCases"]
  • @Localizer["WhatsAppUseCase1"]
  • @Localizer["WhatsAppUseCase2"]

@Localizer["WhatIsIt"]

@Localizer["EmailQRDescription"]

@Localizer["HowToUse"]
  1. @Localizer["EmailStep1"]
  2. @Localizer["EmailStep2"]
  3. @Localizer["EmailStep3"]
@Localizer["Tips"]
  • @Localizer["EmailTip1"]
  • @Localizer["EmailTip2"]
@Localizer["UseCases"]
  • @Localizer["EmailUseCase1"]
  • @Localizer["EmailUseCase2"]

@Localizer["WhatIsIt"]

@Localizer["SMSQRDescription"]

@Localizer["HowToUse"]
  1. @Localizer["SMSStep1"]
  2. @Localizer["SMSStep2"]
  3. @Localizer["SMSStep3"]
@Localizer["Tips"]
  • @Localizer["SMSTip1"]
  • @Localizer["SMSTip2"]
@Localizer["UseCases"]
  • @Localizer["SMSUseCase1"]
  • @Localizer["SMSUseCase2"]

@Localizer["WhatIsIt"]

@Localizer["WiFiQRDescription"]

@Localizer["HowToUse"]
  1. @Localizer["WiFiStep1"]
  2. @Localizer["WiFiStep2"]
  3. @Localizer["WiFiStep3"]
@Localizer["Tips"]
  • @Localizer["WiFiTip1"]
  • @Localizer["WiFiTip2"]
  • @Localizer["WiFiTip3"]
@Localizer["UseCases"]
  • @Localizer["WiFiUseCase1"]
  • @Localizer["WiFiUseCase2"]

@Localizer["WhatIsIt"]

@Localizer["VCardQRDescription"]

@Localizer["HowToUse"]
  1. @Localizer["VCardStep1"]
  2. @Localizer["VCardStep2"]
  3. @Localizer["VCardStep3"]
  4. @Localizer["VCardStep4"]
@Localizer["Tips"]
  • @Localizer["VCardTip1"]
  • @Localizer["VCardTip2"]
  • @Localizer["VCardTip3"]
@Localizer["UseCases"]
  • @Localizer["VCardUseCase1"]
  • @Localizer["VCardUseCase2"]
  • @Localizer["VCardUseCase3"]
@await Html.PartialAsync("_AdSpace", new { position = "content" })
Preview
Gerado em 0s

@Localizer["YourQRCodeWillAppear"]

@Localizer["UltraFastGenerationGuaranteed"]
@if (User.Identity.IsAuthenticated && await AdService.ShouldShowAds(userId)) {
QR Rapido Premium
@Localizer["ThreeTimesFaster"]
  • @Localizer["NoAdsForever"]
  • @Localizer["UnlimitedQRCodes"]
  • @Localizer["AdvancedCustomization"]
  • @Localizer["LogoSupport"]
  • @Localizer["HistoryAndDownloads"]
  • @Localizer["PrioritySupport"]
@Localizer["AcceleratePrice"] @Localizer["CancelAnytime"]
} @{ var tutorialCulture = System.Globalization.CultureInfo.CurrentUICulture.Name; }
@Localizer["LearnMore"]

@Localizer["CompleteGuidesAboutQRCodes"]

  • WhatsApp Business
  • @Localizer["WiFi"] Networks
  • @Localizer["VCard"]
  • @Localizer["RealEstateAndBrokers"]
@Localizer["ViewAllTutorials"]
@Localizer["TipsFasterQR"]
  • @Localizer["ShortURLsFaster"]
  • @Localizer["LessTextMoreSpeed"]
  • @Localizer["SolidColorsOptimize"]
  • @Localizer["SmallerSizesAccelerate"]
@await Html.PartialAsync("_AdSpace", new { position = "sidebar" })

@Localizer["WhyQRRapidoFaster"]

@Localizer["ComparisonOtherGenerators"]

QR Rapido
1.2s

@Localizer["OptimizedForSpeed"]

@Localizer["CompetitorA"]
3.5s

@Localizer["TraditionalGenerator"]

@Localizer["CompetitorB"]
4.8s

@Localizer["HeavyInterface"]

@Localizer["CompetitorC"]
6.2s

@Localizer["ManyAds"]

@await Html.PartialAsync("_AdSpace", new { position = "footer" }) @section Scripts { }