Browse Source

Resolved #43

pull/47/head
Armağan Ünlü 5 years ago
parent
commit
7c30a27f4e
  1. 46
      src/EventHub.IdentityServer/Pages/Account/Manage.cshtml
  2. 57
      src/EventHub.IdentityServer/Pages/Index.cshtml
  3. 36
      src/EventHub.Web.Theme/wwwroot/themes/eventhub/style.css
  4. 6
      src/EventHub.Web/Pages/Events/Components/EventsArea/_eventListSection.cshtml
  5. 56
      src/EventHub.Web/Pages/Events/Components/RegistrationArea/Default.cshtml
  6. 4
      src/EventHub.Web/Pages/Events/Detail.cshtml
  7. 10
      src/EventHub.Web/Pages/Events/Index.cshtml
  8. 16
      src/EventHub.Web/Pages/Events/New.cshtml
  9. 64
      src/EventHub.Web/Pages/Index.cshtml
  10. 2
      src/EventHub.Web/Pages/Index.js
  11. 10
      src/EventHub.Web/Pages/Organizations/Components/OrganizationsArea/_organizationListSection.cshtml
  12. 2
      src/EventHub.Web/Pages/Organizations/New.cshtml
  13. 4
      src/EventHub.Web/Pages/Organizations/Profile.cshtml
  14. BIN
      src/EventHub.Web/wwwroot/assets/eh-organization-big.png

46
src/EventHub.IdentityServer/Pages/Account/Manage.cshtml

@ -0,0 +1,46 @@
@page
@using Microsoft.AspNetCore.Mvc.Localization
@using Volo.Abp.Account.Localization
@using Volo.Abp.Account.Web.Pages.Account
@using Volo.Abp.AspNetCore.Mvc.UI.Theming
@inject IThemeManager ThemeManager
@inject IHtmlLocalizer<AccountResource> L
@model ManageModel
@{
Layout = ThemeManager.CurrentTheme.GetApplicationLayout();
}
@section scripts {
<abp-script-bundle name="@typeof(ManageModel).FullName" />
}
<div class="container mt-5">
@if (!Model.ReturnUrl.IsNullOrWhiteSpace())
{
<abp-row class="mb-2">
<abp-column>
<a class="btn btn-primary" href="@Model.ReturnUrl">
<i class="fa fa-chevron-left mr-2"></i>@L["ReturnToApplication"]
</a>
</abp-column>
</abp-row>
}
<div id="ProfileManagementWrapper">
<abp-card>
<abp-card-body>
<abp-tabs tab-style="PillVertical" vertical-header-size="_3">
@foreach (var group in Model.ProfileManagementPageCreationContext.Groups)
{
<abp-tab title="@group.DisplayName">
<h2>@group.DisplayName</h2>
<hr class="my-4" />
@await Component.InvokeAsync(group.ComponentType, new
{
parameter = group.Parameter
})
</abp-tab>
}
</abp-tabs>
</abp-card-body>
</abp-card>
</div>
</div>

57
src/EventHub.IdentityServer/Pages/Index.cshtml

