From e34755d5d7170ac5bdea6b1ba971ae253d756d34 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sedat=20=C3=96ZT=C3=9CRK?= <76204082+iamsedatozturk@users.noreply.github.com> Date: Tue, 11 Nov 2025 16:23:12 +0300 Subject: [PATCH] =?UTF-8?q?currentLocalDate=20yeni=20tarih=20format=C4=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../components/template/LanguageSelector.tsx | 1 - ui/src/utils/dateUtils.ts | 7 +++++ .../admin/activityLog/components/Log.tsx | 4 ++- ui/src/views/crm/components/CustomerCards.tsx | 5 +++- ui/src/views/crm/components/CustomerList.tsx | 4 ++- ui/src/views/crm/components/CustomerView.tsx | 28 +++++++++++-------- ui/src/views/crm/components/SalesTeamView.tsx | 13 +++++---- ui/src/views/intranet/Dashboard.tsx | 9 ++++-- .../modals/AnnouncementDetailModal.tsx | 7 +++-- .../intranet/widgets/ActiveReservations.tsx | 8 ++++-- .../views/intranet/widgets/ActiveSurveys.tsx | 6 +++- .../intranet/widgets/LeaveManagement.tsx | 6 +++- .../views/intranet/widgets/MealWeeklyMenu.tsx | 6 +++- .../intranet/widgets/OvertimeManagement.tsx | 6 +++- .../views/intranet/widgets/PriorityTasks.tsx | 6 +++- .../views/intranet/widgets/UpcomingEvents.tsx | 6 +++- .../intranet/widgets/UpcomingTrainings.tsx | 9 ++++-- .../maintenance/components/WorkCenterList.tsx | 7 +++-- .../mrp/components/ProductionOrderList.tsx | 9 ++++-- .../views/project/components/ProjectForm.tsx | 13 +++++---- .../views/project/components/ProjectList.tsx | 11 +++++--- .../views/project/components/ProjectView.tsx | 21 ++++++++------ .../components/PurchaseRequisitionList.tsx | 7 +++-- 23 files changed, 137 insertions(+), 62 deletions(-) diff --git a/ui/src/components/template/LanguageSelector.tsx b/ui/src/components/template/LanguageSelector.tsx index 70dc1c9c..d3f1e2ff 100644 --- a/ui/src/components/template/LanguageSelector.tsx +++ b/ui/src/components/template/LanguageSelector.tsx @@ -10,7 +10,6 @@ import { FaCheck } from 'react-icons/fa' import type { CommonProps } from '@/proxy/common' import appConfig from '@/proxy/configs/app.config' import { dateLocales } from '@/constants/dateLocales.constant' -import { Tooltip } from '../ui' import { useLocalization } from '@/utils/hooks/useLocalization' const _LanguageSelector = ({ className }: CommonProps) => { diff --git a/ui/src/utils/dateUtils.ts b/ui/src/utils/dateUtils.ts index 586f2b79..fb327071 100644 --- a/ui/src/utils/dateUtils.ts +++ b/ui/src/utils/dateUtils.ts @@ -1,3 +1,5 @@ +import dayjs from 'dayjs' + // Veritabanındaki tarihi olduğu gibi göstermek için yardımcı fonksiyon export function showDbDateAsIs(dateStr: string) { if (!dateStr) return '' @@ -5,3 +7,8 @@ export function showDbDateAsIs(dateStr: string) { // Sadece ilk 19 karakteri (YYYY-MM-DD HH:mm:ss) al return dateStr.replace('T', ' ').substring(0, 19) } + +// Locale parametresi alan fonksiyon - hook kullanmadan +export function currentLocalDate(date: Date, locale: string, format: string = 'LL') { + return dayjs(date).locale(locale).format(format) +} diff --git a/ui/src/views/admin/activityLog/components/Log.tsx b/ui/src/views/admin/activityLog/components/Log.tsx index 0dd8f46f..82412f50 100644 --- a/ui/src/views/admin/activityLog/components/Log.tsx +++ b/ui/src/views/admin/activityLog/components/Log.tsx @@ -10,6 +10,7 @@ import isEmpty from 'lodash/isEmpty' import keys from 'lodash/keys' import Event from './Event' import TimeLineAvatar from './TimeLineAvatar' +import useLocale from '@/utils/hooks/useLocale' const Log = ({ notifications, @@ -23,6 +24,7 @@ const Log = ({ loadable: boolean }) => { const { translate } = useLocalization() + const currentLocale = useLocale() return ( @@ -30,7 +32,7 @@ const Log = ({ {keys(notifications).map((group) => (
- {dayjs(group).format('dddd, MMMM D, YYYY')} + {dayjs(group).locale(currentLocale).format('LL')}
{isEmpty(notifications[group]) ? ( diff --git a/ui/src/views/crm/components/CustomerCards.tsx b/ui/src/views/crm/components/CustomerCards.tsx index 6345aba4..6411f30b 100644 --- a/ui/src/views/crm/components/CustomerCards.tsx +++ b/ui/src/views/crm/components/CustomerCards.tsx @@ -32,12 +32,14 @@ import { getCustomerSegmentText, } from '../../../utils/erp' import { ROUTES_ENUM } from '@/routes/route.constant' +import useLocale from '@/utils/hooks/useLocale' const CustomerCards: React.FC = () => { const [searchTerm, setSearchTerm] = useState('') const [filterStatus, setFilterStatus] = useState('all') const [filterSegment, setFilterSegment] = useState('all') const [showFilters, setShowFilters] = useState(false) + const currentLocale = useLocale() const { data: customers, @@ -377,7 +379,8 @@ const CustomerCards: React.FC = () => { {customer.lastOrderDate && (
- {dayjs(customer.lastOrderDate).format('DD.MM.YY')} + + {dayjs(customer.lastOrderDate).locale(currentLocale).format('LL')}
)}
diff --git a/ui/src/views/crm/components/CustomerList.tsx b/ui/src/views/crm/components/CustomerList.tsx index fdde67e3..85f1b525 100644 --- a/ui/src/views/crm/components/CustomerList.tsx +++ b/ui/src/views/crm/components/CustomerList.tsx @@ -30,12 +30,14 @@ import { getCustomerSegmentText, } from '../../../utils/erp' import { ROUTES_ENUM } from '@/routes/route.constant' +import useLocale from '@/utils/hooks/useLocale' const CustomerList: React.FC = () => { const [searchTerm, setSearchTerm] = useState('') const [filterStatus, setFilterStatus] = useState('all') const [filterSegment, setFilterSegment] = useState('all') const [showFilters, setShowFilters] = useState(false) + const currentLocale = useLocale() const { data: customers, @@ -360,7 +362,7 @@ const CustomerList: React.FC = () => { {customer.lastOrderDate && (
- {dayjs(customer.lastOrderDate).format('DD.MM.YYYY')} + {dayjs(customer.lastOrderDate).locale(currentLocale).format('LL')}
)}
Son sipariş
diff --git a/ui/src/views/crm/components/CustomerView.tsx b/ui/src/views/crm/components/CustomerView.tsx index b71e72af..579d812a 100644 --- a/ui/src/views/crm/components/CustomerView.tsx +++ b/ui/src/views/crm/components/CustomerView.tsx @@ -36,11 +36,14 @@ import { import { BusinessPartyStatusEnum } from '../../../types/common' import { Container } from '@/components/shared' import { ROUTES_ENUM } from '@/routes/route.constant' +import { currentLocalDate } from '@/utils/dateUtils' +import useLocale from '@/utils/hooks/useLocale' const CustomerView: React.FC = () => { const { id } = useParams<{ id: string }>() const navigate = useNavigate() const [activeTab, setActiveTab] = useState('overview') + const currentLocale = useLocale() const { data: customer, @@ -325,8 +328,9 @@ const CustomerView: React.FC = () => {
Son Sipariş: + {customer.lastOrderDate - ? dayjs(customer.lastOrderDate).format('DD.MM.YYYY') + ? currentLocalDate(customer.lastOrderDate, currentLocale || 'tr') : 'Henüz sipariş yok'}
@@ -341,7 +345,7 @@ const CustomerView: React.FC = () => {
Kayıt Tarihi: - {dayjs(customer.creationTime).format('DD.MM.YYYY')} + {currentLocalDate(customer.creationTime, currentLocale || 'tr')}
@@ -476,7 +480,7 @@ const CustomerView: React.FC = () => {

Yeni sipariş oluşturuldu

- {dayjs().subtract(2, 'hour').format('HH:mm')} + {currentLocalDate(dayjs().subtract(2, 'hour').toDate(), currentLocale || 'tr')}

@@ -485,7 +489,7 @@ const CustomerView: React.FC = () => {

Teklif onaylandı

- {dayjs().subtract(1, 'day').format('DD.MM.YYYY')} + {currentLocalDate(dayjs().subtract(1, 'day').toDate(), currentLocale || 'tr')}

@@ -494,7 +498,7 @@ const CustomerView: React.FC = () => {

Görüşme yapıldı

- {dayjs().subtract(3, 'day').format('DD.MM.YYYY')} + {currentLocalDate(dayjs().subtract(3, 'day').toDate(), currentLocale || 'tr')}

@@ -761,7 +765,7 @@ const CustomerView: React.FC = () => { Kayıt Tarihi

- {dayjs(customer.creationTime).format('DD.MM.YYYY')} + {currentLocalDate(customer.creationTime, currentLocale || 'tr')}

@@ -769,7 +773,7 @@ const CustomerView: React.FC = () => { Son Güncelleme

- {dayjs(customer.lastModificationTime).format('DD.MM.YYYY')} + {currentLocalDate(customer.lastModificationTime, currentLocale || 'tr')}

@@ -893,7 +897,7 @@ const CustomerView: React.FC = () => { Son Sipariş Tarihi

- {dayjs(customer.lastOrderDate).format('DD.MM.YYYY')} + {currentLocalDate(customer.lastOrderDate, currentLocale || 'tr')}

)} @@ -917,7 +921,7 @@ const CustomerView: React.FC = () => {

Müşteri Kaydı Oluşturuldu

- {dayjs(customer.creationTime).format('DD.MM.YYYY HH:mm')} + {currentLocalDate(customer.creationTime, currentLocale || 'tr')}
@@ -929,7 +933,7 @@ const CustomerView: React.FC = () => {

Son Güncelleme

- {dayjs(customer.lastModificationTime).format('DD.MM.YYYY HH:mm')} + {currentLocalDate(customer.lastModificationTime, currentLocale || 'tr')}

Müşteri bilgileri güncellendi.

@@ -943,11 +947,11 @@ const CustomerView: React.FC = () => {

Son Sipariş

- {dayjs(customer.lastOrderDate).format('DD.MM.YYYY')} + {currentLocalDate(customer.lastOrderDate, currentLocale || 'tr')}

- Son sipariş tarihi: {dayjs(customer.lastOrderDate).format('DD.MM.YYYY')} + Son sipariş tarihi: {currentLocalDate(customer.lastOrderDate, currentLocale || 'tr')}

diff --git a/ui/src/views/crm/components/SalesTeamView.tsx b/ui/src/views/crm/components/SalesTeamView.tsx index d88d9097..0b9a348c 100644 --- a/ui/src/views/crm/components/SalesTeamView.tsx +++ b/ui/src/views/crm/components/SalesTeamView.tsx @@ -19,6 +19,8 @@ import { Team, TeamRoleEnum } from '../../../types/common' import { getTeamRoleText } from '../../../utils/erp' import { Container } from '@/components/shared' import { ROUTES_ENUM } from '@/routes/route.constant' +import { currentLocalDate } from '@/utils/dateUtils' +import useLocale from '@/utils/hooks/useLocale' const SalesTeamView: React.FC = () => { const navigate = useNavigate() @@ -70,6 +72,7 @@ const SalesTeamView: React.FC = () => { const performance = calculateTeamPerformance(team) const revenue = calculateTeamRevenue(team) const activeTarget = team.targets?.find((t) => t.status === 'ACTIVE') + const currentLocale = useLocale() return ( @@ -211,7 +214,7 @@ const SalesTeamView: React.FC = () => { -

{dayjs(team.creationTime).format('DD.MM.YYYY')}

+

{currentLocalDate(team.creationTime, currentLocale || 'tr')}

@@ -219,7 +222,7 @@ const SalesTeamView: React.FC = () => { Son Güncelleme

- {dayjs(team.lastModificationTime).format('DD.MM.YYYY')} + {currentLocalDate(team.lastModificationTime, currentLocale || 'tr')}

@@ -246,7 +249,7 @@ const SalesTeamView: React.FC = () => {

{member.employee?.fullName}

- Katılım: {dayjs(member.joinDate).format('DD.MM.YYYY')} + Katılım: {currentLocalDate(member.joinDate, currentLocale || 'tr')}

@@ -399,8 +402,8 @@ const SalesTeamView: React.FC = () => { Başlangıç - Bitiş

- {dayjs(activeTarget.startDate).format('DD.MM.YYYY')} -{' '} - {dayjs(activeTarget.endDate).format('DD.MM.YYYY')} + {currentLocalDate(activeTarget.startDate, currentLocale || 'tr')} -{' '} + {currentLocalDate(activeTarget.endDate, currentLocale || 'tr')}

diff --git a/ui/src/views/intranet/Dashboard.tsx b/ui/src/views/intranet/Dashboard.tsx index 1581fc3b..6b458ef5 100644 --- a/ui/src/views/intranet/Dashboard.tsx +++ b/ui/src/views/intranet/Dashboard.tsx @@ -1,9 +1,9 @@ import React, { useState, useEffect } from 'react' import { AnimatePresence } from 'framer-motion' import dayjs from 'dayjs' -import 'dayjs/locale/tr' import relativeTime from 'dayjs/plugin/relativeTime' import isBetween from 'dayjs/plugin/isBetween' +import localizedFormat from 'dayjs/plugin/localizedFormat' // Widgets import TodayBirthdays from './widgets/TodayBirthdays' @@ -36,10 +36,12 @@ import { intranetService } from '@/services/intranet.service' import Announcements from './widgets/Announcements' import ShuttleRoute from './widgets/ShuttleRoute' import { useLocalization } from '@/utils/hooks/useLocalization' +import useLocale from '@/utils/hooks/useLocale' +import { currentLocalDate } from '@/utils/dateUtils' -dayjs.locale('tr') dayjs.extend(relativeTime) dayjs.extend(isBetween) +dayjs.extend(localizedFormat) const WIDGET_ORDER_KEY = 'dashboard-widget-order' @@ -61,6 +63,7 @@ const IntranetDashboard: React.FC = () => { const [intranetDashboard, setIntranetDashboard] = useState() const { translate } = useLocalization() + const currentLocale = useLocale() const fetchIntranetDashboard = async () => { const dashboard = await intranetService.getDashboard() @@ -507,7 +510,7 @@ const IntranetDashboard: React.FC = () => {

{translate('::AI.Welcome')},{' '} - {dayjs().format('DD MMMM YYYY dddd')} + {currentLocalDate(new Date(), currentLocale || 'tr')}

diff --git a/ui/src/views/intranet/modals/AnnouncementDetailModal.tsx b/ui/src/views/intranet/modals/AnnouncementDetailModal.tsx index 8e9aed1b..b98c9b5c 100644 --- a/ui/src/views/intranet/modals/AnnouncementDetailModal.tsx +++ b/ui/src/views/intranet/modals/AnnouncementDetailModal.tsx @@ -3,6 +3,8 @@ import { motion } from 'framer-motion' import { FaTimes, FaEye, FaClipboard } from 'react-icons/fa' import dayjs from 'dayjs' import { AnnouncementDto } from '@/proxy/intranet/models' +import useLocale from '@/utils/hooks/useLocale' +import { currentLocalDate } from '@/utils/dateUtils' interface AnnouncementDetailModalProps { announcement: AnnouncementDto @@ -10,6 +12,7 @@ interface AnnouncementDetailModalProps { } const AnnouncementDetailModal: React.FC = ({ announcement, onClose }) => { + const currentLocale = useLocale() const getCategoryColor = (category: string) => { const colors: Record = { general: 'bg-blue-100 dark:bg-blue-900/30 text-blue-700 dark:text-blue-300', @@ -81,7 +84,7 @@ const AnnouncementDetailModal: React.FC = ({ annou

- {dayjs(announcement.publishDate).format('DD MMMM YYYY, HH:mm')} + {currentLocalDate(announcement.publishDate, currentLocale || 'tr')} @@ -171,7 +174,7 @@ const AnnouncementDetailModal: React.FC = ({ annou

Son Geçerlilik Tarihi:{' '} - {dayjs(announcement.expiryDate).format('DD MMMM YYYY')} + {currentLocalDate(announcement.expiryDate, currentLocale || 'tr')}

)} diff --git a/ui/src/views/intranet/widgets/ActiveReservations.tsx b/ui/src/views/intranet/widgets/ActiveReservations.tsx index cb00adc4..d389b726 100644 --- a/ui/src/views/intranet/widgets/ActiveReservations.tsx +++ b/ui/src/views/intranet/widgets/ActiveReservations.tsx @@ -2,6 +2,8 @@ import React from 'react' import { FaKey, FaPlus } from 'react-icons/fa' import dayjs from 'dayjs' import { ReservationDto } from '@/proxy/intranet/models' +import useLocale from '@/utils/hooks/useLocale' +import { currentLocalDate } from '@/utils/dateUtils' interface ActiveReservationsProps { reservations: ReservationDto[] @@ -12,6 +14,8 @@ const ActiveReservations: React.FC = ({ reservations, onNewReservation, }) => { + const currentLocale = useLocale() + return (
@@ -42,8 +46,8 @@ const ActiveReservations: React.FC = ({

- {dayjs(reservation.startDate).format('DD MMM HH:mm')} -{' '} - {dayjs(reservation.endDate).format('HH:mm')} + {currentLocalDate(reservation.startDate, currentLocale || 'tr')} -{' '} + {currentLocalDate(reservation.endDate, currentLocale || 'tr')}

))} diff --git a/ui/src/views/intranet/widgets/ActiveSurveys.tsx b/ui/src/views/intranet/widgets/ActiveSurveys.tsx index ad5c2211..15897d98 100644 --- a/ui/src/views/intranet/widgets/ActiveSurveys.tsx +++ b/ui/src/views/intranet/widgets/ActiveSurveys.tsx @@ -2,6 +2,8 @@ import React from 'react' import { FaClipboardCheck, FaQuestionCircle, FaUsers, FaClock, FaArrowRight } from 'react-icons/fa' import dayjs from 'dayjs' import { SurveyDto } from '@/proxy/intranet/models' +import useLocale from '@/utils/hooks/useLocale' +import { currentLocalDate } from '@/utils/dateUtils' // import { mockSurveys } from '../../../mocks/mockIntranet' interface ActiveSurveysProps { @@ -10,6 +12,8 @@ interface ActiveSurveysProps { } const ActiveSurveys: React.FC = ({ surveys, onTakeSurvey }) => { + const currentLocale = useLocale() + return (
{/* Header with gradient */} @@ -110,7 +114,7 @@ const ActiveSurveys: React.FC = ({ surveys, onTakeSurvey }) {/* Deadline */}

- Son tarih: {dayjs(survey.deadline).format('DD MMMM YYYY')} + Son tarih: {currentLocalDate(survey.deadline, currentLocale || 'tr')}

{/* Action Button */} diff --git a/ui/src/views/intranet/widgets/LeaveManagement.tsx b/ui/src/views/intranet/widgets/LeaveManagement.tsx index 3a65e66b..bd7adcf7 100644 --- a/ui/src/views/intranet/widgets/LeaveManagement.tsx +++ b/ui/src/views/intranet/widgets/LeaveManagement.tsx @@ -3,6 +3,8 @@ import { FaCalendarAlt, FaPlus } from 'react-icons/fa' import dayjs from 'dayjs' import { LeaveStatusEnum, LeaveTypeEnum } from '../../../types/hr' import { LeaveDto } from '@/proxy/intranet/models' +import useLocale from '@/utils/hooks/useLocale' +import { currentLocalDate } from '@/utils/dateUtils' interface LeaveManagementProps { leaves: LeaveDto[] @@ -10,6 +12,8 @@ interface LeaveManagementProps { } const LeaveManagement: React.FC = ({ leaves, onNewLeave }) => { + const currentLocale = useLocale() + return (
@@ -66,7 +70,7 @@ const LeaveManagement: React.FC = ({ leaves, onNewLeave })

- {dayjs(leave.startDate).format('DD MMM')} - {dayjs(leave.endDate).format('DD MMM')}{' '} + {currentLocalDate(leave.startDate, currentLocale || 'tr')} - {currentLocalDate(leave.endDate, currentLocale || 'tr')}{' '} ({leave.totalDays} gün)

diff --git a/ui/src/views/intranet/widgets/MealWeeklyMenu.tsx b/ui/src/views/intranet/widgets/MealWeeklyMenu.tsx index 4bcaa225..6b6583f4 100644 --- a/ui/src/views/intranet/widgets/MealWeeklyMenu.tsx +++ b/ui/src/views/intranet/widgets/MealWeeklyMenu.tsx @@ -4,10 +4,14 @@ import dayjs from 'dayjs' import isBetween from 'dayjs/plugin/isBetween' import { Badge } from '@/components/ui' import { MealDto } from '@/proxy/intranet/models' +import useLocale from '@/utils/hooks/useLocale' +import { currentLocalDate } from '@/utils/dateUtils' dayjs.extend(isBetween) const MealWeeklyMenu: React.FC<{ meals: MealDto[] }> = ({ meals }) => { + const currentLocale = useLocale() + return (
@@ -32,7 +36,7 @@ const MealWeeklyMenu: React.FC<{ meals: MealDto[] }> = ({ meals }) => {

- {dayjs(menu.date).format('DD MMMM')} {dayjs(menu.date).format('dddd')} + {currentLocalDate(menu.date, currentLocale || 'tr')} {dayjs(menu.date).format('dddd')}

{isToday && ( diff --git a/ui/src/views/intranet/widgets/OvertimeManagement.tsx b/ui/src/views/intranet/widgets/OvertimeManagement.tsx index 6b1b2e4a..9589dfc4 100644 --- a/ui/src/views/intranet/widgets/OvertimeManagement.tsx +++ b/ui/src/views/intranet/widgets/OvertimeManagement.tsx @@ -3,6 +3,8 @@ import { FaClock, FaPlus } from 'react-icons/fa' import dayjs from 'dayjs' import { LeaveStatusEnum } from '../../../types/hr' import { OvertimeDto } from '@/proxy/intranet/models' +import useLocale from '@/utils/hooks/useLocale' +import { currentLocalDate } from '@/utils/dateUtils' interface OvertimeManagementProps { overtimes: OvertimeDto[] @@ -10,6 +12,8 @@ interface OvertimeManagementProps { } const OvertimeManagement: React.FC = ({ overtimes, onNewOvertime }) => { + const currentLocale = useLocale() + return (
@@ -54,7 +58,7 @@ const OvertimeManagement: React.FC = ({ overtimes, onNe

- {dayjs(overtime.date).format('DD MMM YYYY')} + {currentLocalDate(overtime.date, currentLocale || 'tr')}

))} diff --git a/ui/src/views/intranet/widgets/PriorityTasks.tsx b/ui/src/views/intranet/widgets/PriorityTasks.tsx index f65aad3e..23853897 100644 --- a/ui/src/views/intranet/widgets/PriorityTasks.tsx +++ b/ui/src/views/intranet/widgets/PriorityTasks.tsx @@ -4,8 +4,12 @@ import dayjs from 'dayjs' import { mockProjectTasks } from '../../../mocks/mockProjectTasks' import { PriorityEnum } from '../../../types/common' import { TaskStatusEnum } from '../../../types/ps' +import useLocale from '@/utils/hooks/useLocale' +import { currentLocalDate } from '@/utils/dateUtils' const PriorityTasks: React.FC = () => { + const currentLocale = useLocale() + const priorityTasks = mockProjectTasks .filter((t) => t.priority === PriorityEnum.High || t.priority === PriorityEnum.Urgent) .slice(0, 3) @@ -58,7 +62,7 @@ const PriorityTasks: React.FC = () => {
- {dayjs(task.endDate).format('DD MMM')} + {currentLocalDate(task.endDate, currentLocale || 'tr')} diff --git a/ui/src/views/intranet/widgets/UpcomingEvents.tsx b/ui/src/views/intranet/widgets/UpcomingEvents.tsx index c4b37344..96d86e19 100644 --- a/ui/src/views/intranet/widgets/UpcomingEvents.tsx +++ b/ui/src/views/intranet/widgets/UpcomingEvents.tsx @@ -2,8 +2,12 @@ import React from 'react' import { FaCalendarAlt } from 'react-icons/fa' import dayjs from 'dayjs' import { EventDto } from '@/proxy/intranet/models' +import useLocale from '@/utils/hooks/useLocale' +import { currentLocalDate } from '@/utils/dateUtils' const UpcomingEvents: React.FC<{ events: EventDto[] }> = ({ events }) => { + const currentLocale = useLocale() + const upcomingEvents = events.filter( (event) => event.isPublished && @@ -28,7 +32,7 @@ const UpcomingEvents: React.FC<{ events: EventDto[] }> = ({ events }) => { >

{event.name}

- {dayjs(event.date).format('DD MMMM YYYY')} - {event.place} + {currentLocalDate(event.date, currentLocale || 'tr')} - {event.place}

)) diff --git a/ui/src/views/intranet/widgets/UpcomingTrainings.tsx b/ui/src/views/intranet/widgets/UpcomingTrainings.tsx index 141d4ebc..02b3328e 100644 --- a/ui/src/views/intranet/widgets/UpcomingTrainings.tsx +++ b/ui/src/views/intranet/widgets/UpcomingTrainings.tsx @@ -1,9 +1,12 @@ import React from 'react' import { FaGraduationCap } from 'react-icons/fa' -import dayjs from 'dayjs' import { TrainingDto } from '@/proxy/intranet/models' +import { currentLocalDate } from '@/utils/dateUtils' +import useLocale from '@/utils/hooks/useLocale' const UpcomingTrainings: React.FC<{ trainings: TrainingDto[] }> = ({ trainings }) => { + const currentLocale = useLocale() + return (
@@ -29,8 +32,8 @@ const UpcomingTrainings: React.FC<{ trainings: TrainingDto[] }> = ({ trainings }

- {dayjs(training.startDate).format('DD MMM')} -{' '} - {dayjs(training.endDate).format('DD MMM')} + {currentLocalDate(training.startDate, currentLocale || 'tr', 'DD MMM')} -{' '} + {currentLocalDate(training.endDate, currentLocale || 'tr', 'DD MMM')} {training.enrolled}/{training.maxParticipants} diff --git a/ui/src/views/maintenance/components/WorkCenterList.tsx b/ui/src/views/maintenance/components/WorkCenterList.tsx index ac23bb2a..0282e17b 100644 --- a/ui/src/views/maintenance/components/WorkCenterList.tsx +++ b/ui/src/views/maintenance/components/WorkCenterList.tsx @@ -29,12 +29,15 @@ import { } from '../../../utils/erp' import { Container } from '@/components/shared' import { ROUTES_ENUM } from '@/routes/route.constant' +import useLocale from '@/utils/hooks/useLocale' +import { currentLocalDate } from '@/utils/dateUtils' const WorkCenterList: React.FC = () => { const [searchTerm, setSearchTerm] = useState('') const [filterStatus, setFilterStatus] = useState('all') const [filterCriticality, setFilterCriticality] = useState('all') const [showFilters, setShowFilters] = useState(false) + const currentLocale = useLocale() const { data: workCenter, @@ -330,11 +333,11 @@ const WorkCenterList: React.FC = () => {
- {dayjs(eq.installationDate).format('DD.MM.YYYY')} + {currentLocalDate(eq.installationDate, currentLocale || 'tr')}
{eq.warrantyExpiry && (
- Garanti: {dayjs(eq.warrantyExpiry).format('DD.MM.YYYY')} + Garanti: {currentLocalDate(eq.warrantyExpiry, currentLocale || 'tr')}
)}
diff --git a/ui/src/views/mrp/components/ProductionOrderList.tsx b/ui/src/views/mrp/components/ProductionOrderList.tsx index b2772da1..e4fa4230 100644 --- a/ui/src/views/mrp/components/ProductionOrderList.tsx +++ b/ui/src/views/mrp/components/ProductionOrderList.tsx @@ -40,6 +40,8 @@ import { import { WorkOrderStatusEnum } from '../../../types/pm' import { Container } from '@/components/shared' import { ROUTES_ENUM } from '@/routes/route.constant' +import useLocale from '@/utils/hooks/useLocale' +import { currentLocalDate } from '@/utils/dateUtils' const ProductionOrderList: React.FC = () => { const [searchTerm, setSearchTerm] = useState('') @@ -49,6 +51,7 @@ const ProductionOrderList: React.FC = () => { const [filterMaterial, setFilterMaterial] = useState('') const [filterOrderNumber, setFilterOrderNumber] = useState('') const [filterCustomer, setFilterCustomer] = useState('') + const currentLocale = useLocale() // Modal states const [showCreateModal, setShowCreateModal] = useState(false) @@ -881,14 +884,14 @@ const ProductionOrderList: React.FC = () => {
- {dayjs(order.plannedStartDate).format('DD.MM.YYYY')} + {currentLocalDate(order.plannedStartDate, currentLocale || 'tr')}
- Bitiş: {dayjs(order.plannedEndDate).format('DD.MM.YYYY')} + Bitiş: {currentLocalDate(order.plannedEndDate, currentLocale || 'tr')}
{order.actualStartDate && (
- Başladı: {dayjs(order.actualStartDate).format('DD.MM.YYYY')} + Başladı: {currentLocalDate(order.actualStartDate, currentLocale || 'tr')}
)}
diff --git a/ui/src/views/project/components/ProjectForm.tsx b/ui/src/views/project/components/ProjectForm.tsx index 8c685098..f6d08b66 100644 --- a/ui/src/views/project/components/ProjectForm.tsx +++ b/ui/src/views/project/components/ProjectForm.tsx @@ -67,6 +67,8 @@ import { Container } from '@/components/shared' import { ROUTES_ENUM } from '@/routes/route.constant' import { mockCurrencies } from '@/mocks/mockCurrencies' import { EmployeeDto } from '@/proxy/intranet/models' +import useLocale from '@/utils/hooks/useLocale' +import { currentLocalDate } from '@/utils/dateUtils' // Custom styles for the slider const sliderStyles = ` @@ -109,6 +111,7 @@ const ProjectForm: React.FC = () => { const navigate = useNavigate() const { id } = useParams<{ id: string }>() const isEdit = Boolean(id) + const currentLocale = useLocale() const [loading, setLoading] = useState(false) const [saving, setSaving] = useState(false) @@ -707,8 +710,8 @@ const ProjectForm: React.FC = () => {

Süre (Gün)

- {dayjs(formData.startDate).format('DD.MM.YYYY')} -{' '} - {dayjs(formData.endDate).format('DD.MM.YYYY')} + {currentLocalDate(formData.startDate, currentLocale || 'tr')} -{' '} + {currentLocalDate(formData.endDate, currentLocale || 'tr')}
@@ -1419,9 +1422,9 @@ const ProjectForm: React.FC = () => {

{phase.description}

- Başlangıç: {dayjs(phase.startDate).format('DD.MM.YYYY')} + Başlangıç: {currentLocalDate(phase.startDate, currentLocale || 'tr')} - Bitiş: {dayjs(phase.endDate).format('DD.MM.YYYY')} + Bitiş: {currentLocalDate(phase.endDate, currentLocale || 'tr')} Bütçe: ₺{phase.budget.toLocaleString()} İlerleme: %{phase.progress}
@@ -1581,7 +1584,7 @@ const ProjectForm: React.FC = () => {
{doc.documentType} {doc.fileSize} MB - {dayjs(doc.uploadedAt).format('DD.MM.YYYY')} + {currentLocalDate(new Date(doc.uploadedAt), currentLocale || 'tr')} Yükleyen: {doc.uploadedBy}
diff --git a/ui/src/views/project/components/ProjectList.tsx b/ui/src/views/project/components/ProjectList.tsx index 9ad058df..78c19087 100644 --- a/ui/src/views/project/components/ProjectList.tsx +++ b/ui/src/views/project/components/ProjectList.tsx @@ -37,6 +37,8 @@ import { } from '../../../utils/erp' import { Container } from '@/components/shared' import { ROUTES_ENUM } from '@/routes/route.constant' +import useLocale from '@/utils/hooks/useLocale' +import { currentLocalDate } from '@/utils/dateUtils' const ProjectList: React.FC = () => { const [searchTerm, setSearchTerm] = useState('') @@ -44,6 +46,7 @@ const ProjectList: React.FC = () => { const [filterPriority, setFilterPriority] = useState('all') const [showFilters, setShowFilters] = useState(false) const [viewMode, setViewMode] = useState<'card' | 'list'>('list') + const currentLocale = useLocale() // Modal states const [phasesModalOpen, setPhasesModalOpen] = useState(false) @@ -365,10 +368,10 @@ const ProjectList: React.FC = () => {
- {dayjs(project.startDate).format('DD.MM.YYYY')} + {currentLocalDate(new Date(project.startDate), currentLocale || 'tr')}
- Bitiş: {dayjs(project.endDate).format('DD.MM.YYYY')} + Bitiş: {currentLocalDate(new Date(project.endDate), currentLocale || 'tr')}
@@ -547,13 +550,13 @@ const ProjectList: React.FC = () => { Başlangıç
- {dayjs(project.startDate).format('DD.MM.YYYY')} + {currentLocalDate(new Date(project.startDate), currentLocale || 'tr')}
Bitiş - {dayjs(project.endDate).format('DD.MM.YYYY')} + {currentLocalDate(new Date(project.endDate), currentLocale || 'tr')}
diff --git a/ui/src/views/project/components/ProjectView.tsx b/ui/src/views/project/components/ProjectView.tsx index 91c4f4b9..f17e390b 100644 --- a/ui/src/views/project/components/ProjectView.tsx +++ b/ui/src/views/project/components/ProjectView.tsx @@ -36,11 +36,14 @@ import { } from '../../../utils/erp' import { Container } from '@/components/shared' import { ROUTES_ENUM } from '@/routes/route.constant' +import useLocale from '@/utils/hooks/useLocale' +import { currentLocalDate } from '@/utils/dateUtils' const ProjectView: React.FC = () => { const { id } = useParams<{ id: string }>() const navigate = useNavigate() const [activeTab, setActiveTab] = useState('overview') + const currentLocale = useLocale() // Find the project by ID const project = mockProjects.find((p) => p.id === id) @@ -258,20 +261,20 @@ const ProjectView: React.FC = () => {
Başlangıç Tarihi: - {dayjs(project.startDate).format('DD.MM.YYYY')} + {currentLocalDate(new Date(project.startDate), currentLocale || 'tr')}
Bitiş Tarihi: - {dayjs(project.endDate).format('DD.MM.YYYY')} + {currentLocalDate(new Date(project.endDate), currentLocale || 'tr')}
Gerçek Başlangıç: {project.actualStartDate - ? dayjs(project.actualStartDate).format('DD.MM.YYYY') + ? currentLocalDate(new Date(project.actualStartDate), currentLocale || 'tr') : 'Henüz başlamadı'}
@@ -397,13 +400,13 @@ const ProjectView: React.FC = () => {

Başlangıç

- {dayjs(phase.startDate).format('DD.MM.YYYY')} + {currentLocalDate(new Date(phase.startDate), currentLocale || 'tr')}

Bitiş

- {dayjs(phase.endDate).format('DD.MM.YYYY')} + {currentLocalDate(new Date(phase.endDate), currentLocale || 'tr')}

@@ -508,13 +511,13 @@ const ProjectView: React.FC = () => {

Başlangıç

- {dayjs(task.startDate).format('DD.MM.YYYY')} + {currentLocalDate(new Date(task.startDate), currentLocale || 'tr')}

Bitiş

- {dayjs(task.endDate).format('DD.MM.YYYY')} + {currentLocalDate(new Date(task.endDate), currentLocale || 'tr')}

@@ -589,7 +592,7 @@ const ProjectView: React.FC = () => {
{doc.documentType} {doc.fileSize} MB - {dayjs(doc.uploadedAt).format('DD.MM.YYYY')} + {currentLocalDate(new Date(doc.uploadedAt), currentLocale || 'tr')} Yükleyen: {doc.uploadedBy}
@@ -651,7 +654,7 @@ const ProjectView: React.FC = () => {
Risk Kodu: {risk.riskCode} - Tanımlama: {dayjs(risk.identifiedDate).format('DD.MM.YYYY')} + Tanımlama: {currentLocalDate(new Date(risk.identifiedDate), currentLocale || 'tr')}
diff --git a/ui/src/views/supplychain/components/PurchaseRequisitionList.tsx b/ui/src/views/supplychain/components/PurchaseRequisitionList.tsx index 5172765f..fc4bee84 100644 --- a/ui/src/views/supplychain/components/PurchaseRequisitionList.tsx +++ b/ui/src/views/supplychain/components/PurchaseRequisitionList.tsx @@ -29,12 +29,15 @@ import { } from '../../../utils/erp' import { Container } from '@/components/shared' import { ROUTES_ENUM } from '@/routes/route.constant' +import useLocale from '@/utils/hooks/useLocale' +import { currentLocalDate } from '@/utils/dateUtils' const PurchaseRequisitionList: React.FC = () => { const [searchTerm, setSearchTerm] = useState('') const [filterStatus, setFilterStatus] = useState('all') const [filterPriority, setFilterPriority] = useState('all') const [showFilters, setShowFilters] = useState(false) + const currentLocale = useLocale() const { data: requisitions, @@ -325,10 +328,10 @@ const PurchaseRequisitionList: React.FC = () => {
- {dayjs(requisition.requestDate).format('DD.MM.YYYY')} + {currentLocalDate(new Date(requisition.requestDate), currentLocale || 'tr')}
- İhtiyaç: {dayjs(requisition.requiredDate).format('DD.MM.YYYY')} + İhtiyaç: {currentLocalDate(new Date(requisition.requiredDate), currentLocale || 'tr')}