Add project files.
This commit is contained in:
@@ -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>
|
||||
|
||||
Reference in New Issue
Block a user