From 8b44d15cbd7860d1e69cbaf4f2a1caec05eea8cb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sedat=20=C3=96ZT=C3=9CRK?= <76204082+iamsedatozturk@users.noreply.github.com> Date: Wed, 19 Nov 2025 11:44:41 +0300 Subject: [PATCH] =?UTF-8?q?Ana=20Sayfa=20Seeder=20d=C3=BCzenlemesi?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Seeds/LanguagesData.json | 159 ++++++++++++++---- .../Seeds/PermissionsData.json | 63 ------- .../Tenants/Seeds/TenantData.json | 5 +- ui/package-lock.json | 25 +-- ui/package.json | 1 + ui/src/views/public/Home.tsx | 80 +++++---- 6 files changed, 183 insertions(+), 150 deletions(-) diff --git a/api/src/Erp.Platform.DbMigrator/Seeds/LanguagesData.json b/api/src/Erp.Platform.DbMigrator/Seeds/LanguagesData.json index 21c157e4..3a23f77a 100644 --- a/api/src/Erp.Platform.DbMigrator/Seeds/LanguagesData.json +++ b/api/src/Erp.Platform.DbMigrator/Seeds/LanguagesData.json @@ -6577,54 +6577,161 @@ "tr": "Ürünlerimizi Keşfedin", "en": "Explore Our Products" }, + { "resourceName": "Platform", - "key": "Public.hero.service1.desc", - "tr": "Aylık veya yıllık esnek ödeme seçenekleriyle, ihtiyacınız kadar kullanın", - "en": "Use as much as you need with flexible monthly or annual payment options" + "key": "Public.hero.slide1.title", + "tr": "Türkiye'nin Lider Dil Kursu Yazılımı", + "en": "The Turkey's Leading Language Course Software" }, + { "resourceName": "Platform", - "key": "Public.hero.service1.title", + "key": "Public.hero.slide1.subtitle", + "tr": "20 yılı aşkın tecrübemizle, yabancı dil okulları ve kurslar için özel olarak geliştirdiğimiz yazılım çözümlerimizle işletmenizi dijital dünyada bir adım öne taşıyoruz.", + "en": "With over 20 years of experience, we help you take your business one step ahead in the digital world with our software solutions developed specifically for language schools and courses." + }, + + { + "resourceName": "Platform", + "key": "Public.hero.slide1.service1.title", "tr": "Kullandıkça Öde", "en": "Pay As You Go" }, { "resourceName": "Platform", - "key": "Public.hero.service2.desc", - "tr": "Tüm şubelerinizi tek bir sistemden kolayca yönetin", - "en": "Easily manage all your branches from a single system" + "key": "Public.hero.slide1.service1.desc", + "tr": "Aylık veya yıllık abonelik seçenekleriyle, yalnızca ihtiyaç duyduğunuz kadar kaynak tüketimi gerçekleştirerek maliyetlerinizi optimize edin.", + "en": "Optimize your costs by consuming only the resources you need through flexible monthly or annual subscription options." }, { "resourceName": "Platform", - "key": "Public.hero.service2.title", + "key": "Public.hero.slide1.service2.title", "tr": "Çoklu Şube Yönetimi", "en": "Multi-Branch Management" }, { "resourceName": "Platform", - "key": "Public.hero.service3.desc", - "tr": "İnternetin olduğu her yerden güvenli erişim imkanı", - "en": "Enjoy secure access from anywhere with an internet connection" + "key": "Public.hero.slide1.service2.desc", + "tr": "Tüm şubelerinizi, operasyonel süreçlerinizi ve kullanıcı yetkilerinizi merkezi bir platform üzerinden kolayca kontrol edin ve yönetin.", + "en": "Centrally manage all your branches, operational workflows, and user permissions through a unified platform." }, { "resourceName": "Platform", - "key": "Public.hero.service3.title", + "key": "Public.hero.slide1.service3.title", "tr": "7/24 Güvenli Erişim", "en": "24/7 Secure Access" }, { "resourceName": "Platform", - "key": "Public.hero.subtitle", - "tr": "20 yılı aşkın tecrübemizle, yabancı dil okulları ve kurslar için özel olarak geliştirdiğimiz yazılım çözümlerimizle işletmenizi dijital dünyada bir adım öne taşıyoruz.", - "en": "With over 20 years of experience, we help you take your business one step ahead in the digital world with our software solutions developed specifically for language schools and courses." + "key": "Public.hero.slide1.service3.desc", + "tr": "İnternet bağlantısının olduğu her yerden, yüksek güvenlik standartlarıyla platformunuza kesintisiz erişim sağlayın.", + "en": "Access your platform securely and seamlessly from anywhere with an internet connection, supported by enterprise-grade security standards." + }, + + { + "resourceName": "Platform", + "key": "Public.hero.slide2.title", + "tr": "Entegre ERP Otomasyonu", + "en": "Integrated ERP Automation" + }, + + { + "resourceName": "Platform", + "key": "Public.hero.slide2.subtitle", + "tr": "Operasyonel verimliliğinizi artırmak için tüm iş süreçlerinizi tek ve bütünleşik bir platformdan yönetin.", + "en": "Manage all your business processes from a single, integrated platform to enhance operational efficiency." + }, + + { + "resourceName": "Platform", + "key": "Public.hero.slide2.service1.title", + "tr": "İş Zekası", + "en": "Business Intelligence" }, { "resourceName": "Platform", - "key": "Public.hero.title", - "tr": "Türkiye'nin Lider Dil Kursu Yazılımı", - "en": "The Turkey's Leading Language Course Software" + "key": "Public.hero.slide2.service1.desc", + "tr": "Karar alma süreçlerini güçlendiren gelişmiş raporlama, veri analizi ve performans izleme araçlarıyla işinizi daha öngörülebilir hale getirin.", + "en": "Enhance your decision-making with advanced reporting, data analytics, and performance monitoring tools that bring greater predictability to your operations." }, + { + "resourceName": "Platform", + "key": "Public.hero.slide2.service2.title", + "tr": "Finans Yönetimi", + "en": "Financial Management" + }, + { + "resourceName": "Platform", + "key": "Public.hero.slide2.service2.desc", + "tr": "Muhasebe, bütçeleme, nakit akışı ve finansal raporlama süreçlerini tek bir entegre modül üzerinden uçtan uca yönetin.", + "en": "Manage accounting, budgeting, cash flow, and financial reporting end-to-end through a fully integrated finance module." + }, + { + "resourceName": "Platform", + "key": "Public.hero.slide2.service3.title", + "tr": "Veri Güvenliği", + "en": "Data Security" + }, + { + "resourceName": "Platform", + "key": "Public.hero.slide2.service3.desc", + "tr": "Kurumsal güvenlik standartlarına uygun veri koruma altyapısıyla bilgilerinizi yetkisiz erişimlere ve risklere karşı güvence altına alın.", + "en": "Safeguard your information against unauthorized access and risks with enterprise-grade data protection infrastructure." + }, + + { + "resourceName": "Platform", + "key": "Public.hero.slide3.title", + "tr": "Low Code Platform", + "en": "Low Code Platform" + }, + { + "resourceName": "Platform", + "key": "Public.hero.slide3.subtitle", + "tr": "Kod yazmadan hızlı uygulama geliştirin, iş süreçlerinizi kolayca dijitalleştirin.", + "en": "Build applications rapidly without coding and digitize your business processes with ease." + }, + + { + "resourceName": "Platform", + "key": "Public.hero.slide3.service1.title", + "tr": "Görsel Tasarım", + "en": "Visual Design" + }, + { + "resourceName": "Platform", + "key": "Public.hero.slide3.service1.desc", + "tr": "Sürükle-bırak bileşenlerle hızlı, esnek ve kullanıcı dostu arayüzler oluşturarak uygulama geliştirme süreçlerinizi hızlandırın.", + "en": "Accelerate your development cycles by creating fast, flexible, and user-friendly interfaces using drag-and-drop components." + }, + + { + "resourceName": "Platform", + "key": "Public.hero.slide3.service2.title", + "tr": "Otomatik API", + "en": "Automatic API" + }, + { + "resourceName": "Platform", + "key": "Public.hero.slide3.service2.desc", + "tr": "Veri modellerinizden otomatik olarak üretilen RESTful servislerle entegrasyon süreçlerini kolaylaştırın ve geliştirme maliyetlerini azaltın.", + "en": "Simplify integrations and reduce development costs with automatically generated RESTful services based on your data models." + }, + + { + "resourceName": "Platform", + "key": "Public.hero.slide3.service3.title", + "tr": "Çoklu Platform", + "en": "Multi-Platform" + }, + { + "resourceName": "Platform", + "key": "Public.hero.slide3.service3.desc", + "tr": "Aynı altyapıyla web, mobil ve masaüstü uygulamaları kolayca oluşturun ve tüm platformlarda tutarlı kullanıcı deneyimi sağlayın.", + "en": "Build web, mobile, and desktop applications using a unified infrastructure while delivering a consistent user experience across all platforms." + }, + { "resourceName": "Platform", "key": "Public.login.createAccount", @@ -9301,12 +9408,6 @@ "tr": "Teslimat Takibi", "en": "Delivery Tracking" }, - { - "resourceName": "Platform", - "key": "App.Maintenance.Workcenter", - "tr": "İş Merkezleri", - "en": "Workcenters" - }, { "resourceName": "Platform", "key": "App.Maintenance.WorkcenterType", @@ -9337,12 +9438,6 @@ "tr": "Bakım Takvimi", "en": "Maintenance Calendar" }, - { - "resourceName": "Platform", - "key": "App.Maintenance.Teams", - "tr": "Bakım Ekipleri", - "en": "Maintenance Teams" - }, { "resourceName": "Platform", "key": "App.Maintenance.Faults", @@ -9412,7 +9507,7 @@ { "resourceName": "Platform", "key": "App.Projects.List", - "tr": "Arge", + "tr": "Projeler", "en": "Projects" }, { @@ -9674,4 +9769,4 @@ "en": "Check & Notes" } ] -} \ No newline at end of file +} diff --git a/api/src/Erp.Platform.DbMigrator/Seeds/PermissionsData.json b/api/src/Erp.Platform.DbMigrator/Seeds/PermissionsData.json index 34238d28..933d6824 100644 --- a/api/src/Erp.Platform.DbMigrator/Seeds/PermissionsData.json +++ b/api/src/Erp.Platform.DbMigrator/Seeds/PermissionsData.json @@ -6565,69 +6565,6 @@ "MultiTenancySide": 3, "MenuGroup": "Erp" }, - { - "GroupName": "App.Maintenance", - "Name": "App.Maintenance.Workcenter", - "ParentName": null, - "DisplayName": "App.Maintenance.Workcenter", - "IsEnabled": true, - "MultiTenancySide": 3, - "MenuGroup": "Erp" - }, - { - "GroupName": "App.Maintenance", - "Name": "App.Maintenance.Workcenter.Create", - "ParentName": "App.Maintenance.Workcenter", - "DisplayName": "Create", - "IsEnabled": true, - "MultiTenancySide": 3, - "MenuGroup": "Erp" - }, - { - "GroupName": "App.Maintenance", - "Name": "App.Maintenance.Workcenter.Update", - "ParentName": "App.Maintenance.Workcenter", - "DisplayName": "Update", - "IsEnabled": true, - "MultiTenancySide": 3, - "MenuGroup": "Erp" - }, - { - "GroupName": "App.Maintenance", - "Name": "App.Maintenance.Workcenter.Delete", - "ParentName": "App.Maintenance.Workcenter", - "DisplayName": "Delete", - "IsEnabled": true, - "MultiTenancySide": 3, - "MenuGroup": "Erp" - }, - { - "GroupName": "App.Maintenance", - "Name": "App.Maintenance.Workcenter.Export", - "ParentName": "App.Maintenance.Workcenter", - "DisplayName": "Export", - "IsEnabled": true, - "MultiTenancySide": 3, - "MenuGroup": "Erp" - }, - { - "GroupName": "App.Maintenance", - "Name": "App.Maintenance.Workcenter.Import", - "ParentName": "App.Maintenance.Workcenter", - "DisplayName": "Import", - "IsEnabled": true, - "MultiTenancySide": 3, - "MenuGroup": "Erp" - }, - { - "GroupName": "App.Maintenance", - "Name": "App.Maintenance.Workcenter.Note", - "ParentName": "App.Maintenance.Workcenter", - "DisplayName": "Note", - "IsEnabled": true, - "MultiTenancySide": 3, - "MenuGroup": "Erp" - }, { "GroupName": "App.Maintenance", "Name": "App.Maintenance.Plans", diff --git a/api/src/Erp.Platform.EntityFrameworkCore/Tenants/Seeds/TenantData.json b/api/src/Erp.Platform.EntityFrameworkCore/Tenants/Seeds/TenantData.json index 3ed3489c..5524f9e5 100644 --- a/api/src/Erp.Platform.EntityFrameworkCore/Tenants/Seeds/TenantData.json +++ b/api/src/Erp.Platform.EntityFrameworkCore/Tenants/Seeds/TenantData.json @@ -4763,7 +4763,10 @@ ], "OrganizationUnits": [ { - "displayName": "Satış Takımı" + "displayName": "Satış Ekibi" + }, + { + "displayName": "Bakım Ekipleri" } ], "RequestTypes": [ diff --git a/ui/package-lock.json b/ui/package-lock.json index b7a9af83..1d39fbf6 100644 --- a/ui/package-lock.json +++ b/ui/package-lock.json @@ -72,6 +72,7 @@ "@typescript-eslint/parser": "^6.15.0", "@vitejs/plugin-react": "^4.2.1", "autoprefixer": "^10.4.14", + "baseline-browser-mapping": "^2.8.29", "browserslist": "^4.25.2", "caniuse-lite": "^1.0.30001734", "cssnano": "^6.0.1", @@ -4808,9 +4809,9 @@ "license": "MIT" }, "node_modules/baseline-browser-mapping": { - "version": "2.8.5", - "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.8.5.tgz", - "integrity": "sha512-TiU4qUT9jdCuh4aVOG7H1QozyeI2sZRqoRPdqBIaslfNt4WUSanRBueAwl2x5jt4rXBMim3lIN2x6yT8PDi24Q==", + "version": "2.8.29", + "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.8.29.tgz", + "integrity": "sha512-sXdt2elaVnhpDNRDz+1BDx1JQoJRuNk7oVlAlbGiFkLikHCAQiccexF/9e91zVi6RCgqspl04aP+6Cnl9zRLrA==", "dev": true, "license": "Apache-2.0", "bin": { @@ -8717,9 +8718,9 @@ "license": "MIT" }, "node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz", + "integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==", "dev": true, "license": "MIT", "dependencies": { @@ -12216,9 +12217,9 @@ } }, "node_modules/sucrase/node_modules/glob": { - "version": "10.4.5", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", - "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", + "version": "10.5.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.5.0.tgz", + "integrity": "sha512-DfXN8DfhJ7NH3Oe7cFmu3NCu1wKbkReJ8TorzSAFbSKrlNaQSKfIzqYqVY8zlbs2NLBbWpRiU52GX2PbaBVNkg==", "dev": true, "license": "ISC", "dependencies": { @@ -13200,9 +13201,9 @@ } }, "node_modules/vite": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/vite/-/vite-7.1.6.tgz", - "integrity": "sha512-SRYIB8t/isTwNn8vMB3MR6E+EQZM/WG1aKmmIUCfDXfVvKfc20ZpamngWHKzAmmu9ppsgxsg4b2I7c90JZudIQ==", + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/vite/-/vite-7.2.2.tgz", + "integrity": "sha512-BxAKBWmIbrDgrokdGZH1IgkIk/5mMHDreLDmCJ0qpyJaAteP8NvMhkwr/ZCQNqNH97bw/dANTE9PDzqwJghfMQ==", "dev": true, "license": "MIT", "dependencies": { diff --git a/ui/package.json b/ui/package.json index e461cc9c..21bb2d31 100644 --- a/ui/package.json +++ b/ui/package.json @@ -80,6 +80,7 @@ "@typescript-eslint/parser": "^6.15.0", "@vitejs/plugin-react": "^4.2.1", "autoprefixer": "^10.4.14", + "baseline-browser-mapping": "^2.8.29", "browserslist": "^4.25.2", "caniuse-lite": "^1.0.30001734", "cssnano": "^6.0.1", diff --git a/ui/src/views/public/Home.tsx b/ui/src/views/public/Home.tsx index 5f36740b..18bf6e76 100644 --- a/ui/src/views/public/Home.tsx +++ b/ui/src/views/public/Home.tsx @@ -15,8 +15,8 @@ import { FaRegComment, FaPhone, FaChevronLeft, - FaChevronRight -} from 'react-icons/fa'; + FaChevronRight, +} from 'react-icons/fa' import { useLocalization } from '@/utils/hooks/useLocalization' import { ROUTES_ENUM } from '@/routes/route.constant' import { Helmet } from 'react-helmet' @@ -27,74 +27,74 @@ const Home: React.FC = () => { const slides = [ { - title: "Türkiye'nin Lider Dil Kursu Yazılımı", - subtitle: "Dil eğitimi kurumlarınız için özel olarak tasarlanmış, kapsamlı ve kolay kullanımlı yazılım çözümü", + title: translate('::Public.hero.slide1.title'), + subtitle: translate('::Public.hero.slide1.subtitle'), services: [ { icon: , - title: translate('::Public.hero.service1.title'), - desc: translate('::Public.hero.service1.desc') + title: translate('::Public.hero.slide1.service1.title'), + desc: translate('::Public.hero.slide1.service1.desc'), }, { icon: , - title: translate('::Public.hero.service2.title'), - desc: translate('::Public.hero.service2.desc') + title: translate('::Public.hero.slide1.service2.title'), + desc: translate('::Public.hero.slide1.service2.desc'), }, { icon: , - title: translate('::Public.hero.service3.title'), - desc: translate('::Public.hero.service3.desc') - } - ] + title: translate('::Public.hero.slide1.service3.title'), + desc: translate('::Public.hero.slide1.service3.desc'), + }, + ], }, { - title: "Yeni Nesil ERP Platformu", - subtitle: "İşletmenizi dijital dönüşüme hazırlayan, entegre ve ölçeklenebilir kurumsal kaynak planlama sistemi", + title: translate('::Public.hero.slide2.title'), + subtitle: translate('::Public.hero.slide2.subtitle'), services: [ { icon: , - title: "İş Zekası", - desc: "Gelişmiş raporlama ve analitik araçlar" + title: translate('::Public.hero.slide2.service1.title'), + desc: translate('::Public.hero.slide2.service1.desc'), }, { icon: , - title: "Finans Yönetimi", - desc: "Tam entegre muhasebe ve finans modülü" + title: translate('::Public.hero.slide2.service2.title'), + desc: translate('::Public.hero.slide2.service2.desc'), }, { icon: , - title: "Veri Güvenliği", - desc: "Kurumsal düzeyde veri koruma" - } - ] + title: translate('::Public.hero.slide2.service3.title'), + desc: translate('::Public.hero.slide2.service3.desc'), + }, + ], }, { - title: "Low Code Platform", - subtitle: "Kod yazmadan hızlı uygulama geliştirin, iş süreçlerinizi kolayca dijitalleştirin", + title: translate('::Public.hero.slide3.title'), + subtitle: translate('::Public.hero.slide3.subtitle'), services: [ { icon: , - title: "Görsel Tasarım", - desc: "Sürükle-bırak ile uygulama geliştirme" + title: translate('::Public.hero.slide3.service1.title'), + desc: translate('::Public.hero.slide3.service1.desc'), }, { icon: , - title: "Otomatik API", - desc: "Otomatik oluşturulan RESTful servisler" + title: translate('::Public.hero.slide3.service2.title'), + desc: translate('::Public.hero.slide3.service2.desc'), }, { icon: , - title: "Çoklu Platform", - desc: "Web, mobil ve desktop uygulamalar" - } - ] - } + title: translate('::Public.hero.slide3.service3.title'), + desc: translate('::Public.hero.slide3.service3.desc'), + }, + ], + }, ] useEffect(() => { const timer = setInterval(() => { setCurrentSlide((prev) => (prev + 1) % slides.length) - }, 5000) + }, 10000) return () => clearInterval(timer) }, []) @@ -206,8 +206,8 @@ const Home: React.FC = () => { index === currentSlide ? 'opacity-100 translate-x-0' : index < currentSlide - ? 'opacity-0 -translate-x-full' - : 'opacity-0 translate-x-full' + ? 'opacity-0 -translate-x-full' + : 'opacity-0 translate-x-full' }`} >
@@ -242,9 +242,7 @@ const Home: React.FC = () => { className="bg-white/5 backdrop-blur-sm rounded-2xl p-8 text-center hover:scale-105 hover:bg-white/10 transition-all" > {service.icon} -

- {service.title} -

+

{service.title}

{service.desc}

))} @@ -278,9 +276,7 @@ const Home: React.FC = () => { key={index} onClick={() => setCurrentSlide(index)} className={`w-3 h-3 rounded-full transition-all ${ - index === currentSlide - ? 'bg-white w-8' - : 'bg-white/50 hover:bg-white/70' + index === currentSlide ? 'bg-white w-8' : 'bg-white/50 hover:bg-white/70' }`} aria-label={`Go to slide ${index + 1}`} />