Menü düzenlemesi

This commit is contained in:
Sedat ÖZTÜRK 2025-08-18 11:14:23 +03:00
parent 9f33c896b9
commit 828466f312
7 changed files with 324 additions and 514 deletions

View file

@ -5,9 +5,9 @@ namespace Kurs.Notifications;
public class NotificationDto : EntityDto<Guid>
{
public string NotificationChannel { get; set; }
public string NotificationType { get; set; }
public string Message { get; set; }
public required string NotificationChannel { get; set; }
public required string NotificationType { get; set; }
public required string Message { get; set; }
public bool IsRead { get; set; }
public bool IsSent { get; set; }
public DateTime? ReadTime { get; set; }

View file

@ -2,7 +2,7 @@
namespace Kurs.Notifications;
public class NotificationRequestDto
public class NotificationRequestDto
{
public Guid Id { get; set; }
public string Message { get; set; }

View file

@ -4,6 +4,7 @@
<PropertyGroup>
<TargetFramework>net9.0</TargetFramework>
<Nullable>enable</Nullable>
<RootNamespace>Kurs.Platform</RootNamespace>
</PropertyGroup>

View file

@ -446,31 +446,31 @@ public class ListFormsSeeder : IDataSeedContributor, ITransientDependency
}),
EditingFormJson = JsonSerializer.Serialize(new List<EditingFormDto>()
{
new() { Order=1, ColCount=1, ColSpan=2, ItemType="group", Items =
[
new EditingFormItemDto { Order=1, DataField="Name", ColSpan=2, IsRequired=true, EditorType2=EditorTypes.dxTextBox },
new EditingFormItemDto { Order=2, DataField="InstitutionName", ColSpan=2, IsRequired=true, EditorType2=EditorTypes.dxTextBox },
new EditingFormItemDto { Order=3, DataField="Founder", ColSpan=2, IsRequired=true, EditorType2=EditorTypes.dxTextBox },
new EditingFormItemDto { Order=4, DataField="VknTckn", ColSpan=2, IsRequired=true, EditorType2=EditorTypes.dxNumberBox },
new EditingFormItemDto { Order=5, DataField="TaxOffice", ColSpan=2, IsRequired=true, EditorType2=EditorTypes.dxTextBox },
new EditingFormItemDto { Order=6, DataField="Mobile", ColSpan=2, IsRequired=true, EditorType2=EditorTypes.dxNumberBox },
new EditingFormItemDto { Order=7, DataField="Phone", ColSpan=2, IsRequired=false, EditorType2=EditorTypes.dxNumberBox },
new EditingFormItemDto { Order=8, DataField="Fax", ColSpan=2, IsRequired=false, EditorType2=EditorTypes.dxTextBox },
new EditingFormItemDto { Order=9, DataField="IsActive", ColSpan=2, IsRequired=false, EditorType2=EditorTypes.dxCheckBox },
]
},
new() { Order=2, ColCount=1, ColSpan=2, ItemType="group", Items =
[
new EditingFormItemDto { Order=1, DataField="Country", ColSpan=2, IsRequired=true, EditorType2=EditorTypes.dxSelectBox, EditorOptions="{ \"showClearButton\" : true }" },
new EditingFormItemDto { Order=2, DataField="City", ColSpan=2, IsRequired=true, EditorType2=EditorTypes.dxTextBox },
new EditingFormItemDto { Order=3, DataField="District", ColSpan=2, IsRequired=false, EditorType2=EditorTypes.dxTextBox },
new EditingFormItemDto { Order=4, DataField="Address", ColSpan=2, IsRequired=false, EditorType2=EditorTypes.dxTextBox },
new EditingFormItemDto { Order=5, DataField="Address2", ColSpan=2, IsRequired=false, EditorType2=EditorTypes.dxTextBox },
new EditingFormItemDto { Order=6, DataField="PostalCode", ColSpan=2, IsRequired=false, EditorType2=EditorTypes.dxTextBox },
new EditingFormItemDto { Order=7, DataField="Email", ColSpan=2, IsRequired=true, EditorType2=EditorTypes.dxTextBox },
new EditingFormItemDto { Order=8, DataField="Website", ColSpan=2, IsRequired=true, EditorType2=EditorTypes.dxTextBox },
]
}
new() { Order=1, ColCount=1, ColSpan=2, ItemType="group", Items =
[
new EditingFormItemDto { Order=1, DataField="Name", ColSpan=2, IsRequired=true, EditorType2=EditorTypes.dxTextBox },
new EditingFormItemDto { Order=2, DataField="InstitutionName", ColSpan=2, IsRequired=true, EditorType2=EditorTypes.dxTextBox },
new EditingFormItemDto { Order=3, DataField="Founder", ColSpan=2, IsRequired=true, EditorType2=EditorTypes.dxTextBox },
new EditingFormItemDto { Order=4, DataField="VknTckn", ColSpan=2, IsRequired=true, EditorType2=EditorTypes.dxNumberBox },
new EditingFormItemDto { Order=5, DataField="TaxOffice", ColSpan=2, IsRequired=true, EditorType2=EditorTypes.dxTextBox },
new EditingFormItemDto { Order=6, DataField="Mobile", ColSpan=2, IsRequired=true, EditorType2=EditorTypes.dxNumberBox },
new EditingFormItemDto { Order=7, DataField="Phone", ColSpan=2, IsRequired=false, EditorType2=EditorTypes.dxNumberBox },
new EditingFormItemDto { Order=8, DataField="Fax", ColSpan=2, IsRequired=false, EditorType2=EditorTypes.dxTextBox },
new EditingFormItemDto { Order=9, DataField="IsActive", ColSpan=2, IsRequired=false, EditorType2=EditorTypes.dxCheckBox },
]
},
new() { Order=2, ColCount=1, ColSpan=2, ItemType="group", Items =
[
new EditingFormItemDto { Order=1, DataField="Country", ColSpan=2, IsRequired=true, EditorType2=EditorTypes.dxSelectBox, EditorOptions="{ \"showClearButton\" : true }" },
new EditingFormItemDto { Order=2, DataField="City", ColSpan=2, IsRequired=true, EditorType2=EditorTypes.dxTextBox },
new EditingFormItemDto { Order=3, DataField="District", ColSpan=2, IsRequired=false, EditorType2=EditorTypes.dxTextBox },
new EditingFormItemDto { Order=4, DataField="Address", ColSpan=2, IsRequired=false, EditorType2=EditorTypes.dxTextBox },
new EditingFormItemDto { Order=5, DataField="Address2", ColSpan=2, IsRequired=false, EditorType2=EditorTypes.dxTextBox },
new EditingFormItemDto { Order=6, DataField="PostalCode", ColSpan=2, IsRequired=false, EditorType2=EditorTypes.dxTextBox },
new EditingFormItemDto { Order=7, DataField="Email", ColSpan=2, IsRequired=true, EditorType2=EditorTypes.dxTextBox },
new EditingFormItemDto { Order=8, DataField="Website", ColSpan=2, IsRequired=true, EditorType2=EditorTypes.dxTextBox },
]
}
}),
CommandColumnJson = JsonSerializer.Serialize(new CommandColumnDto[] {
new CommandColumnDto() {
@ -483,6 +483,13 @@ public class ListFormsSeeder : IDataSeedContributor, ITransientDependency
id = "@Id"
})
},
new() {
ButtonPosition= UiCommandButtonPositionTypeEnum.Toolbar,
Hint = "Branches",
Text = "Branches",
AuthName = AppCodes.Branches,
Url = "/admin/list/list-branch",
},
}),
InsertServiceAddress = "list-form-dynamic-api/tenant-insert",
UpdateServiceAddress = "list-form-dynamic-api/tenant-update",
@ -5263,27 +5270,27 @@ public class ListFormsSeeder : IDataSeedContributor, ITransientDependency
ColumnChooserEnabled = true
}),
CommandColumnJson = JsonSerializer.Serialize(new CommandColumnDto[] {
new() {
ButtonPosition= UiCommandButtonPositionTypeEnum.Toolbar,
Hint = "Hangfire Login",
Text = "Hangfire Login",
AuthName=AppCodes.BackgroundWorkers,
Url= swaggerRootUrl + "/Account/Login",
},
new() {
ButtonPosition= UiCommandButtonPositionTypeEnum.Toolbar,
Hint = "Hangfire Aç",
Text = "Hangfire Aç",
AuthName=AppCodes.BackgroundWorkers,
Url= swaggerRootUrl + "/hangfire",
},
new() {
ButtonPosition= UiCommandButtonPositionTypeEnum.Toolbar,
Hint = "Hangfire Tazele",
Text = "Hangfire Tazele",
AuthName=AppCodes.BackgroundWorkers,
OnClick="UiEvalService.ApiGenerateBackgroundWorkers();"
},
new() {
ButtonPosition= UiCommandButtonPositionTypeEnum.Toolbar,
Hint = "Hangfire Login",
Text = "Hangfire Login",
AuthName=AppCodes.BackgroundWorkers,
Url= swaggerRootUrl + "/Account/Login",
},
new() {
ButtonPosition= UiCommandButtonPositionTypeEnum.Toolbar,
Hint = "Hangfire Aç",
Text = "Hangfire Aç",
AuthName=AppCodes.BackgroundWorkers,
Url= swaggerRootUrl + "/hangfire",
},
new() {
ButtonPosition= UiCommandButtonPositionTypeEnum.Toolbar,
Hint = "Hangfire Tazele",
Text = "Hangfire Tazele",
AuthName=AppCodes.BackgroundWorkers,
OnClick="UiEvalService.ApiGenerateBackgroundWorkers();"
},
}),
PermissionJson = JsonSerializer.Serialize(new PermissionCrudDto
{
@ -13654,15 +13661,14 @@ public class ListFormsSeeder : IDataSeedContributor, ITransientDependency
ItemType = "group",
Items =
[
new EditingFormItemDto { Order = 1, DataField = "Id", ColSpan = 2, IsRequired = true, EditorType2 = EditorTypes.dxTextBox },
new EditingFormItemDto { Order = 2, DataField = "OrganizationName", ColSpan = 2, IsRequired = true, EditorType2 = EditorTypes.dxTextBox },
new EditingFormItemDto { Order = 3, DataField = "FullName", ColSpan = 2, IsRequired = false, EditorType2 = EditorTypes.dxTextArea },
new EditingFormItemDto { Order = 4, DataField = "Email", ColSpan = 2, IsRequired = false, EditorType2 = EditorTypes.dxTextBox },
new EditingFormItemDto { Order = 5, DataField = "Phone", ColSpan = 2, IsRequired = false, EditorType2 = EditorTypes.dxTextBox },
new EditingFormItemDto { Order = 6, DataField = "Address", ColSpan = 2, IsRequired = false, EditorType2 = EditorTypes.dxTextArea },
new EditingFormItemDto { Order = 7, DataField = "NumberOfBranches", ColSpan = 2, IsRequired = false, EditorType2 = EditorTypes.dxNumberBox },
new EditingFormItemDto { Order = 8, DataField = "NumberOfUsers", ColSpan = 2, IsRequired = false, EditorType2 = EditorTypes.dxNumberBox },
new EditingFormItemDto { Order = 9, DataField = "Message", ColSpan = 2, IsRequired = false, EditorType2 = EditorTypes.dxTextArea },
new EditingFormItemDto { Order = 1, DataField = "OrganizationName", ColSpan = 2, IsRequired = true, EditorType2 = EditorTypes.dxTextBox },
new EditingFormItemDto { Order = 2, DataField = "FullName", ColSpan = 2, IsRequired = false, EditorType2 = EditorTypes.dxTextArea },
new EditingFormItemDto { Order = 3, DataField = "Email", ColSpan = 2, IsRequired = false, EditorType2 = EditorTypes.dxTextBox },
new EditingFormItemDto { Order = 4, DataField = "Phone", ColSpan = 2, IsRequired = false, EditorType2 = EditorTypes.dxTextBox },
new EditingFormItemDto { Order = 5, DataField = "Address", ColSpan = 2, IsRequired = false, EditorType2 = EditorTypes.dxTextArea },
new EditingFormItemDto { Order = 6, DataField = "NumberOfBranches", ColSpan = 2, IsRequired = false, EditorType2 = EditorTypes.dxNumberBox },
new EditingFormItemDto { Order = 7, DataField = "NumberOfUsers", ColSpan = 2, IsRequired = false, EditorType2 = EditorTypes.dxNumberBox },
new EditingFormItemDto { Order = 8, DataField = "Message", ColSpan = 2, IsRequired = false, EditorType2 = EditorTypes.dxTextArea },
]
}
})

