160 lines
7.3 KiB
Plaintext
160 lines
7.3 KiB
Plaintext
<!DOCTYPE html>
|
|
<html lang="pt-BR">
|
|
<head>
|
|
<meta charset="utf-8" />
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
<title>@(ViewData["Title"] ?? "BCards - Crie seu LinkTree Profissional")</title>
|
|
|
|
@if (ViewBag.SeoSettings != null)
|
|
{
|
|
var seo = ViewBag.SeoSettings as BCards.Web.Models.SeoSettings;
|
|
<meta name="description" content="@seo?.Description" />
|
|
<meta name="keywords" content="@string.Join(", ", seo?.Keywords ?? new List<string>())" />
|
|
<link rel="canonical" href="@seo?.CanonicalUrl" />
|
|
|
|
<!-- Open Graph -->
|
|
<meta property="og:title" content="@seo?.OgTitle" />
|
|
<meta property="og:description" content="@seo?.OgDescription" />
|
|
<meta property="og:image" content="@seo?.OgImage" />
|
|
<meta property="og:url" content="@seo?.CanonicalUrl" />
|
|
<meta property="og:type" content="profile" />
|
|
|
|
<!-- Twitter Card -->
|
|
<meta name="twitter:card" content="@seo?.TwitterCard" />
|
|
<meta name="twitter:title" content="@seo?.OgTitle" />
|
|
<meta name="twitter:description" content="@seo?.OgDescription" />
|
|
<meta name="twitter:image" content="@seo?.OgImage" />
|
|
}
|
|
else
|
|
{
|
|
<meta name="description" content="Crie sua página profissional com links organizados. A melhor alternativa ao LinkTree para profissionais e empresas no Brasil." />
|
|
<meta name="keywords" content="linktree, links, página profissional, perfil, redes sociais, cartão digital" />
|
|
}
|
|
|
|
@await RenderSectionAsync("Head", required: false)
|
|
|
|
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
|
|
<link rel="stylesheet" href="~/lib/bootstrap/css/bootstrap.min.css" />
|
|
<link rel="stylesheet" href="~/css/site.css" asp-append-version="true" />
|
|
<link rel="icon" type="image/x-icon" href="~/favicon.ico" />
|
|
|
|
@await RenderSectionAsync("Styles", required: false)
|
|
</head>
|
|
<body>
|
|
<header>
|
|
<nav class="navbar navbar-expand-sm navbar-toggleable-sm navbar-light fixed-top @(ViewBag.IsHomePage == true ? "bg-home-blue" : "bg-dashboard")" id="mainNavbar">
|
|
<div class="container-fluid">
|
|
<a class="navbar-brand fw-bold @(ViewBag.IsHomePage == true ? "text-white" : "text-primary")"
|
|
asp-area="" asp-controller="Home" asp-action="Index">
|
|
BCards
|
|
</a>
|
|
|
|
<button class="navbar-toggler @(ViewBag.IsHomePage == true ? "navbar-dark" : "")"
|
|
type="button"
|
|
data-bs-toggle="collapse"
|
|
data-bs-target=".navbar-collapse"
|
|
aria-controls="navbarSupportedContent"
|
|
aria-expanded="false"
|
|
aria-label="Toggle navigation">
|
|
<span class="navbar-toggler-icon"></span>
|
|
</button>
|
|
|
|
<div class="navbar-collapse collapse d-sm-inline-flex justify-content-between">
|
|
<ul class="navbar-nav flex-grow-1">
|
|
<li class="nav-item">
|
|
<a class="nav-link @(ViewBag.IsHomePage == true ? "text-white" : "text-dark")"
|
|
asp-area="" asp-controller="Home" asp-action="Index">
|
|
Início
|
|
</a>
|
|
</li>
|
|
<li class="nav-item">
|
|
<a class="nav-link @(ViewBag.IsHomePage == true ? "text-white" : "text-dark")"
|
|
asp-area="" asp-controller="Home" asp-action="Pricing">
|
|
Planos
|
|
</a>
|
|
</li>
|
|
|
|
@* Menu de Moderação via ViewComponent *@
|
|
@await Component.InvokeAsync("ModerationMenu")
|
|
</ul>
|
|
|
|
<ul class="navbar-nav">
|
|
@if (User.Identity?.IsAuthenticated == true)
|
|
{
|
|
<li class="nav-item">
|
|
<a class="nav-link @(ViewBag.IsHomePage == true ? "text-white" : "text-dark")"
|
|
asp-area="" asp-controller="Admin" asp-action="Dashboard">
|
|
<i class="fas fa-user me-1"></i>Dashboard
|
|
</a>
|
|
</li>
|
|
<li class="nav-item">
|
|
<a class="nav-link @(ViewBag.IsHomePage == true ? "text-white" : "text-dark")"
|
|
asp-area="" asp-controller="Auth" asp-action="Logout">
|
|
<i class="fas fa-sign-out-alt me-1"></i>Sair
|
|
</a>
|
|
</li>
|
|
}
|
|
else
|
|
{
|
|
<li class="nav-item">
|
|
<a class="nav-link @(ViewBag.IsHomePage == true ? "text-white" : "text-dark")"
|
|
asp-area="" asp-controller="Auth" asp-action="Login">
|
|
<i class="fas fa-sign-in-alt me-1"></i>Entrar
|
|
</a>
|
|
</li>
|
|
}
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
</nav>
|
|
</header>
|
|
|
|
<div class="container-fluid">
|
|
<main role="main">
|
|
@if (TempData["Success"] != null)
|
|
{
|
|
<div class="alert alert-success alert-dismissible fade show" role="alert">
|
|
@TempData["Success"]
|
|
<button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close"></button>
|
|
</div>
|
|
}
|
|
|
|
@if (TempData["Error"] != null)
|
|
{
|
|
<div class="alert alert-danger alert-dismissible fade show" role="alert">
|
|
@TempData["Error"]
|
|
<button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close"></button>
|
|
</div>
|
|
}
|
|
|
|
@if (TempData["Info"] != null)
|
|
{
|
|
<div class="alert alert-info alert-dismissible fade show" role="alert">
|
|
@TempData["Info"]
|
|
<button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close"></button>
|
|
</div>
|
|
}
|
|
|
|
@RenderBody()
|
|
</main>
|
|
</div>
|
|
|
|
<footer class="border-top footer text-muted">
|
|
<div class="container">
|
|
<div class="row py-4">
|
|
<div class="col-md-6">
|
|
© 2024 - BCards - <a asp-area="" asp-controller="Home" asp-action="Privacy">Privacidade</a>
|
|
</div>
|
|
<div class="col-md-6 text-end">
|
|
<small>Crie sua página profissional em minutos</small>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</footer>
|
|
|
|
<script src="~/lib/jquery/jquery.min.js"></script>
|
|
<script src="~/lib/bootstrap/js/bootstrap.bundle.min.js"></script>
|
|
<script src="~/js/site.js" asp-append-version="true"></script>
|
|
@await RenderSectionAsync("Scripts", required: false)
|
|
</body>
|
|
</html> |