Add project files.
This commit is contained in:
@@ -0,0 +1,9 @@
|
||||
@{
|
||||
ViewBag.Title = "About";
|
||||
}
|
||||
<main aria-labelledby="title">
|
||||
<h2 id="title">@ViewBag.Title.</h2>
|
||||
<h3>@ViewBag.Message</h3>
|
||||
|
||||
<p>Use this area to provide additional information.</p>
|
||||
</main>
|
||||
@@ -0,0 +1,19 @@
|
||||
@{
|
||||
ViewBag.Title = "Contact";
|
||||
}
|
||||
<main aria-labelledby="title">
|
||||
<h2 id="title">@ViewBag.Title.</h2>
|
||||
<h3>@ViewBag.Message</h3>
|
||||
|
||||
<address>
|
||||
One Microsoft Way<br />
|
||||
Redmond, WA 98052-6399<br />
|
||||
<abbr title="Phone">P:</abbr>
|
||||
425.555.0100
|
||||
</address>
|
||||
|
||||
<address>
|
||||
<strong>Support:</strong> <a href="mailto:Support@example.com">Support@example.com</a><br />
|
||||
<strong>Marketing:</strong> <a href="mailto:Marketing@example.com">Marketing@example.com</a>
|
||||
</address>
|
||||
</main>
|
||||
@@ -0,0 +1,33 @@
|
||||
@{
|
||||
ViewBag.Title = "Home Page";
|
||||
}
|
||||
|
||||
<main>
|
||||
<section class="row" aria-labelledby="aspnetTitle">
|
||||
<h1 id="title">ASP.NET</h1>
|
||||
<p class="lead">ASP.NET is a free web framework for building great Web sites and Web applications using HTML, CSS and JavaScript.</p>
|
||||
<p><a href="https://asp.net" class="btn btn-primary btn-md">Learn more »</a></p>
|
||||
</section>
|
||||
|
||||
<div class="row">
|
||||
<section class="col-md-4" aria-labelledby="gettingStartedTitle">
|
||||
<h2 id="gettingStartedTitle">Getting started</h2>
|
||||
<p>
|
||||
ASP.NET MVC gives you a powerful, patterns-based way to build dynamic websites that
|
||||
enables a clean separation of concerns and gives you full control over markup
|
||||
for enjoyable, agile development.
|
||||
</p>
|
||||
<p><a class="btn btn-outline-dark" href="https://go.microsoft.com/fwlink/?LinkId=301865">Learn more »</a></p>
|
||||
</section>
|
||||
<section class="col-md-4" aria-labelledby="librariesTitle">
|
||||
<h2 id="librariesTitle">Get more libraries</h2>
|
||||
<p>NuGet is a free Visual Studio extension that makes it easy to add, remove, and update libraries and tools in Visual Studio projects.</p>
|
||||
<p><a class="btn btn-outline-dark" href="https://go.microsoft.com/fwlink/?LinkId=301866">Learn more »</a></p>
|
||||
</section>
|
||||
<section class="col-md-4" aria-labelledby="hostingTitle">
|
||||
<h2 id="hostingTitle">Web Hosting</h2>
|
||||
<p>You can easily find a web hosting company that offers the right mix of features and price for your applications.</p>
|
||||
<p><a class="btn btn-outline-dark" href="https://go.microsoft.com/fwlink/?LinkId=301867">Learn more »</a></p>
|
||||
</section>
|
||||
</div>
|
||||
</main>
|
||||
@@ -0,0 +1,14 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta name="viewport" content="width=device-width" />
|
||||
<title>Under Maintenance</title>
|
||||
</head>
|
||||
<body>
|
||||
<hgroup>
|
||||
<h1>Under Maintenance</h1>
|
||||
<h2>This page is updating right now. It'll be at your service soon.</h2>
|
||||
</hgroup>
|
||||
<a href="https://link.atakanozban.com/status">System Status</a>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,38 @@
|
||||
|
||||
@{
|
||||
Layout = null;
|
||||
}
|
||||
|
||||
<!DOCTYPE html>
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<meta name="viewport" content="width=device-width" />
|
||||
<title>atakanozban.com Admin Panel</title>
|
||||
<link rel="stylesheet" href="https://www.w3schools.com/w3css/4/w3.css">
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap/5.3.3/css/bootstrap.min.css" />
|
||||
<link rel="font-awesome" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.7.2/css/all.min.css">
|
||||
</head>
|
||||
<body>
|
||||
<div class="w3-sidebar w3-bar-block bg-dark" style="width: 25%; color: #212529">
|
||||
<h3 class="w3-bar-item text-white">Menu</h3>
|
||||
<a href="/myprojects/index" class="w3-bar-item text-decoration-none text-white" target="_blank">Go to site</a>
|
||||
<a href="/login/logout" class="w3-bar-item text-decoration-none text-white">Sign out</a>
|
||||
</div>
|
||||
|
||||
<!-- Page Content -->
|
||||
<div style="margin-left: 25%">
|
||||
<div class="w3-container w3-teal">
|
||||
<h1>atakanozban.com Admin Panel</h1>
|
||||
</div>
|
||||
<div class="w3-container bg-dark">
|
||||
@RenderBody()
|
||||
</div>
|
||||
</div>
|
||||
<style>
|
||||
body {
|
||||
background-color: #212529; /* Bootstrap's dark bg color */
|
||||
}
|
||||
</style>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,254 @@
|
||||
@using Resources
|
||||
|
||||
@{
|
||||
Layout = null;
|
||||
}
|
||||
|
||||
<!doctype html>
|
||||
<html lang="en" class="h-100" data-bs-theme="auto">
|
||||
<head>
|
||||
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<meta name="description" content="In 2016, I started working on development...">
|
||||
<meta name="author" content="Atakan Doğan Özban">
|
||||
<meta name="keywords" content="atakandoganozban, atakan özban, atakan doğan özban, atakan ozban">
|
||||
<title>Atakan Doğan Özban</title>
|
||||
|
||||
<link rel="canonical" href="https://getbootstrap.com/docs/5.3/examples/cover/">
|
||||
<link href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap/5.3.3/css/bootstrap.min.css" rel="stylesheet">
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.7.2/css/all.min.css" />
|
||||
|
||||
<style>
|
||||
|
||||
#preloader {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background-color: #181a1b;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
z-index: 9999;
|
||||
opacity: 1;
|
||||
animation: fadeout 1s forwards 2s;
|
||||
}
|
||||
|
||||
@@keyframes fadeout {
|
||||
from {
|
||||
opacity: 1;
|
||||
pointer-events: all;
|
||||
}
|
||||
|
||||
to {
|
||||
opacity: 0;
|
||||
pointer-events: none;
|
||||
}
|
||||
}
|
||||
|
||||
.wrapper {
|
||||
display: grid;
|
||||
place-items: center;
|
||||
opacity: 0;
|
||||
animation: contentFadeIn 1s forwards 5s;
|
||||
}
|
||||
|
||||
@@keyframes contentFadeIn {
|
||||
to {
|
||||
opacity: 1;
|
||||
}
|
||||
}
|
||||
|
||||
.wrapper {
|
||||
display: grid;
|
||||
place-items: center;
|
||||
min-height: 5vh;
|
||||
opacity: 0;
|
||||
animation: contentFadeIn 1s forwards 3.5s;
|
||||
}
|
||||
|
||||
@@keyframes contentFadeIn {
|
||||
to {
|
||||
opacity: 1;
|
||||
}
|
||||
}
|
||||
|
||||
.index-title {
|
||||
display: grid;
|
||||
place-items: center;
|
||||
min-height: 5vh;
|
||||
opacity: 0;
|
||||
animation: contentFadeIn 1s forwards 2.5s;
|
||||
}
|
||||
|
||||
@@keyframes contentFadeIn {
|
||||
to {
|
||||
opacity: 1;
|
||||
}
|
||||
}
|
||||
|
||||
.background-image {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background: url('web_atakanozbancom/assets/img/wp.jpg') no-repeat center center fixed;
|
||||
background-size: cover;
|
||||
opacity: 0.25;
|
||||
z-index: -1;
|
||||
}
|
||||
|
||||
.bd-placeholder-img {
|
||||
font-size: 1.125rem;
|
||||
text-anchor: middle;
|
||||
-webkit-user-select: none;
|
||||
-moz-user-select: none;
|
||||
user-select: none;
|
||||
}
|
||||
|
||||
@@media (min-width: 768px) {
|
||||
.bd-placeholder-img-lg {
|
||||
font-size: 3.5rem;
|
||||
}
|
||||
}
|
||||
|
||||
.b-example-divider {
|
||||
width: 100%;
|
||||
height: 3rem;
|
||||
background-color: rgba(0, 0, 0, .1);
|
||||
border: solid rgba(0, 0, 0, .15);
|
||||
border-width: 1px 0;
|
||||
box-shadow: inset 0 .5em 1.5em rgba(0, 0, 0, .1), inset 0 .125em .5em rgba(0, 0, 0, .15);
|
||||
}
|
||||
|
||||
.b-example-vr {
|
||||
flex-shrink: 0;
|
||||
width: 1.5rem;
|
||||
height: 100vh;
|
||||
}
|
||||
|
||||
.bi {
|
||||
vertical-align: -.125em;
|
||||
fill: currentColor;
|
||||
}
|
||||
|
||||
.nav-scroller {
|
||||
position: relative;
|
||||
z-index: 2;
|
||||
height: 2.75rem;
|
||||
overflow-y: hidden;
|
||||
}
|
||||
|
||||
.nav-scroller .nav {
|
||||
display: flex;
|
||||
flex-wrap: nowrap;
|
||||
padding-bottom: 1rem;
|
||||
margin-top: -1px;
|
||||
overflow-x: auto;
|
||||
text-align: center;
|
||||
white-space: nowrap;
|
||||
-webkit-overflow-scrolling: touch;
|
||||
}
|
||||
|
||||
.btn-bd-primary {
|
||||
--bd-violet-bg: #712cf9;
|
||||
--bd-violet-rgb: 112.520718, 44.062154, 249.437846;
|
||||
--bs-btn-font-weight: 600;
|
||||
--bs-btn-color: var(--bs-white);
|
||||
--bs-btn-bg: var(--bd-violet-bg);
|
||||
--bs-btn-border-color: var(--bd-violet-bg);
|
||||
--bs-btn-hover-color: var(--bs-white);
|
||||
--bs-btn-hover-bg: #6528e0;
|
||||
--bs-btn-hover-border-color: #6528e0;
|
||||
--bs-btn-focus-shadow-rgb: var(--bd-violet-rgb);
|
||||
--bs-btn-active-color: var(--bs-btn-hover-color);
|
||||
--bs-btn-active-bg: #5a23c8;
|
||||
--bs-btn-active-border-color: #5a23c8;
|
||||
}
|
||||
|
||||
.bd-mode-toggle {
|
||||
z-index: 1500;
|
||||
}
|
||||
|
||||
.bd-mode-toggle .dropdown-menu .active .bi {
|
||||
display: block !important;
|
||||
}
|
||||
</style>
|
||||
|
||||
<link href="~/web_atakanozbancom/assets/css/style.css" rel="stylesheet">
|
||||
</head>
|
||||
|
||||
<body class="d-flex h-100 text-center text-bg-dark">
|
||||
|
||||
<div id="preloader">
|
||||
<div class="spinner-border text-primary" role="status">
|
||||
<span class="sr-only">Loading...</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="background-image"></div>
|
||||
|
||||
<div class="cover-container d-flex w-100 h-100 p-3 mx-auto flex-column">
|
||||
<header class="mb-auto">
|
||||
<div>
|
||||
<h3 class="float-md-start mb-0">Atakan</h3>
|
||||
<nav class="nav nav-masthead justify-content-center float-md-end">
|
||||
<a class="nav-link fw-bold py-1 px-0" asp-controller="Home" asp-action="ChangeLanguage" asp-route-lang="en" href="@Url.Action("index","main")">@Resource.NavHome</a>
|
||||
<a class="nav-link fw-bold py-1 px-0" asp-controller="Home" asp-action="ChangeLanguage" asp-route-lang="en" aria-current="page" href="@Url.Action("index","about")">@Resource.NavAboutMe</a>
|
||||
<a class="nav-link fw-bold py-1 px-0" asp-controller="Home" asp-action="ChangeLanguage" asp-route-lang="en" href="@Url.Action("index","myprojects")">@Resource.NavMyProjects</a> @{
|
||||
var currentCulture = System.Threading.Thread.CurrentThread.CurrentUICulture.Name;
|
||||
var back = Request.RawUrl;
|
||||
}
|
||||
|
||||
@if (currentCulture.StartsWith("tr"))
|
||||
{
|
||||
<a href="@Url.Action("ChangeLanguage", "Main", new { lang = "en-US", returnUrl = back })" class="nav-link fw-bold py-1 px-0">EN</a>
|
||||
}
|
||||
else
|
||||
{
|
||||
<a href="@Url.Action("ChangeLanguage", "Main", new { lang = "tr-TR", returnUrl = back })" class="nav-link fw-bold py-1 px-0">TR</a>
|
||||
}
|
||||
|
||||
</nav>
|
||||
</div>
|
||||
</header>
|
||||
|
||||
@RenderBody()
|
||||
|
||||
<footer class="mt-auto text-white-50">
|
||||
<a class="text-decoration-underline text-white-50" href="https://link.atakanozban.com/status">@Resource.Server</a>
|
||||
<div class="icons mb-2 mt-2">
|
||||
<a href="https://link.atakanozban.com/youtube" class="text-decoration-none text-white-50">
|
||||
<i class="fa-brands fa-youtube"></i>
|
||||
</a>
|
||||
<a href="https://link.atakanozban.com/odysee" class="text-decoration-none text-white-50">
|
||||
<i class="fa-brands fa-odysee"></i>
|
||||
</a>
|
||||
<a href="https://link.atakanozban.com/dailymotion" class="text-decoration-none text-white-50">
|
||||
<i class="fa-brands fa-dailymotion"></i>
|
||||
</a>
|
||||
<a href="https://link.atakanozban.com/spotify" class="text-decoration-none text-white-50">
|
||||
<i class="fa-brands fa-spotify"></i>
|
||||
</a>
|
||||
<a href="https://link.atakanozban.com/instagram" class="text-decoration-none text-white-50">
|
||||
<i class="fa-brands fa-instagram"></i>
|
||||
</a>
|
||||
<a href="https://link.atakanozban.com/facebook" class="text-decoration-none text-white-50">
|
||||
<i class="fa-brands fa-facebook"></i>
|
||||
</a>
|
||||
<a href="https://link.atakanozban.com/github" class="text-decoration-none text-white-50">
|
||||
<i class="fa-brands fa-github"></i>
|
||||
</a>
|
||||
<a href="https://link.atakanozban.com/stream" class="text-decoration-none text-white-50">
|
||||
<i class="fa-solid fa-link"></i>
|
||||
</a>
|
||||
</div>
|
||||
</footer>
|
||||
</div>
|
||||
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap/5.3.3/js/bootstrap.bundle.min.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,43 @@
|
||||
<?xml version="1.0"?>
|
||||
|
||||
<configuration>
|
||||
<configSections>
|
||||
<sectionGroup name="system.web.webPages.razor" type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
|
||||
<section name="host" type="System.Web.WebPages.Razor.Configuration.HostSection, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
|
||||
<section name="pages" type="System.Web.WebPages.Razor.Configuration.RazorPagesSection, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
|
||||
</sectionGroup>
|
||||
</configSections>
|
||||
|
||||
<system.web.webPages.razor>
|
||||
<host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=5.2.9.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
|
||||
<pages pageBaseType="System.Web.Mvc.WebViewPage">
|
||||
<namespaces>
|
||||
<add namespace="System.Web.Mvc" />
|
||||
<add namespace="System.Web.Mvc.Ajax" />
|
||||
<add namespace="System.Web.Mvc.Html" />
|
||||
<add namespace="System.Web.Optimization"/>
|
||||
<add namespace="System.Web.Routing" />
|
||||
<add namespace="atakanozbancom" />
|
||||
</namespaces>
|
||||
</pages>
|
||||
</system.web.webPages.razor>
|
||||
|
||||
<appSettings>
|
||||
<add key="webpages:Enabled" value="false" />
|
||||
</appSettings>
|
||||
|
||||
<system.webServer>
|
||||
<handlers>
|
||||
<remove name="BlockViewHandler"/>
|
||||
<add name="BlockViewHandler" path="*" verb="*" preCondition="integratedMode" type="System.Web.HttpNotFoundHandler" />
|
||||
</handlers>
|
||||
</system.webServer>
|
||||
|
||||
<system.web>
|
||||
<compilation>
|
||||
<assemblies>
|
||||
<add assembly="System.Web.Mvc, Version=5.2.9.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
|
||||
</assemblies>
|
||||
</compilation>
|
||||
</system.web>
|
||||
</configuration>
|
||||
@@ -0,0 +1,20 @@
|
||||
@using Resources
|
||||
|
||||
@{
|
||||
ViewBag.Title = "index";
|
||||
Layout = "~/Views/Shared/_PortfolioLayout.cshtml";
|
||||
}
|
||||
|
||||
<main class="px-3">
|
||||
<h1 class="mb-3">@Resource.AboutMeTitle</h1>
|
||||
<p class="mb-5 text-start">
|
||||
@Resource.About1
|
||||
<br /> <br />
|
||||
@Resource.About2
|
||||
<br /> <br />
|
||||
@Resource.About3
|
||||
<br /> <br />
|
||||
@Resource.About4
|
||||
</p>
|
||||
</main>
|
||||
|
||||
@@ -0,0 +1,33 @@
|
||||
@using atakanozbancom.Models.classes
|
||||
@model List<myprojects>
|
||||
|
||||
|
||||
@{
|
||||
ViewBag.Title = "index";
|
||||
Layout = "~/Views/Shared/_AdminLayout.cshtml";
|
||||
}
|
||||
|
||||
<h2 class="text-white mt-3 mb-3">Posts</h2>
|
||||
|
||||
<table class="table table-bordered mt-3">
|
||||
<tr class="bg-dark text-white">
|
||||
<th class="bg-dark text-white">ID</th>
|
||||
<th class="bg-dark text-white">Title</th>
|
||||
<th class="bg-dark text-white">Description</th>
|
||||
<th class="bg-dark text-white">Edit</th>
|
||||
<th class="bg-dark text-white">Delete</th>
|
||||
</tr>
|
||||
@foreach (var x in Model)
|
||||
{
|
||||
<tr>
|
||||
<td class="bg-dark text-white">@x.id</td>
|
||||
<td class="bg-dark text-white">@x.title</td>
|
||||
<td class="bg-dark text-white">@x.description</td>
|
||||
<td class="bg-dark text-white"><a href="/admin/myprojectsget/@x.id" class="btn btn-primary">Edit</a></td>
|
||||
<td class="bg-dark text-white"><a href="/admin/myprojectsdelete/@x.id " class="btn btn-danger">Delete</a></td>
|
||||
</tr>
|
||||
}
|
||||
|
||||
</table>
|
||||
<a href="/admin/newmppost" class="btn btn-primary">Create New Post</a>
|
||||
|
||||
@@ -0,0 +1,69 @@
|
||||
@model atakanozbancom.Models.classes.AdminMyProjectsEditVM
|
||||
|
||||
@{
|
||||
ViewBag.Title = "myprojectsget";
|
||||
Layout = "~/Views/Shared/_AdminLayout.cshtml";
|
||||
}
|
||||
|
||||
<h2 class="mt-3 text-white">My Projects Edit Post</h2>
|
||||
|
||||
@if (TempData["ok"] != null)
|
||||
{
|
||||
<div class="alert alert-success">@TempData["ok"]</div>
|
||||
}
|
||||
|
||||
<hr />
|
||||
|
||||
@using (Html.BeginForm("myprojectsget", "admin", FormMethod.Post, new { enctype = "multipart/form-data" }))
|
||||
{
|
||||
@Html.AntiForgeryToken()
|
||||
@Html.HiddenFor(m => m.id)
|
||||
|
||||
<div class="mb-3">
|
||||
@Html.LabelFor(m => m.id, new { @class = "text-white" })
|
||||
@Html.TextBoxFor(m => m.id, new { @class = "form-control bg-dark text-white", @readonly = "readonly" })
|
||||
</div>
|
||||
|
||||
<div class="mb-3">
|
||||
@Html.LabelFor(m => m.TitleEN, new { @class = "text-white" })
|
||||
@Html.TextBoxFor(m => m.TitleEN, new { @class = "form-control bg-dark text-white required" })
|
||||
</div>
|
||||
|
||||
<div class="mb-3">
|
||||
@Html.LabelFor(m => m.DescEN, new { @class = "text-white" })
|
||||
@Html.TextAreaFor(m => m.DescEN, new { @class = "form-control bg-dark text-white required", rows = "6" })
|
||||
</div>
|
||||
|
||||
if (!string.IsNullOrEmpty(Model.image))
|
||||
{
|
||||
<div class="mb-3">
|
||||
<label class="text-white">Current Image</label>
|
||||
<br />
|
||||
<img src="@Model.image" style="max-width:200px;" class="mb-2" />
|
||||
</div>
|
||||
}
|
||||
|
||||
<div class="mb-3">
|
||||
<label class="text-white">Change Image</label>
|
||||
<input type="file" name="file" class="form-control bg-dark text-white" />
|
||||
</div>
|
||||
|
||||
<div class="mb-3">
|
||||
@Html.LabelFor(m => m.iframe, new { @class = "text-white" })
|
||||
@Html.TextBoxFor(m => m.iframe, new { @class = "form-control bg-dark text-white" })
|
||||
</div>
|
||||
|
||||
<h3 class="mt-3 text-white">Translation (TR)</h3>
|
||||
|
||||
<div class="mb-3">
|
||||
@Html.LabelFor(m => m.TitleTR, new { @class = "text-white" })
|
||||
@Html.TextBoxFor(m => m.TitleTR, new { @class = "form-control bg-dark text-white required" })
|
||||
</div>
|
||||
|
||||
<div class="mb-3">
|
||||
@Html.LabelFor(m => m.DescTR, new { @class = "text-white" })
|
||||
@Html.TextAreaFor(m => m.DescTR, new { @class = "form-control bg-dark text-white required", rows = "6" })
|
||||
</div>
|
||||
|
||||
<button class="btn btn-success">Save</button>
|
||||
}
|
||||
@@ -0,0 +1,50 @@
|
||||
@model atakanozbancom.Models.classes.AdminMyProjectsEditVM
|
||||
@{
|
||||
ViewBag.Title = "Add New Project";
|
||||
Layout = "~/Views/Shared/_AdminLayout.cshtml";
|
||||
}
|
||||
|
||||
<h2 class="text-white mt-3">Add New My Projects Post</h2>
|
||||
@if (TempData["ok"] != null)
|
||||
{<div class="alert alert-success">@TempData["ok"]</div>}
|
||||
<br />
|
||||
|
||||
@using (Html.BeginForm("newmppost", "admin", FormMethod.Post,
|
||||
new { enctype = "multipart/form-data" }))
|
||||
{
|
||||
@Html.AntiForgeryToken()
|
||||
|
||||
<div class="mb-3">
|
||||
@Html.LabelFor(p => p.TitleEN, new { @class = "text-white" })
|
||||
@Html.TextBoxFor(p => p.TitleEN, new { @class = "form-control bg-dark text-white" })
|
||||
</div>
|
||||
|
||||
<div class="mb-3">
|
||||
@Html.LabelFor(p => p.DescEN, new { @class = "text-white" })
|
||||
@Html.TextAreaFor(p => p.DescEN, new { @class = "form-control bg-dark text-white" })
|
||||
</div>
|
||||
|
||||
<div class="mb-3">
|
||||
<label class="text-white">Project Image</label>
|
||||
<input type="file" name="file" class="form-control bg-dark text-white" />
|
||||
</div>
|
||||
|
||||
<div class="mb-3">
|
||||
@Html.LabelFor(p => p.iframe, new { @class = "text-white" })
|
||||
@Html.TextBoxFor(p => p.iframe, new { @class = "form-control bg-dark text-white" })
|
||||
</div>
|
||||
|
||||
<h3 class="mt-3 text-white">Translation (TR)</h3>
|
||||
|
||||
<div class="mb-3">
|
||||
@Html.LabelFor(p => p.TitleTR, new { @class = "text-white" })
|
||||
@Html.TextBoxFor(p => p.TitleTR, new { @class = "form-control bg-dark text-white" })
|
||||
</div>
|
||||
|
||||
<div class="mb-3">
|
||||
@Html.LabelFor(p => p.DescTR, new { @class = "text-white" })
|
||||
@Html.TextAreaFor(p => p.DescTR, new { @class = "form-control bg-dark text-white" })
|
||||
</div>
|
||||
|
||||
<button class="btn btn-success">Save</button>
|
||||
}
|
||||
@@ -0,0 +1,78 @@
|
||||
|
||||
@{
|
||||
Layout = null;
|
||||
}
|
||||
|
||||
<!doctype html>
|
||||
<html lang="en" data-bs-theme="dark">
|
||||
<head>
|
||||
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<title>Sign-in</title>
|
||||
|
||||
<link href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap/5.3.3/css/bootstrap.min.css" rel="stylesheet">
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css">
|
||||
|
||||
<style>
|
||||
.form-control {
|
||||
background-color: #212529 !important;
|
||||
color: white !important;
|
||||
border: 1px solid #6c757d;
|
||||
}
|
||||
|
||||
.form-control::placeholder {
|
||||
color: #adb5bd !important;
|
||||
}
|
||||
|
||||
.form-control:focus {
|
||||
border-color: #0d6efd !important;
|
||||
box-shadow: 0 0 5px rgba(13, 110, 253, 0.5);
|
||||
}
|
||||
|
||||
.form-check-input {
|
||||
background-color: #343a40 !important;
|
||||
border-color: #6c757d !important;
|
||||
}
|
||||
|
||||
.form-check-input:checked {
|
||||
background-color: #0d6efd !important;
|
||||
border-color: #0d6efd !important;
|
||||
}
|
||||
|
||||
.btn-primary {
|
||||
background-color: #0d6efd !important;
|
||||
border-color: #0d6efd !important;
|
||||
}
|
||||
|
||||
.btn-primary:hover {
|
||||
background-color: #0b5ed7 !important;
|
||||
border-color: #0a58ca !important;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body class="bg-dark d-flex align-items-center justify-content-center vh-100">
|
||||
<main class="form-signin w-100" style="max-width: 400px;">
|
||||
@using (Html.BeginForm("index", "login", FormMethod.Post))
|
||||
{
|
||||
<h1 class="h3 mb-3 fw-normal text-white text-center">Please sign in</h1>
|
||||
|
||||
<div class="form-floating">
|
||||
<input type="text" name="username" class="form-control" id="floatingInput" placeholder="Username">
|
||||
<label for="floatingInput">Username</label>
|
||||
</div>
|
||||
|
||||
<div class="form-floating mt-2 mb-2">
|
||||
<input type="password" name="password" class="form-control" id="floatingPassword" placeholder="Password">
|
||||
<label for="floatingPassword">Password</label>
|
||||
</div>
|
||||
|
||||
<button class="btn btn-primary w-100 py-2" type="submit">Sign in</button>
|
||||
}
|
||||
</main>
|
||||
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap/5.3.3/js/bootstrap.bundle.min.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -0,0 +1,13 @@
|
||||
@using Resources
|
||||
|
||||
@{
|
||||
ViewBag.Title = "index";
|
||||
Layout = "~/Views/Shared/_PortfolioLayout.cshtml";
|
||||
}
|
||||
|
||||
<main class="px-3">
|
||||
<h1 class="index-title">@Resource.MainH1</h1>
|
||||
<div class="wrapper fs-5">
|
||||
@Resource.MainDiv
|
||||
</div>
|
||||
</main>
|
||||
@@ -0,0 +1,11 @@
|
||||
@using Resources
|
||||
@{
|
||||
ViewBag.Title = "index";
|
||||
Layout = "~/Views/Shared/_PortfolioLayout.cshtml";
|
||||
}
|
||||
<link href="@Url.Content("~/assets/css/style.css")" rel="stylesheet" />
|
||||
|
||||
<main class="px-3">
|
||||
<h1 class="m-4 text-white">@Resource.MyProjectsTitle</h1>
|
||||
@Html.Action("projectposts", "myprojects")
|
||||
</main>
|
||||
@@ -0,0 +1,160 @@
|
||||
@using Resources
|
||||
@model IEnumerable<atakanozbancom.Models.classes.MyProjectVM>
|
||||
|
||||
<p class="text-center">
|
||||
@(Resource.MyProjectsP1)
|
||||
<a href="https://link.atakanozban.com/github" style="text-decoration:none;color:darkgrey;" target="_blank">
|
||||
@Resource.GitHub
|
||||
</a>
|
||||
@Resource.MyProjectsP1_1
|
||||
</p>
|
||||
|
||||
<style>
|
||||
.carousel-media-iframe {
|
||||
width: 100%;
|
||||
aspect-ratio: 16 / 9;
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
background: #000;
|
||||
}
|
||||
|
||||
.carousel-media-iframe iframe {
|
||||
position: absolute;
|
||||
inset: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
border: 0;
|
||||
}
|
||||
|
||||
.carousel-media-image {
|
||||
width: 100%;
|
||||
position: relative;
|
||||
background: transparent;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.carousel-media-image img {
|
||||
display: block;
|
||||
width: 100%;
|
||||
height: auto;
|
||||
object-fit: contain;
|
||||
}
|
||||
|
||||
.media-arrow {
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
transform: translateY(-50%);
|
||||
width: 4rem;
|
||||
height: 4rem;
|
||||
opacity: 0.9;
|
||||
bottom: auto;
|
||||
z-index: 5;
|
||||
}
|
||||
|
||||
.carousel-control-prev {
|
||||
left: 1rem;
|
||||
}
|
||||
|
||||
.carousel-control-next {
|
||||
right: 1rem;
|
||||
}
|
||||
</style>
|
||||
|
||||
@foreach (var p in Model)
|
||||
{
|
||||
var media = new List<(string Type, string Url)>();
|
||||
|
||||
if (!string.IsNullOrWhiteSpace(p.iframe))
|
||||
{
|
||||
media.Add(("iframe", p.iframe));
|
||||
}
|
||||
|
||||
if (!string.IsNullOrWhiteSpace(p.image))
|
||||
{
|
||||
media.Add(("image", p.image));
|
||||
}
|
||||
|
||||
var carouselId = $"projCarousel_{p.id}";
|
||||
var hasMultiple = media.Count > 1;
|
||||
|
||||
<div class="container py-4">
|
||||
|
||||
@if (media.Count > 0)
|
||||
{
|
||||
<div id="@carouselId" class="carousel slide" data-bs-ride="carousel">
|
||||
<div class="carousel-inner">
|
||||
|
||||
@for (int i = 0; i < media.Count; i++)
|
||||
{
|
||||
var m = media[i];
|
||||
|
||||
<div class="carousel-item @(i == 0 ? "active" : "")"
|
||||
data-bs-interval="@(m.Type == "iframe" ? "false" : "5000")">
|
||||
|
||||
@if (m.Type == "iframe")
|
||||
{
|
||||
<div class="carousel-media-iframe">
|
||||
<iframe src="@m.Url"
|
||||
loading="lazy"
|
||||
referrerpolicy="no-referrer-when-downgrade"
|
||||
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"
|
||||
allowfullscreen></iframe>
|
||||
|
||||
@if (hasMultiple)
|
||||
{
|
||||
<button class="carousel-control-prev media-arrow"
|
||||
type="button"
|
||||
data-bs-target="#@carouselId"
|
||||
data-bs-slide="prev">
|
||||
<span class="carousel-control-prev-icon" aria-hidden="true"></span>
|
||||
<span class="visually-hidden">Previous</span>
|
||||
</button>
|
||||
|
||||
<button class="carousel-control-next media-arrow"
|
||||
type="button"
|
||||
data-bs-target="#@carouselId"
|
||||
data-bs-slide="next">
|
||||
<span class="carousel-control-next-icon" aria-hidden="true"></span>
|
||||
<span class="visually-hidden">Next</span>
|
||||
</button>
|
||||
}
|
||||
</div>
|
||||
}
|
||||
else
|
||||
{
|
||||
<div class="carousel-media-image">
|
||||
<img src="@m.Url" alt="@p.title" />
|
||||
|
||||
@if (hasMultiple)
|
||||
{
|
||||
<button class="carousel-control-prev media-arrow"
|
||||
type="button"
|
||||
data-bs-target="#@carouselId"
|
||||
data-bs-slide="prev">
|
||||
<span class="carousel-control-prev-icon" aria-hidden="true"></span>
|
||||
<span class="visually-hidden">Previous</span>
|
||||
</button>
|
||||
|
||||
<button class="carousel-control-next media-arrow"
|
||||
type="button"
|
||||
data-bs-target="#@carouselId"
|
||||
data-bs-slide="next">
|
||||
<span class="carousel-control-next-icon" aria-hidden="true"></span>
|
||||
<span class="visually-hidden">Next</span>
|
||||
</button>
|
||||
}
|
||||
</div>
|
||||
}
|
||||
|
||||
</div>
|
||||
}
|
||||
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
|
||||
<h3 class="mt-3 text-center">@p.title</h3>
|
||||
<p class="lead mb-5 text-center">@Html.Raw(p.description)</p>
|
||||
|
||||
</div>
|
||||
}
|
||||
Reference in New Issue
Block a user