File diff suppressed because it is too large Load diff

View file

@ -82,7 +82,7 @@ define(['./workbox-54d0af47'], (function (workbox) { 'use strict';
"revision": "3ca0b8505b4bec776b69afdba2768812"
}, {
"url": "index.html",
"revision": "0.4fqifsv2jio"
"revision": "0.s0vun21q3d"
}], {});
workbox.cleanupOutdatedCaches();
workbox.registerRoute(new workbox.NavigationRoute(workbox.createHandlerBoundToURL("index.html"), {

View file

@ -1,5 +1,5 @@
import React from 'react'
import { FaTachometerAlt, FaDatabase, FaBolt, FaServer, FaPuzzlePiece } from 'react-icons/fa';
import { FaTachometerAlt, FaDatabase, FaBolt, FaServer, FaPuzzlePiece } from 'react-icons/fa'
import { useLocalization } from '@/utils/hooks/useLocalization'
import { useLocation, useNavigate } from 'react-router-dom'
import { ROUTES_ENUM } from '@/routes/route.constant'
@ -51,30 +51,6 @@ const DeveloperLayout: React.FC<DeveloperLayoutProps> = ({ children }) => {
<Container>
<div className="mx-auto px-4 sm:px-6 lg:px-8 py-8">
<div className="flex flex-col lg:flex-row gap-8">
{/* Sidebar */}
<div className="lg:w-64 flex-shrink-0 p-4 bg-gray-50">
<nav className="space-y-2">
{navigation.map((item) => {
const Icon = item.icon
const isActive = location.pathname === item.path
return (
<button
key={item.id}
onClick={() => navigate(item.path)}
className={`w-full flex items-center space-x-3 px-4 py-3 rounded-lg text-left transition-colors ${
isActive
? 'bg-blue-100 text-blue-700'
: 'text-gray-600 hover:bg-gray-100 hover:text-gray-900'
}`}
>
<Icon className="w-5 h-5" />
<span className="font-medium">{item.label}</span>
</button>
)
})}
</nav>
</div>
{/* Main Content */}
<div className="flex-1">{children}</div>
</div>