Compare commits
2 Commits
b21056f636
...
950400e0a8
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
950400e0a8 | ||
|
|
8c43814ffd |
15
VCart.Domain/Entities/BusinessAreas.cs
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace Blinks.Domain.Entities
|
||||||
|
{
|
||||||
|
public class BusinessAreas
|
||||||
|
{
|
||||||
|
public BusinessAreas() { }
|
||||||
|
|
||||||
|
public string Name { get; set; }
|
||||||
|
}
|
||||||
|
}
|
||||||
12
VCart.Domain/Entities/BusinessAres.cs
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace Blinks.Domain.Entities
|
||||||
|
{
|
||||||
|
internal class BusinessAres
|
||||||
|
{
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -3,9 +3,9 @@ using System.Collections.Generic;
|
|||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
using VCart.Domain.ValueObjects;
|
using Blinks.Domain.ValueObjects;
|
||||||
|
|
||||||
namespace VCart.Domain.Entities
|
namespace Blinks.Domain.Entities
|
||||||
{
|
{
|
||||||
public class PersonUser
|
public class PersonUser
|
||||||
{
|
{
|
||||||
@ -16,6 +16,8 @@ namespace VCart.Domain.Entities
|
|||||||
public string LastName => Name.LastName;
|
public string LastName => Name.LastName;
|
||||||
public Email Email { get; private set; }
|
public Email Email { get; private set; }
|
||||||
public DateChanged DateChanged { get; private set; }
|
public DateChanged DateChanged { get; private set; }
|
||||||
|
public bool IsCompleted { get; private set; }
|
||||||
|
public int CountryId { get; private set; }
|
||||||
|
public int BusinessAreaId { get; private set; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
19
VCart.Domain/Entities/UserPlan.cs
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace Blinks.Domain.Entities
|
||||||
|
{
|
||||||
|
public class UserPlan
|
||||||
|
{
|
||||||
|
public int Id { get; set; }
|
||||||
|
|
||||||
|
public string Name { get; set; }
|
||||||
|
|
||||||
|
public string Description { get; set; }
|
||||||
|
|
||||||
|
public string UserPlanId { get; set; }
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -4,7 +4,7 @@ using System.Diagnostics.Metrics;
|
|||||||
using System.IO;
|
using System.IO;
|
||||||
using System.Reflection.Emit;
|
using System.Reflection.Emit;
|
||||||
|
|
||||||
namespace VCart.Domain
|
namespace Blinks.Domain
|
||||||
{
|
{
|
||||||
public class DateBirth : AValueObject
|
public class DateBirth : AValueObject
|
||||||
{
|
{
|
||||||
|
|||||||
@ -1,7 +1,8 @@
|
|||||||
|
|
||||||
using BaseDomain;
|
using BaseDomain;
|
||||||
|
using System.Globalization;
|
||||||
|
|
||||||
namespace VCart.Domain
|
namespace Blinks.Domain
|
||||||
{
|
{
|
||||||
public class DateChanged : AValueObject
|
public class DateChanged : AValueObject
|
||||||
{
|
{
|
||||||
@ -15,6 +16,11 @@ namespace VCart.Domain
|
|||||||
this.Value = dateTime;
|
this.Value = dateTime;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public DateChanged(string dateTime)
|
||||||
|
{
|
||||||
|
this.Value = Convert.ToDateTime(dateTime, new CultureInfo("pt-BR"));
|
||||||
|
}
|
||||||
|
|
||||||
public DateTime? Value { get; private set; }
|
public DateTime? Value { get; private set; }
|
||||||
|
|
||||||
public override bool GetValidationExpression()
|
public override bool GetValidationExpression()
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
using BaseDomain;
|
using BaseDomain;
|
||||||
using System.Net.Mail;
|
using System.Net.Mail;
|
||||||
|
|
||||||
namespace VCart.Domain
|
namespace Blinks.Domain
|
||||||
{
|
{
|
||||||
public class Email : AValueObject
|
public class Email : AValueObject
|
||||||
{
|
{
|
||||||
|
|||||||
@ -5,7 +5,7 @@ using System.Linq;
|
|||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
namespace VCart.Domain.ValueObjects
|
namespace Blinks.Domain.ValueObjects
|
||||||
{
|
{
|
||||||
public class Id : AValueObject
|
public class Id : AValueObject
|
||||||
{
|
{
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
using BaseDomain;
|
using BaseDomain;
|
||||||
|
|
||||||
namespace VCart.Domain
|
namespace Blinks.Domain
|
||||||
{
|
{
|
||||||
public class Name : AValueObject
|
public class Name : AValueObject
|
||||||
{
|
{
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
using BaseDomain;
|
using BaseDomain;
|
||||||
using System.Text.RegularExpressions;
|
using System.Text.RegularExpressions;
|
||||||
|
|
||||||
namespace VCart.Domain
|
namespace Blinks.Domain
|
||||||
{
|
{
|
||||||
public class Phone : AValueObject
|
public class Phone : AValueObject
|
||||||
{
|
{
|
||||||
|
|||||||
@ -4,7 +4,7 @@ using System.Linq;
|
|||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
namespace VCart.Domain.ValueObjects
|
namespace Blinks.Domain.ValueObjects
|
||||||
{
|
{
|
||||||
public class Username
|
public class Username
|
||||||
{
|
{
|
||||||
|
|||||||
@ -6,4 +6,9 @@
|
|||||||
<Nullable>enable</Nullable>
|
<Nullable>enable</Nullable>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<PackageReference Include="MongoDB.Bson" Version="2.28.0" />
|
||||||
|
<PackageReference Include="MongoDB.Driver" Version="2.28.0" />
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
</Project>
|
</Project>
|
||||||
@ -1,7 +0,0 @@
|
|||||||
namespace VCart.Infra
|
|
||||||
{
|
|
||||||
public class Class1
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
22
VCart.Infra/MongoDB/MongoDBContext.cs
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using MongoDB.Driver;
|
||||||
|
|
||||||
|
namespace Blinks.Infra.MongoDB
|
||||||
|
{
|
||||||
|
public class MongoDbContext
|
||||||
|
{
|
||||||
|
private readonly IMongoDatabase _database;
|
||||||
|
|
||||||
|
public MongoDbContext(string connectionString, string databaseName)
|
||||||
|
{
|
||||||
|
var client = new MongoClient(connectionString);
|
||||||
|
_database = client.GetDatabase(databaseName);
|
||||||
|
}
|
||||||
|
|
||||||
|
public IMongoCollection<PersonUser> Users => _database.GetCollection<PersonUser>("Users");
|
||||||
|
}
|
||||||
|
}
|
||||||
34
VCart.Infra/MongoDB/UserPerson.cs
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
using global::MongoDB.Bson.Serialization.Attributes;
|
||||||
|
using global::MongoDB.Bson;
|
||||||
|
|
||||||
|
namespace Blinks.Infra.MongoDB
|
||||||
|
{
|
||||||
|
|
||||||
|
public class PersonUser
|
||||||
|
{
|
||||||
|
[BsonId]
|
||||||
|
[BsonRepresentation(BsonType.ObjectId)]
|
||||||
|
public string Id { get; set; }
|
||||||
|
|
||||||
|
[BsonElement("Nome")]
|
||||||
|
public string Nome { get; set; }
|
||||||
|
|
||||||
|
[BsonElement("Email")]
|
||||||
|
public string Email { get; set; }
|
||||||
|
|
||||||
|
[BsonElement("País")]
|
||||||
|
public string Pais { get; set; }
|
||||||
|
|
||||||
|
[BsonElement("AreaDeNegocio")]
|
||||||
|
public string AreaDeNegocio { get; set; }
|
||||||
|
|
||||||
|
[BsonElement("Completado")]
|
||||||
|
public bool Completado { get; set; }
|
||||||
|
|
||||||
|
[BsonElement("Valido")]
|
||||||
|
public bool Valido { get; set; }
|
||||||
|
|
||||||
|
[BsonElement("DataHoraCriacao")]
|
||||||
|
public DateTime DataHoraCriacao { get; set; }
|
||||||
|
}
|
||||||
|
}
|
||||||
41
VCart/Blinks.csproj
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
<Project Sdk="Microsoft.NET.Sdk.Web">
|
||||||
|
|
||||||
|
<PropertyGroup>
|
||||||
|
<TargetFramework>net8.0</TargetFramework>
|
||||||
|
<Nullable>enable</Nullable>
|
||||||
|
<ImplicitUsings>enable</ImplicitUsings>
|
||||||
|
<UserSecretsId>61881b6e-e2bb-4a8a-b8d2-23b733cdaea3</UserSecretsId>
|
||||||
|
<DockerDefaultTargetOS>Linux</DockerDefaultTargetOS>
|
||||||
|
<DockerfileContext>.</DockerfileContext>
|
||||||
|
</PropertyGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<PackageReference Include="Microsoft.AspNetCore.Authentication.Google" Version="8.0.7" />
|
||||||
|
<PackageReference Include="Microsoft.AspNetCore.Authentication.MicrosoftAccount" Version="8.0.7" />
|
||||||
|
<PackageReference Include="Stripe.net" Version="45.13.0" />
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<Folder Include="Views\CartHome\" />
|
||||||
|
<Folder Include="wwwroot\img\" />
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<Compile Update="Resource.Designer.cs">
|
||||||
|
<DesignTime>True</DesignTime>
|
||||||
|
<AutoGen>True</AutoGen>
|
||||||
|
<DependentUpon>Resource.resx</DependentUpon>
|
||||||
|
</Compile>
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<EmbeddedResource Update="Resource.pt-BR.resx">
|
||||||
|
<Generator>PublicResXFileCodeGenerator</Generator>
|
||||||
|
</EmbeddedResource>
|
||||||
|
<EmbeddedResource Update="Resource.resx">
|
||||||
|
<Generator>PublicResXFileCodeGenerator</Generator>
|
||||||
|
<LastGenOutput>Resource.Designer.cs</LastGenOutput>
|
||||||
|
</EmbeddedResource>
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
|
</Project>
|
||||||
@ -1,6 +1,6 @@
|
|||||||
using Microsoft.AspNetCore.Mvc;
|
using Microsoft.AspNetCore.Mvc;
|
||||||
|
|
||||||
namespace VCart.Controllers
|
namespace Blinks.Controllers
|
||||||
{
|
{
|
||||||
public class CartHomeController : Controller
|
public class CartHomeController : Controller
|
||||||
{
|
{
|
||||||
|
|||||||
@ -1,8 +1,8 @@
|
|||||||
using Microsoft.AspNetCore.Mvc;
|
using Microsoft.AspNetCore.Mvc;
|
||||||
using System.Diagnostics;
|
using System.Diagnostics;
|
||||||
using VCart.Models;
|
using Blinks.Models;
|
||||||
|
|
||||||
namespace VCart.Controllers
|
namespace Blinks.Controllers
|
||||||
{
|
{
|
||||||
public class HomeController : Controller
|
public class HomeController : Controller
|
||||||
{
|
{
|
||||||
|
|||||||
21
VCart/Controllers/LanguageController.cs
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
using Microsoft.AspNetCore.Mvc;
|
||||||
|
using System.Globalization;
|
||||||
|
|
||||||
|
namespace Blinks.Controllers
|
||||||
|
{
|
||||||
|
public class LanguageController : Controller
|
||||||
|
{
|
||||||
|
public ActionResult ChangeLanguage(string lang)
|
||||||
|
{
|
||||||
|
if (!string.IsNullOrEmpty(lang))
|
||||||
|
{
|
||||||
|
Thread.CurrentThread.CurrentCulture = new CultureInfo(lang);
|
||||||
|
Thread.CurrentThread.CurrentUICulture = new CultureInfo(lang);
|
||||||
|
}
|
||||||
|
|
||||||
|
Response.Cookies.Append("Language", lang, new CookieOptions { Expires = DateTimeOffset.UtcNow.AddYears(1) });
|
||||||
|
|
||||||
|
return Redirect(Request.Headers["Referer"].ToString());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -4,13 +4,15 @@ using System.Security.Claims;
|
|||||||
using Microsoft.AspNetCore.Authorization;
|
using Microsoft.AspNetCore.Authorization;
|
||||||
using Microsoft.AspNetCore.Authentication.Cookies;
|
using Microsoft.AspNetCore.Authentication.Cookies;
|
||||||
using Microsoft.AspNetCore.Authentication;
|
using Microsoft.AspNetCore.Authentication;
|
||||||
|
using Stripe;
|
||||||
|
|
||||||
namespace VCart.Controllers
|
namespace Blinks.Controllers
|
||||||
{
|
{
|
||||||
public class LoginController : Controller
|
public class LoginController : Controller
|
||||||
{
|
{
|
||||||
private readonly ILogger<LoginController> logger;
|
private readonly ILogger<LoginController> logger;
|
||||||
private readonly IHttpClientFactory httpClientFactory;
|
private readonly IHttpClientFactory httpClientFactory;
|
||||||
|
private readonly StripeClient _stripeClient;
|
||||||
|
|
||||||
public LoginController(ILogger<LoginController> logger, IHttpClientFactory httpClientFactory)
|
public LoginController(ILogger<LoginController> logger, IHttpClientFactory httpClientFactory)
|
||||||
{
|
{
|
||||||
@ -28,10 +30,19 @@ namespace VCart.Controllers
|
|||||||
public ActionResult ExternalLogin(string provider, string returnUrl)
|
public ActionResult ExternalLogin(string provider, string returnUrl)
|
||||||
{
|
{
|
||||||
var redirectUrl = Url.Action("ExternalLoginCallback", "Login", new { ReturnUrl = returnUrl });
|
var redirectUrl = Url.Action("ExternalLoginCallback", "Login", new { ReturnUrl = returnUrl });
|
||||||
var properties = new AuthenticationProperties { RedirectUri = "https://localhost:44377" + redirectUrl};
|
var properties = new AuthenticationProperties { RedirectUri = "http://localhost:5094" + redirectUrl };
|
||||||
return Challenge(properties, "Microsoft");
|
return Challenge(properties, "Microsoft");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[HttpPost]
|
||||||
|
[ValidateAntiForgeryToken]
|
||||||
|
public ActionResult ExternalLoginGoogle(string provider, string returnUrl)
|
||||||
|
{
|
||||||
|
var redirectUrl = Url.Action("ExternalLoginCallback", "Login", new { ReturnUrl = returnUrl });
|
||||||
|
var properties = new AuthenticationProperties { RedirectUri = "http://localhost:5094" + redirectUrl };
|
||||||
|
return Challenge(properties, "Google");
|
||||||
|
}
|
||||||
|
|
||||||
[AllowAnonymous]
|
[AllowAnonymous]
|
||||||
[HttpGet]
|
[HttpGet]
|
||||||
public async Task<ActionResult> ExternalLoginCallback(string code="")
|
public async Task<ActionResult> ExternalLoginCallback(string code="")
|
||||||
@ -43,8 +54,9 @@ namespace VCart.Controllers
|
|||||||
var claims = new List<Claim>
|
var claims = new List<Claim>
|
||||||
{
|
{
|
||||||
new Claim(ClaimTypes.Name, emailExist),
|
new Claim(ClaimTypes.Name, emailExist),
|
||||||
new Claim("FullName", HttpContext.User.FindFirst(ClaimTypes.GivenName).Value),
|
new Claim("FirstName", HttpContext.User.FindFirst(ClaimTypes.GivenName).Value),
|
||||||
new Claim(ClaimTypes.Role, "Administrator"),
|
new Claim("FullName", HttpContext.User.FindFirst(ClaimTypes.GivenName).Value + " " + HttpContext.User.FindFirst(ClaimTypes.Surname).Value),
|
||||||
|
new Claim(ClaimTypes.Role, "User"),
|
||||||
};
|
};
|
||||||
|
|
||||||
var claimsIdentity = new ClaimsIdentity(
|
var claimsIdentity = new ClaimsIdentity(
|
||||||
@ -81,9 +93,7 @@ namespace VCart.Controllers
|
|||||||
new ClaimsPrincipal(claimsIdentity),
|
new ClaimsPrincipal(claimsIdentity),
|
||||||
authProperties);
|
authProperties);
|
||||||
|
|
||||||
|
return RedirectToAction("Index", "Startup");
|
||||||
|
|
||||||
return RedirectToAction("Index", "Home");
|
|
||||||
}
|
}
|
||||||
ViewBag.ErrorTitle = $"Email claim not received from: Microsoft";
|
ViewBag.ErrorTitle = $"Email claim not received from: Microsoft";
|
||||||
ViewBag.ErrorMessage = "Please contact support on info@dotnettutorials.net";
|
ViewBag.ErrorMessage = "Please contact support on info@dotnettutorials.net";
|
||||||
|
|||||||
73
VCart/Controllers/PayController.cs
Normal file
@ -0,0 +1,73 @@
|
|||||||
|
using Microsoft.AspNetCore.Mvc;
|
||||||
|
using Stripe;
|
||||||
|
using Stripe.Checkout;
|
||||||
|
|
||||||
|
namespace Blinks.Controllers
|
||||||
|
{
|
||||||
|
[Route("Pay")]
|
||||||
|
public class PayController : Controller
|
||||||
|
{
|
||||||
|
private string domain = "";
|
||||||
|
|
||||||
|
public PayController()
|
||||||
|
{
|
||||||
|
domain = "http://192.168.0.27:5094/";
|
||||||
|
}
|
||||||
|
|
||||||
|
public IActionResult Index()
|
||||||
|
{
|
||||||
|
return View();
|
||||||
|
}
|
||||||
|
|
||||||
|
[HttpPost("createbio")]
|
||||||
|
public ActionResult CreateBio()
|
||||||
|
{
|
||||||
|
StripeConfiguration.ApiKey = "sk_test_51PvIzkBk8jHwC3c0sGuWDUO8MV9KeOdSkir3Ulo2RZWmUhJLBIAgzxQScuomVi2l333MNmi0yr3FgeFv7OZnCJ0j00hD94yGx1";
|
||||||
|
|
||||||
|
var options = new SessionCreateOptions
|
||||||
|
{
|
||||||
|
UiMode = "embedded",
|
||||||
|
LineItems = new List<SessionLineItemOptions>
|
||||||
|
{
|
||||||
|
new SessionLineItemOptions
|
||||||
|
{
|
||||||
|
// Provide the exact Price ID (for example, pr_1234) of the product you want to sell
|
||||||
|
Price = "price_1Q1CXGBk8jHwC3c0YwypjEVd",
|
||||||
|
Quantity = 1,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
Mode = "subscription",
|
||||||
|
ReturnUrl = domain + "/Plans/OrderView?SessionId={CHECKOUT_SESSION_ID}",
|
||||||
|
};
|
||||||
|
var service = new SessionService();
|
||||||
|
Session session = service.Create(options);
|
||||||
|
|
||||||
|
return Json(new { clientSecret = session.ClientSecret });
|
||||||
|
}
|
||||||
|
|
||||||
|
[HttpPost("createcatalogo")]
|
||||||
|
public ActionResult CreateCatalogo()
|
||||||
|
{
|
||||||
|
StripeConfiguration.ApiKey = "sk_test_51PvIzkBk8jHwC3c0sGuWDUO8MV9KeOdSkir3Ulo2RZWmUhJLBIAgzxQScuomVi2l333MNmi0yr3FgeFv7OZnCJ0j00hD94yGx1";
|
||||||
|
var options = new SessionCreateOptions
|
||||||
|
{
|
||||||
|
UiMode = "embedded",
|
||||||
|
LineItems = new List<SessionLineItemOptions>
|
||||||
|
{
|
||||||
|
new SessionLineItemOptions
|
||||||
|
{
|
||||||
|
// Provide the exact Price ID (for example, pr_1234) of the product you want to sell
|
||||||
|
Price = "price_1Q1CjvBk8jHwC3c03D82tbH8",
|
||||||
|
Quantity = 1,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
Mode = "subscription",
|
||||||
|
ReturnUrl = domain + "/Plans/OrderView?SessionId={CHECKOUT_SESSION_ID}",
|
||||||
|
};
|
||||||
|
var service = new SessionService();
|
||||||
|
Session session = service.Create(options);
|
||||||
|
|
||||||
|
return Json(new { clientSecret = session.ClientSecret });
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
40
VCart/Controllers/PlansController.cs
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
using Microsoft.AspNetCore.Mvc;
|
||||||
|
using Newtonsoft.Json;
|
||||||
|
using Stripe;
|
||||||
|
using Stripe.Checkout;
|
||||||
|
using Blinks.Models;
|
||||||
|
|
||||||
|
namespace Blinks.Controllers
|
||||||
|
{
|
||||||
|
public class PlansController : Controller
|
||||||
|
{
|
||||||
|
private string domain = "";
|
||||||
|
|
||||||
|
public PlansController()
|
||||||
|
{
|
||||||
|
domain = "http://192.168.0.27:5094/";
|
||||||
|
}
|
||||||
|
|
||||||
|
public IActionResult Index()
|
||||||
|
{
|
||||||
|
return View();
|
||||||
|
}
|
||||||
|
|
||||||
|
public IActionResult Pay(string ammount)
|
||||||
|
{
|
||||||
|
return View();
|
||||||
|
}
|
||||||
|
|
||||||
|
public IActionResult OrderView([FromQuery] string SessionId)
|
||||||
|
{
|
||||||
|
var sessionService = new SessionService();
|
||||||
|
Session session = sessionService.Get(SessionId);
|
||||||
|
|
||||||
|
ViewBag.Status = session.RawJObject["status"];
|
||||||
|
ViewBag.CustomerEmail = session.RawJObject["customer_details"]["email"];
|
||||||
|
//return Json(new { status = session.RawJObject["status"], customer_email = session.RawJObject["customer_details"]["email"] });
|
||||||
|
return View();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -1,7 +1,7 @@
|
|||||||
using Microsoft.AspNetCore.Mvc;
|
using Microsoft.AspNetCore.Mvc;
|
||||||
using System.Diagnostics;
|
using System.Diagnostics;
|
||||||
|
|
||||||
namespace VCart.Controllers
|
namespace Blinks.Controllers
|
||||||
{
|
{
|
||||||
[Route("signin-microsoft")]
|
[Route("signin-microsoft")]
|
||||||
public class SignInController : Controller
|
public class SignInController : Controller
|
||||||
|
|||||||
12
VCart/Controllers/StartupController.cs
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
using Microsoft.AspNetCore.Mvc;
|
||||||
|
|
||||||
|
namespace Blinks.Controllers
|
||||||
|
{
|
||||||
|
public class StartupController : Controller
|
||||||
|
{
|
||||||
|
public IActionResult Index()
|
||||||
|
{
|
||||||
|
return View();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -7,16 +7,16 @@ EXPOSE 443
|
|||||||
|
|
||||||
FROM mcr.microsoft.com/dotnet/sdk:7.0 AS build
|
FROM mcr.microsoft.com/dotnet/sdk:7.0 AS build
|
||||||
WORKDIR /src
|
WORKDIR /src
|
||||||
COPY ["VCart.csproj", "."]
|
COPY ["Blinks.csproj", "."]
|
||||||
RUN dotnet restore "./VCart.csproj"
|
RUN dotnet restore "./Blinks.csproj"
|
||||||
COPY . .
|
COPY . .
|
||||||
WORKDIR "/src/."
|
WORKDIR "/src/."
|
||||||
RUN dotnet build "VCart.csproj" -c Release -o /app/build
|
RUN dotnet build "Blinks.csproj" -c Release -o /app/build
|
||||||
|
|
||||||
FROM build AS publish
|
FROM build AS publish
|
||||||
RUN dotnet publish "VCart.csproj" -c Release -o /app/publish /p:UseAppHost=false
|
RUN dotnet publish "Blinks.csproj" -c Release -o /app/publish /p:UseAppHost=false
|
||||||
|
|
||||||
FROM base AS final
|
FROM base AS final
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
COPY --from=publish /app/publish .
|
COPY --from=publish /app/publish .
|
||||||
ENTRYPOINT ["dotnet", "VCart.dll"]
|
ENTRYPOINT ["dotnet", "Blinks.dll"]
|
||||||
29
VCart/Middle/RequestLocalizationMiddleware.cs
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
namespace Blinks.Middle
|
||||||
|
{
|
||||||
|
using Microsoft.AspNetCore.Http;
|
||||||
|
using System.Globalization;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
public class RequestLocalizationMiddleware
|
||||||
|
{
|
||||||
|
private readonly RequestDelegate _next;
|
||||||
|
|
||||||
|
public RequestLocalizationMiddleware(RequestDelegate next)
|
||||||
|
{
|
||||||
|
_next = next;
|
||||||
|
}
|
||||||
|
|
||||||
|
public async Task InvokeAsync(HttpContext context)
|
||||||
|
{
|
||||||
|
var cookie = context.Request.Cookies["Language"];
|
||||||
|
if (!string.IsNullOrEmpty(cookie))
|
||||||
|
{
|
||||||
|
var culture = new CultureInfo(cookie);
|
||||||
|
CultureInfo.CurrentCulture = culture;
|
||||||
|
CultureInfo.CurrentUICulture = culture;
|
||||||
|
}
|
||||||
|
|
||||||
|
await _next(context);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
7
VCart/Models/ChangeViewModel.cs
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
namespace Blinks.Models
|
||||||
|
{
|
||||||
|
public class ChangeViewModel
|
||||||
|
{
|
||||||
|
public string ChargeId { get; set; }
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -1,4 +1,4 @@
|
|||||||
namespace VCart.Models
|
namespace Blinks.Models
|
||||||
{
|
{
|
||||||
public class ErrorViewModel
|
public class ErrorViewModel
|
||||||
{
|
{
|
||||||
|
|||||||
9
VCart/Models/Payment.cs
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
namespace Blinks.Models
|
||||||
|
{
|
||||||
|
public class Payment
|
||||||
|
{
|
||||||
|
public int Amount { get; set; }
|
||||||
|
public string Currency { get; set; }
|
||||||
|
public string Description { get; set; }
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -32,7 +32,7 @@
|
|||||||
},
|
},
|
||||||
"projects": [
|
"projects": [
|
||||||
{
|
{
|
||||||
"path": "VCart.csproj",
|
"path": "Blinks.csproj",
|
||||||
"startingProject": true,
|
"startingProject": true,
|
||||||
"issues": 1,
|
"issues": 1,
|
||||||
"storyPoints": 1,
|
"storyPoints": 1,
|
||||||
@ -40,7 +40,7 @@
|
|||||||
{
|
{
|
||||||
"incidentId": "1161414d-b2e4-4447-9d34-e811b563e1c5",
|
"incidentId": "1161414d-b2e4-4447-9d34-e811b563e1c5",
|
||||||
"ruleId": "NuGet.0001",
|
"ruleId": "NuGet.0001",
|
||||||
"projectPath": "VCart.csproj",
|
"projectPath": "Blinks.csproj",
|
||||||
"state": "Active",
|
"state": "Active",
|
||||||
"location": {
|
"location": {
|
||||||
"snippetModel": {
|
"snippetModel": {
|
||||||
@ -48,7 +48,7 @@
|
|||||||
"protected": "Microsoft.VisualStudio.Azure.Containers.Tools.Targets, 1.19.4\n\nRecommendation:\n\nNo supported version found"
|
"protected": "Microsoft.VisualStudio.Azure.Containers.Tools.Targets, 1.19.4\n\nRecommendation:\n\nNo supported version found"
|
||||||
},
|
},
|
||||||
"kind": "File",
|
"kind": "File",
|
||||||
"path": "VCart.csproj",
|
"path": "Blinks.csproj",
|
||||||
"snippet": "Microsoft.VisualStudio.Azure.Containers.Tools.Targets, 1.19.4\n\nRecommendation:\n\nNo supported version found",
|
"snippet": "Microsoft.VisualStudio.Azure.Containers.Tools.Targets, 1.19.4\n\nRecommendation:\n\nNo supported version found",
|
||||||
"protectedSnippet": "Microsoft.VisualStudio.Azure.Containers.Tools.Targets, 1.19.4\n\nRecommendation:\n\nNo supported version found",
|
"protectedSnippet": "Microsoft.VisualStudio.Azure.Containers.Tools.Targets, 1.19.4\n\nRecommendation:\n\nNo supported version found",
|
||||||
"label": "Microsoft.VisualStudio.Azure.Containers.Tools.Targets 1.19.4"
|
"label": "Microsoft.VisualStudio.Azure.Containers.Tools.Targets 1.19.4"
|
||||||
@ -57,7 +57,7 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"path": "C:\\vscode\\vcart.me.mvc\\VCart.Domain\\VCart.Domain.csproj",
|
"path": "C:\\vscode\\Blinks.me.mvc\\Blinks.Domain\\Blinks.Domain.csproj",
|
||||||
"startingProject": true,
|
"startingProject": true,
|
||||||
"issues": 1,
|
"issues": 1,
|
||||||
"storyPoints": 1,
|
"storyPoints": 1,
|
||||||
@ -65,7 +65,7 @@
|
|||||||
{
|
{
|
||||||
"incidentId": "2fdd89a6-9f8d-4428-8845-41d048dcaf73",
|
"incidentId": "2fdd89a6-9f8d-4428-8845-41d048dcaf73",
|
||||||
"ruleId": "Project.0002",
|
"ruleId": "Project.0002",
|
||||||
"projectPath": "C:\\vscode\\vcart.me.mvc\\VCart.Domain\\VCart.Domain.csproj",
|
"projectPath": "C:\\vscode\\Blinks.me.mvc\\Blinks.Domain\\Blinks.Domain.csproj",
|
||||||
"state": "Active",
|
"state": "Active",
|
||||||
"location": {
|
"location": {
|
||||||
"snippetModel": {
|
"snippetModel": {
|
||||||
@ -73,7 +73,7 @@
|
|||||||
"protected": "Current: net7.0\nNew: net8.0"
|
"protected": "Current: net7.0\nNew: net8.0"
|
||||||
},
|
},
|
||||||
"kind": "File",
|
"kind": "File",
|
||||||
"path": "C:\\vscode\\vcart.me.mvc\\VCart.Domain\\VCart.Domain.csproj",
|
"path": "C:\\vscode\\Blinks.me.mvc\\Blinks.Domain\\Blinks.Domain.csproj",
|
||||||
"snippet": "Current: net7.0\nNew: net8.0",
|
"snippet": "Current: net7.0\nNew: net8.0",
|
||||||
"protectedSnippet": "Current: net7.0\nNew: net8.0"
|
"protectedSnippet": "Current: net7.0\nNew: net8.0"
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,5 +1,12 @@
|
|||||||
using Microsoft.AspNetCore.Authentication.Cookies;
|
using Microsoft.AspNetCore.Authentication.Cookies;
|
||||||
|
using Microsoft.AspNetCore.Authentication.Google;
|
||||||
using Microsoft.AspNetCore.Authentication.MicrosoftAccount;
|
using Microsoft.AspNetCore.Authentication.MicrosoftAccount;
|
||||||
|
using Microsoft.AspNetCore.Localization;
|
||||||
|
using Microsoft.AspNetCore.Mvc.Razor;
|
||||||
|
using Microsoft.Extensions.Options;
|
||||||
|
using Stripe;
|
||||||
|
using Stripe.Forwarding;
|
||||||
|
using System.Globalization;
|
||||||
|
|
||||||
var builder = WebApplication.CreateBuilder(args);
|
var builder = WebApplication.CreateBuilder(args);
|
||||||
|
|
||||||
@ -22,17 +29,48 @@ options =>
|
|||||||
options.SlidingExpiration = true;
|
options.SlidingExpiration = true;
|
||||||
options.AccessDeniedPath = "/Forbidden/";
|
options.AccessDeniedPath = "/Forbidden/";
|
||||||
})
|
})
|
||||||
|
.AddGoogle(googleOptions =>
|
||||||
|
{
|
||||||
|
googleOptions.ClientId = config["Authentication:Google:ClientId"];
|
||||||
|
googleOptions.ClientSecret = config["Authentication:Google:ClientSecret"];
|
||||||
|
})
|
||||||
.AddMicrosoftAccount(microsoftOptions =>
|
.AddMicrosoftAccount(microsoftOptions =>
|
||||||
{
|
{
|
||||||
microsoftOptions.ClientId = config["Authentication:Microsoft:ClientId"];
|
microsoftOptions.ClientId = config["Authentication:Microsoft:ClientId"];
|
||||||
//microsoftOptions.ClientSecret = "2a7cb1bd-037a-49fa-9e5e-2b2655431af9";
|
//microsoftOptions.ClientSecret = "2a7cb1bd-037a-49fa-9e5e-2b2655431af9";
|
||||||
microsoftOptions.ClientSecret = config["Authentication:Microsoft:ClientSecret"];
|
microsoftOptions.ClientSecret = config["Authentication:Microsoft:ClientSecret"];
|
||||||
|
})
|
||||||
|
;
|
||||||
|
|
||||||
|
builder.Services.AddLocalization(options => options.ResourcesPath = "Resources");
|
||||||
|
|
||||||
|
builder.Services.AddMvc()
|
||||||
|
.AddViewLocalization(LanguageViewLocationExpanderFormat.Suffix)
|
||||||
|
.AddDataAnnotationsLocalization();
|
||||||
|
|
||||||
|
builder.Services.Configure<RequestLocalizationOptions>(options =>
|
||||||
|
{
|
||||||
|
var supportedCultures = new List<CultureInfo>
|
||||||
|
{
|
||||||
|
new CultureInfo("pt-BR"),
|
||||||
|
new CultureInfo("en")
|
||||||
|
};
|
||||||
|
|
||||||
|
options.DefaultRequestCulture = new RequestCulture("pt-BR");
|
||||||
|
options.SupportedCultures = supportedCultures;
|
||||||
|
options.SupportedUICultures = supportedCultures;
|
||||||
});
|
});
|
||||||
|
|
||||||
|
StripeConfiguration.ApiKey = builder.Configuration["Stripe:SecretKey"];
|
||||||
|
builder.Services.AddControllersWithViews();
|
||||||
builder.Services.AddHttpClient();
|
builder.Services.AddHttpClient();
|
||||||
|
|
||||||
var app = builder.Build();
|
var app = builder.Build();
|
||||||
|
|
||||||
|
var locOptions = app.Services.GetService<IOptions<RequestLocalizationOptions>>();
|
||||||
|
app.UseRequestLocalization(locOptions.Value);
|
||||||
|
|
||||||
|
app.UseMiddleware<RequestLocalizationMiddleware>();
|
||||||
|
|
||||||
// Configure the HTTP request pipeline.
|
// Configure the HTTP request pipeline.
|
||||||
if (!app.Environment.IsDevelopment())
|
if (!app.Environment.IsDevelopment())
|
||||||
@ -55,5 +93,6 @@ app.MapControllerRoute(
|
|||||||
name: "default",
|
name: "default",
|
||||||
pattern: "{controller=Home}/{action=Index}/{id?}");
|
pattern: "{controller=Home}/{action=Index}/{id?}");
|
||||||
|
|
||||||
|
app.UseRequestLocalization();
|
||||||
|
|
||||||
app.Run();
|
app.Run();
|
||||||
|
|||||||
3
VCart/Readme.md
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
Obter temas para o bootstrap:
|
||||||
|
https://www.bootpress.org/bootstrap.html?page=2of13
|
||||||
|
|
||||||
414
VCart/Resource.Designer.cs
generated
Normal file
@ -0,0 +1,414 @@
|
|||||||
|
//------------------------------------------------------------------------------
|
||||||
|
// <auto-generated>
|
||||||
|
// This code was generated by a tool.
|
||||||
|
// Runtime Version:4.0.30319.42000
|
||||||
|
//
|
||||||
|
// Changes to this file may cause incorrect behavior and will be lost if
|
||||||
|
// the code is regenerated.
|
||||||
|
// </auto-generated>
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
namespace Blinks {
|
||||||
|
using System;
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// A strongly-typed resource class, for looking up localized strings, etc.
|
||||||
|
/// </summary>
|
||||||
|
// This class was auto-generated by the StronglyTypedResourceBuilder
|
||||||
|
// class via a tool like ResGen or Visual Studio.
|
||||||
|
// To add or remove a member, edit your .ResX file then rerun ResGen
|
||||||
|
// with the /str option, or rebuild your VS project.
|
||||||
|
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")]
|
||||||
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||||
|
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||||
|
public class Resource {
|
||||||
|
|
||||||
|
private static global::System.Resources.ResourceManager resourceMan;
|
||||||
|
|
||||||
|
private static global::System.Globalization.CultureInfo resourceCulture;
|
||||||
|
|
||||||
|
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
|
||||||
|
internal Resource() {
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Returns the cached ResourceManager instance used by this class.
|
||||||
|
/// </summary>
|
||||||
|
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||||
|
public static global::System.Resources.ResourceManager ResourceManager {
|
||||||
|
get {
|
||||||
|
if (object.ReferenceEquals(resourceMan, null)) {
|
||||||
|
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Blinks.Resource", typeof(Resource).Assembly);
|
||||||
|
resourceMan = temp;
|
||||||
|
}
|
||||||
|
return resourceMan;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Overrides the current thread's CurrentUICulture property for all
|
||||||
|
/// resource lookups using this strongly typed resource class.
|
||||||
|
/// </summary>
|
||||||
|
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||||
|
public static global::System.Globalization.CultureInfo Culture {
|
||||||
|
get {
|
||||||
|
return resourceCulture;
|
||||||
|
}
|
||||||
|
set {
|
||||||
|
resourceCulture = value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to Food and Drink.
|
||||||
|
/// </summary>
|
||||||
|
public static string BU_Alimentacao {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("BU_Alimentacao", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to Beauty.
|
||||||
|
/// </summary>
|
||||||
|
public static string BU_Beleza {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("BU_Beleza", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to Construction.
|
||||||
|
/// </summary>
|
||||||
|
public static string BU_Construção {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("BU_Construção", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to Education.
|
||||||
|
/// </summary>
|
||||||
|
public static string BU_Educacao {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("BU_Educacao", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to Green businesses.
|
||||||
|
/// </summary>
|
||||||
|
public static string BU_Empreendedorismo {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("BU_Empreendedorismo", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to Health & Care.
|
||||||
|
/// </summary>
|
||||||
|
public static string BU_Saúde {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("BU_Saúde", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to PET and Animals.
|
||||||
|
/// </summary>
|
||||||
|
public static string BU_SetorPET {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("BU_SetorPET", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to Information tecnology.
|
||||||
|
/// </summary>
|
||||||
|
public static string BU_TI {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("BU_TI", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to Logistics.
|
||||||
|
/// </summary>
|
||||||
|
public static string BU_TransporteLogistica {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("BU_TransporteLogistica", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to Clothes.
|
||||||
|
/// </summary>
|
||||||
|
public static string BU_Vestuário {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("BU_Vestuário", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to Business Area.
|
||||||
|
/// </summary>
|
||||||
|
public static string BusinessAreaLabel {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("BusinessAreaLabel", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to Enter business area.
|
||||||
|
/// </summary>
|
||||||
|
public static string BusinessAreaPlaceholder {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("BusinessAreaPlaceholder", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to Change language to find your country..
|
||||||
|
/// </summary>
|
||||||
|
public static string ChangeLanguage {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("ChangeLanguage", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to Angola.
|
||||||
|
/// </summary>
|
||||||
|
public static string Country_Angola_Label {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("Country_Angola_Label", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to Australia.
|
||||||
|
/// </summary>
|
||||||
|
public static string Country_Australia_Label {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("Country_Australia_Label", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to Brazil.
|
||||||
|
/// </summary>
|
||||||
|
public static string Country_Brasil_Label {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("Country_Brasil_Label", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to Cabo Verde.
|
||||||
|
/// </summary>
|
||||||
|
public static string Country_CaboVerde_Label {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("Country_CaboVerde_Label", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to Canada.
|
||||||
|
/// </summary>
|
||||||
|
public static string Country_Canada_Label {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("Country_Canada_Label", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to USA.
|
||||||
|
/// </summary>
|
||||||
|
public static string Country_EUA_Label {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("Country_EUA_Label", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to Philipinas.
|
||||||
|
/// </summary>
|
||||||
|
public static string Country_Filipinas_Label {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("Country_Filipinas_Label", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to Gana.
|
||||||
|
/// </summary>
|
||||||
|
public static string Country_Gana_Label {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("Country_Gana_Label", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to Guine Bissau.
|
||||||
|
/// </summary>
|
||||||
|
public static string Country_GuineBissau_Label {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("Country_GuineBissau_Label", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to India.
|
||||||
|
/// </summary>
|
||||||
|
public static string Country_India_Label {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("Country_India_Label", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to Moçambique.
|
||||||
|
/// </summary>
|
||||||
|
public static string Country_Mocambique_Label {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("Country_Mocambique_Label", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to Niger.
|
||||||
|
/// </summary>
|
||||||
|
public static string Country_Nigeria_Label {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("Country_Nigeria_Label", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to Paquistan.
|
||||||
|
/// </summary>
|
||||||
|
public static string Country_Paquistao_Label {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("Country_Paquistao_Label", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to Portugal.
|
||||||
|
/// </summary>
|
||||||
|
public static string Country_Portugal_Label {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("Country_Portugal_Label", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to Quenia.
|
||||||
|
/// </summary>
|
||||||
|
public static string Country_Quenia_Label {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("Country_Quenia_Label", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to Timor Leste.
|
||||||
|
/// </summary>
|
||||||
|
public static string Country_TimorLeste_Label {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("Country_TimorLeste_Label", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to United Kingdom.
|
||||||
|
/// </summary>
|
||||||
|
public static string Country_UK_Label {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("Country_UK_Label", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to Country.
|
||||||
|
/// </summary>
|
||||||
|
public static string CountryLabel {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("CountryLabel", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to Enter country.
|
||||||
|
/// </summary>
|
||||||
|
public static string CountryPlaceholder {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("CountryPlaceholder", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to Email.
|
||||||
|
/// </summary>
|
||||||
|
public static string EmailLabel {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("EmailLabel", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to Company / Group.
|
||||||
|
/// </summary>
|
||||||
|
public static string GroupNameLabel {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("GroupNameLabel", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to Desired group name.
|
||||||
|
/// </summary>
|
||||||
|
public static string GroupPlaceHolder {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("GroupPlaceHolder", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to Primary Data.
|
||||||
|
/// </summary>
|
||||||
|
public static string InitialFormTitle {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("InitialFormTitle", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to Nome.
|
||||||
|
/// </summary>
|
||||||
|
public static string NameLabel {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("NameLabel", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to Phone number.
|
||||||
|
/// </summary>
|
||||||
|
public static string PhoneNumberLabel {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("PhoneNumberLabel", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to Save.
|
||||||
|
/// </summary>
|
||||||
|
public static string SaveButton {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("SaveButton", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
117
VCart/Resource.pt-BR.Designer.cs
generated
Normal file
@ -0,0 +1,117 @@
|
|||||||
|
//------------------------------------------------------------------------------
|
||||||
|
// <auto-generated>
|
||||||
|
// This code was generated by a tool.
|
||||||
|
// Runtime Version:4.0.30319.42000
|
||||||
|
//
|
||||||
|
// Changes to this file may cause incorrect behavior and will be lost if
|
||||||
|
// the code is regenerated.
|
||||||
|
// </auto-generated>
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
namespace Blinks {
|
||||||
|
using System;
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// A strongly-typed resource class, for looking up localized strings, etc.
|
||||||
|
/// </summary>
|
||||||
|
// This class was auto-generated by the StronglyTypedResourceBuilder
|
||||||
|
// class via a tool like ResGen or Visual Studio.
|
||||||
|
// To add or remove a member, edit your .ResX file then rerun ResGen
|
||||||
|
// with the /str option, or rebuild your VS project.
|
||||||
|
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")]
|
||||||
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||||
|
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||||
|
public class Resource___Copy {
|
||||||
|
|
||||||
|
private static global::System.Resources.ResourceManager resourceMan;
|
||||||
|
|
||||||
|
private static global::System.Globalization.CultureInfo resourceCulture;
|
||||||
|
|
||||||
|
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
|
||||||
|
internal Resource___Copy() {
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Returns the cached ResourceManager instance used by this class.
|
||||||
|
/// </summary>
|
||||||
|
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||||
|
public static global::System.Resources.ResourceManager ResourceManager {
|
||||||
|
get {
|
||||||
|
if (object.ReferenceEquals(resourceMan, null)) {
|
||||||
|
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("VCart.Resource - Copy", typeof(Resource___Copy).Assembly);
|
||||||
|
resourceMan = temp;
|
||||||
|
}
|
||||||
|
return resourceMan;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Overrides the current thread's CurrentUICulture property for all
|
||||||
|
/// resource lookups using this strongly typed resource class.
|
||||||
|
/// </summary>
|
||||||
|
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||||
|
public static global::System.Globalization.CultureInfo Culture {
|
||||||
|
get {
|
||||||
|
return resourceCulture;
|
||||||
|
}
|
||||||
|
set {
|
||||||
|
resourceCulture = value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to .
|
||||||
|
/// </summary>
|
||||||
|
public static string BusinessAreaLabel {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("BusinessAreaLabel", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to .
|
||||||
|
/// </summary>
|
||||||
|
public static string CountryLabel {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("CountryLabel", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to .
|
||||||
|
/// </summary>
|
||||||
|
public static string EmailLabel {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("EmailLabel", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to .
|
||||||
|
/// </summary>
|
||||||
|
public static string GroupNameLabel {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("GroupNameLabel", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to .
|
||||||
|
/// </summary>
|
||||||
|
public static string PhoneNumberLabel {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("PhoneNumberLabel", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to .
|
||||||
|
/// </summary>
|
||||||
|
public static string SaveButton {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("SaveButton", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
237
VCart/Resource.pt-BR.resx
Normal file
@ -0,0 +1,237 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<root>
|
||||||
|
<!--
|
||||||
|
Microsoft ResX Schema
|
||||||
|
|
||||||
|
Version 2.0
|
||||||
|
|
||||||
|
The primary goals of this format is to allow a simple XML format
|
||||||
|
that is mostly human readable. The generation and parsing of the
|
||||||
|
various data types are done through the TypeConverter classes
|
||||||
|
associated with the data types.
|
||||||
|
|
||||||
|
Example:
|
||||||
|
|
||||||
|
... ado.net/XML headers & schema ...
|
||||||
|
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||||
|
<resheader name="version">2.0</resheader>
|
||||||
|
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||||
|
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||||
|
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||||
|
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||||
|
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||||
|
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||||
|
</data>
|
||||||
|
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
|
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||||
|
<comment>This is a comment</comment>
|
||||||
|
</data>
|
||||||
|
|
||||||
|
There are any number of "resheader" rows that contain simple
|
||||||
|
name/value pairs.
|
||||||
|
|
||||||
|
Each data row contains a name, and value. The row also contains a
|
||||||
|
type or mimetype. Type corresponds to a .NET class that support
|
||||||
|
text/value conversion through the TypeConverter architecture.
|
||||||
|
Classes that don't support this are serialized and stored with the
|
||||||
|
mimetype set.
|
||||||
|
|
||||||
|
The mimetype is used for serialized objects, and tells the
|
||||||
|
ResXResourceReader how to depersist the object. This is currently not
|
||||||
|
extensible. For a given mimetype the value must be set accordingly:
|
||||||
|
|
||||||
|
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||||
|
that the ResXResourceWriter will generate, however the reader can
|
||||||
|
read any of the formats listed below.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.binary.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.soap.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||||
|
value : The object must be serialized into a byte array
|
||||||
|
: using a System.ComponentModel.TypeConverter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
-->
|
||||||
|
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||||
|
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||||
|
<xsd:element name="root" msdata:IsDataSet="true">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:choice maxOccurs="unbounded">
|
||||||
|
<xsd:element name="metadata">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||||
|
<xsd:attribute ref="xml:space" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="assembly">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:attribute name="alias" type="xsd:string" />
|
||||||
|
<xsd:attribute name="name" type="xsd:string" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="data">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||||
|
<xsd:attribute ref="xml:space" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="resheader">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:choice>
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:schema>
|
||||||
|
<resheader name="resmimetype">
|
||||||
|
<value>text/microsoft-resx</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="version">
|
||||||
|
<value>2.0</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="reader">
|
||||||
|
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="writer">
|
||||||
|
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
<data name="BusinessAreaLabel" xml:space="preserve">
|
||||||
|
<value>Área de negócio</value>
|
||||||
|
</data>
|
||||||
|
<data name="BusinessAreaPlaceholder" xml:space="preserve">
|
||||||
|
<value>Area de negócio</value>
|
||||||
|
</data>
|
||||||
|
<data name="BU_Alimentacao" xml:space="preserve">
|
||||||
|
<value>Alimentacao e bebidas</value>
|
||||||
|
</data>
|
||||||
|
<data name="BU_Beleza" xml:space="preserve">
|
||||||
|
<value>Beleza</value>
|
||||||
|
</data>
|
||||||
|
<data name="BU_Construção" xml:space="preserve">
|
||||||
|
<value>Construção</value>
|
||||||
|
</data>
|
||||||
|
<data name="BU_Educacao" xml:space="preserve">
|
||||||
|
<value>Educação</value>
|
||||||
|
</data>
|
||||||
|
<data name="BU_Empreendedorismo" xml:space="preserve">
|
||||||
|
<value>Empreendedorismo verde</value>
|
||||||
|
</data>
|
||||||
|
<data name="BU_Saúde" xml:space="preserve">
|
||||||
|
<value>Saúde e bem-estar</value>
|
||||||
|
</data>
|
||||||
|
<data name="BU_SetorPET" xml:space="preserve">
|
||||||
|
<value>Setor Pet</value>
|
||||||
|
</data>
|
||||||
|
<data name="BU_TI" xml:space="preserve">
|
||||||
|
<value>Tecnologia da informação & Informática</value>
|
||||||
|
</data>
|
||||||
|
<data name="BU_TransporteLogistica" xml:space="preserve">
|
||||||
|
<value>Transporte e logística</value>
|
||||||
|
</data>
|
||||||
|
<data name="BU_Vestuário" xml:space="preserve">
|
||||||
|
<value>Vestuário e calçados</value>
|
||||||
|
</data>
|
||||||
|
<data name="ChangeLanguage" xml:space="preserve">
|
||||||
|
<value>Troque o idioma para verificar seu país.</value>
|
||||||
|
</data>
|
||||||
|
<data name="CountryLabel" xml:space="preserve">
|
||||||
|
<value>País</value>
|
||||||
|
</data>
|
||||||
|
<data name="CountryPlaceholder" xml:space="preserve">
|
||||||
|
<value>Selecione seu país</value>
|
||||||
|
</data>
|
||||||
|
<data name="Country_Angola_Label" xml:space="preserve">
|
||||||
|
<value>Angola</value>
|
||||||
|
</data>
|
||||||
|
<data name="Country_Australia_Label" xml:space="preserve">
|
||||||
|
<value>Australia</value>
|
||||||
|
</data>
|
||||||
|
<data name="Country_Brasil_Label" xml:space="preserve">
|
||||||
|
<value>Brazil</value>
|
||||||
|
</data>
|
||||||
|
<data name="Country_CaboVerde_Label" xml:space="preserve">
|
||||||
|
<value>Cabo Verde</value>
|
||||||
|
</data>
|
||||||
|
<data name="Country_Canada_Label" xml:space="preserve">
|
||||||
|
<value>Canada</value>
|
||||||
|
</data>
|
||||||
|
<data name="Country_EUA_Label" xml:space="preserve">
|
||||||
|
<value>EUA</value>
|
||||||
|
</data>
|
||||||
|
<data name="Country_Filipinas_Label" xml:space="preserve">
|
||||||
|
<value>Philipinas</value>
|
||||||
|
</data>
|
||||||
|
<data name="Country_Gana_Label" xml:space="preserve">
|
||||||
|
<value>Gana</value>
|
||||||
|
</data>
|
||||||
|
<data name="Country_GuineBissau_Label" xml:space="preserve">
|
||||||
|
<value>Guine Bissau</value>
|
||||||
|
</data>
|
||||||
|
<data name="Country_India_Label" xml:space="preserve">
|
||||||
|
<value>India</value>
|
||||||
|
</data>
|
||||||
|
<data name="Country_Mocambique_Label" xml:space="preserve">
|
||||||
|
<value>Moçambique</value>
|
||||||
|
</data>
|
||||||
|
<data name="Country_Nigeria_Label" xml:space="preserve">
|
||||||
|
<value>Niger</value>
|
||||||
|
</data>
|
||||||
|
<data name="Country_Paquistao_Label" xml:space="preserve">
|
||||||
|
<value>Paquistan</value>
|
||||||
|
</data>
|
||||||
|
<data name="Country_Portugal_Label" xml:space="preserve">
|
||||||
|
<value>Portugal</value>
|
||||||
|
</data>
|
||||||
|
<data name="Country_Quenia_Label" xml:space="preserve">
|
||||||
|
<value>Quenia</value>
|
||||||
|
</data>
|
||||||
|
<data name="Country_TimorLeste_Label" xml:space="preserve">
|
||||||
|
<value>Timor Leste</value>
|
||||||
|
</data>
|
||||||
|
<data name="Country_UK_Label" xml:space="preserve">
|
||||||
|
<value>United Kingdom</value>
|
||||||
|
</data>
|
||||||
|
<data name="EmailLabel" xml:space="preserve">
|
||||||
|
<value>Email</value>
|
||||||
|
</data>
|
||||||
|
<data name="GroupNameLabel" xml:space="preserve">
|
||||||
|
<value>Empresa / Grupo</value>
|
||||||
|
</data>
|
||||||
|
<data name="GroupPlaceHolder" xml:space="preserve">
|
||||||
|
<value>Nome desejado para o grupo</value>
|
||||||
|
</data>
|
||||||
|
<data name="InitialFormTitle" xml:space="preserve">
|
||||||
|
<value>Dados iniciais</value>
|
||||||
|
</data>
|
||||||
|
<data name="NameLabel" xml:space="preserve">
|
||||||
|
<value>Nome</value>
|
||||||
|
</data>
|
||||||
|
<data name="PhoneNumberLabel" xml:space="preserve">
|
||||||
|
<value>Telefone</value>
|
||||||
|
</data>
|
||||||
|
<data name="SaveButton" xml:space="preserve">
|
||||||
|
<value>Gravar</value>
|
||||||
|
</data>
|
||||||
|
</root>
|
||||||
237
VCart/Resource.resx
Normal file
@ -0,0 +1,237 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<root>
|
||||||
|
<!--
|
||||||
|
Microsoft ResX Schema
|
||||||
|
|
||||||
|
Version 2.0
|
||||||
|
|
||||||
|
The primary goals of this format is to allow a simple XML format
|
||||||
|
that is mostly human readable. The generation and parsing of the
|
||||||
|
various data types are done through the TypeConverter classes
|
||||||
|
associated with the data types.
|
||||||
|
|
||||||
|
Example:
|
||||||
|
|
||||||
|
... ado.net/XML headers & schema ...
|
||||||
|
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||||
|
<resheader name="version">2.0</resheader>
|
||||||
|
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||||
|
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||||
|
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||||
|
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||||
|
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||||
|
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||||
|
</data>
|
||||||
|
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
|
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||||
|
<comment>This is a comment</comment>
|
||||||
|
</data>
|
||||||
|
|
||||||
|
There are any number of "resheader" rows that contain simple
|
||||||
|
name/value pairs.
|
||||||
|
|
||||||
|
Each data row contains a name, and value. The row also contains a
|
||||||
|
type or mimetype. Type corresponds to a .NET class that support
|
||||||
|
text/value conversion through the TypeConverter architecture.
|
||||||
|
Classes that don't support this are serialized and stored with the
|
||||||
|
mimetype set.
|
||||||
|
|
||||||
|
The mimetype is used for serialized objects, and tells the
|
||||||
|
ResXResourceReader how to depersist the object. This is currently not
|
||||||
|
extensible. For a given mimetype the value must be set accordingly:
|
||||||
|
|
||||||
|
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||||
|
that the ResXResourceWriter will generate, however the reader can
|
||||||
|
read any of the formats listed below.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.binary.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.soap.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||||
|
value : The object must be serialized into a byte array
|
||||||
|
: using a System.ComponentModel.TypeConverter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
-->
|
||||||
|
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||||
|
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||||
|
<xsd:element name="root" msdata:IsDataSet="true">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:choice maxOccurs="unbounded">
|
||||||
|
<xsd:element name="metadata">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||||
|
<xsd:attribute ref="xml:space" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="assembly">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:attribute name="alias" type="xsd:string" />
|
||||||
|
<xsd:attribute name="name" type="xsd:string" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="data">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||||
|
<xsd:attribute ref="xml:space" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="resheader">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:choice>
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:schema>
|
||||||
|
<resheader name="resmimetype">
|
||||||
|
<value>text/microsoft-resx</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="version">
|
||||||
|
<value>2.0</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="reader">
|
||||||
|
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="writer">
|
||||||
|
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
<data name="BusinessAreaLabel" xml:space="preserve">
|
||||||
|
<value>Business Area</value>
|
||||||
|
</data>
|
||||||
|
<data name="BusinessAreaPlaceholder" xml:space="preserve">
|
||||||
|
<value>Enter business area</value>
|
||||||
|
</data>
|
||||||
|
<data name="BU_Alimentacao" xml:space="preserve">
|
||||||
|
<value>Food and Drink</value>
|
||||||
|
</data>
|
||||||
|
<data name="BU_Beleza" xml:space="preserve">
|
||||||
|
<value>Beauty</value>
|
||||||
|
</data>
|
||||||
|
<data name="BU_Construção" xml:space="preserve">
|
||||||
|
<value>Construction</value>
|
||||||
|
</data>
|
||||||
|
<data name="BU_Educacao" xml:space="preserve">
|
||||||
|
<value>Education</value>
|
||||||
|
</data>
|
||||||
|
<data name="BU_Empreendedorismo" xml:space="preserve">
|
||||||
|
<value>Green businesses</value>
|
||||||
|
</data>
|
||||||
|
<data name="BU_Saúde" xml:space="preserve">
|
||||||
|
<value>Health & Care</value>
|
||||||
|
</data>
|
||||||
|
<data name="BU_SetorPET" xml:space="preserve">
|
||||||
|
<value>PET and Animals</value>
|
||||||
|
</data>
|
||||||
|
<data name="BU_TI" xml:space="preserve">
|
||||||
|
<value>Information tecnology</value>
|
||||||
|
</data>
|
||||||
|
<data name="BU_TransporteLogistica" xml:space="preserve">
|
||||||
|
<value>Logistics</value>
|
||||||
|
</data>
|
||||||
|
<data name="BU_Vestuário" xml:space="preserve">
|
||||||
|
<value>Clothes</value>
|
||||||
|
</data>
|
||||||
|
<data name="ChangeLanguage" xml:space="preserve">
|
||||||
|
<value>Change language to find your country.</value>
|
||||||
|
</data>
|
||||||
|
<data name="CountryLabel" xml:space="preserve">
|
||||||
|
<value>Country</value>
|
||||||
|
</data>
|
||||||
|
<data name="CountryPlaceholder" xml:space="preserve">
|
||||||
|
<value>Enter country</value>
|
||||||
|
</data>
|
||||||
|
<data name="Country_Angola_Label" xml:space="preserve">
|
||||||
|
<value>Angola</value>
|
||||||
|
</data>
|
||||||
|
<data name="Country_Australia_Label" xml:space="preserve">
|
||||||
|
<value>Australia</value>
|
||||||
|
</data>
|
||||||
|
<data name="Country_Brasil_Label" xml:space="preserve">
|
||||||
|
<value>Brazil</value>
|
||||||
|
</data>
|
||||||
|
<data name="Country_CaboVerde_Label" xml:space="preserve">
|
||||||
|
<value>Cabo Verde</value>
|
||||||
|
</data>
|
||||||
|
<data name="Country_Canada_Label" xml:space="preserve">
|
||||||
|
<value>Canada</value>
|
||||||
|
</data>
|
||||||
|
<data name="Country_EUA_Label" xml:space="preserve">
|
||||||
|
<value>USA</value>
|
||||||
|
</data>
|
||||||
|
<data name="Country_Filipinas_Label" xml:space="preserve">
|
||||||
|
<value>Philipinas</value>
|
||||||
|
</data>
|
||||||
|
<data name="Country_Gana_Label" xml:space="preserve">
|
||||||
|
<value>Gana</value>
|
||||||
|
</data>
|
||||||
|
<data name="Country_GuineBissau_Label" xml:space="preserve">
|
||||||
|
<value>Guine Bissau</value>
|
||||||
|
</data>
|
||||||
|
<data name="Country_India_Label" xml:space="preserve">
|
||||||
|
<value>India</value>
|
||||||
|
</data>
|
||||||
|
<data name="Country_Mocambique_Label" xml:space="preserve">
|
||||||
|
<value>Moçambique</value>
|
||||||
|
</data>
|
||||||
|
<data name="Country_Nigeria_Label" xml:space="preserve">
|
||||||
|
<value>Niger</value>
|
||||||
|
</data>
|
||||||
|
<data name="Country_Paquistao_Label" xml:space="preserve">
|
||||||
|
<value>Paquistan</value>
|
||||||
|
</data>
|
||||||
|
<data name="Country_Portugal_Label" xml:space="preserve">
|
||||||
|
<value>Portugal</value>
|
||||||
|
</data>
|
||||||
|
<data name="Country_Quenia_Label" xml:space="preserve">
|
||||||
|
<value>Quenia</value>
|
||||||
|
</data>
|
||||||
|
<data name="Country_TimorLeste_Label" xml:space="preserve">
|
||||||
|
<value>Timor Leste</value>
|
||||||
|
</data>
|
||||||
|
<data name="Country_UK_Label" xml:space="preserve">
|
||||||
|
<value>United Kingdom</value>
|
||||||
|
</data>
|
||||||
|
<data name="EmailLabel" xml:space="preserve">
|
||||||
|
<value>Email</value>
|
||||||
|
</data>
|
||||||
|
<data name="GroupNameLabel" xml:space="preserve">
|
||||||
|
<value>Company / Group</value>
|
||||||
|
</data>
|
||||||
|
<data name="GroupPlaceHolder" xml:space="preserve">
|
||||||
|
<value>Desired group name</value>
|
||||||
|
</data>
|
||||||
|
<data name="InitialFormTitle" xml:space="preserve">
|
||||||
|
<value>Primary Data</value>
|
||||||
|
</data>
|
||||||
|
<data name="NameLabel" xml:space="preserve">
|
||||||
|
<value>Nome</value>
|
||||||
|
</data>
|
||||||
|
<data name="PhoneNumberLabel" xml:space="preserve">
|
||||||
|
<value>Phone number</value>
|
||||||
|
</data>
|
||||||
|
<data name="SaveButton" xml:space="preserve">
|
||||||
|
<value>Save</value>
|
||||||
|
</data>
|
||||||
|
</root>
|
||||||
@ -1,21 +0,0 @@
|
|||||||
<Project Sdk="Microsoft.NET.Sdk.Web">
|
|
||||||
|
|
||||||
<PropertyGroup>
|
|
||||||
<TargetFramework>net8.0</TargetFramework>
|
|
||||||
<Nullable>enable</Nullable>
|
|
||||||
<ImplicitUsings>enable</ImplicitUsings>
|
|
||||||
<UserSecretsId>61881b6e-e2bb-4a8a-b8d2-23b733cdaea3</UserSecretsId>
|
|
||||||
<DockerDefaultTargetOS>Linux</DockerDefaultTargetOS>
|
|
||||||
<DockerfileContext>.</DockerfileContext>
|
|
||||||
</PropertyGroup>
|
|
||||||
|
|
||||||
<ItemGroup>
|
|
||||||
<PackageReference Include="Microsoft.AspNetCore.Authentication.MicrosoftAccount" Version="8.0.7" />
|
|
||||||
</ItemGroup>
|
|
||||||
|
|
||||||
<ItemGroup>
|
|
||||||
<Folder Include="Views\CartHome\" />
|
|
||||||
<Folder Include="wwwroot\img\" />
|
|
||||||
</ItemGroup>
|
|
||||||
|
|
||||||
</Project>
|
|
||||||
@ -3,13 +3,13 @@ Microsoft Visual Studio Solution File, Format Version 12.00
|
|||||||
# Visual Studio Version 17
|
# Visual Studio Version 17
|
||||||
VisualStudioVersion = 17.7.34031.279
|
VisualStudioVersion = 17.7.34031.279
|
||||||
MinimumVisualStudioVersion = 10.0.40219.1
|
MinimumVisualStudioVersion = 10.0.40219.1
|
||||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "VCart", "VCart.csproj", "{51C3E6BC-4BBC-429F-9A7F-8C8A14E14DF4}"
|
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Blinks", "Blinks.csproj", "{51C3E6BC-4BBC-429F-9A7F-8C8A14E14DF4}"
|
||||||
EndProject
|
EndProject
|
||||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "VCart.Domain", "..\VCart.Domain\VCart.Domain.csproj", "{83471C51-B081-4FAC-B5D3-24B237DEC339}"
|
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Blinks.Domain", "..\VCart.Domain\Blinks.Domain.csproj", "{83471C51-B081-4FAC-B5D3-24B237DEC339}"
|
||||||
EndProject
|
EndProject
|
||||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BaseDomain", "..\..\vcart.me\vcart.back\Struct.ValueObjects\BaseDomain.csproj", "{083273D7-7AE9-48A0-A59F-7CC03E1B4C30}"
|
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BaseDomain", "..\..\vcart.me\vcart.back\Struct.ValueObjects\BaseDomain.csproj", "{083273D7-7AE9-48A0-A59F-7CC03E1B4C30}"
|
||||||
EndProject
|
EndProject
|
||||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "VCart.Infra", "..\VCart.Infra\VCart.Infra.csproj", "{82C3179D-BE8C-4B83-95F4-32B86448D5AC}"
|
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Blinks.Infra", "..\VCart.Infra\Blinks.Infra.csproj", "{82C3179D-BE8C-4B83-95F4-32B86448D5AC}"
|
||||||
EndProject
|
EndProject
|
||||||
Global
|
Global
|
||||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||||
|
|||||||
@ -126,7 +126,7 @@
|
|||||||
</div><!-- End Carousel -->
|
</div><!-- End Carousel -->
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@section Style {
|
@section Styles {
|
||||||
|
|
||||||
<style>
|
<style>
|
||||||
body { padding-top: 50px; }
|
body { padding-top: 50px; }
|
||||||
|
|||||||
@ -7,6 +7,14 @@
|
|||||||
</script>
|
</script>
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@section Styles {
|
||||||
|
<style type="text/css">
|
||||||
|
.text-responsive {
|
||||||
|
font-size: calc(100% + 1vw + 1vh);
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
}
|
||||||
|
|
||||||
<div class="div-body">
|
<div class="div-body">
|
||||||
<div class="container">
|
<div class="container">
|
||||||
<div id="myCarousel" class="carousel slide" data-ride="carousel">
|
<div id="myCarousel" class="carousel slide" data-ride="carousel">
|
||||||
@ -20,8 +28,8 @@
|
|||||||
<div class="carousel-item active">
|
<div class="carousel-item active">
|
||||||
<img class="first-slide" src="data:image/gif;base64,R0lGODlhAQABAIAAAHd3dwAAACH5BAAAAAAALAAAAAABAAEAAAICRAEAOw==" alt="First slide">
|
<img class="first-slide" src="data:image/gif;base64,R0lGODlhAQABAIAAAHd3dwAAACH5BAAAAAAALAAAAAABAAEAAAICRAEAOw==" alt="First slide">
|
||||||
<div class="container">
|
<div class="container">
|
||||||
<div class="carousel-caption d-none d-md-block text-left">
|
<div class="carousel-caption d-md-block text-left">
|
||||||
<h1>Example headline.</h1>
|
<h1 class="text-responsive">Example headline.</h1>
|
||||||
<p>Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec id elit non mi porta gravida at eget metus. Nullam id dolor id nibh ultricies vehicula ut id elit.</p>
|
<p>Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec id elit non mi porta gravida at eget metus. Nullam id dolor id nibh ultricies vehicula ut id elit.</p>
|
||||||
<p><a class="btn btn-lg btn-primary" href="#" role="button">Sign up today</a></p>
|
<p><a class="btn btn-lg btn-primary" href="#" role="button">Sign up today</a></p>
|
||||||
</div>
|
</div>
|
||||||
@ -30,8 +38,8 @@
|
|||||||
<div class="carousel-item">
|
<div class="carousel-item">
|
||||||
<img class="second-slide" src="data:image/gif;base64,R0lGODlhAQABAIAAAHd3dwAAACH5BAAAAAAALAAAAAABAAEAAAICRAEAOw==" alt="Second slide">
|
<img class="second-slide" src="data:image/gif;base64,R0lGODlhAQABAIAAAHd3dwAAACH5BAAAAAAALAAAAAABAAEAAAICRAEAOw==" alt="Second slide">
|
||||||
<div class="container">
|
<div class="container">
|
||||||
<div class="carousel-caption d-none d-md-block">
|
<div class="carousel-caption d-md-block">
|
||||||
<h1>Another example headline.</h1>
|
<h1 class="text-responsive">Another example headline.</h1>
|
||||||
<p>Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec id elit non mi porta gravida at eget metus. Nullam id dolor id nibh ultricies vehicula ut id elit.</p>
|
<p>Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec id elit non mi porta gravida at eget metus. Nullam id dolor id nibh ultricies vehicula ut id elit.</p>
|
||||||
<p><a class="btn btn-lg btn-primary" href="#" role="button">Learn more</a></p>
|
<p><a class="btn btn-lg btn-primary" href="#" role="button">Learn more</a></p>
|
||||||
</div>
|
</div>
|
||||||
@ -40,8 +48,8 @@
|
|||||||
<div class="carousel-item">
|
<div class="carousel-item">
|
||||||
<img class="third-slide" src="data:image/gif;base64,R0lGODlhAQABAIAAAHd3dwAAACH5BAAAAAAALAAAAAABAAEAAAICRAEAOw==" alt="Third slide">
|
<img class="third-slide" src="data:image/gif;base64,R0lGODlhAQABAIAAAHd3dwAAACH5BAAAAAAALAAAAAABAAEAAAICRAEAOw==" alt="Third slide">
|
||||||
<div class="container">
|
<div class="container">
|
||||||
<div class="carousel-caption d-none d-md-block text-right">
|
<div class="carousel-caption d-md-block text-right">
|
||||||
<h1>One more for good measure.</h1>
|
<h1 class="text-responsive">One more for good measure.</h1>
|
||||||
<p>Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec id elit non mi porta gravida at eget metus. Nullam id dolor id nibh ultricies vehicula ut id elit.</p>
|
<p>Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec id elit non mi porta gravida at eget metus. Nullam id dolor id nibh ultricies vehicula ut id elit.</p>
|
||||||
<p><a class="btn btn-lg btn-primary" href="#" role="button">Browse gallery</a></p>
|
<p><a class="btn btn-lg btn-primary" href="#" role="button">Browse gallery</a></p>
|
||||||
</div>
|
</div>
|
||||||
@ -50,8 +58,8 @@
|
|||||||
<div class="carousel-item">
|
<div class="carousel-item">
|
||||||
<img class="fourth-slide" src="/img/teste1.png" alt="Fourth slide">
|
<img class="fourth-slide" src="/img/teste1.png" alt="Fourth slide">
|
||||||
<div class="container">
|
<div class="container">
|
||||||
<div class="carousel-caption d-none d-md-block text-right text-dark">
|
<div class="carousel-caption d-md-block text-right text-dark">
|
||||||
<h1>One more for good measure.</h1>
|
<h1 class="text-responsive">One more for good measure.</h1>
|
||||||
<p>Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec id elit non mi porta gravida at eget metus. Nullam id dolor id nibh ultricies vehicula ut id elit.</p>
|
<p>Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec id elit non mi porta gravida at eget metus. Nullam id dolor id nibh ultricies vehicula ut id elit.</p>
|
||||||
<p><a class="btn btn-lg btn-primary" href="#" role="button">Browse gallery</a></p>
|
<p><a class="btn btn-lg btn-primary" href="#" role="button">Browse gallery</a></p>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -1,159 +1,127 @@
|
|||||||
|
@{
|
||||||
@*
|
ViewBag.Title = "Login / Registro";
|
||||||
For more information on enabling MVC for empty projects, visit https://go.microsoft.com/fwlink/?LinkID=397860
|
|
||||||
*@
|
|
||||||
|
|
||||||
@{
|
|
||||||
Layout = "";
|
|
||||||
}
|
}
|
||||||
<!DOCTYPE html>
|
|
||||||
|
|
||||||
<html>
|
@section Styles {
|
||||||
|
|
||||||
<head>
|
|
||||||
<title>VCart</title>
|
|
||||||
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO" crossorigin="anonymous">
|
|
||||||
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
|
|
||||||
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.6.1/css/all.css" integrity="sha384-gfdkjb5BdAXd+lj+gudLWI+BXq4IuLW5IT+brZEZsLFm++aCMlF1V92rMkPaX4PP" crossorigin="anonymous">
|
|
||||||
<style>
|
<style>
|
||||||
/* Coded with love by Mutiullah Samim */
|
.box {
|
||||||
body,
|
width: 500px;
|
||||||
html {
|
margin: 200px 0;
|
||||||
margin: 0;
|
|
||||||
padding: 0;
|
|
||||||
height: 100%;
|
|
||||||
background: #C5ACD3 !important;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.user_card {
|
.shape1 {
|
||||||
height: 400px;
|
|
||||||
width: 350px;
|
|
||||||
margin-top: auto;
|
|
||||||
margin-bottom: auto;
|
|
||||||
background: #C1DD89;
|
|
||||||
position: relative;
|
position: relative;
|
||||||
display: flex;
|
|
||||||
justify-content: center;
|
|
||||||
flex-direction: column;
|
|
||||||
padding: 10px;
|
|
||||||
box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
|
|
||||||
-webkit-box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
|
|
||||||
-moz-box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
|
|
||||||
border-radius: 5px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.brand_logo_container {
|
|
||||||
position: absolute;
|
|
||||||
height: 170px;
|
|
||||||
width: 170px;
|
|
||||||
top: -75px;
|
|
||||||
border-radius: 50%;
|
|
||||||
background: #C5ACD3;
|
|
||||||
padding: 10px;
|
|
||||||
text-align: center;
|
|
||||||
}
|
|
||||||
|
|
||||||
.brand_logo {
|
|
||||||
height: 150px;
|
height: 150px;
|
||||||
width: 150px;
|
width: 150px;
|
||||||
border-radius: 50%;
|
background-color: #0074d9;
|
||||||
/* border: 2px solid white;
|
border-radius: 80px;
|
||||||
*/ }
|
float: left;
|
||||||
|
margin-right: -50px;
|
||||||
.form_container {
|
|
||||||
margin-top: 100px;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.login_btn {
|
.shape2 {
|
||||||
width: 100%;
|
position: relative;
|
||||||
background: darkgreen !important;
|
height: 150px;
|
||||||
color: white !important;
|
width: 150px;
|
||||||
|
background-color: #0074d9;
|
||||||
|
border-radius: 80px;
|
||||||
|
margin-top: -30px;
|
||||||
|
float: left;
|
||||||
}
|
}
|
||||||
|
|
||||||
.login_btn:focus {
|
.shape3 {
|
||||||
box-shadow: none !important;
|
position: relative;
|
||||||
outline: 0px !important;
|
height: 150px;
|
||||||
|
width: 150px;
|
||||||
|
background-color: #0074d9;
|
||||||
|
border-radius: 80px;
|
||||||
|
margin-top: -30px;
|
||||||
|
float: left;
|
||||||
|
margin-left: -31px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.login_container {
|
.shape4 {
|
||||||
padding: 0 2rem;
|
position: relative;
|
||||||
|
height: 150px;
|
||||||
|
width: 150px;
|
||||||
|
background-color: #0074d9;
|
||||||
|
border-radius: 80px;
|
||||||
|
margin-top: -25px;
|
||||||
|
float: left;
|
||||||
|
margin-left: -32px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.input-group-text {
|
.shape5 {
|
||||||
background: darkgreen !important;
|
position: relative;
|
||||||
color: white !important;
|
height: 150px;
|
||||||
border: 0 !important;
|
width: 150px;
|
||||||
border-radius: 0.25rem 0 0 0.25rem !important;
|
background-color: #0074d9;
|
||||||
|
border-radius: 80px;
|
||||||
|
float: left;
|
||||||
|
margin-right: -48px;
|
||||||
|
margin-left: -32px;
|
||||||
|
margin-top: -30px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.input_user,
|
.shape6 {
|
||||||
.input_pass:focus {
|
position: relative;
|
||||||
box-shadow: none !important;
|
height: 150px;
|
||||||
outline: 0px !important;
|
width: 150px;
|
||||||
|
background-color: #0074d9;
|
||||||
|
border-radius: 80px;
|
||||||
|
float: left;
|
||||||
|
margin-right: -20px;
|
||||||
|
margin-top: -35px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.custom-checkbox .custom-control-input:checked ~ .custom-control-label::before {
|
.shape7 {
|
||||||
background-color: darkgreen !important;
|
position: relative;
|
||||||
|
height: 150px;
|
||||||
|
width: 150px;
|
||||||
|
background-color: #0074d9;
|
||||||
|
border-radius: 80px;
|
||||||
|
float: left;
|
||||||
|
margin-right: -20px;
|
||||||
|
margin-top: -57px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.float {
|
||||||
|
position: absolute;
|
||||||
|
z-index: 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
.form {
|
||||||
|
margin-left: 145px;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
</head>
|
|
||||||
<!--Coded with love by Mutiullah Samim-->
|
}
|
||||||
<body>
|
|
||||||
<div class="container h-100">
|
<div id="login-row" class="row justify-content-center align-items-center">
|
||||||
<div class="d-flex justify-content-center h-100">
|
<div id="login-column" class="col-md-6">
|
||||||
<div class="user_card">
|
<div class="box">
|
||||||
<div class="d-flex justify-content-center">
|
<div class="shape1"></div>
|
||||||
<div class="brand_logo_container">
|
<div class="shape2"></div>
|
||||||
@*
|
<div class="shape3"></div>
|
||||||
<img src="https://cdn.freebiesupply.com/logos/large/2x/pinterest-circle-logo-png-transparent.png" class="brand_logo" alt="Logo">
|
<div class="shape4"></div>
|
||||||
*@
|
<div class="shape5"></div>
|
||||||
<img src="~/img/logo.png" class="brand_logo" alt="Logo">
|
<div class="shape6"></div>
|
||||||
</div>
|
<div class="shape7"></div>
|
||||||
</div>
|
<div class="float">
|
||||||
<div class="d-flex justify-content-center form_container">
|
<br />
|
||||||
@*
|
<br />
|
||||||
<form>
|
@using (Html.BeginForm("ExternalLogin", "Login", new { provider = "Microsoft" }, FormMethod.Post, true, new { id = "externalLoginForm", style = "margin-left: 150px" }))
|
||||||
<div class="input-group mb-3">
|
|
||||||
<div class="input-group-append">
|
|
||||||
<span class="input-group-text"><i class="fas fa-user"></i></span>
|
|
||||||
</div>
|
|
||||||
<input type="text" name="" class="form-control input_user" value="" placeholder="username">
|
|
||||||
</div>
|
|
||||||
<div class="input-group mb-2">
|
|
||||||
<div class="input-group-append">
|
|
||||||
<span class="input-group-text"><i class="fas fa-key"></i></span>
|
|
||||||
</div>
|
|
||||||
<input type="password" name="" class="form-control input_pass" value="" placeholder="password">
|
|
||||||
</div>
|
|
||||||
<div class="form-group">
|
|
||||||
<div class="custom-control custom-checkbox">
|
|
||||||
<input type="checkbox" class="custom-control-input" id="customControlInline">
|
|
||||||
<label class="custom-control-label" for="customControlInline">Remember me</label>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="d-flex justify-content-center mt-3 login_container">
|
|
||||||
<button type="button" name="button" class="btn login_btn">Login</button>
|
|
||||||
</div>
|
|
||||||
</form>
|
|
||||||
*@
|
|
||||||
@using (Html.BeginForm("ExternalLogin", "Login", new { provider = "Microsoft" }, FormMethod.Post, true, new { id = "externalLoginForm" }))
|
|
||||||
{
|
{
|
||||||
@Html.AntiForgeryToken()
|
@Html.AntiForgeryToken()
|
||||||
<button type="submit" class="btn login_btn">Login with Microsoft</button>
|
<button type="submit" class="btn btn-success btn-block login">Login with Microsoft</button>
|
||||||
|
}
|
||||||
|
<br />
|
||||||
|
@using (Html.BeginForm("ExternalLoginGoogle", "Login", new { provider = "Google" }, FormMethod.Post, true, new { id = "externalLoginForm", style = "margin-left: 150px" }))
|
||||||
|
{
|
||||||
|
@Html.AntiForgeryToken()
|
||||||
|
<button type="submit" class="btn btn-success btn-block login">Login with Google</button>
|
||||||
}
|
}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="mt-4">
|
|
||||||
<div class="d-flex justify-content-center links">
|
|
||||||
Don't have an account? <a href="#" class="ml-2">Sign Up</a>
|
|
||||||
</div>
|
|
||||||
<div class="d-flex justify-content-center links">
|
|
||||||
<a href="#">Forgot your password?</a>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
|
|||||||
45
VCart/Views/Pay/Index.cshtml
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
@*
|
||||||
|
For more information on enabling MVC for empty projects, visit https://go.microsoft.com/fwlink/?LinkID=397860
|
||||||
|
*@
|
||||||
|
@{
|
||||||
|
}
|
||||||
|
|
||||||
|
@section Scripts {
|
||||||
|
<script src="https://js.stripe.com/v3/"></script>
|
||||||
|
<script>
|
||||||
|
// This is your test secret API key.
|
||||||
|
const stripe = Stripe("pk_test_51PvIzkBk8jHwC3c0efDBJMY9dBwNqs0SDAHP0vIQr17G9iYg4GQtIrCOh2N9teJoYDXUHTWe6iEHnUylMntwhbin00R7y6lQOV");
|
||||||
|
|
||||||
|
initialize();
|
||||||
|
|
||||||
|
// Create a Checkout Session
|
||||||
|
async function initialize() {
|
||||||
|
const payPlan = get('plan');
|
||||||
|
const fetchClientSecret = async () => {
|
||||||
|
const response = await fetch("/Pay/create" + payPlan, {
|
||||||
|
method: "POST",
|
||||||
|
});
|
||||||
|
const { clientSecret } = await response.json();
|
||||||
|
return clientSecret;
|
||||||
|
};
|
||||||
|
|
||||||
|
const checkout = await stripe.initEmbeddedCheckout({
|
||||||
|
fetchClientSecret,
|
||||||
|
});
|
||||||
|
|
||||||
|
// Mount Checkout
|
||||||
|
checkout.mount('#checkout');
|
||||||
|
}
|
||||||
|
|
||||||
|
function get(name) {
|
||||||
|
if (name = (new RegExp('[?&]' + encodeURIComponent(name) + '=([^&]*)')).exec(location.search))
|
||||||
|
return decodeURIComponent(name[1]);
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
}
|
||||||
|
<br />
|
||||||
|
<br />
|
||||||
|
<div id="checkout">
|
||||||
|
<!-- Checkout will insert the payment form here -->
|
||||||
|
</div>
|
||||||
|
|
||||||
102
VCart/Views/Plans/Index.cshtml
Normal file
@ -0,0 +1,102 @@
|
|||||||
|
@{
|
||||||
|
ViewBag.Title = "Planos";
|
||||||
|
}
|
||||||
|
|
||||||
|
<div class="row db-padding-btm db-attached">
|
||||||
|
<div class="col-4 col-xs-4 col-sm-4 col-md-4 col-lg-4">
|
||||||
|
<div class="db-wrapper">
|
||||||
|
<div class="db-pricing-eleven db-bk-color-one">
|
||||||
|
<div class="price text-price-responsive">
|
||||||
|
<sup>R$</sup> 0,00
|
||||||
|
<small>para sempre!</small>
|
||||||
|
</div>
|
||||||
|
<div class="type text-type-responsive">
|
||||||
|
Básico
|
||||||
|
</div>
|
||||||
|
<ul class="text-responsive">
|
||||||
|
<li><i class="bi bi-plus-square-fill text-success"></i>1 Bio/Links <span class="hide-in-cell">pessoal virtual</span></li>
|
||||||
|
<li><i class="bi bi-plus-square-fill text-success"></i><span class="hide-in-cell">Exibir imagem </span>Whatsapp *</li>
|
||||||
|
<li><i class="bi bi-plus-square-fill text-success"></i>Até 3 links </li>
|
||||||
|
<li><i class="bi bi-square text-success"></i><span class="hide-in-cell">Sem página de</span> Produtos</li>
|
||||||
|
<li><i class="bi bi-square text-success"></i><span class="hide-in-cell">Sem contador de </span>Visualizações</span></li>
|
||||||
|
</ul>
|
||||||
|
<div class="pricing-footer">
|
||||||
|
<div class="btn db-button-color-square btn-lg">Plano Atual</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-4 col-xs-4 col-sm-4 col-md-4 col-lg-4">
|
||||||
|
<div class="db-wrapper">
|
||||||
|
<div class="db-pricing-eleven db-bk-color-two popular">
|
||||||
|
<div class="price text-price-responsive">
|
||||||
|
<sup>R$</sup>13
|
||||||
|
<small>por mês</small>
|
||||||
|
</div>
|
||||||
|
<div class="type text-type-responsive">
|
||||||
|
BIO
|
||||||
|
</div>
|
||||||
|
<ul>
|
||||||
|
<li><i class="bi bi-plus-square-fill text-success"></i>1 Bio/Links <span class="hide-in-cell">pessoal virtual</span></li>
|
||||||
|
<li><i class="bi bi-plus-square-fill text-success"></i><span class="hide-in-cell">Exibir cartão </span>Whatsapp *</li>
|
||||||
|
<li><i class="bi bi-plus-square-fill text-success"></i>100 links</li>
|
||||||
|
<li><i class="bi bi-square text-success"></i><span class="hide-in-cell">Sem página de</span> Produtos</li>
|
||||||
|
@*
|
||||||
|
<li><i class="bi bi-plus-square-fill text-success"></i>1 Link agendado **</li>
|
||||||
|
*@
|
||||||
|
<li><i class="bi bi-square text-success"></i><span class="hide-in-cell">Contador de</span> Visualizações</li>
|
||||||
|
@*
|
||||||
|
<li><i class="bi bi-square text-success"></i><span class="hide-in-cell">Registro de contatos</span> </li>
|
||||||
|
*@
|
||||||
|
</ul>
|
||||||
|
<div class="pricing-footer">
|
||||||
|
@if (User.Identity.IsAuthenticated)
|
||||||
|
{
|
||||||
|
<a href="/Pay/?plan=bio" class="btn db-button-color-square btn-lg">Assinar</a>
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
<a href="/Login" class="btn db-button-color-square btn-lg">Login / Registro</a>
|
||||||
|
}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-4 col-xs-4 col-sm-4 col-md-4 col-lg-4">
|
||||||
|
<div class="db-wrapper">
|
||||||
|
<div class="db-pricing-eleven db-bk-color-three">
|
||||||
|
<div class="price text-price-responsive">
|
||||||
|
<sup>R$</sup>27
|
||||||
|
<small>por mês</small>
|
||||||
|
</div>
|
||||||
|
<div class="type text-type-responsive">
|
||||||
|
CATÁLOGO
|
||||||
|
</div>
|
||||||
|
<ul>
|
||||||
|
<li><i class="bi bi-plus-square-fill text-success"></i>1 Bio/Cartão <span class="hide-in-cell">pessoal virtual</span></li>
|
||||||
|
<li><i class="bi bi-plus-square-fill text-success"></i><span class="hide-in-cell">Exibir cartão </span>Whatsapp *</li>
|
||||||
|
<li><i class="bi bi-plus-square-fill text-success"></i>Sem limite de links </li>
|
||||||
|
<li><i class="bi bi-plus-square-fill text-success"></i>Links de Produtos</li>
|
||||||
|
<li><i class="bi bi-plus-square-fill text-success"></i>Contador<span class="hide-in-cell"> de visualizações</span> </li>
|
||||||
|
@*
|
||||||
|
<li><i class="bi bi-plus-square-fill text-success"></i><span class="hide-in-cell">Registro de contatos</span> </li>
|
||||||
|
*@
|
||||||
|
</ul>
|
||||||
|
<div class="pricing-footer">
|
||||||
|
@if (User.Identity.IsAuthenticated)
|
||||||
|
{
|
||||||
|
<button type="button" class="btn db-button-color-square btn-lg" onclick="waitingDialog.show('Custom message');window.location.href = '/Pay/?plan=catalogo';">Assinar</button>
|
||||||
|
|
||||||
|
@*
|
||||||
|
<a href="/Pay/?plan=catalogo" class="btn db-button-color-square btn-lg">Assinar</a>
|
||||||
|
*@
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
<a href="/Login" class="btn db-button-color-square btn-lg">Login / Registro</a>
|
||||||
|
}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
225
VCart/Views/Plans/Index.cshtml.css
Normal file
@ -0,0 +1,225 @@
|
|||||||
|
/*=============================================================
|
||||||
|
|
||||||
|
Authour URL: www.designbootstrap.com
|
||||||
|
|
||||||
|
http://www.designbootstrap.com/
|
||||||
|
|
||||||
|
License: MIT
|
||||||
|
======================================================== */
|
||||||
|
|
||||||
|
/*============================================================
|
||||||
|
BACKGROUND COLORS
|
||||||
|
============================================================*/
|
||||||
|
.db-bk-color-one {
|
||||||
|
background-color: #A9B595;
|
||||||
|
}
|
||||||
|
|
||||||
|
.db-bk-color-two {
|
||||||
|
background-color: #B9CEA0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.db-bk-color-three {
|
||||||
|
background-color: #97A47E;
|
||||||
|
}
|
||||||
|
|
||||||
|
.db-bk-color-six {
|
||||||
|
background-color: #F59B24;
|
||||||
|
}
|
||||||
|
|
||||||
|
.db-padding-btm {
|
||||||
|
padding-bottom: 50px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.db-button-color-square {
|
||||||
|
color: #fff;
|
||||||
|
background-color: rgba(0, 0, 0, 0.50);
|
||||||
|
border: none;
|
||||||
|
border-radius: 0px;
|
||||||
|
-webkit-border-radius: 0px;
|
||||||
|
-moz-border-radius: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.db-button-color-square:hover {
|
||||||
|
color: #fff;
|
||||||
|
background-color: rgba(0, 0, 0, 0.50);
|
||||||
|
border: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.db-pricing-eleven {
|
||||||
|
margin-bottom: 30px;
|
||||||
|
margin-top: 50px;
|
||||||
|
text-align: center;
|
||||||
|
box-shadow: 0 0 5px rgba(0, 0, 0, .5);
|
||||||
|
border-radius: 7px 7px 7px 7px;
|
||||||
|
color: #101211;
|
||||||
|
line-height: 30px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.db-pricing-eleven ul {
|
||||||
|
list-style: none;
|
||||||
|
margin: 0;
|
||||||
|
text-align: left;
|
||||||
|
padding-left: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.db-pricing-eleven ul li {
|
||||||
|
padding-top: 20px;
|
||||||
|
padding-bottom: 20px;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
|
||||||
|
.db-pricing-eleven ul li i {
|
||||||
|
margin-right: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.db-pricing-eleven .price {
|
||||||
|
background-color: rgba(0, 0, 0, 0);
|
||||||
|
color: #FFFFFF;
|
||||||
|
}
|
||||||
|
|
||||||
|
.db-pricing-eleven .price small {
|
||||||
|
color: #63783F;
|
||||||
|
display: block;
|
||||||
|
font-size: 12px;
|
||||||
|
margin-top: 22px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.db-pricing-eleven .type {
|
||||||
|
background-color: #63783F;
|
||||||
|
padding: 50px 20px;
|
||||||
|
font-weight: 900;
|
||||||
|
text-transform: uppercase;
|
||||||
|
}
|
||||||
|
|
||||||
|
.text-price-responsive {
|
||||||
|
font-size: 30px;
|
||||||
|
padding: 20px 10px 10px 10px;
|
||||||
|
font-weight: 500;
|
||||||
|
}
|
||||||
|
|
||||||
|
.text-type-responsive {
|
||||||
|
color: white;
|
||||||
|
font-size: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.text-responsive {
|
||||||
|
font-size: 16px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.hide-in-cell {
|
||||||
|
display: none
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (min-width: 544px) {
|
||||||
|
.db-pricing-eleven ul {
|
||||||
|
list-style: none;
|
||||||
|
margin: 0;
|
||||||
|
text-align: left;
|
||||||
|
padding-left: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.text-price-responsive {
|
||||||
|
font-size: 30px;
|
||||||
|
padding: 20px 10px 10px 10px;
|
||||||
|
font-weight: 500;
|
||||||
|
}
|
||||||
|
|
||||||
|
.text-type-responsive {
|
||||||
|
font-size: 30px;
|
||||||
|
color: white;
|
||||||
|
}
|
||||||
|
|
||||||
|
.text-responsive {
|
||||||
|
font-size: 16px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.hide-in-cell {
|
||||||
|
display: none
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Medium devices (tablets, 768px and up) */
|
||||||
|
@media (min-width: 768px) {
|
||||||
|
.text-price-responsive {
|
||||||
|
padding: 40px 20px 20px 20px;
|
||||||
|
font-size: 40px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.text-type-responsive {
|
||||||
|
font-size: 30px;
|
||||||
|
color: white;
|
||||||
|
}
|
||||||
|
|
||||||
|
.text-responsive {
|
||||||
|
font-size: 20px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Large devices (desktops, 992px and up) */
|
||||||
|
@media (min-width: 992px) {
|
||||||
|
.text-price-responsive {
|
||||||
|
padding: 40px 20px 20px 20px;
|
||||||
|
font-size: 60px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.text-type-responsive {
|
||||||
|
font-size: 30px;
|
||||||
|
color: white;
|
||||||
|
}
|
||||||
|
|
||||||
|
.text-responsive {
|
||||||
|
font-size: 20px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Extra large devices (large desktops, 1200px and up) */
|
||||||
|
@media (min-width: 1200px) {
|
||||||
|
.db-pricing-eleven ul {
|
||||||
|
list-style: none;
|
||||||
|
margin: 0;
|
||||||
|
text-align: left;
|
||||||
|
padding-left: 20px;
|
||||||
|
}
|
||||||
|
.text-price-responsive {
|
||||||
|
padding: 40px 20px 20px 20px;
|
||||||
|
font-size: 60px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.text-type-responsive {
|
||||||
|
color: white;
|
||||||
|
font-size: 30px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.text-responsive {
|
||||||
|
font-size: 16px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.hide-in-cell {
|
||||||
|
display: inline
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.db-pricing-eleven .pricing-footer {
|
||||||
|
padding: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.db-attached > .col-lg-4,
|
||||||
|
.db-attached > .col-lg-3,
|
||||||
|
.db-attached > .col-md-4,
|
||||||
|
.db-attached > .col-md-3,
|
||||||
|
.db-attached > .col-sm-4,
|
||||||
|
.db-attached > .col-sm-3 {
|
||||||
|
padding-left: 0;
|
||||||
|
padding-right: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.db-pricing-eleven.popular {
|
||||||
|
margin-top: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.db-pricing-eleven.popular .price {
|
||||||
|
padding-top: 80px;
|
||||||
|
}
|
||||||
10
VCart/Views/Plans/OrderView.cshtml
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
@model ChangeViewModel
|
||||||
|
@{
|
||||||
|
ViewBag.Title = "OrederStatus";
|
||||||
|
}
|
||||||
|
<h2>Order Status</h2>
|
||||||
|
<p>@ViewBag.Status</p>
|
||||||
|
|
||||||
|
<h4>Email</h4>
|
||||||
|
<p>@ViewBag.Email</p>
|
||||||
|
|
||||||
77
VCart/Views/Plans/Pay - Copy.cshtml
Normal file
@ -0,0 +1,77 @@
|
|||||||
|
@*
|
||||||
|
For more information on enabling MVC for empty projects, visit https://go.microsoft.com/fwlink/?LinkID=397860
|
||||||
|
*@
|
||||||
|
@{
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@section Scripts {
|
||||||
|
<script src="https://js.stripe.com/v3/"></script>
|
||||||
|
<script>
|
||||||
|
var stripe = Stripe('Your Secret key');
|
||||||
|
var elements = stripe.elements();
|
||||||
|
var style = {
|
||||||
|
base: {
|
||||||
|
fontSize: '16px',
|
||||||
|
color: '#32325d',
|
||||||
|
},
|
||||||
|
};
|
||||||
|
var card = elements.create('card', { style: style });
|
||||||
|
card.mount('#card-element');
|
||||||
|
var form = document.getElementById('payment-form');
|
||||||
|
form.addEventListener('submit', function (event) {
|
||||||
|
event.preventDefault();
|
||||||
|
stripe.createToken(card).then(function (result) {
|
||||||
|
if (result.error) {
|
||||||
|
var errorElement = document.getElementById('card-errors');
|
||||||
|
errorElement.textContent = result.error.message;
|
||||||
|
} else {
|
||||||
|
stripeTokenHandler(result.token);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
function stripeTokenHandler(token) {
|
||||||
|
var form = document.getElementById('payment-form');
|
||||||
|
var hiddenInput = document.createElement('input');
|
||||||
|
hiddenInput.setAttribute('type', 'hidden');
|
||||||
|
hiddenInput.setAttribute('name', 'stripeToken');
|
||||||
|
hiddenInput.setAttribute('value', token.id);
|
||||||
|
form.appendChild(hiddenInput);
|
||||||
|
form.submit();
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
}
|
||||||
|
|
||||||
|
<form action="/cart/Create" method="post" id="payment-form">
|
||||||
|
<div class="col-sm-6">
|
||||||
|
<div class="panel panel-success">
|
||||||
|
<div class="panel-heading">
|
||||||
|
Credit Card Information
|
||||||
|
</div>
|
||||||
|
<div class="panel-body">
|
||||||
|
<div class="form-horizontal">
|
||||||
|
<div class="form-group">
|
||||||
|
<div class="col-sm-8">
|
||||||
|
<input type="number" class="form-control" name="Amount" placeholder="Amount" required />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="form-group">
|
||||||
|
<div class="col-sm-8">
|
||||||
|
<input type="text" class="form-control" name="Currency" value="INR" readonly />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="form-group">
|
||||||
|
<div class="col-sm-8">
|
||||||
|
<input type="text" class="form-control" name="Description" placeholder="Description" required />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div id="card-element">
|
||||||
|
</div>
|
||||||
|
<div id="card-errors" role="alert"></div>
|
||||||
|
</div>
|
||||||
|
<br />
|
||||||
|
<input type="submit" value="Submit Payment" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
44
VCart/Views/Plans/Pay.cshtml
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
@*
|
||||||
|
For more information on enabling MVC for empty projects, visit https://go.microsoft.com/fwlink/?LinkID=397860
|
||||||
|
*@
|
||||||
|
@{
|
||||||
|
}
|
||||||
|
|
||||||
|
@section Scripts {
|
||||||
|
<script src="https://js.stripe.com/v3/"></script>
|
||||||
|
<script>
|
||||||
|
// This is your test secret API key.
|
||||||
|
const stripe = Stripe("pk_test_51PvIzkBk8jHwC3c0efDBJMY9dBwNqs0SDAHP0vIQr17G9iYg4GQtIrCOh2N9teJoYDXUHTWe6iEHnUylMntwhbin00R7y6lQOV");
|
||||||
|
|
||||||
|
initialize();
|
||||||
|
|
||||||
|
// Create a Checkout Session
|
||||||
|
async function initialize() {
|
||||||
|
const payPlan = get('plan');
|
||||||
|
const fetchClientSecret = async () => {
|
||||||
|
const response = await fetch("/Pay" + payPlan, {
|
||||||
|
method: "POST",
|
||||||
|
});
|
||||||
|
const { clientSecret } = await response.json();
|
||||||
|
return clientSecret;
|
||||||
|
};
|
||||||
|
|
||||||
|
const checkout = await stripe.initEmbeddedCheckout({
|
||||||
|
fetchClientSecret,
|
||||||
|
});
|
||||||
|
|
||||||
|
// Mount Checkout
|
||||||
|
checkout.mount('#checkout');
|
||||||
|
}
|
||||||
|
|
||||||
|
function get(name) {
|
||||||
|
if (name = (new RegExp('[?&]' + encodeURIComponent(name) + '=([^&]*)')).exec(location.search))
|
||||||
|
return decodeURIComponent(name[1]);
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
}
|
||||||
|
|
||||||
|
<div id="checkout">
|
||||||
|
<!-- Checkout will insert the payment form here -->
|
||||||
|
</div>
|
||||||
|
|
||||||
13
VCart/Views/Shared/_Busy.cshtml
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
@*
|
||||||
|
For more information on enabling MVC for empty projects, visit https://go.microsoft.com/fwlink/?LinkID=397860
|
||||||
|
*@
|
||||||
|
@{
|
||||||
|
}
|
||||||
|
|
||||||
|
<div class="loading">
|
||||||
|
<div class="d-flex justify-content-center">
|
||||||
|
<div class="spinner-border text-success" role="status">
|
||||||
|
<span class="sr-only">Loading...</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
15
VCart/Views/Shared/_Language.cshtml
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
@*
|
||||||
|
For more information on enabling MVC for empty projects, visit https://go.microsoft.com/fwlink/?LinkID=397860
|
||||||
|
*@
|
||||||
|
@{
|
||||||
|
}
|
||||||
|
|
||||||
|
<li class="nav-item dropdown" style="display: none">
|
||||||
|
<a class="nav-link text-white dropdown-toggle" href="#" id="languageDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
|
||||||
|
<i class="bi bi-book"></i> Idioma - @Context.Request.Cookies["Language"]
|
||||||
|
</a>
|
||||||
|
<div class="dropdown-menu dropdown-menu-right" aria-labelledby="languageDropdown">
|
||||||
|
<a class="dropdown-item" asp-controller="Language" asp-action="ChangeLanguage" asp-route-lang="en">English</a>
|
||||||
|
<a class="dropdown-item" asp-controller="Language" asp-action="ChangeLanguage" asp-route-lang="pt-BR">Português</a>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
@ -1,58 +1,59 @@
|
|||||||
@using System.Security.Claims
|
@using System.Security.Claims
|
||||||
|
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html lang="en">
|
<html lang="en">
|
||||||
<head>
|
<head>
|
||||||
<meta charset="utf-8" />
|
<meta charset="utf-8" />
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||||
<title>@ViewData["Title"] - VCart</title>
|
<title>@ViewData["Title"] - Blinks</title>
|
||||||
|
|
||||||
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@4.6.2/dist/css/bootstrap.min.css" integrity="sha384-xOolHFLEh07PJGoPkLv1IbcEPTNtaed2xpHsD9ESMhqIYd0nLMwNLD69Npy4HI+N" crossorigin="anonymous">
|
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@4.6.2/dist/css/bootstrap.min.css" integrity="sha384-xOolHFLEh07PJGoPkLv1IbcEPTNtaed2xpHsD9ESMhqIYd0nLMwNLD69Npy4HI+N" crossorigin="anonymous">
|
||||||
<link rel="stylesheet" href="~/css/site.css" asp-append-version="true" />
|
<link rel="stylesheet" href="~/css/site.css" asp-append-version="true" />
|
||||||
<link rel="stylesheet" href="~/VCart.styles.css" asp-append-version="true" />
|
<link rel="stylesheet" href="~/Blinks.styles.css" asp-append-version="true" />
|
||||||
|
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.min.css">
|
||||||
@await RenderSectionAsync("Style", required: false)
|
@await RenderSectionAsync("Styles", required: false)
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body class="hide-body">
|
||||||
|
<partial name="_Busy" />
|
||||||
<div id="wrapper">
|
<div id="wrapper">
|
||||||
<header>
|
<nav id="nav-bar" class="navbar navbar-expand-lg navbar-dark">
|
||||||
<nav id="nav-bar" class="navbar navbar-expand-sm navbar-toggleable-sm navbar-dark">
|
<a class="navbar-brand" asp-area="" asp-controller="Home" asp-action="Index">Blinks</a>
|
||||||
<div class="container-fluid">
|
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarNav" aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation">
|
||||||
<a class="navbar-brand" asp-area="" asp-controller="Home" asp-action="Index">VCart</a>
|
|
||||||
<button class="navbar-toggler" 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>
|
<span class="navbar-toggler-icon"></span>
|
||||||
</button>
|
</button>
|
||||||
<div class="navbar-collapse collapse d-sm-inline-flex justify-content-between">
|
<div class="navbar-collapse collapse" id="navbarNav">
|
||||||
<ul class="navbar-nav flex-grow-1">
|
<ul class="navbar-nav">
|
||||||
<li class="nav-item">
|
<li class="nav-item">
|
||||||
<a class="nav-link text-white" asp-area="" asp-controller="Home" asp-action="Index">Home</a>
|
<a class="nav-link text-white" asp-area="" asp-controller="Home" asp-action="Index">Home</a>
|
||||||
</li>
|
</li>
|
||||||
<li class="nav-item">
|
<li class="nav-item">
|
||||||
<a class="nav-link text-white" asp-area="" asp-controller="Home" asp-action="Privacy">Privacy</a>
|
<a class="nav-link text-white" asp-area="" asp-controller="Home" asp-action="Privacy">Privacy</a>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
<li class="nav-item">
|
||||||
</div>
|
<a class="nav-link text-white" asp-area="" asp-controller="Plans" asp-action="Index">Planos</a>
|
||||||
@if (!User.Identity.IsAuthenticated)
|
</li>
|
||||||
{
|
</ul>
|
||||||
<div class="navbar-collapse collapse">
|
@if (User!=null && User.Identity!=null && !User.Identity.IsAuthenticated)
|
||||||
<ul class="navbar-nav ml-auto">
|
{
|
||||||
<li class="nav-item" style="margin-right: 10px">
|
<ul class="navbar-nav ml-auto">
|
||||||
<a class="nav-link text-white" asp-area="" asp-controller="Login" asp-action="Index">Login</a>
|
<partial name="_Language" />
|
||||||
|
<li class="nav-item" style="margin-right: 10px">
|
||||||
|
<a class="nav-link text-white" asp-area="" asp-controller="Login" asp-action="Index"><i class="bi bi-person"></i> Login</a>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
<div class="navbar-collapse collapse">
|
|
||||||
<ul class="navbar-nav ml-auto">
|
<ul class="navbar-nav ml-auto">
|
||||||
|
<partial name="_Language"/>
|
||||||
<li class="nav-item dropdown" style="margin-right: 10px">
|
<li class="nav-item dropdown" style="margin-right: 10px">
|
||||||
<a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
|
<a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
|
||||||
@User.FindFirst("FullName").Value
|
<i class="bi bi-person"></i> @(User.FindFirst("FullName")!=null ? User.FindFirst("FullName").Value : "N/A")
|
||||||
</a>
|
</a>
|
||||||
<div class="dropdown-menu" aria-labelledby="navbarDropdown">
|
<div class="dropdown-menu" aria-labelledby="navbarDropdown">
|
||||||
<a class="dropdown-item" asp-area="" asp-controller="Login" asp-action="Logout">Sair</a>
|
<a class="dropdown-item" asp-area="" asp-controller="Login" asp-action="Logout">Sair</a>
|
||||||
@* <a class="dropdown-item" href="#">Action</a>
|
@*
|
||||||
|
<a class="dropdown-item" href="#">Action</a>
|
||||||
<a class="dropdown-item" href="#">Another action</a>
|
<a class="dropdown-item" href="#">Another action</a>
|
||||||
<div class="dropdown-divider"></div>
|
<div class="dropdown-divider"></div>
|
||||||
<a class="dropdown-item" href="#">Something else here</a>
|
<a class="dropdown-item" href="#">Something else here</a>
|
||||||
@ -66,29 +67,36 @@
|
|||||||
</li>
|
</li>
|
||||||
*@
|
*@
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
|
||||||
}
|
}
|
||||||
</div>
|
</div>
|
||||||
</nav>
|
</nav>
|
||||||
</header>
|
|
||||||
<div class="container">
|
<div class="container">
|
||||||
@RenderBody()
|
@RenderBody()
|
||||||
@* <main role="main" class="pb-3">
|
@*
|
||||||
|
<main role="main" class="pb-3">
|
||||||
</main>
|
</main>
|
||||||
*@
|
*@
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<footer class="border-top footer text-muted">
|
<footer class="border-top footer text-muted">
|
||||||
<div class="container">
|
<div class="container">
|
||||||
© 2024 - VCart - <a asp-area="" asp-controller="Home" asp-action="Privacy">Privacy</a>
|
© 2024 - Blinks - <a asp-area="" asp-controller="Home" asp-action="Privacy">Privacy</a>
|
||||||
</div>
|
</div>
|
||||||
</footer>
|
</footer>
|
||||||
</div>
|
</div>
|
||||||
<script src="https://cdn.jsdelivr.net/npm/jquery@3.5.1/dist/jquery.slim.min.js" integrity="sha384-DfXdz2htPH0lsSSs5nCTpuj/zy4C+OGpamoFVy38MVBnE+IbbVYUew+OrCXaRkfj" crossorigin="anonymous"></script>
|
<script src="https://cdn.jsdelivr.net/npm/jquery@3.5.1/dist/jquery.min.js"></script>
|
||||||
<script src="https://cdn.jsdelivr.net/npm/bootstrap@4.6.2/dist/js/bootstrap.bundle.min.js" integrity="sha384-Fy6S3B9q64WdZWQUiU+q4/2Lc9npb8tCaSX9FK7E8HnRr0Jz8D6OP9dO5Vg3Q9ct" crossorigin="anonymous"></script>
|
<script src="https://cdn.jsdelivr.net/npm/bootstrap@4.6.2/dist/js/bootstrap.bundle.min.js" integrity="sha384-Fy6S3B9q64WdZWQUiU+q4/2Lc9npb8tCaSX9FK7E8HnRr0Jz8D6OP9dO5Vg3Q9ct" crossorigin="anonymous"></script>
|
||||||
|
|
||||||
<script src="~/js/site.js" asp-append-version="true"></script>
|
<script src="~/js/site.js" asp-append-version="true"></script>
|
||||||
|
<script src="~/js/wait.js" asp-append-version="true"></script>
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
$(function () {
|
$(function () {
|
||||||
|
$(document).ready(function () {
|
||||||
|
$('.loading').hide();
|
||||||
|
//$('body').fadeIn(1000);
|
||||||
|
$('body').slideDown('slow');
|
||||||
|
});
|
||||||
|
|
||||||
$('a[href="#search"]').on('click', function (event) {
|
$('a[href="#search"]').on('click', function (event) {
|
||||||
event.preventDefault();
|
event.preventDefault();
|
||||||
$('#search').addClass('open');
|
$('#search').addClass('open');
|
||||||
@ -105,17 +113,19 @@
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
//Do not include! This prevents the form from submitting for DEMO purposes only!
|
$(window).on('beforeunload', function () {
|
||||||
$('form').submit(function (event) {
|
displayBusyIndicator();
|
||||||
event.preventDefault();
|
});
|
||||||
return false;
|
|
||||||
})
|
$(document).on('submit', 'form', function () {
|
||||||
|
displayBusyIndicator();
|
||||||
|
});
|
||||||
|
|
||||||
$(document).ready(function () {
|
$(document).ready(function () {
|
||||||
$('#wrapper').fadeIn('slow');
|
//$('#wrapper').fadeIn('slow');
|
||||||
|
|
||||||
$('a.nav-link').click(function () {
|
$('a.nav-link').click(function () {
|
||||||
$('#wrapper').fadeOut('slow');
|
//$('#wrapper').fadeOut('slow');
|
||||||
});
|
});
|
||||||
setActiveByLocation();
|
setActiveByLocation();
|
||||||
});
|
});
|
||||||
@ -130,20 +140,20 @@
|
|||||||
$('ul.navbar-nav').find('a[href="' + location.pathname + '"]')
|
$('ul.navbar-nav').find('a[href="' + location.pathname + '"]')
|
||||||
.closest('a')
|
.closest('a')
|
||||||
.removeClass('text-white')
|
.removeClass('text-white')
|
||||||
.addClass('text-red');
|
.addClass('text-black');
|
||||||
}
|
}
|
||||||
|
|
||||||
function searchActive() {
|
function searchActive() {
|
||||||
$('#searchLi').addClass("active");
|
$('#searchLi').addClass("active");
|
||||||
$('#searchLi > a')
|
$('#searchLi > a')
|
||||||
.removeClass('text-white')
|
.removeClass('text-white')
|
||||||
.addClass('text-red');
|
.addClass('text-black');
|
||||||
}
|
}
|
||||||
|
|
||||||
function searchInactive() {
|
function searchInactive() {
|
||||||
$('#searchLi').removeClass("active");
|
$('#searchLi').removeClass("active");
|
||||||
$('#searchLi > a')
|
$('#searchLi > a')
|
||||||
.removeClass('text-red')
|
.removeClass('text-black')
|
||||||
.addClass('text-white');
|
.addClass('text-white');
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -154,9 +164,16 @@
|
|||||||
|
|
||||||
$('ul.navbar-nav').find('a[href="' + location.pathname + '"]')
|
$('ul.navbar-nav').find('a[href="' + location.pathname + '"]')
|
||||||
.closest('a')
|
.closest('a')
|
||||||
.removeClass('text-red')
|
.removeClass('text-black')
|
||||||
.addClass('text-white');
|
.addClass('text-white');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function displayBusyIndicator() {
|
||||||
|
//$('body').fadeOut(1000);
|
||||||
|
$('body').slideUp('slow');
|
||||||
|
}
|
||||||
|
|
||||||
|
//$(".hide-body").fadeOut(2000);
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
@await RenderSectionAsync("Scripts", required: false)
|
@await RenderSectionAsync("Scripts", required: false)
|
||||||
|
|||||||
@ -13,12 +13,16 @@ a {
|
|||||||
|
|
||||||
.btn-primary {
|
.btn-primary {
|
||||||
color: #fff;
|
color: #fff;
|
||||||
background-color: #1b6ec2;
|
background-color: #63783F;
|
||||||
border-color: #1861ac;
|
border-color: #1861ac;
|
||||||
}
|
}
|
||||||
|
|
||||||
.nav-pills .nav-link.active, .nav-pills .show > .nav-link {
|
.nav-pills .nav-link.active, .nav-pills .show > .nav-link {
|
||||||
|
/*
|
||||||
color: #fff;
|
color: #fff;
|
||||||
|
|
||||||
|
*/
|
||||||
|
color: black !important;
|
||||||
background-color: #1b6ec2;
|
background-color: #1b6ec2;
|
||||||
border-color: #1861ac;
|
border-color: #1861ac;
|
||||||
}
|
}
|
||||||
@ -116,7 +120,7 @@ button.accept-policy {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.btn-primary {
|
.btn-primary {
|
||||||
background-color: #00ff21;
|
background-color: #63783F;
|
||||||
}
|
}
|
||||||
|
|
||||||
.navbar-inner {
|
.navbar-inner {
|
||||||
@ -156,22 +160,36 @@ button.accept-policy {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.navbar .navbar-collapse ul.navbar-nav .nav-item.active {
|
.navbar .navbar-collapse ul.navbar-nav .nav-item {
|
||||||
color: white;
|
padding-left: 3px;
|
||||||
background-color: #00ff21 !important;
|
padding-right: 3px;
|
||||||
}
|
}
|
||||||
|
|
||||||
a.nav-link.text-white {
|
.navbar .navbar-collapse ul.navbar-nav .nav-item.active {
|
||||||
background-color: green;
|
color: white;
|
||||||
|
padding-left: 3px;
|
||||||
|
padding-right: 3px;
|
||||||
|
background-color: #C7CCB8 !important;
|
||||||
|
border-radius: 7px 7px 7px 7px;
|
||||||
|
/*
|
||||||
|
background-color: #b8f2a1 !important;
|
||||||
|
|
||||||
|
*/
|
||||||
|
}
|
||||||
|
|
||||||
|
a.nav-link.text-black {
|
||||||
|
color: black !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
nav.link .active {
|
nav.link .active {
|
||||||
background-color: red;
|
color: black !important;
|
||||||
color: darkgreen;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#nav-bar {
|
#nav-bar {
|
||||||
background-color: darkgreen;
|
background-color: #63783F
|
||||||
|
/* background-color: #darkgreen;
|
||||||
|
*/
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#searchLi > a {
|
#searchLi > a {
|
||||||
@ -183,6 +201,10 @@ nav.link .active {
|
|||||||
color: darkred;
|
color: darkred;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.text-black {
|
||||||
|
color: black !important;
|
||||||
|
}
|
||||||
|
|
||||||
.btn.green {
|
.btn.green {
|
||||||
background-color: darkgreen;
|
background-color: darkgreen;
|
||||||
color: white;
|
color: white;
|
||||||
@ -191,3 +213,137 @@ nav.link .active {
|
|||||||
btn.primary {
|
btn.primary {
|
||||||
background: darkgreen;
|
background: darkgreen;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Absolute Center Spinner */
|
||||||
|
.loading {
|
||||||
|
position: fixed;
|
||||||
|
display: none;
|
||||||
|
z-index: 1031;
|
||||||
|
height: 2em;
|
||||||
|
width: 2em;
|
||||||
|
overflow: show;
|
||||||
|
margin: auto;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
bottom: 0;
|
||||||
|
right: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Transparent Overlay */
|
||||||
|
.loading:before {
|
||||||
|
content: '';
|
||||||
|
display: block;
|
||||||
|
position: fixed;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
background-color: rgba(0,0,0,0.3);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* :not(:required) hides these rules from IE9 and below */
|
||||||
|
.loading:not(:required) {
|
||||||
|
font: 0/0 a;
|
||||||
|
color: transparent;
|
||||||
|
text-shadow: none;
|
||||||
|
background-color: transparent;
|
||||||
|
border: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.loading:not(:required):after {
|
||||||
|
content: '';
|
||||||
|
display: block;
|
||||||
|
font-size: 10px;
|
||||||
|
width: 1em;
|
||||||
|
height: 1em;
|
||||||
|
margin-top: -0.5em;
|
||||||
|
-webkit-animation: spinner 1500ms infinite linear;
|
||||||
|
-moz-animation: spinner 1500ms infinite linear;
|
||||||
|
-ms-animation: spinner 1500ms infinite linear;
|
||||||
|
-o-animation: spinner 1500ms infinite linear;
|
||||||
|
animation: spinner 1500ms infinite linear;
|
||||||
|
border-radius: 0.5em;
|
||||||
|
-webkit-box-shadow: rgba(0, 0, 0, 0.75) 1.5em 0 0 0, rgba(0, 0, 0, 0.75) 1.1em 1.1em 0 0, rgba(0, 0, 0, 0.75) 0 1.5em 0 0, rgba(0, 0, 0, 0.75) -1.1em 1.1em 0 0, rgba(0, 0, 0, 0.5) -1.5em 0 0 0, rgba(0, 0, 0, 0.5) -1.1em -1.1em 0 0, rgba(0, 0, 0, 0.75) 0 -1.5em 0 0, rgba(0, 0, 0, 0.75) 1.1em -1.1em 0 0;
|
||||||
|
box-shadow: rgba(0, 0, 0, 0.75) 1.5em 0 0 0, rgba(0, 0, 0, 0.75) 1.1em 1.1em 0 0, rgba(0, 0, 0, 0.75) 0 1.5em 0 0, rgba(0, 0, 0, 0.75) -1.1em 1.1em 0 0, rgba(0, 0, 0, 0.75) -1.5em 0 0 0, rgba(0, 0, 0, 0.75) -1.1em -1.1em 0 0, rgba(0, 0, 0, 0.75) 0 -1.5em 0 0, rgba(0, 0, 0, 0.75) 1.1em -1.1em 0 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Animation */
|
||||||
|
@-webkit-keyframes spinner {
|
||||||
|
0% {
|
||||||
|
-webkit-transform: rotate(0deg);
|
||||||
|
-moz-transform: rotate(0deg);
|
||||||
|
-ms-transform: rotate(0deg);
|
||||||
|
-o-transform: rotate(0deg);
|
||||||
|
transform: rotate(0deg);
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
|
-webkit-transform: rotate(360deg);
|
||||||
|
-moz-transform: rotate(360deg);
|
||||||
|
-ms-transform: rotate(360deg);
|
||||||
|
-o-transform: rotate(360deg);
|
||||||
|
transform: rotate(360deg);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@-moz-keyframes spinner {
|
||||||
|
0% {
|
||||||
|
-webkit-transform: rotate(0deg);
|
||||||
|
-moz-transform: rotate(0deg);
|
||||||
|
-ms-transform: rotate(0deg);
|
||||||
|
-o-transform: rotate(0deg);
|
||||||
|
transform: rotate(0deg);
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
|
-webkit-transform: rotate(360deg);
|
||||||
|
-moz-transform: rotate(360deg);
|
||||||
|
-ms-transform: rotate(360deg);
|
||||||
|
-o-transform: rotate(360deg);
|
||||||
|
transform: rotate(360deg);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@-o-keyframes spinner {
|
||||||
|
0% {
|
||||||
|
-webkit-transform: rotate(0deg);
|
||||||
|
-moz-transform: rotate(0deg);
|
||||||
|
-ms-transform: rotate(0deg);
|
||||||
|
-o-transform: rotate(0deg);
|
||||||
|
transform: rotate(0deg);
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
|
-webkit-transform: rotate(360deg);
|
||||||
|
-moz-transform: rotate(360deg);
|
||||||
|
-ms-transform: rotate(360deg);
|
||||||
|
-o-transform: rotate(360deg);
|
||||||
|
transform: rotate(360deg);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes spinner {
|
||||||
|
0% {
|
||||||
|
-webkit-transform: rotate(0deg);
|
||||||
|
-moz-transform: rotate(0deg);
|
||||||
|
-ms-transform: rotate(0deg);
|
||||||
|
-o-transform: rotate(0deg);
|
||||||
|
transform: rotate(0deg);
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
|
-webkit-transform: rotate(360deg);
|
||||||
|
-moz-transform: rotate(360deg);
|
||||||
|
-ms-transform: rotate(360deg);
|
||||||
|
-o-transform: rotate(360deg);
|
||||||
|
transform: rotate(360deg);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.bg-grayed {
|
||||||
|
background-color: #D8D8D8
|
||||||
|
}
|
||||||
|
|
||||||
|
.hide-body {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
@ -11,7 +11,7 @@
|
|||||||
<html>
|
<html>
|
||||||
|
|
||||||
<head>
|
<head>
|
||||||
<title>VCart</title>
|
<title>Blinks</title>
|
||||||
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO" crossorigin="anonymous">
|
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO" crossorigin="anonymous">
|
||||||
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
|
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
|
||||||
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.6.1/css/all.css" integrity="sha384-gfdkjb5BdAXd+lj+gudLWI+BXq4IuLW5IT+brZEZsLFm++aCMlF1V92rMkPaX4PP" crossorigin="anonymous">
|
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.6.1/css/all.css" integrity="sha384-gfdkjb5BdAXd+lj+gudLWI+BXq4IuLW5IT+brZEZsLFm++aCMlF1V92rMkPaX4PP" crossorigin="anonymous">
|
||||||
|
|||||||
181
VCart/Views/Startup/Index.cshtml
Normal file
@ -0,0 +1,181 @@
|
|||||||
|
@using Blinks
|
||||||
|
|
||||||
|
@*
|
||||||
|
For more information on enabling MVC for empty projects, visit https://go.microsoft.com/fwlink/?LinkID=397860
|
||||||
|
*@
|
||||||
|
@{
|
||||||
|
ViewData["Title"] = "Form Example";
|
||||||
|
}
|
||||||
|
|
||||||
|
@section Styles {
|
||||||
|
<style type="text/css">
|
||||||
|
.bg-grayed {
|
||||||
|
background-color: #D8D8D8
|
||||||
|
}
|
||||||
|
|
||||||
|
.disabled {
|
||||||
|
pointer-events: none;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
}
|
||||||
|
|
||||||
|
<div class="container mt-5">
|
||||||
|
<h2>@Resource.InitialFormTitle</h2>
|
||||||
|
<br />
|
||||||
|
<br />
|
||||||
|
<form id="exampleForm">
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-6">
|
||||||
|
<div class="form-group">
|
||||||
|
<label for="email">@Resource.NameLabel</label>
|
||||||
|
<input type="name" class="form-control bg-grayed" id="name" disabled value="@User.FindFirst("FullName").Value" style="background-color: #D8D8D8">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-6">
|
||||||
|
<div class="form-group">
|
||||||
|
<label for="email">@Resource.EmailLabel</label>
|
||||||
|
<input type="email" class="form-control bg-grayed" id="email" disabled value="@User.Identity.Name" style="background-color: #D8D8D8">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-12">
|
||||||
|
<div class="card mt-3 tab-card">
|
||||||
|
<div class="card-header tab-card-header">
|
||||||
|
<ul class="nav nav-tabs card-header-tabs" id="myTab" role="tablist">
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" id="one-tab" data-toggle="tab" href="#one" role="tab" aria-controls="One" aria-selected="true">Dados</a>
|
||||||
|
</li>
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" id="two-tab" data-toggle="tab" href="#two" role="tab" aria-controls="Two" aria-selected="false">Links</a>
|
||||||
|
</li>
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" id="three-tab" data-toggle="tab" href="#three" role="tab" aria-controls="Three" aria-selected="false">Tema</a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="tab-content" id="myTabContent">
|
||||||
|
<div class="tab-pane fade show active p-3" id="one" role="tabpanel" aria-labelledby="one-tab">
|
||||||
|
<div class="tab-content-inner" style="height: 320px;">
|
||||||
|
<h5 class="card-title">Dados iniciais</h5>
|
||||||
|
<div class="form-group">
|
||||||
|
<label for="country">@Resource.CountryLabel</label>
|
||||||
|
<select class="form-control" id="country" placeholder="@Resource.CountryPlaceholder" required>
|
||||||
|
@if (Context.Request.Cookies["Language"] == "en")
|
||||||
|
{
|
||||||
|
<option value="1">@Resource.Country_EUA_Label</option>
|
||||||
|
<option value="2">@Resource.Country_India_Label</option>
|
||||||
|
<option value="3">@Resource.Country_Nigeria_Label</option>
|
||||||
|
<option value="4">@Resource.Country_Paquistao_Label</option>
|
||||||
|
<option value="5">@Resource.Country_UK_Label</option>
|
||||||
|
<option value="6">@Resource.Country_Filipinas_Label</option>
|
||||||
|
<option value="7">@Resource.Country_Canada_Label</option>
|
||||||
|
<option value="8">@Resource.Country_Australia_Label</option>
|
||||||
|
<option value="9">@Resource.Country_Gana_Label</option>
|
||||||
|
<option value="10">@Resource.Country_Quenia_Label</option>
|
||||||
|
}
|
||||||
|
else if (Context.Request.Cookies["Language"] == "pt-BR")
|
||||||
|
{
|
||||||
|
<option value="11">@Resource.Country_Brasil_Label</option>
|
||||||
|
<option value="12">@Resource.Country_Mocambique_Label</option>
|
||||||
|
<option value="13">@Resource.Country_Angola_Label</option>
|
||||||
|
<option value="14">@Resource.Country_Portugal_Label</option>
|
||||||
|
<option value="15">@Resource.Country_GuineBissau_Label</option>
|
||||||
|
<option value="16">@Resource.Country_TimorLeste_Label</option>
|
||||||
|
<option value="17">@Resource.Country_CaboVerde_Label</option>
|
||||||
|
}
|
||||||
|
</select>
|
||||||
|
<small id="countryHelp" class="form-text text-muted">@Resource.ChangeLanguage</small>
|
||||||
|
</div>
|
||||||
|
<div class="form-group">
|
||||||
|
<label for="businessArea">@Resource.BusinessAreaLabel</label>
|
||||||
|
<select class="form-control" id="country" placeholder="@Resource.CountryPlaceholder" required>
|
||||||
|
<option value="1">@Resource.BU_Alimentacao</option>
|
||||||
|
<option value="2">@Resource.BU_Vestuário</option>
|
||||||
|
<option value="3">@Resource.BU_Construção</option>
|
||||||
|
<option value="4">@Resource.BU_Saúde</option>
|
||||||
|
<option value="5">@Resource.BU_TI</option>
|
||||||
|
<option value="6">@Resource.BU_Beleza</option>
|
||||||
|
<option value="7">@Resource.BU_Empreendedorismo</option>
|
||||||
|
<option value="8">@Resource.BU_SetorPET</option>
|
||||||
|
<option value="9">@Resource.BU_Educacao</option>
|
||||||
|
<option value="10">@Resource.BU_TransporteLogistica</option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
<div class="form-group">
|
||||||
|
<label for="groupName">@Resource.GroupNameLabel</label>
|
||||||
|
<input type="text" class="form-control" id="groupName" placeholder="@Resource.GroupPlaceHolder" required>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<button type="button" class="btn btn-primary" id="next1Button">Próximo >></button>
|
||||||
|
</div>
|
||||||
|
<div class="tab-pane fade p-3" id="two" role="tabpanel" aria-labelledby="two-tab">
|
||||||
|
<div class="tab-content-inner" style="height: 320px;">
|
||||||
|
<h5 class="card-title">Tab Card Two</h5>
|
||||||
|
<p class="card-text">Some quick example text to build on the card title and make up the bulk of the card's content.</p>
|
||||||
|
</div>
|
||||||
|
<button type="button" class="btn btn-primary" id="next2Button">Próximo >></button>
|
||||||
|
</div>
|
||||||
|
<div class="tab-pane fade p-3 " id="three" role="tabpanel" aria-labelledby="three-tab">
|
||||||
|
<div class="tab-content-inner" style="height: 320px;">
|
||||||
|
<h5 class="card-title">Tab Card Three</h5>
|
||||||
|
<p class="card-text">Some quick example text to build on the card title and make up the bulk of the card's content.</p>
|
||||||
|
</div>
|
||||||
|
<button type="submit" class="btn btn-primary" id="saveButton" disabled>@Resource.SaveButton</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
@section Scripts {
|
||||||
|
<script type="text/javascript" >
|
||||||
|
const nextTab1 = $('#one-tab');
|
||||||
|
const nextTab2 = $('#two-tab');
|
||||||
|
const nextTab3 = $('#three-tab');
|
||||||
|
|
||||||
|
nextTab2.addClass('disabled');
|
||||||
|
nextTab3.addClass('disabled');
|
||||||
|
|
||||||
|
$(document).ready(function () {
|
||||||
|
$('#groupName, #businessArea').on('input', function() {
|
||||||
|
var groupName = $('#groupName').val();
|
||||||
|
var businessArea = $('#businessArea').val();
|
||||||
|
|
||||||
|
if (groupName && businessArea) {
|
||||||
|
$.ajax({
|
||||||
|
url: '/validateGroup',
|
||||||
|
type: 'POST',
|
||||||
|
data: { groupName: groupName, businessArea: businessArea },
|
||||||
|
success: function(response) {
|
||||||
|
if (response.isValid) {
|
||||||
|
$('#saveButton').prop('disabled', false);
|
||||||
|
} else {
|
||||||
|
$('#saveButton').prop('disabled', true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
$('#saveButton').prop('disabled', true);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
$('#next1Button').on('click', function () {
|
||||||
|
nextTab2.removeClass('disabled');
|
||||||
|
nextTab2.tab('show');;
|
||||||
|
});
|
||||||
|
|
||||||
|
$('#next2Button').on('click', function () {
|
||||||
|
nextTab3.removeClass('disabled');
|
||||||
|
nextTab3.tab('show');;
|
||||||
|
});
|
||||||
|
|
||||||
|
nextTab3.addEventListener('click', function () {
|
||||||
|
// Aqui você pode adicionar a lógica para permitir que o usuário volte para as abas anteriores
|
||||||
|
});
|
||||||
|
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
}
|
||||||
@ -1,3 +1,3 @@
|
|||||||
@using VCart
|
@using Blinks
|
||||||
@using VCart.Models
|
@using Blinks.Models
|
||||||
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
|
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
|
||||||
|
|||||||
@ -7,5 +7,9 @@
|
|||||||
},
|
},
|
||||||
"AllowedHosts": "*",
|
"AllowedHosts": "*",
|
||||||
"AppSecret": "GP28Q~ILuE0furAa~3zHUA-jm6EyiWCaLIkoKaQj",
|
"AppSecret": "GP28Q~ILuE0furAa~3zHUA-jm6EyiWCaLIkoKaQj",
|
||||||
"ClientID": "e913ea69-be61-4eab-b0f5-24762d15bdb5"
|
"ClientID": "e913ea69-be61-4eab-b0f5-24762d15bdb5",
|
||||||
|
"Stripe": {
|
||||||
|
"SecretKey": "sua_secret_key_aqui",
|
||||||
|
"PublishableKey": "sua_publishable_key_aqui"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@ -0,0 +1,4 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-0-circle-fill" viewBox="0 0 16 16">
|
||||||
|
<path d="M8 4.951c-1.008 0-1.629 1.09-1.629 2.895v.31c0 1.81.627 2.895 1.629 2.895s1.623-1.09 1.623-2.895v-.31c0-1.8-.621-2.895-1.623-2.895"/>
|
||||||
|
<path d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0m-8.012 4.158c1.858 0 2.96-1.582 2.96-3.99V7.84c0-2.426-1.079-3.996-2.936-3.996-1.864 0-2.965 1.588-2.965 3.996v.328c0 2.42 1.09 3.99 2.941 3.99"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 476 B |
4
VCart/wwwroot/css/bootstrap-icons-1.11.3/0-circle.svg
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-0-circle" viewBox="0 0 16 16">
|
||||||
|
<path d="M7.988 12.158c-1.851 0-2.941-1.57-2.941-3.99V7.84c0-2.408 1.101-3.996 2.965-3.996 1.857 0 2.935 1.57 2.935 3.996v.328c0 2.408-1.101 3.99-2.959 3.99M8 4.951c-1.008 0-1.629 1.09-1.629 2.895v.31c0 1.81.627 2.895 1.629 2.895s1.623-1.09 1.623-2.895v-.31c0-1.8-.621-2.895-1.623-2.895"/>
|
||||||
|
<path d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0M1 8a7 7 0 1 0 14 0A7 7 0 0 0 1 8"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 507 B |
@ -0,0 +1,4 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-0-square-fill" viewBox="0 0 16 16">
|
||||||
|
<path d="M8 4.951c-1.008 0-1.629 1.09-1.629 2.895v.31c0 1.81.627 2.895 1.629 2.895s1.623-1.09 1.623-2.895v-.31c0-1.8-.621-2.895-1.623-2.895"/>
|
||||||
|
<path d="M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zm5.988 12.158c-1.851 0-2.941-1.57-2.941-3.99V7.84c0-2.408 1.101-3.996 2.965-3.996 1.857 0 2.935 1.57 2.935 3.996v.328c0 2.408-1.101 3.99-2.959 3.99"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 514 B |
4
VCart/wwwroot/css/bootstrap-icons-1.11.3/0-square.svg
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-0-square" viewBox="0 0 16 16">
|
||||||
|
<path d="M7.988 12.158c-1.851 0-2.941-1.57-2.941-3.99V7.84c0-2.408 1.101-3.996 2.965-3.996 1.857 0 2.935 1.57 2.935 3.996v.328c0 2.408-1.101 3.99-2.959 3.99M8 4.951c-1.008 0-1.629 1.09-1.629 2.895v.31c0 1.81.627 2.895 1.629 2.895s1.623-1.09 1.623-2.895v-.31c0-1.8-.621-2.895-1.623-2.895"/>
|
||||||
|
<path d="M0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2zm15 0a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1z"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 579 B |
@ -0,0 +1,3 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-1-circle-fill" viewBox="0 0 16 16">
|
||||||
|
<path d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0M9.283 4.002H7.971L6.072 5.385v1.271l1.834-1.318h.065V12h1.312z"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 250 B |
3
VCart/wwwroot/css/bootstrap-icons-1.11.3/1-circle.svg
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-1-circle" viewBox="0 0 16 16">
|
||||||
|
<path d="M1 8a7 7 0 1 0 14 0A7 7 0 0 0 1 8m15 0A8 8 0 1 1 0 8a8 8 0 0 1 16 0M9.283 4.002V12H7.971V5.338h-.065L6.072 6.656V5.385l1.899-1.383z"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 279 B |
@ -0,0 +1,3 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-1-square-fill" viewBox="0 0 16 16">
|
||||||
|
<path d="M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zm7.283 4.002V12H7.971V5.338h-.065L6.072 6.656V5.385l1.899-1.383z"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 286 B |
4
VCart/wwwroot/css/bootstrap-icons-1.11.3/1-square.svg
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-1-square" viewBox="0 0 16 16">
|
||||||
|
<path d="M9.283 4.002V12H7.971V5.338h-.065L6.072 6.656V5.385l1.899-1.383z"/>
|
||||||
|
<path d="M0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2zm15 0a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1z"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 366 B |
3
VCart/wwwroot/css/bootstrap-icons-1.11.3/123.svg
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-123" viewBox="0 0 16 16">
|
||||||
|
<path d="M2.873 11.297V4.142H1.699L0 5.379v1.137l1.64-1.18h.06v5.961zm3.213-5.09v-.063c0-.618.44-1.169 1.196-1.169.676 0 1.174.44 1.174 1.106 0 .624-.42 1.101-.807 1.526L4.99 10.553v.744h4.78v-.99H6.643v-.069L8.41 8.252c.65-.724 1.237-1.332 1.237-2.27C9.646 4.849 8.723 4 7.308 4c-1.573 0-2.36 1.064-2.36 2.15v.057zm6.559 1.883h.786c.823 0 1.374.481 1.379 1.179.01.707-.55 1.216-1.421 1.21-.77-.005-1.326-.419-1.379-.953h-1.095c.042 1.053.938 1.918 2.464 1.918 1.478 0 2.642-.839 2.62-2.144-.02-1.143-.922-1.651-1.551-1.714v-.063c.535-.09 1.347-.66 1.326-1.678-.026-1.053-.933-1.855-2.359-1.845-1.5.005-2.317.88-2.348 1.898h1.116c.032-.498.498-.944 1.206-.944.703 0 1.206.435 1.206 1.07.005.64-.504 1.106-1.2 1.106h-.75z"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 854 B |
@ -0,0 +1,3 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-2-circle-fill" viewBox="0 0 16 16">
|
||||||
|
<path d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0M6.646 6.24c0-.691.493-1.306 1.336-1.306.756 0 1.313.492 1.313 1.236 0 .697-.469 1.23-.902 1.705l-2.971 3.293V12h5.344v-1.107H7.268v-.077l1.974-2.22.096-.107c.688-.763 1.287-1.428 1.287-2.43 0-1.266-1.031-2.215-2.613-2.215-1.758 0-2.637 1.19-2.637 2.402v.065h1.271v-.07Z"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 457 B |
3
VCart/wwwroot/css/bootstrap-icons-1.11.3/2-circle.svg
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-2-circle" viewBox="0 0 16 16">
|
||||||
|
<path d="M1 8a7 7 0 1 0 14 0A7 7 0 0 0 1 8m15 0A8 8 0 1 1 0 8a8 8 0 0 1 16 0M6.646 6.24v.07H5.375v-.064c0-1.213.879-2.402 2.637-2.402 1.582 0 2.613.949 2.613 2.215 0 1.002-.6 1.667-1.287 2.43l-.096.107-1.974 2.22v.077h3.498V12H5.422v-.832l2.97-3.293c.434-.475.903-1.008.903-1.705 0-.744-.557-1.236-1.313-1.236-.843 0-1.336.615-1.336 1.306"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 477 B |
@ -0,0 +1,3 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-2-square-fill" viewBox="0 0 16 16">
|
||||||
|
<path d="M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zm4.646 6.24v.07H5.375v-.064c0-1.213.879-2.402 2.637-2.402 1.582 0 2.613.949 2.613 2.215 0 1.002-.6 1.667-1.287 2.43l-.096.107-1.974 2.22v.077h3.498V12H5.422v-.832l2.97-3.293c.434-.475.903-1.008.903-1.705 0-.744-.557-1.236-1.313-1.236-.843 0-1.336.615-1.336 1.306"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 484 B |
4
VCart/wwwroot/css/bootstrap-icons-1.11.3/2-square.svg
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-2-square" viewBox="0 0 16 16">
|
||||||
|
<path d="M6.646 6.24v.07H5.375v-.064c0-1.213.879-2.402 2.637-2.402 1.582 0 2.613.949 2.613 2.215 0 1.002-.6 1.667-1.287 2.43l-.096.107-1.974 2.22v.077h3.498V12H5.422v-.832l2.97-3.293c.434-.475.903-1.008.903-1.705 0-.744-.557-1.236-1.313-1.236-.843 0-1.336.615-1.336 1.306"/>
|
||||||
|
<path d="M0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2zm15 0a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1z"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 564 B |
@ -0,0 +1,3 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-3-circle-fill" viewBox="0 0 16 16">
|
||||||
|
<path d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0m-8.082.414c.92 0 1.535.54 1.541 1.318.012.791-.615 1.36-1.588 1.354-.861-.006-1.482-.469-1.54-1.066H5.104c.047 1.177 1.05 2.144 2.754 2.144 1.653 0 2.954-.937 2.93-2.396-.023-1.278-1.031-1.846-1.734-1.916v-.07c.597-.1 1.505-.739 1.482-1.876-.03-1.177-1.043-2.074-2.637-2.062-1.675.006-2.59.984-2.625 2.12h1.248c.036-.556.557-1.054 1.348-1.054.785 0 1.348.486 1.348 1.195.006.715-.563 1.237-1.342 1.237h-.838v1.072h.879Z"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 607 B |
4
VCart/wwwroot/css/bootstrap-icons-1.11.3/3-circle.svg
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-3-circle" viewBox="0 0 16 16">
|
||||||
|
<path d="M7.918 8.414h-.879V7.342h.838c.78 0 1.348-.522 1.342-1.237 0-.709-.563-1.195-1.348-1.195-.79 0-1.312.498-1.348 1.055H5.275c.036-1.137.95-2.115 2.625-2.121 1.594-.012 2.608.885 2.637 2.062.023 1.137-.885 1.776-1.482 1.875v.07c.703.07 1.71.64 1.734 1.917.024 1.459-1.277 2.396-2.93 2.396-1.705 0-2.707-.967-2.754-2.144H6.33c.059.597.68 1.06 1.541 1.066.973.006 1.6-.563 1.588-1.354-.006-.779-.621-1.318-1.541-1.318"/>
|
||||||
|
<path d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0M1 8a7 7 0 1 0 14 0A7 7 0 0 0 1 8"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 642 B |
@ -0,0 +1,3 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-3-square-fill" viewBox="0 0 16 16">
|
||||||
|
<path d="M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zm5.918 8.414h-.879V7.342h.838c.78 0 1.348-.522 1.342-1.237 0-.709-.563-1.195-1.348-1.195-.79 0-1.312.498-1.348 1.055H5.275c.036-1.137.95-2.115 2.625-2.121 1.594-.012 2.608.885 2.637 2.062.023 1.137-.885 1.776-1.482 1.875v.07c.703.07 1.71.64 1.734 1.917.024 1.459-1.277 2.396-2.93 2.396-1.705 0-2.707-.967-2.754-2.144H6.33c.059.597.68 1.06 1.541 1.066.973.006 1.6-.563 1.588-1.354-.006-.779-.621-1.318-1.541-1.318"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 634 B |
4
VCart/wwwroot/css/bootstrap-icons-1.11.3/3-square.svg
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-3-square" viewBox="0 0 16 16">
|
||||||
|
<path d="M7.918 8.414h-.879V7.342h.838c.78 0 1.348-.522 1.342-1.237 0-.709-.563-1.195-1.348-1.195-.79 0-1.312.498-1.348 1.055H5.275c.036-1.137.95-2.115 2.625-2.121 1.594-.012 2.608.885 2.637 2.062.023 1.137-.885 1.776-1.482 1.875v.07c.703.07 1.71.64 1.734 1.917.024 1.459-1.277 2.396-2.93 2.396-1.705 0-2.707-.967-2.754-2.144H6.33c.059.597.68 1.06 1.541 1.066.973.006 1.6-.563 1.588-1.354-.006-.779-.621-1.318-1.541-1.318"/>
|
||||||
|
<path d="M0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2zm15 0a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1z"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 714 B |
@ -0,0 +1,3 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-4-circle-fill" viewBox="0 0 16 16">
|
||||||
|
<path d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0M7.519 5.057c-.886 1.418-1.772 2.838-2.542 4.265v1.12H8.85V12h1.26v-1.559h1.007V9.334H10.11V4.002H8.176zM6.225 9.281v.053H8.85V5.063h-.065c-.867 1.33-1.787 2.806-2.56 4.218"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 359 B |
4
VCart/wwwroot/css/bootstrap-icons-1.11.3/4-circle.svg
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-4-circle" viewBox="0 0 16 16">
|
||||||
|
<path d="M7.519 5.057q.33-.527.657-1.055h1.933v5.332h1.008v1.107H10.11V12H8.85v-1.559H4.978V9.322c.77-1.427 1.656-2.847 2.542-4.265ZM6.225 9.281v.053H8.85V5.063h-.065c-.867 1.33-1.787 2.806-2.56 4.218"/>
|
||||||
|
<path d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0M1 8a7 7 0 1 0 14 0A7 7 0 0 0 1 8"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 421 B |
@ -0,0 +1,4 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-4-square-fill" viewBox="0 0 16 16">
|
||||||
|
<path d="M6.225 9.281v.053H8.85V5.063h-.065c-.867 1.33-1.787 2.806-2.56 4.218"/>
|
||||||
|
<path d="M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zm5.519 5.057q.33-.527.657-1.055h1.933v5.332h1.008v1.107H10.11V12H8.85v-1.559H4.978V9.322c.77-1.427 1.656-2.847 2.542-4.265Z"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 428 B |
4
VCart/wwwroot/css/bootstrap-icons-1.11.3/4-square.svg
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-4-square" viewBox="0 0 16 16">
|
||||||
|
<path d="M7.519 5.057q.33-.527.657-1.055h1.933v5.332h1.008v1.107H10.11V12H8.85v-1.559H4.978V9.322c.77-1.427 1.656-2.847 2.542-4.265ZM6.225 9.281v.053H8.85V5.063h-.065c-.867 1.33-1.787 2.806-2.56 4.218"/>
|
||||||
|
<path d="M0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2zm15 0a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1z"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 493 B |
@ -0,0 +1,3 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-5-circle-fill" viewBox="0 0 16 16">
|
||||||
|
<path d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0m-8.006 4.158c1.74 0 2.924-1.119 2.924-2.806 0-1.641-1.178-2.584-2.56-2.584-.897 0-1.442.421-1.612.68h-.064l.193-2.344h3.621V4.002H5.791L5.445 8.63h1.149c.193-.358.668-.809 1.435-.809.85 0 1.582.604 1.582 1.57 0 1.085-.779 1.682-1.57 1.682-.697 0-1.389-.31-1.53-1.031H5.276c.065 1.213 1.149 2.115 2.72 2.115Z"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 495 B |
3
VCart/wwwroot/css/bootstrap-icons-1.11.3/5-circle.svg
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-5-circle" viewBox="0 0 16 16">
|
||||||
|
<path d="M1 8a7 7 0 1 1 14 0A7 7 0 0 1 1 8m15 0A8 8 0 1 0 0 8a8 8 0 0 0 16 0m-8.006 4.158c-1.57 0-2.654-.902-2.719-2.115h1.237c.14.72.832 1.031 1.529 1.031.791 0 1.57-.597 1.57-1.681 0-.967-.732-1.57-1.582-1.57-.767 0-1.242.45-1.435.808H5.445L5.791 4h4.705v1.103H6.875l-.193 2.343h.064c.17-.258.715-.68 1.611-.68 1.383 0 2.561.944 2.561 2.585 0 1.687-1.184 2.806-2.924 2.806Z"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 514 B |
@ -0,0 +1,3 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-5-square-fill" viewBox="0 0 16 16">
|
||||||
|
<path d="M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zm5.994 12.158c-1.57 0-2.654-.902-2.719-2.115h1.237c.14.72.832 1.031 1.529 1.031.791 0 1.57-.597 1.57-1.681 0-.967-.732-1.57-1.582-1.57-.767 0-1.242.45-1.435.808H5.445L5.791 4h4.705v1.103H6.875l-.193 2.343h.064c.17-.258.715-.68 1.611-.68 1.383 0 2.561.944 2.561 2.585 0 1.687-1.184 2.806-2.924 2.806Z"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 521 B |
4
VCart/wwwroot/css/bootstrap-icons-1.11.3/5-square.svg
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-5-square" viewBox="0 0 16 16">
|
||||||
|
<path d="M7.994 12.158c-1.57 0-2.654-.902-2.719-2.115h1.237c.14.72.832 1.031 1.529 1.031.791 0 1.57-.597 1.57-1.681 0-.967-.732-1.57-1.582-1.57-.767 0-1.242.45-1.435.808H5.445L5.791 4h4.705v1.103H6.875l-.193 2.343h.064c.17-.258.715-.68 1.611-.68 1.383 0 2.561.944 2.561 2.585 0 1.687-1.184 2.806-2.924 2.806Z"/>
|
||||||
|
<path d="M0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2zm15 0a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1z"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 601 B |
@ -0,0 +1,3 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-6-circle-fill" viewBox="0 0 16 16">
|
||||||
|
<path d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0M8.21 3.855c-1.868 0-3.116 1.395-3.116 4.407 0 1.183.228 2.039.597 2.642.569.926 1.477 1.254 2.409 1.254 1.629 0 2.847-1.013 2.847-2.783 0-1.676-1.254-2.555-2.508-2.555-1.125 0-1.752.61-1.98 1.155h-.082c-.012-1.946.727-3.036 1.805-3.036.802 0 1.213.457 1.312.815h1.29c-.06-.908-.962-1.899-2.573-1.899Zm-.099 4.008c-.92 0-1.564.65-1.564 1.576 0 1.032.703 1.635 1.558 1.635.868 0 1.553-.533 1.553-1.629 0-1.06-.744-1.582-1.547-1.582"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 617 B |
3
VCart/wwwroot/css/bootstrap-icons-1.11.3/6-circle.svg
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-6-circle" viewBox="0 0 16 16">
|
||||||
|
<path d="M1 8a7 7 0 1 0 14 0A7 7 0 0 0 1 8m15 0A8 8 0 1 1 0 8a8 8 0 0 1 16 0M8.21 3.855c1.612 0 2.515.99 2.573 1.899H9.494c-.1-.358-.51-.815-1.312-.815-1.078 0-1.817 1.09-1.805 3.036h.082c.229-.545.855-1.155 1.98-1.155 1.254 0 2.508.88 2.508 2.555 0 1.77-1.218 2.783-2.847 2.783-.932 0-1.84-.328-2.409-1.254-.369-.603-.597-1.459-.597-2.642 0-3.012 1.248-4.407 3.117-4.407Zm-.099 4.008c-.92 0-1.564.65-1.564 1.576 0 1.032.703 1.635 1.558 1.635.868 0 1.553-.533 1.553-1.629 0-1.06-.744-1.582-1.547-1.582"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 640 B |
@ -0,0 +1,4 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-6-square-fill" viewBox="0 0 16 16">
|
||||||
|
<path d="M8.111 7.863c-.92 0-1.564.65-1.564 1.576 0 1.032.703 1.635 1.558 1.635.868 0 1.553-.533 1.553-1.629 0-1.06-.744-1.582-1.547-1.582"/>
|
||||||
|
<path d="M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zm6.21 3.855c1.612 0 2.515.99 2.573 1.899H9.494c-.1-.358-.51-.815-1.312-.815-1.078 0-1.817 1.09-1.805 3.036h.082c.229-.545.855-1.155 1.98-1.155 1.254 0 2.508.88 2.508 2.555 0 1.77-1.218 2.783-2.847 2.783-.932 0-1.84-.328-2.409-1.254-.369-.603-.597-1.459-.597-2.642 0-3.012 1.248-4.407 3.117-4.407Z"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 662 B |
4
VCart/wwwroot/css/bootstrap-icons-1.11.3/6-square.svg
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-6-square" viewBox="0 0 16 16">
|
||||||
|
<path d="M8.21 3.855c1.612 0 2.515.99 2.573 1.899H9.494c-.1-.358-.51-.815-1.312-.815-1.078 0-1.817 1.09-1.805 3.036h.082c.229-.545.855-1.155 1.98-1.155 1.254 0 2.508.88 2.508 2.555 0 1.77-1.218 2.783-2.847 2.783-.932 0-1.84-.328-2.409-1.254-.369-.603-.597-1.459-.597-2.642 0-3.012 1.248-4.407 3.117-4.407Zm-.099 4.008c-.92 0-1.564.65-1.564 1.576 0 1.032.703 1.635 1.558 1.635.868 0 1.553-.533 1.553-1.629 0-1.06-.744-1.582-1.547-1.582"/>
|
||||||
|
<path d="M0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2zm15 0a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1z"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 727 B |
@ -0,0 +1,3 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-7-circle-fill" viewBox="0 0 16 16">
|
||||||
|
<path d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0M5.37 5.11h3.972v.07L6.025 12H7.42l3.258-6.85V4.002H5.369v1.107Z"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 251 B |
3
VCart/wwwroot/css/bootstrap-icons-1.11.3/7-circle.svg
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-7-circle" viewBox="0 0 16 16">
|
||||||
|
<path d="M1 8a7 7 0 1 0 14 0A7 7 0 0 0 1 8m15 0A8 8 0 1 1 0 8a8 8 0 0 1 16 0M5.37 5.11V4.001h5.308V5.15L7.42 12H6.025l3.317-6.82v-.07H5.369Z"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 279 B |
@ -0,0 +1,3 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-7-square-fill" viewBox="0 0 16 16">
|
||||||
|
<path d="M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zm3.37 5.11V4.001h5.308V5.15L7.42 12H6.025l3.317-6.82v-.07H5.369Z"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 286 B |
4
VCart/wwwroot/css/bootstrap-icons-1.11.3/7-square.svg
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-7-square" viewBox="0 0 16 16">
|
||||||
|
<path d="M5.37 5.11V4.001h5.308V5.15L7.42 12H6.025l3.317-6.82v-.07H5.369Z"/>
|
||||||
|
<path d="M0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2zm15 0a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1z"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 366 B |
@ -0,0 +1,3 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-8-circle-fill" viewBox="0 0 16 16">
|
||||||
|
<path d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0m-5.03 1.803c0-1.248-.943-1.84-1.646-1.992v-.065c.598-.187 1.336-.72 1.336-1.781 0-1.225-1.084-2.121-2.654-2.121s-2.66.896-2.66 2.12c0 1.044.709 1.589 1.33 1.782v.065c-.697.152-1.647.732-1.647 2.003 0 1.39 1.19 2.344 2.953 2.344 1.77 0 2.989-.96 2.989-2.355Zm-4.347-3.71c0 .739.586 1.255 1.383 1.255s1.377-.516 1.377-1.254c0-.733-.58-1.23-1.377-1.23s-1.383.497-1.383 1.23Zm-.281 3.645c0 .838.72 1.412 1.664 1.412.943 0 1.658-.574 1.658-1.412 0-.843-.715-1.424-1.658-1.424-.944 0-1.664.58-1.664 1.424"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 686 B |
3
VCart/wwwroot/css/bootstrap-icons-1.11.3/8-circle.svg
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-8-circle" viewBox="0 0 16 16">
|
||||||
|
<path d="M1 8a7 7 0 1 0 14 0A7 7 0 0 0 1 8m15 0A8 8 0 1 1 0 8a8 8 0 0 1 16 0m-5.03 1.803c0 1.394-1.218 2.355-2.988 2.355-1.763 0-2.953-.955-2.953-2.344 0-1.271.95-1.851 1.647-2.003v-.065c-.621-.193-1.33-.738-1.33-1.781 0-1.225 1.09-2.121 2.66-2.121s2.654.896 2.654 2.12c0 1.061-.738 1.595-1.336 1.782v.065c.703.152 1.647.744 1.647 1.992Zm-4.347-3.71c0 .739.586 1.255 1.383 1.255s1.377-.516 1.377-1.254c0-.733-.58-1.23-1.377-1.23s-1.383.497-1.383 1.23Zm-.281 3.645c0 .838.72 1.412 1.664 1.412.943 0 1.658-.574 1.658-1.412 0-.843-.715-1.424-1.658-1.424-.944 0-1.664.58-1.664 1.424"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 717 B |
@ -0,0 +1,4 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-8-square-fill" viewBox="0 0 16 16">
|
||||||
|
<path d="M6.623 6.094c0 .738.586 1.254 1.383 1.254s1.377-.516 1.377-1.254c0-.733-.58-1.23-1.377-1.23s-1.383.497-1.383 1.23m-.281 3.644c0 .838.72 1.412 1.664 1.412.943 0 1.658-.574 1.658-1.412 0-.843-.715-1.424-1.658-1.424-.944 0-1.664.58-1.664 1.424"/>
|
||||||
|
<path d="M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zm8.97 9.803c0 1.394-1.218 2.355-2.988 2.355-1.763 0-2.953-.955-2.953-2.344 0-1.271.95-1.851 1.647-2.003v-.065c-.621-.193-1.33-.738-1.33-1.781 0-1.225 1.09-2.121 2.66-2.121s2.654.896 2.654 2.12c0 1.061-.738 1.595-1.336 1.782v.065c.703.152 1.647.744 1.647 1.992Z"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 737 B |
4
VCart/wwwroot/css/bootstrap-icons-1.11.3/8-square.svg
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-8-square" viewBox="0 0 16 16">
|
||||||
|
<path d="M10.97 9.803c0 1.394-1.218 2.355-2.988 2.355-1.763 0-2.953-.955-2.953-2.344 0-1.271.95-1.851 1.647-2.003v-.065c-.621-.193-1.33-.738-1.33-1.781 0-1.225 1.09-2.121 2.66-2.121s2.654.896 2.654 2.12c0 1.061-.738 1.595-1.336 1.782v.065c.703.152 1.647.744 1.647 1.992Zm-4.347-3.71c0 .739.586 1.255 1.383 1.255s1.377-.516 1.377-1.254c0-.733-.58-1.23-1.377-1.23s-1.383.497-1.383 1.23Zm-.281 3.645c0 .838.72 1.412 1.664 1.412.943 0 1.658-.574 1.658-1.412 0-.843-.715-1.424-1.658-1.424-.944 0-1.664.58-1.664 1.424"/>
|
||||||
|
<path d="M0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2zm15 0a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1z"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 804 B |
@ -0,0 +1,3 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-9-circle-fill" viewBox="0 0 16 16">
|
||||||
|
<path d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0m-8.223 4.146c2.104 0 3.123-1.464 3.123-4.3 0-3.147-1.459-4.014-2.97-4.014-1.63 0-2.871 1.02-2.871 2.73 0 1.706 1.171 2.667 2.566 2.667 1.06 0 1.7-.557 1.934-1.184h.076c.047 1.67-.475 3.023-1.834 3.023-.71 0-1.149-.363-1.248-.72H5.258c.094.908.926 1.798 2.52 1.798Zm.118-3.972c.808 0 1.535-.528 1.535-1.594s-.668-1.676-1.56-1.676c-.838 0-1.517.616-1.517 1.659 0 1.072.708 1.61 1.54 1.61Z"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 574 B |
3
VCart/wwwroot/css/bootstrap-icons-1.11.3/9-circle.svg
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-9-circle" viewBox="0 0 16 16">
|
||||||
|
<path d="M1 8a7 7 0 1 0 14 0A7 7 0 0 0 1 8m15 0A8 8 0 1 1 0 8a8 8 0 0 1 16 0m-8.223 4.146c-1.593 0-2.425-.89-2.52-1.798h1.296c.1.357.539.72 1.248.72 1.36 0 1.88-1.353 1.834-3.023h-.076c-.235.627-.873 1.184-1.934 1.184-1.395 0-2.566-.961-2.566-2.666 0-1.711 1.242-2.731 2.87-2.731 1.512 0 2.971.867 2.971 4.014 0 2.836-1.02 4.3-3.123 4.3m.118-3.972c.808 0 1.535-.528 1.535-1.594s-.668-1.676-1.56-1.676c-.838 0-1.517.616-1.517 1.659 0 1.072.708 1.61 1.54 1.61Z"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 597 B |
@ -0,0 +1,4 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-9-square-fill" viewBox="0 0 16 16">
|
||||||
|
<path d="M7.895 8.174c.808 0 1.535-.528 1.535-1.594s-.668-1.676-1.56-1.676c-.838 0-1.517.616-1.517 1.659 0 1.072.708 1.61 1.54 1.61Z"/>
|
||||||
|
<path d="M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zm5.777 12.146c-1.593 0-2.425-.89-2.52-1.798h1.296c.1.357.539.72 1.248.72 1.36 0 1.88-1.353 1.834-3.023h-.076c-.235.627-.873 1.184-1.934 1.184-1.395 0-2.566-.961-2.566-2.666 0-1.711 1.242-2.731 2.87-2.731 1.512 0 2.971.867 2.971 4.014 0 2.836-1.02 4.3-3.123 4.3"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 620 B |
4
VCart/wwwroot/css/bootstrap-icons-1.11.3/9-square.svg
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-9-square" viewBox="0 0 16 16">
|
||||||
|
<path d="M7.777 12.146c-1.593 0-2.425-.89-2.52-1.798h1.296c.1.357.539.72 1.248.72 1.36 0 1.88-1.353 1.834-3.023h-.076c-.235.627-.873 1.184-1.934 1.184-1.395 0-2.566-.961-2.566-2.666 0-1.711 1.242-2.731 2.87-2.731 1.512 0 2.971.867 2.971 4.014 0 2.836-1.02 4.3-3.123 4.3m.118-3.972c.808 0 1.535-.528 1.535-1.594s-.668-1.676-1.56-1.676c-.838 0-1.517.616-1.517 1.659 0 1.072.708 1.61 1.54 1.61Z"/>
|
||||||
|
<path d="M0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2zm15 0a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1z"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 684 B |
3
VCart/wwwroot/css/bootstrap-icons-1.11.3/activity.svg
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-activity" viewBox="0 0 16 16">
|
||||||
|
<path fill-rule="evenodd" d="M6 2a.5.5 0 0 1 .47.33L10 12.036l1.53-4.208A.5.5 0 0 1 12 7.5h3.5a.5.5 0 0 1 0 1h-3.15l-1.88 5.17a.5.5 0 0 1-.94 0L6 3.964 4.47 8.171A.5.5 0 0 1 4 8.5H.5a.5.5 0 0 1 0-1h3.15l1.88-5.17A.5.5 0 0 1 6 2"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 366 B |
@ -0,0 +1,3 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-airplane-engines-fill" viewBox="0 0 16 16">
|
||||||
|
<path d="M8 0c-.787 0-1.292.592-1.572 1.151A4.35 4.35 0 0 0 6 3v3.691l-2 1V7.5a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v1.191l-1.17.585A1.5 1.5 0 0 0 0 10.618V12a.5.5 0 0 0 .582.493l1.631-.272.313.937a.5.5 0 0 0 .948 0l.405-1.214 2.21-.369.375 2.253-1.318 1.318A.5.5 0 0 0 5.5 16h5a.5.5 0 0 0 .354-.854l-1.318-1.318.375-2.253 2.21.369.405 1.214a.5.5 0 0 0 .948 0l.313-.937 1.63.272A.5.5 0 0 0 16 12v-1.382a1.5 1.5 0 0 0-.83-1.342L14 8.691V7.5a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v.191l-2-1V3c0-.568-.14-1.271-.428-1.849C9.292.591 8.787 0 8 0"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 687 B |
@ -0,0 +1,3 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-airplane-engines" viewBox="0 0 16 16">
|
||||||
|
<path d="M8 0c-.787 0-1.292.592-1.572 1.151A4.35 4.35 0 0 0 6 3v3.691l-2 1V7.5a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v1.191l-1.17.585A1.5 1.5 0 0 0 0 10.618V12a.5.5 0 0 0 .582.493l1.631-.272.313.937a.5.5 0 0 0 .948 0l.405-1.214 2.21-.369.375 2.253-1.318 1.318A.5.5 0 0 0 5.5 16h5a.5.5 0 0 0 .354-.854l-1.318-1.318.375-2.253 2.21.369.405 1.214a.5.5 0 0 0 .948 0l.313-.937 1.63.272A.5.5 0 0 0 16 12v-1.382a1.5 1.5 0 0 0-.83-1.342L14 8.691V7.5a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v.191l-2-1V3c0-.568-.14-1.271-.428-1.849C9.292.591 8.787 0 8 0M7 3c0-.432.11-.979.322-1.401C7.542 1.159 7.787 1 8 1s.458.158.678.599C8.889 2.02 9 2.569 9 3v4a.5.5 0 0 0 .276.447l5.448 2.724a.5.5 0 0 1 .276.447v.792l-5.418-.903a.5.5 0 0 0-.575.41l-.5 3a.5.5 0 0 0 .14.437l.646.646H6.707l.647-.646a.5.5 0 0 0 .14-.436l-.5-3a.5.5 0 0 0-.576-.411L1 11.41v-.792a.5.5 0 0 1 .276-.447l5.448-2.724A.5.5 0 0 0 7 7z"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 1.0 KiB |