@ -3,30 +3,35 @@
@using Volo.Abp.Users @using Volo.Abp.Users
@model IndexModel @model IndexModel
@inject ICurrentUser CurrentUser @inject ICurrentUser CurrentUser
@if (CurrentUser.IsAuthenticated) <div class="container mt-5">
{
<div>
<abp-row>
<abp-column size-md="_3" class="text-center">
<i class="fa fa-user d-block" style="font-size: 10em; color: #12b900"></i>
<a abp-button="Primary" href="/Account/Logout">Logout</a>
</abp-column>
<abp-column size-md="_9">
<h2>@CurrentUser.UserName</h2>
<h5 class="text-muted">@CurrentUser.Email</h5>
<div>
<h3>Roles</h3> @CurrentUser.Roles.JoinAsString(", ")
<h3>Claims</h3> @Html.Raw(CurrentUser.GetAllClaims().Select(c => $"{c.Type}={c.Value}").JoinAsString(" <br /> "))
</div>
</abp-column>
</abp-row>
</div>
}
@if (!CurrentUser.IsAuthenticated) @if (CurrentUser.IsAuthenticated)
{ {
<div class="text-center"> <div class="card">
<i class="fa fa-user d-block" style="font-size: 10em; color: #aaa"></i><br/><br /> <div class="card-body">
<a abp-button="Primary" asp-page="/Account/Login">Login</a> <abp-row>
</div> <abp-column size-md="_3" class="text-center">
} <i class="fa fa-user d-block" style="font-size: 10em; color: #12b900"></i>
<a abp-button="Primary" href="/Account/Logout">Logout</a>
</abp-column>
<abp-column size-md="_9">
<h2>@CurrentUser.UserName</h2>
<h5 class="text-muted">@CurrentUser.Email</h5>
<div>
<h3>Roles</h3> @CurrentUser.Roles.JoinAsString(", ")
<h3>Claims</h3> @Html.Raw(CurrentUser.GetAllClaims().Select(c => $"{c.Type}={c.Value}").JoinAsString(" <br /> "))
</div>
</abp-column>
</abp-row>
</div>
</div>
}
@if (!CurrentUser.IsAuthenticated)
{
<div class="text-center">
<i class="fa fa-user d-block" style="font-size: 10em; color: #aaa"></i><br /><br />
<a abp-button="Primary" asp-page="/Account/Login">Login</a>
</div>
}
</div>

36
src/EventHub.Web.Theme/wwwroot/themes/eventhub/style.css

