Fix DataCenter emission calculation: VM-level processing, authentication fixes, and type safety improvements

This commit is contained in:
2025-07-22 07:35:23 +03:00
parent 28cc64a052
commit 55953ad2e2
354 changed files with 856831 additions and 2061 deletions

View File

@@ -0,0 +1,250 @@
import {
Clipboard,
Map,
Users,
UserCheck,
Home,
PlusSquare,
Database,
Droplet,
List,
ArrowRight,
BarChart2,
CheckCircle,
HelpCircle,
FileText,
Layers,
AlignCenter,
Archive,
Phone,
Zap,
} from "react-feather";
const permissions = JSON.parse(localStorage.getItem("permissions"));
const permissionsList = permissions?.map(({ tag }) => tag);
function permissionCheck(permission) {
return permissionsList?.includes(permission);
}
export default [
{
id: "Map",
title: "Map.map",
icon: <Map size={20} />,
navLink: "/harita",
},
{
id: "Management",
title: "Management",
icon: <Clipboard size={20} />,
display:
permissionCheck("paginate_organizations_get") ||
permissionCheck("paginate_users_get") ||
permissionCheck("paginate_roles_get")
? ""
: "none",
children: (permissionCheck("paginate_organizations_get") ||
permissionCheck("paginate_users_get") ||
permissionCheck("paginate_roles_get")) && [
{
id: "Organizations",
title: "Organizations.organizations",
icon: <Home size={20} />,
navLink: "/organizasyonlar",
display: permissionCheck("paginate_organizations_get") ? "" : "none",
},
{
id: "UserManagement",
title: "Users.users",
icon: <Users size={20} />,
navLink: "/kullanicilar",
display: permissionCheck("paginate_users_get") ? "" : "none",
},
{
id: "RoleManegement",
title: "Roles.roles",
icon: <UserCheck size={20} />,
navLink: "/roller",
display: permissionCheck("paginate_roles_get") ? "" : "none",
},
],
},
{
id: "DataInput",
title: "DataInput.dataInput",
icon: <PlusSquare size={20} />,
navLink: "/veri-girisi",
display: permissionCheck("dataset_create") ? "" : "none",
},
{
id: "Datas",
title: "DataInput.reports",
icon: <BarChart2 size={20} />,
navLink: "/raporlar",
display: permissionCheck("paginate_datasets_get") ? "" : "none",
},
{
id: "Graphics",
title: "Graphics.graphics",
icon: <Layers size={20} />,
navLink: "/grafikler",
display: permissionCheck("show_graphics") ? "" : "none",
},
{
id: "DataSet",
title: "EmissionSources.dataSet",
icon: <Database size={20} />,
display:
permissionCheck("paginate_emission_sources_get") ||
permissionCheck("sectors_get") ||
permissionCheck("sub_sectors_get") ||
permissionCheck("activity_sub_units_get")
? ""
: "none",
children: (permissionCheck("paginate_emission_sources_get") ||
permissionCheck("sectors_get") ||
permissionCheck("sub_sectors_get") ||
permissionCheck("activity_sub_units_get")) && [
{
id: "EmissionSource",
title: "EmissionSources.emissionSources",
icon: <Droplet size={20} />,
navLink: "/emisyon-kaynaklari",
display: permissionCheck("paginate_emission_sources_get") ? "" : "none",
},
{
id: "Sectors",
title: "EmissionSources.sectors",
icon: <ArrowRight size={20} />,
navLink: "/veri-sektorleri",
display: permissionCheck("sectors_get") ? "" : "none",
},
{
id: "SubSector",
title: "EmissionSources.subSectors",
icon: <ArrowRight size={20} />,
navLink: "/sektor-alt-birimleri",
display: permissionCheck("sub_sectors_get") ? "" : "none",
},
{
id: "ActivitySubUnit",
title: "EmissionSources.subUnits",
icon: <ArrowRight size={20} />,
navLink: "/faaliyet-alt-birimleri",
display: permissionCheck("activity_sub_units_get") ? "" : "none",
},
],
},
{
id: "DataCenter",
title: "Data Center",
icon: <Zap size={20} />,
navLink: "/verimerkezi",
},
{
id: "Areas",
title: "Areas.areas",
icon: <List size={20} />,
display:
permissionCheck("paginate_areas_get") ||
permissionCheck("paginate_countries_get") ||
permissionCheck("paginate_cities_get") ||
permissionCheck("paginate_districts_get") ||
permissionCheck("paginate_neighborhoods_get")
? ""
: "none",
children: (permissionCheck("paginate_areas_get") ||
permissionCheck("paginate_countries_get") ||
permissionCheck("paginate_cities_get") ||
permissionCheck("paginate_districts_get") ||
permissionCheck("paginate_neighborhoods_get")) && [
{
id: "Areas",
title: "Areas.areas",
icon: <ArrowRight size={20} />,
navLink: "/alanlar",
display: permissionCheck("paginate_areas_get") ? "" : "none",
},
{
id: "Countries",
title: "Areas.countries",
icon: <ArrowRight size={20} />,
navLink: "/ulkeler",
display: permissionCheck("paginate_countries_get") ? "" : "none",
},
{
id: "Cities",
title: "Areas.cities",
icon: <ArrowRight size={20} />,
navLink: "/iller",
display: permissionCheck("paginate_cities_get") ? "" : "none",
},
{
id: "Districts",
title: "Areas.districts",
icon: <ArrowRight size={20} />,
navLink: "/ilceler",
display: permissionCheck("paginate_districts_get") ? "" : "none",
},
{
id: "Neighborhoods",
title: "Areas.neighborhoods",
icon: <ArrowRight size={20} />,
navLink: "/mahalleler",
display: permissionCheck("paginate_neighborhoods_get") ? "" : "none",
},
],
},
{
id: "Survey",
title: "Survey.survey",
icon: <FileText size={20} />,
display:
permissionCheck("paginate_questions_get") ||
permissionCheck("paginate_answers_get") ||
permissionCheck("paginate_surveys_get") ||
permissionCheck("surveys_get")
? ""
: "none",
children: (permissionCheck("paginate_questions_get") ||
permissionCheck("paginate_answers_get") ||
permissionCheck("paginate_surveys_get") ||
permissionCheck("surveys_get")) && [
{
id: "Questions",
title: "Survey.questions",
icon: <HelpCircle size={20} />,
navLink: "/sorular",
display: permissionCheck("paginate_questions_get") ? "" : "none",
},
{
id: "Answers",
title: "Survey.answers",
icon: <CheckCircle size={20} />,
navLink: "/cevaplar",
display: permissionCheck("paginate_answers_get") ? "" : "none",
},
{
id: "Surveys",
title: "Survey.surveys",
icon: <AlignCenter size={20} />,
navLink: "/anketler",
display: permissionCheck("paginate_surveys_get") ? "" : "none",
},
{
id: "SavedSurveys",
title: "Anket Sonuçları",
icon: <Archive size={20} />,
navLink: "/anket-sonuclari",
display: permissionCheck("surveys_get") ? "" : "none",
},
],
},
{
id: "Communication",
title: "Contact.contact",
icon: <Phone size={20} />,
navLink: "/iletisim",
},
];