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')}