@ -1,3 +1,8 @@
:root {
--primary: #00044A;
--blue: #00044A;
}
body { body {
font-family: 'Poppins', sans-serif; font-family: 'Poppins', sans-serif;
line-height: 1.5; line-height: 1.5;
@ -84,25 +89,31 @@ p {
margin-left: 12px; margin-left: 12px;
transition: color 0.3s ease; transition: color 0.3s ease;
} }
.active .nav-link { .navbar-expand-lg .navbar-nav .active .nav-link {
background-image: url(../../../../assets/underline.svg); background-image: url(../../../../assets/underline.svg);
background-repeat: no-repeat; background-repeat: no-repeat;
background-size: inherit; background-size: inherit;
background-position: center 28px; background-position: center 28px;
color: #df2751 !important; color: #df2751 !important;
} }
.nav-link:hover { .navbar-expand-lg .navbar-nav .nav-link:hover {
color: #df2751 !important; color: #df2751 !important;
} }
} }
.btn { .btn {
border-radius: 10px !important; border-radius: 10px !important;
font-weight: 600; font-weight: 600;
font-size: 14px; font-size: 14px;
padding: 10px 20px; padding: 10px 20px;
}
.btn-sm {
border-radius: 10px !important;
font-weight: 600;
font-size: 12px;
padding: 8px 16px;
} }
.btn-primary { .btn-primary {
background-color: #E8345D !important; background-color: #E8345D !important;
@ -312,7 +323,17 @@ p {
} }
.event-thumbnail { .event-thumbnail {
width: 100%; width: 100%;
height: 200px; height: 220px;
background-position: center center;
background-repeat: no-repeat;
background-size: cover;
}
.event-thumbnail-left {
width: 100%;
height: 220px;
background-position: center center;
background-repeat: no-repeat;
background-size: cover;
} }
.profile-content .form-control, .profile-content .form-control,
.profile-content .form-select { .profile-content .form-select {
@ -431,7 +452,7 @@ p {
} }
footer { footer {
background: #00044A; background: #00044A;
padding: 3.5em 0 2em; padding: 3em 0 3.5em 0;
} }
.footer-logo { .footer-logo {
color: white; color: white;
@ -880,8 +901,7 @@ div.checkbox.switcher label, div.radio.switcher label {
font-size: 1.05em; font-size: 1.05em;
} }
.event .card { .event .card {
max-width: 330px;
margin: 0 auto 34px; margin: 0 auto 34px;
} }

6
src/EventHub.Web/Pages/Events/Components/EventsArea/_eventListSection.cshtml

@ -9,11 +9,13 @@
<div class="card"> <div class="card">
@if (eventDto.CoverImageContent is null) @if (eventDto.CoverImageContent is null)
{ {
<img abp-card-image="Top" class="event-thumbnail" src="/assets/eh-event.png" alt="@eventDto.Title"/> <div class="event-thumbnail" style="background-image: url(/assets/eh-event.png);" alt="@eventDto.Title">
</div>
} }
else else
{ {
<img abp-card-image="Top" class="event-thumbnail" src="@($"data:image/png;base64,{Convert.ToBase64String(eventDto.CoverImageContent)}")" alt="@eventDto.Title"/> <div class="event-thumbnail" style="background-image: url( @($"data:image/png;base64,{Convert.ToBase64String(eventDto.CoverImageContent)}")" alt="@eventDto.Title">
</div>
} }
<div class="card-body"> <div class="card-body">
<div class="event-container"> <div class="event-container">

56
src/EventHub.Web/Pages/Events/Components/RegistrationArea/Default.cshtml

@ -3,36 +3,38 @@
@inject IHtmlLocalizer<EventHubResource> L @inject IHtmlLocalizer<EventHubResource> L
@model EventHub.Web.Pages.Events.Components.RegistrationArea.RegistrationAreaViewComponent.RegistrationAreaViewComponentModel @model EventHub.Web.Pages.Events.Components.RegistrationArea.RegistrationAreaViewComponent.RegistrationAreaViewComponentModel
<div data-event-id="@Model.EventId"> <div data-event-id="@Model.EventId">
@if (Model.IsLoggedIn) @if (Model.IsLoggedIn)
{
if (Model.IsRegistered)
{ {
if (Model.IsRegistered) <p class="lead mt-4 mb-2"><i class="fa fa-check text-success"></i> @L["YouAttendedThisEvent"].Value</p>
{ <abp-button id="EventCancelRegistrationButton"
<abp-button class="mt-4" id="EventCancelRegistrationButton" button-type="Outline_Secondary"
button-type="Success" size="Small"
size="Large" text="Cancel Participating"
text="@L["YouAttendedThisEvent"].Value" data-url="@Url.Action("Unregister", "EventRegistration", new {eventId = Model.EventId})" />
data-url="@Url.Action("Unregister", "EventRegistration", new {eventId = Model.EventId})"/> }
}else if (Model.IsPastEvent) else if (Model.IsPastEvent)
{ {
<abp-button class="mt-4" id="PastEventButton" <abp-button class="mt-4" id="PastEventButton"
button-type="Dark" button-type="Dark"
size="Large" size="Large"
text="@L["PastEvent"].Value" text="@L["PastEvent"].Value"
disabled="true" disabled="true"
abp-tooltip-top="@L["EventHub:CantRegisterOrUnregisterForAPastEvent"].Value" /> abp-tooltip-top="@L["EventHub:CantRegisterOrUnregisterForAPastEvent"].Value" />
}
else
{
<abp-button class="mt-4" id="EventRegisterButton"
button-type="Primary"
size="Large"
text="@L["JoinThisEvent"].Value"
data-url="@Url.Action("Register","EventRegistration", new { eventId = Model.EventId })"/>
}
} }
else else
{ {
<a abp-button="Primary" class="btn btn-primary btn-lg mt-4" <abp-button class="mt-4" id="EventRegisterButton"
href="@Url.Action("Login", "Account", new { returnUrl = Context.Request.Path.Value })"> @L["LoginToRegister"]</a> button-type="Primary"
size="Large"
text="@L["JoinThisEvent"].Value"
data-url="@Url.Action("Register","EventRegistration", new { eventId = Model.EventId })" />
} }
}
else
{
<a abp-button="Primary" class="btn btn-primary btn-lg mt-4"
href="@Url.Action("Login", "Account", new { returnUrl = Context.Request.Path.Value })"> @L["LoginToRegister"]</a>
}
</div> </div>

4
src/EventHub.Web/Pages/Events/Detail.cshtml

@ -52,11 +52,11 @@
<div class="detail-image"> <div class="detail-image">
@if (Model.Event.CoverImageContent == null) @if (Model.Event.CoverImageContent == null)
{ {
<img src="/assets/eh-event.png" width="588" height="360" alt="@Model.Event.Title"> <img src="/assets/eh-event.png" class="detail-img" alt="@Model.Event.Title">
} }
else else
{ {
<img src="@($"data:image/png;base64,{Convert.ToBase64String(Model.Event.CoverImageContent)}")" alt="@Model.Event.Title"> <img class="detail-img" src="@($"data:image/png;base64,{Convert.ToBase64String(Model.Event.CoverImageContent)}")" alt="@Model.Event.Title">
} }
</div> </div>
</div> </div>

10
src/EventHub.Web/Pages/Events/Index.cshtml

@ -39,11 +39,9 @@
</div> </div>
<div class="container"> <div class="container">
<div class="row mb-4">
<form method="get" id="EventListFilterForm"> <form method="get" id="EventListFilterForm">
<div class="col-md-auto">
<div class="row filter-select"> <div class="row filter-select">
<div class="col-4 pr-0"> <div class="col-4">
<select id="LanguageSelect" asp-for="Language" class="form-select" aria-label="en"> <select id="LanguageSelect" asp-for="Language" class="form-select" aria-label="en">
<option value="" selected>Language</option> <option value="" selected>Language</option>
@foreach (var language in Model.Languages) @foreach (var language in Model.Languages)
@ -52,7 +50,7 @@
} }
</select> </select>
</div> </div>
<div class="col-4 pr-0"> <div class="col-4">
<div class="form-label-group locationGroup"> <div class="form-label-group locationGroup">
<select id="CountrySelect" asp-for="CountryId" class="form-select" aria-label="Turkey"> <select id="CountrySelect" asp-for="CountryId" class="form-select" aria-label="Turkey">
<option value="" selected>Location</option> <option value="" selected>Location</option>
@ -63,7 +61,7 @@
</select> </select>
</div> </div>
</div> </div>
<div class="col-4 pr-0"> <div class="col-4">
<div class="form-label-group"> <div class="form-label-group">
<input type="text" id="WhenInput" class="form-control" placeholder="When"> <input type="text" id="WhenInput" class="form-control" placeholder="When">
<label for="WhenInput">When</label> <label for="WhenInput">When</label>
@ -72,9 +70,7 @@
</div> </div>
</div> </div>
</div> </div>
</div>
</form> </form>
</div>
<div id="EventsAreaViewComponent" data-widget-filter="#EventListFilterForm"> <div id="EventsAreaViewComponent" data-widget-filter="#EventListFilterForm">
@await Component.InvokeAsync(typeof(EventsAreaViewComponent), new @await Component.InvokeAsync(typeof(EventsAreaViewComponent), new

16
src/EventHub.Web/Pages/Events/New.cshtml

@ -10,10 +10,16 @@
@if (!Model.Organizations.Any()) @if (!Model.Organizations.Any())
{ {
<div class="container"> <div class="container mt-5">
<div class="my-5 text-center"> <div class="row">
<h3>@L["NewEventYouHaveNoOrganizationYetMessage"]</h3> <div class="col-lg-8 col-md-10 mx-auto ">
<a abp-button="Primary" href="@Url.Page("/Organizations/New")">@L["CreateAnOrganization"]</a> <div class="card" >
<div class="card-body text-center p-lg-5">
<h4 class="mb-4">@L["NewEventYouHaveNoOrganizationYetMessage"]</h4>
<a abp-button="Primary" href="@Url.Page("/Organizations/New")">@L["CreateAnOrganization"]</a>
</div>
</div>
</div>
</div> </div>
</div> </div>
} }
@ -71,7 +77,7 @@ else
</div> </div>
<div class="col-6"> <div class="col-6">
<div> <div>
<p class="mb-3">For horizontal format 600x300 sized upload images.</p> <p class="mb-3">For horizontal format 600x400 sized upload images.</p>
<input type="file" id="Event_CoverImageFile" asp-for="Event.CoverImageFile" class="form-control border-0" hidden> <input type="file" id="Event_CoverImageFile" asp-for="Event.CoverImageFile" class="form-control border-0" hidden>
<label id="upload-label" for="Event_CoverImageFile" class="btn btn-primary btn-lg text-white">Choose file</label> <label id="upload-label" for="Event_CoverImageFile" class="btn btn-primary btn-lg text-white">Choose file</label>
<span asp-validation-for="Event.CoverImageFile" class="text-danger"></span> <span asp-validation-for="Event.CoverImageFile" class="text-danger"></span>

64
src/EventHub.Web/Pages/Index.cshtml

@ -31,18 +31,6 @@
<div class="container-fluid p-0"> <div class="container-fluid p-0">
<div class="main-slider"> <div class="main-slider">
<div class="owl-carousel owl-theme"> <div class="owl-carousel owl-theme">
<div class="item">
<div class="slider-container d-flex align-items-center text-center text-light" style="background-image: url('/assets/slide.jpg')">
<div class="container">
<div class="row">
<div class="col-lg-9 col-md-11 mx-auto">
<h1>Let's Share Together</h1>
<p class="lead">Try something new, or do more of what you love.</p>
</div>
</div>
</div>
</div>
</div>
<div class="item"> <div class="item">
<div class="slider-container d-flex align-items-center text-center text-dark" style="background-image: url('/assets/eh-banner-4.png')"> <div class="slider-container d-flex align-items-center text-center text-dark" style="background-image: url('/assets/eh-banner-4.png')">
<div class="container"> <div class="container">
@ -79,6 +67,18 @@
</div> </div>
</div> </div>
</div> </div>
<div class="item">
<div class="slider-container d-flex align-items-center text-center text-light" style="background-image: url('/assets/slide.jpg')">
<div class="container">
<div class="row">
<div class="col-lg-9 col-md-11 mx-auto">
<h1>Let's Share Together</h1>
<p class="lead">Try something new, or do more of what you love.</p>
</div>
</div>
</div>
</div>
</div>
</div> </div>
</div> </div>
</div> </div>
@ -125,9 +125,9 @@
</div> </div>
<div class="container"> <div class="container">
<div class="row mb-4"> <div class="row">
<div class="col-md"> <div class="col-md">
<h2>Upcoming Events</h2> <h2 class=" mb-4">Upcoming Events</h2>
</div> </div>
</div> </div>
@ -138,8 +138,7 @@
}) })
</div> </div>
<div class="container-fluid bg-white mt-5 py-5">
<div class="container-fluid bg-white my-5 py-5">
<div class="container py-3"> <div class="container py-3">
<div class="card-slider"> <div class="card-slider">
@ -149,23 +148,25 @@
{ {
<div class="item"> <div class="item">
<div class="card mb-3"> <div class="card mb-3">
<div class="row no-gutters"> <div class="row no-glutters">
<div class="col-md-5"> <div class="col-5 pr-0">
@if (Model.OnlineEvents[i].CoverImageContent is null) @if (Model.OnlineEvents[i].CoverImageContent is null)
{ {
<img src="/assets/eh-event.png" width="187" height="218" class="card-img-left"> <div class="event-thumbnail-left" style="background-image: url(/assets/eh-event.png);">
</div>
} }
else else
{ {
<img class="card-img-left" src="@($"data:image/png;base64,{Convert.ToBase64String(Model.OnlineEvents[i].CoverImageContent)}")" alt="@Model.OnlineEvents[i].Title" /> <div class="event-thumbnail-left" style="background-image: url( @($"data:image/png;base64,{Convert.ToBase64String(Model.OnlineEvents[i + 1].CoverImageContent)}") );" alt="@Model.OnlineEvents[i + 1].Title">
</div>
} }
</div> </div>
<div class="col-md-7"> <div class="col-7">
<div class="card-body"> <div class="card-body">
<div class="event-container online-event"> <div class="event-container online-event">
<div class="event-info"> <div class="event-info">
<h5>@Model.OnlineEvents[i].Title</h5> <h5>@Model.OnlineEvents[i].Title</h5>
<small>@Model.OnlineEvents[i].StartTime.ToString("MMMM dd, yyyy dddd") | @Model.OnlineEvents[i].StartTime.ToString("hh tt", CultureInfo.InvariantCulture) - @Model.OnlineEvents[i].EndTime.ToString("hh tt", CultureInfo.InvariantCulture) | Online</small> <small>@Model.OnlineEvents[i].StartTime.ToString("MMMM dd, yyyy dddd") <br /> @Model.OnlineEvents[i].StartTime.ToString("hh tt", CultureInfo.InvariantCulture) - @Model.OnlineEvents[i].EndTime.ToString("hh tt", CultureInfo.InvariantCulture) | Online</small>
<p>@Model.OnlineEvents[i].Description</p> <p>@Model.OnlineEvents[i].Description</p>
</div> </div>
<a href="@Url.Page("/Events/Detail", new {url = @Model.OnlineEvents[i].Url})" class="btn btn-link p-0">Learn More <img src="/assets/more-btn.svg"></a> <a href="@Url.Page("/Events/Detail", new {url = @Model.OnlineEvents[i].Url})" class="btn btn-link p-0">Learn More <img src="/assets/more-btn.svg"></a>
@ -177,30 +178,31 @@
@if (i + 1 <= Model.OnlineEvents.Count - 1) @if (i + 1 <= Model.OnlineEvents.Count - 1)
{ {
<div class="card mb-3"> <div class="card mb-3">
<div class="row no-gutters"> <div class="row no-glutters">
<div class="col-md-5"> <div class="col-5 pr-0">
@if (Model.OnlineEvents[i + 1].CoverImageContent is null) @if (Model.OnlineEvents[i + 1].CoverImageContent is null)
{ {
<img src="/assets/eh-event.png" width="187" height="218" class="card-img-left"> <div class="event-thumbnail-left" style="background-image: url(/assets/eh-event.png);">
</div>
} }
else else
{ {
<img class="card-img-left" src="@($"data:image/png;base64,{Convert.ToBase64String(Model.OnlineEvents[i + 1].CoverImageContent)}")" alt="@Model.OnlineEvents[i + 1].Title" /> <div class="event-thumbnail-left" style="background-image: url( @($"data:image/png;base64,{Convert.ToBase64String(Model.OnlineEvents[i + 1].CoverImageContent)}") );" alt="@Model.OnlineEvents[i + 1].Title">
</div>
} }
</div> </div>
<div class="col-md-7"> <div class="col-7">
<div class="card-body"> <div class="card-body">
<div class="event-container online-event"> <div class="event-container online-event">
<div class="event-info"> <div class="event-info">
<h5>@Model.OnlineEvents[i + 1].Title</h5> <h5>@Model.OnlineEvents[i + 1].Title</h5>
<small>@Model.OnlineEvents[i + 1].StartTime.ToString("MMMM dd, yyyy dddd") | @Model.OnlineEvents[i + 1].StartTime.ToString("hh tt", CultureInfo.InvariantCulture) - @Model.OnlineEvents[i + 1].EndTime.ToString("hh tt", CultureInfo.InvariantCulture) | Online</small> <small>@Model.OnlineEvents[i + 1].StartTime.ToString("MMMM dd, yyyy dddd") <br /> @Model.OnlineEvents[i + 1].StartTime.ToString("hh tt", CultureInfo.InvariantCulture) - @Model.OnlineEvents[i + 1].EndTime.ToString("hh tt", CultureInfo.InvariantCulture) | Online</small>
<p>@Model.OnlineEvents[i + 1].Description</p> <p>@Model.OnlineEvents[i + 1].Description</p>
</div> </div>
<a href="@Url.Page("/Events/Detail", new {url = @Model.OnlineEvents[i + 1].Url})" class="btn btn-link p-0">Learn More <img src="/assets/more-btn.svg"></a> <a href="@Url.Page("/Events/Detail", new {url = @Model.OnlineEvents[i + 1].Url})" class="btn btn-link p-0">Learn More <img src="/assets/more-btn.svg"></a>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
} }
@ -211,7 +213,7 @@
</div> </div>
</div> </div>
<div class="container text-center py-1"> <div class="container text-center py-5">
<h1 class="my-5 pb-5">How EventHub Works?</h1> <h1 class="my-5 pb-5">How EventHub Works?</h1>
<div class="row my-4"> <div class="row my-4">
<div class="col-md-5 ml-auto"> <div class="col-md-5 ml-auto">

2
src/EventHub.Web/Pages/Index.js

@ -20,7 +20,7 @@
0: { 0: {
items: 1, items: 1,
}, },
600: { 991: {
items: 2, items: 2,
}, },
}, },

