Add project files.

This commit is contained in:
2025-05-01 15:18:30 +03:00
parent e058ab8015
commit 774d695414
3094 changed files with 1336814 additions and 0 deletions

View File

@@ -0,0 +1,188 @@
@using ConstructorAppUI.ViewModels
@model UserProfileViewModel
<script src="~/lib/jquery/dist/jquery.min.js"></script>
<script src="~/lib/bootstrap/dist/js/bootstrap.bundle.min.js"></script>
<script src="~/js/site.js" asp-append-version="true"></script>
<script src="~/lib/microsoft/signalr/dist/browser/signalr.min.js"></script>
<div class="wrapper">
<script>
$(document).ready(() => {
var signalRHubBaseUrl = '@ViewBag.SignalRHubBaseUrl';
if (!signalRHubBaseUrl) {
console.error("SignalRHubBaseUrl tanımlı değil!");
return;
}
var connection = new signalR.HubConnectionBuilder().withUrl(`${signalRHubBaseUrl}/SignalRHub`).build();
connection.start()
.then(() => {
$("#connstatus").text("Bağlı");
document.getElementById("connstatus").className = "badge bg-success text-white";
var iconElement = document.querySelector("#navbarDropdown1 i");
if (iconElement) {
iconElement.className = "fas fa-wifi text-success";
}
setInterval(() => {
connection.invoke("SendContactUs");
}, 1000);
})
.catch((err) => {
console.error("SignalR bağlantısı sırasında hata:", err);
});
connection.onclose(() => {
$("#connstatus").text("Bağlı Değil");
document.getElementById("connstatus").className = "badge bg-danger text-white";
var iconElement = document.querySelector("#navbarDropdown1 i");
if (iconElement) {
iconElement.className = "fas fa-wifi text-danger";
}
setTimeout(() => connection.start().catch(console.error), 5000);
});
connection.onreconnecting(() => {
$("#connstatus").text("Yeniden Bağlanıyor...");
document.getElementById("connstatus").className = "badge bg-warning text-white";
});
connection.onreconnected(() => {
$("#connstatus").text("Bağlı");
document.getElementById("connstatus").className = "badge bg-success text-white";
var iconElement = document.querySelector("#navbarDropdown1 i");
if (iconElement) {
iconElement.className = "fas fa-wifi text-success";
}
});
connection.on("ReceiveContactUsCountByStatusPending", (value) => {
console.log(value);
if (value > 0) {
$("#contactuscount").text(value);
} else {
$("#contactuscount").text('');
}
});
});
</script>
<nav class="main-header navbar navbar-expand navbar-white navbar-light">
<ul class="navbar-nav">
<li class="nav-item">
<a class="nav-link" data-widget="pushmenu" href="#" role="button"><i class="fas fa-bars"></i></a>
</li>
<li class="nav-item">
<a class="nav-link" data-widget="navbar-search" href="#" role="button">
<i class="fas fa-search"></i>
</a>
<div class="navbar-search-block">
<form class="form-inline">
<div class="input-group input-group-sm">
<input class="form-control form-control-navbar" id="searchInput" type="search" placeholder="Arama.." aria-label="Search">
<div class="input-group-append">
<button id="searchButton" class="btn btn-navbar" type="submit">
<i class="fas fa-search"></i>
</button>
<button class="btn btn-navbar" type="button" data-widget="navbar-search">
<i class="fas fa-times"></i>
</button>
</div>
</div>
</form>
</div>
</li>
</ul>
<ul class="navbar-nav ml-auto">
<li class="nav-item dropdown">
<a class="nav-link" data-toggle="dropdown" href="#" id="navbarDropdown1" role="button">
<i class="fas fa-wifi" title="Sistem Durumu"></i>
<span class="badge badge-warning navbar-badge" id="connstatus"></span>
</a>
</li>
<li class="nav-item dropdown hidden-caret">
<a class="nav-link" href="/ContactUs/Index" id="navbarDropdown1" role="button">
<i class="far fa-envelope" title="İletişim Formu"></i>
<span class="badge badge-danger navbar-badge" id="contactuscount"></span>
</a>
</li>
<li class="nav-item dropdown">
<a class="dropdown-toggle profile-pic" data-toggle="dropdown" href="#" aria-expanded="false">
<img src="~/SeedData/defaultuser.png" width="36" class="img-circle"><span style="color: black;">@Model.UserName</span>
</a>
<ul class="dropdown-menu dropdown-user">
<div class="dropdown-divider"></div>
<a class="dropdown-item" href="javascript:void(0);" onclick="window.location.href='/UserProfile/Index/'">
<i class="la la-cog"></i> Ayarlar
</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item" href="javascript:void(0);" onclick="window.location.href='/Login/LogOut/'">
<i class="la la-close"></i> Çıkış
</a>
</ul>
</li>
</ul>
</nav>
</div>
<script>
// Vurguları temizlemek için fonksiyon
function clearHighlights() {
document.querySelectorAll("span[style='background-color: yellow;']").forEach(function (span) {
span.outerHTML = span.innerHTML; // Sadece span'ı kaldır ve içeriği olduğu gibi bırak
});
}
// Arama işlemini gerçekleştiren fonksiyon
function performSearch() {
var searchQuery = document.getElementById("searchInput").value.toLowerCase();
if (!searchQuery) return; // Arama kutusu boşsa bir şey yapma
// Vurguları temizle
clearHighlights();
// Sayfadaki hedef alanları belirle (örneğin yalnızca `.content` içindeki metinleri kontrol etmek isterseniz)
var elements = document.querySelectorAll("body *:not(script):not(style):not(input):not(button)");
elements.forEach(function (el) {
// Elementin içeriğini kontrol et
if (el.children.length === 0) { // Sadece metin düğümleri içeren elemanları işlemek
var text = el.textContent;
if (text.toLowerCase().includes(searchQuery)) {
// Aranan kelimeyi <span> ile sarmala ve vurgula
var highlightedText = text.replace(
new RegExp(`(${searchQuery})`, 'gi'),
`<span style="background-color: yellow;">$1</span>`
);
el.innerHTML = highlightedText;
}
}
});
}
// Arama kutusu her değiştiğinde (yazıldıkça) arama yap
document.getElementById("searchInput").addEventListener("input", function () {
performSearch(); // Her input değişikliğinde arama yap
});
// Arama kutusu temizlendiğinde (boşaltıldığında) vurguları temizle
document.getElementById("searchInput").addEventListener("input", function () {
if (this.value === "") {
clearHighlights(); // Arama kutusu boşsa vurguları temizle
}
});
</script>