10
src/EventHub.Web/Pages/Organizations/Components/OrganizationsArea/_organizationListSection.cshtml

@ -5,12 +5,14 @@
<div class="col-lg-4 col-md-6 organization"> <div class="col-lg-4 col-md-6 organization">
<div class="card"> <div class="card">
@if (organization.ProfilePictureContent == null) @if (organization.ProfilePictureContent == null)
{ {
<img src="/assets/eh-organization.png" style="max-height: 310px; min-height: 170px;" class="card-img-top" alt="@organization.Name"> <div class="event-thumbnail" style=" background-image: url(/assets/eh-organization.png);" alt="@organization.Name">
</div>
} }
else else
{ {
<img src="@($"data:image/png;base64,{Convert.ToBase64String(organization.ProfilePictureContent)}")" style="max-height: 310px; min-height: 170px;" class="card-img-top" alt="@organization.Name"> <div class="event-thumbnail" style="background-image: url(@($"data:image/png;base64,{Convert.ToBase64String(organization.ProfilePictureContent)}"));" alt="@organization.Name">
</div>
} }
<div class="card-body"> <div class="card-body">
<div class="event-container"> <div class="event-container">

2
src/EventHub.Web/Pages/Organizations/New.cshtml

@ -31,7 +31,7 @@
<div class="col-6"> <div class="col-6">
<div> <div>
<p class="mb-3">Photo size should be <span class="text-primary">max @(OrganizationConsts.MaxProfilePictureFileSize / (1024 * 1024)) MB.</span></p> <p class="mb-3">Photo size should be <span class="text-primary">1050x596</span> and <span class="text-primary">max @(OrganizationConsts.MaxProfilePictureFileSize / (1024 * 1024)) MB.</span></p>
<input type="file" id="Organization_ProfilePictureFile" asp-for="Organization.ProfilePictureFile" class="form-control border-0" hidden> <input type="file" id="Organization_ProfilePictureFile" asp-for="Organization.ProfilePictureFile" class="form-control border-0" hidden>
<label id="upload-label" for="Organization_ProfilePictureFile" class="btn btn-primary btn-lg text-white">Upload</label> <label id="upload-label" for="Organization_ProfilePictureFile" class="btn btn-primary btn-lg text-white">Upload</label>
<span asp-validation-for="Organization.ProfilePictureFile" class="text-danger"></span> <span asp-validation-for="Organization.ProfilePictureFile" class="text-danger"></span>

4
src/EventHub.Web/Pages/Organizations/Profile.cshtml

@ -20,11 +20,11 @@
<div class="detail-image"> <div class="detail-image">
@if (Model.Organization.ProfilePictureContent == null) @if (Model.Organization.ProfilePictureContent == null)
{ {
<img src="/assets/eh-organization.png" width="996" height="300" alt="@Model.Organization.Name"> <img class="detail-img" src="/assets/eh-organization-big.png" alt="@Model.Organization.Name">
} }
else else
{ {
<img src="@($"data:image/png;base64,{Convert.ToBase64String(Model.Organization.ProfilePictureContent)}")" alt="@Model.Organization.Name"> <img class="detail-img" src="@($"data:image/png;base64,{Convert.ToBase64String(Model.Organization.ProfilePictureContent)}")" alt="@Model.Organization.Name">
} }
</div> </div>
</div> </div>

BIN
src/EventHub.Web/wwwroot/assets/eh-organization-big.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 544 KiB

Loading…
Cancel
Save