Compare commits

...

2 Commits

Author SHA1 Message Date
Flatlogic Bot
59f990bebb Autosave: 20260401-082056 2026-04-01 08:20:57 +00:00
Flatlogic Bot
e426a53f7e DTv-1 2026-04-01 00:45:15 +00:00
335 changed files with 6622 additions and 6379 deletions

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 499 KiB

View File

@ -20,6 +20,7 @@ const pexelsRoutes = require('./routes/pexels');
const organizationForAuthRoutes = require('./routes/organizationLogin'); const organizationForAuthRoutes = require('./routes/organizationLogin');
const openaiRoutes = require('./routes/openai'); const openaiRoutes = require('./routes/openai');
const salesHubRoutes = require('./routes/sales_hub');
@ -154,6 +155,7 @@ app.use('/api/leads', passport.authenticate('jwt', {session: false}), leadsRoute
app.use('/api/deals', passport.authenticate('jwt', {session: false}), dealsRoutes); app.use('/api/deals', passport.authenticate('jwt', {session: false}), dealsRoutes);
app.use('/api/activities', passport.authenticate('jwt', {session: false}), activitiesRoutes); app.use('/api/activities', passport.authenticate('jwt', {session: false}), activitiesRoutes);
app.use('/api/sales-hub', passport.authenticate('jwt', {session: false}), salesHubRoutes);
app.use('/api/materials', passport.authenticate('jwt', {session: false}), materialsRoutes); app.use('/api/materials', passport.authenticate('jwt', {session: false}), materialsRoutes);

View File

@ -0,0 +1,305 @@
const express = require('express');
const db = require('../db/models');
const wrapAsync = require('../helpers').wrapAsync;
const ActivitiesDBApi = require('../db/api/activities');
const router = express.Router();
const { QueryTypes } = db.Sequelize;
const RELATION_MODELS = {
lead: db.leads,
deal: db.deals,
contact: db.contacts,
};
const RELATION_LABELS = {
lead: 'Potansiyel müşteri',
deal: 'Fırsat',
contact: 'Kişi',
};
const ACTIVITY_TYPES = new Set([
'call',
'email',
'meeting',
'task',
'note',
'demo',
'follow_up',
]);
function getOrganizationId(currentUser) {
return (
currentUser?.organizations?.id ||
currentUser?.organization?.id ||
currentUser?.organizationsId ||
currentUser?.organizationId ||
null
);
}
function buildScopedWhere(alias, globalAccess, organizationId, extraClauses = []) {
const clauses = [`${alias}."deletedAt" IS NULL`];
if (!globalAccess && organizationId) {
clauses.push(`${alias}."organizationsId" = :organizationId`);
}
return [...clauses, ...extraClauses].join(' AND ');
}
async function findScopedEntity(model, id, organizationId, globalAccess) {
const where = { id };
if (!globalAccess && organizationId) {
where.organizationsId = organizationId;
}
return model.findOne({ where });
}
router.get(
'/',
wrapAsync(async (req, res) => {
const { currentUser } = req;
const globalAccess = Boolean(currentUser?.app_role?.globalAccess);
const organizationId = getOrganizationId(currentUser);
const replacements = {
userId: currentUser.id,
};
if (!globalAccess && organizationId) {
replacements.organizationId = organizationId;
}
const leadScope = buildScopedWhere('l', globalAccess, organizationId, [
'l."ownerId" = :userId',
'COALESCE(l.status, \'new\') NOT IN (\'disqualified\', \'converted\')',
]);
const dealScope = buildScopedWhere('d', globalAccess, organizationId, [
'd."ownerId" = :userId',
'COALESCE(d.status, \'open\') = \'open\'',
]);
const activityOpenScope = buildScopedWhere('a', globalAccess, organizationId, [
'a."assigned_toId" = :userId',
'COALESCE(a.status, \'planned\') NOT IN (\'done\', \'canceled\')',
]);
const activityDoneScope = buildScopedWhere('a', globalAccess, organizationId, [
'a."assigned_toId" = :userId',
'COALESCE(a.status, \'planned\') = \'done\'',
]);
const [statsRows, followUps, recentLeads, stageSummary, quickOptions] =
await Promise.all([
db.sequelize.query(
`SELECT
(SELECT COUNT(*)::int FROM "leads" l WHERE ${leadScope}) AS "myOpenLeads",
(SELECT COUNT(*)::int FROM "deals" d WHERE ${dealScope}) AS "myActiveDeals",
(SELECT COUNT(*)::int FROM "activities" a WHERE ${activityOpenScope} AND a."due_at" IS NOT NULL AND DATE(a."due_at") = CURRENT_DATE) AS "dueToday",
(SELECT COUNT(*)::int FROM "activities" a WHERE ${activityOpenScope} AND a."due_at" IS NOT NULL AND a."due_at" < NOW()) AS "overdue",
(SELECT COUNT(*)::int FROM "activities" a WHERE ${activityDoneScope} AND a."completed_at" >= NOW() - INTERVAL '7 days') AS "completedThisWeek"`,
{
replacements,
type: QueryTypes.SELECT,
},
),
db.sequelize.query(
`SELECT
a.id,
a.subject,
a.status,
a."activity_type" AS "activityType",
a."due_at" AS "dueAt",
COALESCE(d.name, l.title, NULLIF(TRIM(CONCAT(c.first_name, ' ', c.last_name)), ''), c.email, 'Unlinked activity') AS "relatedName",
CASE
WHEN a."dealId" IS NOT NULL THEN 'deal'
WHEN a."leadId" IS NOT NULL THEN 'lead'
WHEN a."contactId" IS NOT NULL THEN 'contact'
ELSE 'activity'
END AS "relatedType",
COALESCE(a."dealId", a."leadId", a."contactId") AS "relatedId"
FROM "activities" a
LEFT JOIN "deals" d ON d.id = a."dealId" AND d."deletedAt" IS NULL
LEFT JOIN "leads" l ON l.id = a."leadId" AND l."deletedAt" IS NULL
LEFT JOIN "contacts" c ON c.id = a."contactId" AND c."deletedAt" IS NULL
WHERE ${activityOpenScope}
ORDER BY
CASE WHEN a."due_at" IS NULL THEN 1 ELSE 0 END,
a."due_at" ASC,
a."createdAt" DESC
LIMIT 8`,
{
replacements,
type: QueryTypes.SELECT,
},
),
db.sequelize.query(
`SELECT
l.id,
l.title,
l.status,
l."estimated_value" AS "estimatedValue",
l."next_follow_up_at" AS "nextFollowUpAt",
c.name AS "companyName",
ps.name AS "stageName"
FROM "leads" l
LEFT JOIN "companies" c ON c.id = l."companyId" AND c."deletedAt" IS NULL
LEFT JOIN "pipeline_stages" ps ON ps.id = l."stageId" AND ps."deletedAt" IS NULL
WHERE ${leadScope}
ORDER BY l."createdAt" DESC
LIMIT 6`,
{
replacements,
type: QueryTypes.SELECT,
},
),
db.sequelize.query(
`SELECT
COALESCE(ps.id::text, 'unassigned') AS id,
COALESCE(ps.name, 'Unassigned') AS name,
COUNT(d.id)::int AS "dealCount",
COALESCE(SUM(d.amount), 0)::float AS amount
FROM "deals" d
LEFT JOIN "pipeline_stages" ps ON ps.id = d."stageId" AND ps."deletedAt" IS NULL
WHERE ${dealScope}
GROUP BY COALESCE(ps.id::text, 'unassigned'), COALESCE(ps.name, 'Unassigned'), COALESCE(ps."sort_order", 999)
ORDER BY COALESCE(ps."sort_order", 999) ASC, COALESCE(ps.name, 'Unassigned') ASC`,
{
replacements,
type: QueryTypes.SELECT,
},
),
Promise.all([
db.sequelize.query(
`SELECT l.id, l.title AS label
FROM "leads" l
WHERE ${leadScope}
ORDER BY l."updatedAt" DESC
LIMIT 8`,
{
replacements,
type: QueryTypes.SELECT,
},
),
db.sequelize.query(
`SELECT d.id, d.name AS label
FROM "deals" d
WHERE ${dealScope}
ORDER BY d."updatedAt" DESC
LIMIT 8`,
{
replacements,
type: QueryTypes.SELECT,
},
),
db.sequelize.query(
`SELECT c.id, COALESCE(NULLIF(TRIM(CONCAT(c.first_name, ' ', c.last_name)), ''), c.email, 'Untitled contact') AS label
FROM "contacts" c
WHERE ${buildScopedWhere('c', globalAccess, organizationId, ['c."ownerId" = :userId'])}
ORDER BY c."updatedAt" DESC
LIMIT 8`,
{
replacements,
type: QueryTypes.SELECT,
},
),
]),
]);
return res.status(200).json({
stats: statsRows[0] || {
myOpenLeads: 0,
myActiveDeals: 0,
dueToday: 0,
overdue: 0,
completedThisWeek: 0,
},
followUps,
recentLeads,
stageSummary,
quickOptions: {
leads: quickOptions[0],
deals: quickOptions[1],
contacts: quickOptions[2],
},
});
}),
);
router.post(
'/follow-ups',
wrapAsync(async (req, res) => {
const { currentUser } = req;
const globalAccess = Boolean(currentUser?.app_role?.globalAccess);
const organizationId = getOrganizationId(currentUser);
const data = req.body?.data || {};
const subject = typeof data.subject === 'string' ? data.subject.trim() : '';
const details = typeof data.details === 'string' ? data.details.trim() : '';
const relationType = data.relationType;
const relationId = data.relationId;
const activityType = ACTIVITY_TYPES.has(data.activity_type)
? data.activity_type
: 'follow_up';
if (!subject) {
return res.status(400).json({ message: 'Konu alanı zorunludur.' });
}
if (!data.due_at) {
return res.status(400).json({ message: 'Termin tarihi zorunludur.' });
}
if (!RELATION_MODELS[relationType] || !relationId) {
return res.status(400).json({
message: 'Takibin bağlanacağı bir potansiyel müşteri, fırsat veya kişi seçin.',
});
}
const relationEntity = await findScopedEntity(
RELATION_MODELS[relationType],
relationId,
organizationId,
globalAccess,
);
if (!relationEntity) {
return res.status(400).json({
message: `${RELATION_LABELS[relationType]} bulunamadı veya erişilemez durumda.`,
});
}
const transaction = await db.sequelize.transaction();
try {
const activity = await ActivitiesDBApi.create(
{
activity_type: activityType,
status: 'planned',
subject,
details: details || null,
due_at: data.due_at,
assigned_to: currentUser.id,
organizations: organizationId,
[relationType]: relationId,
},
{
currentUser,
transaction,
},
);
await transaction.commit();
return res.status(200).json({
id: activity.id,
subject: activity.subject,
});
} catch (error) {
await transaction.rollback();
throw error;
}
}),
);
module.exports = router;

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 499 KiB

View File

@ -0,0 +1,52 @@
{
"pages": {
"dashboard": {
"pageTitle": "Dashboard",
"overview": "Overview",
"loadingWidgets": "Loading widgets...",
"loading": "Loading..."
},
"login": {
"pageTitle": "Login",
"form": {
"loginLabel": "Login",
"loginHelp": "Please enter your login",
"passwordLabel": "Password",
"passwordHelp": "Please enter your password",
"remember": "Remember",
"forgotPassword": "Forgot password?",
"loginButton": "Login",
"loading": "Loading...",
"noAccountYet": "Dont have an account yet?",
"newAccount": "New Account"
},
"pexels": {
"photoCredit": "Photo by {{photographer}} on Pexels",
"videoCredit": "Video by {{name}} on Pexels",
"videoUnsupported": "Your browser does not support the video tag."
},
"footer": {
"copyright": "© {{year}} {{title}}. All rights reserved",
"privacy": "Privacy Policy"
}
}
},
"components": {
"widgetCreator": {
"title": "Create Chart or Widget",
"helpText": "Describe your new widget or chart in natural language. For example: \"Number of admin users\" OR \"red chart with number of closed contracts grouped by month\"",
"settingsTitle": "Widget Creator Settings",
"settingsDescription": "What role are we showing and creating widgets for?",
"doneButton": "Done",
"loading": "Loading..."
},
"search": {
"placeholder": "Search",
"required": "Required",
"minLength": "Minimum length: {{count}} characters"
}
}
}

View File

@ -78,7 +78,7 @@ const CardActivities = ({
<div className='flex justify-between gap-x-4 py-3'> <div className='flex justify-between gap-x-4 py-3'>
<dt className=' text-gray-500 dark:text-dark-600'>ActivityType</dt> <dt className=' text-gray-500 dark:text-dark-600'>Aktivite Türü</dt>
<dd className='flex items-start gap-x-2'> <dd className='flex items-start gap-x-2'>
<div className='font-medium line-clamp-4'> <div className='font-medium line-clamp-4'>
{ item.activity_type } { item.activity_type }
@ -90,7 +90,7 @@ const CardActivities = ({
<div className='flex justify-between gap-x-4 py-3'> <div className='flex justify-between gap-x-4 py-3'>
<dt className=' text-gray-500 dark:text-dark-600'>Status</dt> <dt className=' text-gray-500 dark:text-dark-600'>Durum</dt>
<dd className='flex items-start gap-x-2'> <dd className='flex items-start gap-x-2'>
<div className='font-medium line-clamp-4'> <div className='font-medium line-clamp-4'>
{ item.status } { item.status }
@ -102,7 +102,7 @@ const CardActivities = ({
<div className='flex justify-between gap-x-4 py-3'> <div className='flex justify-between gap-x-4 py-3'>
<dt className=' text-gray-500 dark:text-dark-600'>Subject</dt> <dt className=' text-gray-500 dark:text-dark-600'>Konu</dt>
<dd className='flex items-start gap-x-2'> <dd className='flex items-start gap-x-2'>
<div className='font-medium line-clamp-4'> <div className='font-medium line-clamp-4'>
{ item.subject } { item.subject }
@ -114,7 +114,7 @@ const CardActivities = ({
<div className='flex justify-between gap-x-4 py-3'> <div className='flex justify-between gap-x-4 py-3'>
<dt className=' text-gray-500 dark:text-dark-600'>Details</dt> <dt className=' text-gray-500 dark:text-dark-600'>Detaylar</dt>
<dd className='flex items-start gap-x-2'> <dd className='flex items-start gap-x-2'>
<div className='font-medium line-clamp-4'> <div className='font-medium line-clamp-4'>
{ item.details } { item.details }
@ -126,7 +126,7 @@ const CardActivities = ({
<div className='flex justify-between gap-x-4 py-3'> <div className='flex justify-between gap-x-4 py-3'>
<dt className=' text-gray-500 dark:text-dark-600'>DueAt</dt> <dt className=' text-gray-500 dark:text-dark-600'>Termin Tarihi</dt>
<dd className='flex items-start gap-x-2'> <dd className='flex items-start gap-x-2'>
<div className='font-medium line-clamp-4'> <div className='font-medium line-clamp-4'>
{ dataFormatter.dateTimeFormatter(item.due_at) } { dataFormatter.dateTimeFormatter(item.due_at) }
@ -138,7 +138,7 @@ const CardActivities = ({
<div className='flex justify-between gap-x-4 py-3'> <div className='flex justify-between gap-x-4 py-3'>
<dt className=' text-gray-500 dark:text-dark-600'>CompletedAt</dt> <dt className=' text-gray-500 dark:text-dark-600'>Tamamlanma Tarihi</dt>
<dd className='flex items-start gap-x-2'> <dd className='flex items-start gap-x-2'>
<div className='font-medium line-clamp-4'> <div className='font-medium line-clamp-4'>
{ dataFormatter.dateTimeFormatter(item.completed_at) } { dataFormatter.dateTimeFormatter(item.completed_at) }
@ -150,7 +150,7 @@ const CardActivities = ({
<div className='flex justify-between gap-x-4 py-3'> <div className='flex justify-between gap-x-4 py-3'>
<dt className=' text-gray-500 dark:text-dark-600'>AssignedTo</dt> <dt className=' text-gray-500 dark:text-dark-600'>Atanan Kişi</dt>
<dd className='flex items-start gap-x-2'> <dd className='flex items-start gap-x-2'>
<div className='font-medium line-clamp-4'> <div className='font-medium line-clamp-4'>
{ dataFormatter.usersOneListFormatter(item.assigned_to) } { dataFormatter.usersOneListFormatter(item.assigned_to) }
@ -162,7 +162,7 @@ const CardActivities = ({
<div className='flex justify-between gap-x-4 py-3'> <div className='flex justify-between gap-x-4 py-3'>
<dt className=' text-gray-500 dark:text-dark-600'>Company</dt> <dt className=' text-gray-500 dark:text-dark-600'>Şirket</dt>
<dd className='flex items-start gap-x-2'> <dd className='flex items-start gap-x-2'>
<div className='font-medium line-clamp-4'> <div className='font-medium line-clamp-4'>
{ dataFormatter.companiesOneListFormatter(item.company) } { dataFormatter.companiesOneListFormatter(item.company) }
@ -174,7 +174,7 @@ const CardActivities = ({
<div className='flex justify-between gap-x-4 py-3'> <div className='flex justify-between gap-x-4 py-3'>
<dt className=' text-gray-500 dark:text-dark-600'>Contact</dt> <dt className=' text-gray-500 dark:text-dark-600'>Kişi</dt>
<dd className='flex items-start gap-x-2'> <dd className='flex items-start gap-x-2'>
<div className='font-medium line-clamp-4'> <div className='font-medium line-clamp-4'>
{ dataFormatter.contactsOneListFormatter(item.contact) } { dataFormatter.contactsOneListFormatter(item.contact) }
@ -186,7 +186,7 @@ const CardActivities = ({
<div className='flex justify-between gap-x-4 py-3'> <div className='flex justify-between gap-x-4 py-3'>
<dt className=' text-gray-500 dark:text-dark-600'>Lead</dt> <dt className=' text-gray-500 dark:text-dark-600'>Potansiyel Müşteri</dt>
<dd className='flex items-start gap-x-2'> <dd className='flex items-start gap-x-2'>
<div className='font-medium line-clamp-4'> <div className='font-medium line-clamp-4'>
{ dataFormatter.leadsOneListFormatter(item.lead) } { dataFormatter.leadsOneListFormatter(item.lead) }
@ -198,7 +198,7 @@ const CardActivities = ({
<div className='flex justify-between gap-x-4 py-3'> <div className='flex justify-between gap-x-4 py-3'>
<dt className=' text-gray-500 dark:text-dark-600'>Deal</dt> <dt className=' text-gray-500 dark:text-dark-600'>Fırsat</dt>
<dd className='flex items-start gap-x-2'> <dd className='flex items-start gap-x-2'>
<div className='font-medium line-clamp-4'> <div className='font-medium line-clamp-4'>
{ dataFormatter.dealsOneListFormatter(item.deal) } { dataFormatter.dealsOneListFormatter(item.deal) }
@ -210,7 +210,7 @@ const CardActivities = ({
<div className='flex justify-between gap-x-4 py-3'> <div className='flex justify-between gap-x-4 py-3'>
<dt className=' text-gray-500 dark:text-dark-600'>Attachments</dt> <dt className=' text-gray-500 dark:text-dark-600'>Ekler</dt>
<dd className='flex items-start gap-x-2'> <dd className='flex items-start gap-x-2'>
<div className='font-medium'> <div className='font-medium'>
{dataFormatter.filesFormatter(item.attachments).map(link => ( {dataFormatter.filesFormatter(item.attachments).map(link => (
@ -232,7 +232,7 @@ const CardActivities = ({
))} ))}
{!loading && activities.length === 0 && ( {!loading && activities.length === 0 && (
<div className='col-span-full flex items-center justify-center h-40'> <div className='col-span-full flex items-center justify-center h-40'>
<p className=''>No data to display</p> <p className=''>Gösterilecek veri yok</p>
</div> </div>
)} )}
</ul> </ul>

View File

@ -48,7 +48,7 @@ const ListActivities = ({ activities, loading, onDelete, currentPage, numPages,
<div className={'flex-1 px-3'}> <div className={'flex-1 px-3'}>
<p className={'text-xs text-gray-500 '}>ActivityType</p> <p className={'text-xs text-gray-500 '}>Aktivite Türü</p>
<p className={'line-clamp-2'}>{ item.activity_type }</p> <p className={'line-clamp-2'}>{ item.activity_type }</p>
</div> </div>
@ -56,7 +56,7 @@ const ListActivities = ({ activities, loading, onDelete, currentPage, numPages,
<div className={'flex-1 px-3'}> <div className={'flex-1 px-3'}>
<p className={'text-xs text-gray-500 '}>Status</p> <p className={'text-xs text-gray-500 '}>Durum</p>
<p className={'line-clamp-2'}>{ item.status }</p> <p className={'line-clamp-2'}>{ item.status }</p>
</div> </div>
@ -64,7 +64,7 @@ const ListActivities = ({ activities, loading, onDelete, currentPage, numPages,
<div className={'flex-1 px-3'}> <div className={'flex-1 px-3'}>
<p className={'text-xs text-gray-500 '}>Subject</p> <p className={'text-xs text-gray-500 '}>Konu</p>
<p className={'line-clamp-2'}>{ item.subject }</p> <p className={'line-clamp-2'}>{ item.subject }</p>
</div> </div>
@ -72,7 +72,7 @@ const ListActivities = ({ activities, loading, onDelete, currentPage, numPages,
<div className={'flex-1 px-3'}> <div className={'flex-1 px-3'}>
<p className={'text-xs text-gray-500 '}>Details</p> <p className={'text-xs text-gray-500 '}>Detaylar</p>
<p className={'line-clamp-2'}>{ item.details }</p> <p className={'line-clamp-2'}>{ item.details }</p>
</div> </div>
@ -80,7 +80,7 @@ const ListActivities = ({ activities, loading, onDelete, currentPage, numPages,
<div className={'flex-1 px-3'}> <div className={'flex-1 px-3'}>
<p className={'text-xs text-gray-500 '}>DueAt</p> <p className={'text-xs text-gray-500 '}>Termin Tarihi</p>
<p className={'line-clamp-2'}>{ dataFormatter.dateTimeFormatter(item.due_at) }</p> <p className={'line-clamp-2'}>{ dataFormatter.dateTimeFormatter(item.due_at) }</p>
</div> </div>
@ -88,7 +88,7 @@ const ListActivities = ({ activities, loading, onDelete, currentPage, numPages,
<div className={'flex-1 px-3'}> <div className={'flex-1 px-3'}>
<p className={'text-xs text-gray-500 '}>CompletedAt</p> <p className={'text-xs text-gray-500 '}>Tamamlanma Tarihi</p>
<p className={'line-clamp-2'}>{ dataFormatter.dateTimeFormatter(item.completed_at) }</p> <p className={'line-clamp-2'}>{ dataFormatter.dateTimeFormatter(item.completed_at) }</p>
</div> </div>
@ -96,7 +96,7 @@ const ListActivities = ({ activities, loading, onDelete, currentPage, numPages,
<div className={'flex-1 px-3'}> <div className={'flex-1 px-3'}>
<p className={'text-xs text-gray-500 '}>AssignedTo</p> <p className={'text-xs text-gray-500 '}>Atanan Kişi</p>
<p className={'line-clamp-2'}>{ dataFormatter.usersOneListFormatter(item.assigned_to) }</p> <p className={'line-clamp-2'}>{ dataFormatter.usersOneListFormatter(item.assigned_to) }</p>
</div> </div>
@ -104,7 +104,7 @@ const ListActivities = ({ activities, loading, onDelete, currentPage, numPages,
<div className={'flex-1 px-3'}> <div className={'flex-1 px-3'}>
<p className={'text-xs text-gray-500 '}>Company</p> <p className={'text-xs text-gray-500 '}>Şirket</p>
<p className={'line-clamp-2'}>{ dataFormatter.companiesOneListFormatter(item.company) }</p> <p className={'line-clamp-2'}>{ dataFormatter.companiesOneListFormatter(item.company) }</p>
</div> </div>
@ -112,7 +112,7 @@ const ListActivities = ({ activities, loading, onDelete, currentPage, numPages,
<div className={'flex-1 px-3'}> <div className={'flex-1 px-3'}>
<p className={'text-xs text-gray-500 '}>Contact</p> <p className={'text-xs text-gray-500 '}>Kişi</p>
<p className={'line-clamp-2'}>{ dataFormatter.contactsOneListFormatter(item.contact) }</p> <p className={'line-clamp-2'}>{ dataFormatter.contactsOneListFormatter(item.contact) }</p>
</div> </div>
@ -120,7 +120,7 @@ const ListActivities = ({ activities, loading, onDelete, currentPage, numPages,
<div className={'flex-1 px-3'}> <div className={'flex-1 px-3'}>
<p className={'text-xs text-gray-500 '}>Lead</p> <p className={'text-xs text-gray-500 '}>Potansiyel Müşteri</p>
<p className={'line-clamp-2'}>{ dataFormatter.leadsOneListFormatter(item.lead) }</p> <p className={'line-clamp-2'}>{ dataFormatter.leadsOneListFormatter(item.lead) }</p>
</div> </div>
@ -128,7 +128,7 @@ const ListActivities = ({ activities, loading, onDelete, currentPage, numPages,
<div className={'flex-1 px-3'}> <div className={'flex-1 px-3'}>
<p className={'text-xs text-gray-500 '}>Deal</p> <p className={'text-xs text-gray-500 '}>Fırsat</p>
<p className={'line-clamp-2'}>{ dataFormatter.dealsOneListFormatter(item.deal) }</p> <p className={'line-clamp-2'}>{ dataFormatter.dealsOneListFormatter(item.deal) }</p>
</div> </div>
@ -136,7 +136,7 @@ const ListActivities = ({ activities, loading, onDelete, currentPage, numPages,
<div className={'flex-1 px-3'}> <div className={'flex-1 px-3'}>
<p className={'text-xs text-gray-500 '}>Attachments</p> <p className={'text-xs text-gray-500 '}>Ekler</p>
{dataFormatter.filesFormatter(item.attachments).map(link => ( {dataFormatter.filesFormatter(item.attachments).map(link => (
<button <button
key={link.publicUrl} key={link.publicUrl}
@ -165,7 +165,7 @@ const ListActivities = ({ activities, loading, onDelete, currentPage, numPages,
))} ))}
{!loading && activities.length === 0 && ( {!loading && activities.length === 0 && (
<div className='col-span-full flex items-center justify-center h-40'> <div className='col-span-full flex items-center justify-center h-40'>
<p className=''>No data to display</p> <p className=''>Gösterilecek veri yok</p>
</div> </div>
)} )}
</div> </div>

View File

@ -286,7 +286,7 @@ const TableSampleActivities = ({ filterItems, setFilterItems, filters, showGrid
return ( return (
<div key={filterItem.id} className="flex mb-4"> <div key={filterItem.id} className="flex mb-4">
<div className="flex flex-col w-full mr-3"> <div className="flex flex-col w-full mr-3">
<div className=" text-gray-500 font-bold">Filter</div> <div className=" text-gray-500 font-bold">Filtre</div>
<Field <Field
className={controlClasses} className={controlClasses}
name='selectedField' name='selectedField'
@ -310,7 +310,7 @@ const TableSampleActivities = ({ filterItems, setFilterItems, filters, showGrid
)?.type === 'enum' ? ( )?.type === 'enum' ? (
<div className="flex flex-col w-full mr-3"> <div className="flex flex-col w-full mr-3">
<div className="text-gray-500 font-bold"> <div className="text-gray-500 font-bold">
Value Değer
</div> </div>
<Field <Field
className={controlClasses} className={controlClasses}
@ -320,7 +320,7 @@ const TableSampleActivities = ({ filterItems, setFilterItems, filters, showGrid
value={filterItem?.fields?.filterValue || ''} value={filterItem?.fields?.filterValue || ''}
onChange={handleChange(filterItem.id)} onChange={handleChange(filterItem.id)}
> >
<option value="">Select Value</option> <option value="">Değer seçin</option>
{filters.find((filter) => {filters.find((filter) =>
filter.title === filterItem?.fields?.selectedField filter.title === filterItem?.fields?.selectedField
)?.options?.map((option) => ( )?.options?.map((option) => (
@ -335,22 +335,22 @@ const TableSampleActivities = ({ filterItems, setFilterItems, filters, showGrid
)?.number ? ( )?.number ? (
<div className="flex flex-row w-full mr-3"> <div className="flex flex-row w-full mr-3">
<div className="flex flex-col w-full mr-3"> <div className="flex flex-col w-full mr-3">
<div className=" text-gray-500 font-bold">From</div> <div className=" text-gray-500 font-bold">Başlangıç</div>
<Field <Field
className={controlClasses} className={controlClasses}
name='filterValueFrom' name='filterValueFrom'
placeholder='From' placeholder='Başlangıç'
id='filterValueFrom' id='filterValueFrom'
value={filterItem?.fields?.filterValueFrom || ''} value={filterItem?.fields?.filterValueFrom || ''}
onChange={handleChange(filterItem.id)} onChange={handleChange(filterItem.id)}
/> />
</div> </div>
<div className="flex flex-col w-full"> <div className="flex flex-col w-full">
<div className=" text-gray-500 font-bold">To</div> <div className=" text-gray-500 font-bold">Bitiş</div>
<Field <Field
className={controlClasses} className={controlClasses}
name='filterValueTo' name='filterValueTo'
placeholder='to' placeholder='Bitiş'
id='filterValueTo' id='filterValueTo'
value={filterItem?.fields?.filterValueTo || ''} value={filterItem?.fields?.filterValueTo || ''}
onChange={handleChange(filterItem.id)} onChange={handleChange(filterItem.id)}
@ -365,12 +365,12 @@ const TableSampleActivities = ({ filterItems, setFilterItems, filters, showGrid
<div className='flex flex-row w-full mr-3'> <div className='flex flex-row w-full mr-3'>
<div className='flex flex-col w-full mr-3'> <div className='flex flex-col w-full mr-3'>
<div className=' text-gray-500 font-bold'> <div className=' text-gray-500 font-bold'>
From Başlangıç
</div> </div>
<Field <Field
className={controlClasses} className={controlClasses}
name='filterValueFrom' name='filterValueFrom'
placeholder='From' placeholder='Başlangıç'
id='filterValueFrom' id='filterValueFrom'
type='datetime-local' type='datetime-local'
value={filterItem?.fields?.filterValueFrom || ''} value={filterItem?.fields?.filterValueFrom || ''}
@ -378,11 +378,11 @@ const TableSampleActivities = ({ filterItems, setFilterItems, filters, showGrid
/> />
</div> </div>
<div className='flex flex-col w-full'> <div className='flex flex-col w-full'>
<div className=' text-gray-500 font-bold'>To</div> <div className=' text-gray-500 font-bold'>Bitiş</div>
<Field <Field
className={controlClasses} className={controlClasses}
name='filterValueTo' name='filterValueTo'
placeholder='to' placeholder='Bitiş'
id='filterValueTo' id='filterValueTo'
type='datetime-local' type='datetime-local'
value={filterItem?.fields?.filterValueTo || ''} value={filterItem?.fields?.filterValueTo || ''}
@ -392,11 +392,11 @@ const TableSampleActivities = ({ filterItems, setFilterItems, filters, showGrid
</div> </div>
) : ( ) : (
<div className="flex flex-col w-full mr-3"> <div className="flex flex-col w-full mr-3">
<div className=" text-gray-500 font-bold">Contains</div> <div className=" text-gray-500 font-bold">İçerir</div>
<Field <Field
className={controlClasses} className={controlClasses}
name='filterValue' name='filterValue'
placeholder='Contained' placeholder='İçerir'
id='filterValue' id='filterValue'
value={filterItem?.fields?.filterValue || ''} value={filterItem?.fields?.filterValue || ''}
onChange={handleChange(filterItem.id)} onChange={handleChange(filterItem.id)}
@ -404,12 +404,12 @@ const TableSampleActivities = ({ filterItems, setFilterItems, filters, showGrid
</div> </div>
)} )}
<div className="flex flex-col"> <div className="flex flex-col">
<div className=" text-gray-500 font-bold">Action</div> <div className=" text-gray-500 font-bold">İşlem</div>
<BaseButton <BaseButton
className="my-2" className="my-2"
type='reset' type='reset'
color='danger' color='danger'
label='Delete' label='Sil'
onClick={() => { onClick={() => {
deleteFilter(filterItem.id) deleteFilter(filterItem.id)
}} }}
@ -422,13 +422,13 @@ const TableSampleActivities = ({ filterItems, setFilterItems, filters, showGrid
<BaseButton <BaseButton
className="my-2 mr-3" className="my-2 mr-3"
color="success" color="success"
label='Apply' label='Uygula'
onClick={handleSubmit} onClick={handleSubmit}
/> />
<BaseButton <BaseButton
className="my-2" className="my-2"
color='info' color='info'
label='Cancel' label='İptal'
onClick={handleReset} onClick={handleReset}
/> />
</div> </div>
@ -438,14 +438,14 @@ const TableSampleActivities = ({ filterItems, setFilterItems, filters, showGrid
</CardBox> : null </CardBox> : null
} }
<CardBoxModal <CardBoxModal
title="Please confirm" title="Lütfen onaylayın"
buttonColor="info" buttonColor="info"
buttonLabel={loading ? 'Deleting...' : 'Confirm'} buttonLabel={loading ? 'Siliniyor...' : 'Onayla'}
isActive={isModalTrashActive} isActive={isModalTrashActive}
onConfirm={handleDeleteAction} onConfirm={handleDeleteAction}
onCancel={handleModalAction} onCancel={handleModalAction}
> >
<p>Are you sure you want to delete this item?</p> <p>Bu kaydı silmek istediğinize emin misiniz?</p>
</CardBoxModal> </CardBoxModal>
@ -476,7 +476,7 @@ const TableSampleActivities = ({ filterItems, setFilterItems, filters, showGrid
<BaseButton <BaseButton
className='me-4' className='me-4'
color='danger' color='danger'
label={`Delete ${selectedRows.length === 1 ? 'Row' : 'Rows'}`} label={`${selectedRows.length} satırı sil`}
onClick={() => onDeleteRows(selectedRows)} onClick={() => onDeleteRows(selectedRows)}
/>, />,
document.getElementById('delete-rows-button'), document.getElementById('delete-rows-button'),

View File

@ -43,7 +43,7 @@ export const loadColumns = async (
{ {
field: 'activity_type', field: 'activity_type',
headerName: 'ActivityType', headerName: 'Aktivite Türü',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,
@ -58,7 +58,7 @@ export const loadColumns = async (
{ {
field: 'status', field: 'status',
headerName: 'Status', headerName: 'Durum',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,
@ -73,7 +73,7 @@ export const loadColumns = async (
{ {
field: 'subject', field: 'subject',
headerName: 'Subject', headerName: 'Konu',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,
@ -88,7 +88,7 @@ export const loadColumns = async (
{ {
field: 'details', field: 'details',
headerName: 'Details', headerName: 'Detaylar',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,
@ -103,7 +103,7 @@ export const loadColumns = async (
{ {
field: 'due_at', field: 'due_at',
headerName: 'DueAt', headerName: 'Termin Tarihi',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,
@ -121,7 +121,7 @@ export const loadColumns = async (
{ {
field: 'completed_at', field: 'completed_at',
headerName: 'CompletedAt', headerName: 'Tamamlanma Tarihi',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,
@ -139,7 +139,7 @@ export const loadColumns = async (
{ {
field: 'assigned_to', field: 'assigned_to',
headerName: 'AssignedTo', headerName: 'Atanan Kişi',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,
@ -161,7 +161,7 @@ export const loadColumns = async (
{ {
field: 'company', field: 'company',
headerName: 'Company', headerName: 'Şirket',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,
@ -183,7 +183,7 @@ export const loadColumns = async (
{ {
field: 'contact', field: 'contact',
headerName: 'Contact', headerName: 'Kişi',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,
@ -205,7 +205,7 @@ export const loadColumns = async (
{ {
field: 'lead', field: 'lead',
headerName: 'Lead', headerName: 'Potansiyel',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,
@ -227,7 +227,7 @@ export const loadColumns = async (
{ {
field: 'deal', field: 'deal',
headerName: 'Deal', headerName: 'Fırsat',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,
@ -249,7 +249,7 @@ export const loadColumns = async (
{ {
field: 'attachments', field: 'attachments',
headerName: 'Attachments', headerName: 'Ekler',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,

View File

@ -29,16 +29,30 @@ const AsideMenuItem = ({ item, isDropdownList = false }: Props) => {
const { asPath, isReady } = useRouter() const { asPath, isReady } = useRouter()
useEffect(() => { useEffect(() => {
if (item.href && isReady) { if (!isReady) {
const linkPathName = new URL(item.href, location.href).pathname + '/'; return
const activePathname = new URL(asPath, location.href).pathname
const activeView = activePathname.split('/')[1];
const linkPathNameView = linkPathName.split('/')[1];
setIsLinkActive(linkPathNameView === activeView);
} }
}, [item.href, isReady, asPath])
const activePathname = new URL(asPath, location.href).pathname
if (item.href) {
const linkPathName = new URL(item.href, location.href).pathname + '/'
const activeView = activePathname.split('/')[1]
const linkPathNameView = linkPathName.split('/')[1]
setIsLinkActive(linkPathNameView === activeView)
}
if (item.menu?.length) {
const hasActiveChild = item.menu.some((child) => {
if (!child.href) return false
const childPath = new URL(child.href, location.href).pathname
return childPath.split('/')[1] === activePathname.split('/')[1]
})
setIsDropdownActive(hasActiveChild)
setIsLinkActive(hasActiveChild)
}
}, [item.href, item.menu, isReady, asPath])
const asideMenuItemInnerContents = ( const asideMenuItemInnerContents = (
<> <>

View File

@ -1,15 +1,12 @@
import React from 'react' import React from 'react'
import { mdiLogout, mdiClose } from '@mdi/js' import { mdiClose } from '@mdi/js'
import BaseIcon from './BaseIcon' import BaseIcon from './BaseIcon'
import AsideMenuList from './AsideMenuList' import AsideMenuList from './AsideMenuList'
import { MenuAsideItem } from '../interfaces' import { MenuAsideItem } from '../interfaces'
import { useAppSelector } from '../stores/hooks' import { useAppDispatch, useAppSelector } from '../stores/hooks'
import Link from 'next/link'; import { createAsyncThunk } from '@reduxjs/toolkit'
import axios from 'axios'
import { useAppDispatch } from '../stores/hooks'; import Logo from './Logo'
import { createAsyncThunk } from '@reduxjs/toolkit';
import axios from 'axios';
type Props = { type Props = {
menu: MenuAsideItem[] menu: MenuAsideItem[]
@ -18,7 +15,7 @@ type Props = {
} }
export default function AsideMenuLayer({ menu, className = '', ...props }: Props) { export default function AsideMenuLayer({ menu, className = '', ...props }: Props) {
const corners = useAppSelector((state) => state.style.corners); const corners = useAppSelector((state) => state.style.corners)
const asideStyle = useAppSelector((state) => state.style.asideStyle) const asideStyle = useAppSelector((state) => state.style.asideStyle)
const asideBrandStyle = useAppSelector((state) => state.style.asideBrandStyle) const asideBrandStyle = useAppSelector((state) => state.style.asideBrandStyle)
const asideScrollbarsStyle = useAppSelector((state) => state.style.asideScrollbarsStyle) const asideScrollbarsStyle = useAppSelector((state) => state.style.asideScrollbarsStyle)
@ -29,55 +26,49 @@ export default function AsideMenuLayer({ menu, className = '', ...props }: Props
props.onAsideLgCloseClick() props.onAsideLgCloseClick()
} }
const dispatch = useAppDispatch(); const dispatch = useAppDispatch()
const { currentUser } = useAppSelector((state) => state.auth); const { currentUser } = useAppSelector((state) => state.auth)
const organizationsId = currentUser?.organizations?.id; const organizationsId = currentUser?.organizations?.id
const [organizations, setOrganizations] = React.useState(null); const [organizations, setOrganizations] = React.useState<any[]>([])
const fetchOrganizations = createAsyncThunk('/org-for-auth', async () => { const fetchOrganizations = createAsyncThunk('/org-for-auth', async () => {
try { try {
const response = await axios.get('/org-for-auth'); const response = await axios.get('/org-for-auth')
setOrganizations(response.data); setOrganizations(response.data)
return response.data; return response.data
} catch (error) { } catch (error: any) {
console.error(error.response); console.error(error?.response || error)
throw error; throw error
} }
}); })
React.useEffect(() => { React.useEffect(() => {
dispatch(fetchOrganizations()); dispatch(fetchOrganizations())
}, [dispatch]); }, [dispatch])
let organizationName = organizations?.find(item => item.id === organizationsId)?.name; let organizationName = organizations?.find((item) => item.id === organizationsId)?.name
if(organizationName?.length > 25){ if (organizationName?.length > 28) {
organizationName = organizationName?.substring(0, 25) + '...'; organizationName = organizationName.substring(0, 28) + '...'
} }
return ( return (
<aside <aside
id='asideMenu' id='asideMenu'
className={`${className} zzz lg:py-2 lg:pl-2 w-60 fixed flex z-40 top-0 h-screen transition-position overflow-hidden`} className={`${className} zzz lg:py-2 lg:pl-2 w-60 fixed flex z-40 top-0 h-screen transition-position overflow-hidden`}
> >
<div <div className={`flex-1 flex flex-col overflow-hidden dark:bg-dark-900 ${asideStyle} ${corners}`}>
className={`flex-1 flex flex-col overflow-hidden dark:bg-dark-900 ${asideStyle} ${corners}`} <div className={`flex min-h-14 items-center justify-between gap-3 px-4 py-3 ${asideBrandStyle}`}>
> <div className='flex min-w-0 items-center gap-3'>
<div <Logo className='h-10 w-auto shrink-0 rounded-xl bg-white p-1.5 shadow-sm' />
className={`flex flex-row h-14 items-center justify-between ${asideBrandStyle}`} <div className='min-w-0'>
> <p className='truncate text-sm font-semibold text-slate-900 dark:text-white'>DakikTabela</p>
<div className="text-center flex-1 lg:text-left lg:pl-6 xl:text-center xl:pl-0"> <p className='truncate text-xs text-slate-500 dark:text-slate-300'>Operasyon Platformu</p>
{organizationName && (
<b className="font-black">DakikTabela Ops Suite</b> <p className='truncate text-[11px] text-slate-400 dark:text-slate-400'>{organizationName}</p>
)}
</div>
{organizationName && <p>{organizationName}</p>}
</div> </div>
<button <button className='hidden lg:inline-block xl:hidden p-3' onClick={handleAsideLgCloseClick}>
className="hidden lg:inline-block xl:hidden p-3"
onClick={handleAsideLgCloseClick}
>
<BaseIcon path={mdiClose} /> <BaseIcon path={mdiClose} />
</button> </button>
</div> </div>

View File

@ -138,7 +138,7 @@ const CardBudget_items = ({
<div className='flex justify-between gap-x-4 py-3'> <div className='flex justify-between gap-x-4 py-3'>
<dt className=' text-gray-500 dark:text-dark-600'>DueAt</dt> <dt className=' text-gray-500 dark:text-dark-600'>Termin Tarihi</dt>
<dd className='flex items-start gap-x-2'> <dd className='flex items-start gap-x-2'>
<div className='font-medium line-clamp-4'> <div className='font-medium line-clamp-4'>
{ dataFormatter.dateTimeFormatter(item.due_at) } { dataFormatter.dateTimeFormatter(item.due_at) }
@ -220,7 +220,7 @@ const CardBudget_items = ({
))} ))}
{!loading && budget_items.length === 0 && ( {!loading && budget_items.length === 0 && (
<div className='col-span-full flex items-center justify-center h-40'> <div className='col-span-full flex items-center justify-center h-40'>
<p className=''>No data to display</p> <p className=''>Gösterilecek veri yok</p>
</div> </div>
)} )}
</ul> </ul>

View File

@ -88,7 +88,7 @@ const ListBudget_items = ({ budget_items, loading, onDelete, currentPage, numPag
<div className={'flex-1 px-3'}> <div className={'flex-1 px-3'}>
<p className={'text-xs text-gray-500 '}>DueAt</p> <p className={'text-xs text-gray-500 '}>Termin Tarihi</p>
<p className={'line-clamp-2'}>{ dataFormatter.dateTimeFormatter(item.due_at) }</p> <p className={'line-clamp-2'}>{ dataFormatter.dateTimeFormatter(item.due_at) }</p>
</div> </div>
@ -157,7 +157,7 @@ const ListBudget_items = ({ budget_items, loading, onDelete, currentPage, numPag
))} ))}
{!loading && budget_items.length === 0 && ( {!loading && budget_items.length === 0 && (
<div className='col-span-full flex items-center justify-center h-40'> <div className='col-span-full flex items-center justify-center h-40'>
<p className=''>No data to display</p> <p className=''>Gösterilecek veri yok</p>
</div> </div>
)} )}
</div> </div>

View File

@ -277,7 +277,7 @@ const TableSampleBudget_items = ({ filterItems, setFilterItems, filters, showGri
return ( return (
<div key={filterItem.id} className="flex mb-4"> <div key={filterItem.id} className="flex mb-4">
<div className="flex flex-col w-full mr-3"> <div className="flex flex-col w-full mr-3">
<div className=" text-gray-500 font-bold">Filter</div> <div className=" text-gray-500 font-bold">Filtre</div>
<Field <Field
className={controlClasses} className={controlClasses}
name='selectedField' name='selectedField'
@ -301,7 +301,7 @@ const TableSampleBudget_items = ({ filterItems, setFilterItems, filters, showGri
)?.type === 'enum' ? ( )?.type === 'enum' ? (
<div className="flex flex-col w-full mr-3"> <div className="flex flex-col w-full mr-3">
<div className="text-gray-500 font-bold"> <div className="text-gray-500 font-bold">
Value Değer
</div> </div>
<Field <Field
className={controlClasses} className={controlClasses}
@ -311,7 +311,7 @@ const TableSampleBudget_items = ({ filterItems, setFilterItems, filters, showGri
value={filterItem?.fields?.filterValue || ''} value={filterItem?.fields?.filterValue || ''}
onChange={handleChange(filterItem.id)} onChange={handleChange(filterItem.id)}
> >
<option value="">Select Value</option> <option value="">Değer seçin</option>
{filters.find((filter) => {filters.find((filter) =>
filter.title === filterItem?.fields?.selectedField filter.title === filterItem?.fields?.selectedField
)?.options?.map((option) => ( )?.options?.map((option) => (
@ -326,18 +326,18 @@ const TableSampleBudget_items = ({ filterItems, setFilterItems, filters, showGri
)?.number ? ( )?.number ? (
<div className="flex flex-row w-full mr-3"> <div className="flex flex-row w-full mr-3">
<div className="flex flex-col w-full mr-3"> <div className="flex flex-col w-full mr-3">
<div className=" text-gray-500 font-bold">From</div> <div className=" text-gray-500 font-bold">Başlangıç</div>
<Field <Field
className={controlClasses} className={controlClasses}
name='filterValueFrom' name='filterValueFrom'
placeholder='From' placeholder='Başlangıç'
id='filterValueFrom' id='filterValueFrom'
value={filterItem?.fields?.filterValueFrom || ''} value={filterItem?.fields?.filterValueFrom || ''}
onChange={handleChange(filterItem.id)} onChange={handleChange(filterItem.id)}
/> />
</div> </div>
<div className="flex flex-col w-full"> <div className="flex flex-col w-full">
<div className=" text-gray-500 font-bold">To</div> <div className=" text-gray-500 font-bold">Bitiş</div>
<Field <Field
className={controlClasses} className={controlClasses}
name='filterValueTo' name='filterValueTo'
@ -356,12 +356,12 @@ const TableSampleBudget_items = ({ filterItems, setFilterItems, filters, showGri
<div className='flex flex-row w-full mr-3'> <div className='flex flex-row w-full mr-3'>
<div className='flex flex-col w-full mr-3'> <div className='flex flex-col w-full mr-3'>
<div className=' text-gray-500 font-bold'> <div className=' text-gray-500 font-bold'>
From Başlangıç
</div> </div>
<Field <Field
className={controlClasses} className={controlClasses}
name='filterValueFrom' name='filterValueFrom'
placeholder='From' placeholder='Başlangıç'
id='filterValueFrom' id='filterValueFrom'
type='datetime-local' type='datetime-local'
value={filterItem?.fields?.filterValueFrom || ''} value={filterItem?.fields?.filterValueFrom || ''}
@ -369,7 +369,7 @@ const TableSampleBudget_items = ({ filterItems, setFilterItems, filters, showGri
/> />
</div> </div>
<div className='flex flex-col w-full'> <div className='flex flex-col w-full'>
<div className=' text-gray-500 font-bold'>To</div> <div className=' text-gray-500 font-bold'>Bitiş</div>
<Field <Field
className={controlClasses} className={controlClasses}
name='filterValueTo' name='filterValueTo'
@ -383,11 +383,11 @@ const TableSampleBudget_items = ({ filterItems, setFilterItems, filters, showGri
</div> </div>
) : ( ) : (
<div className="flex flex-col w-full mr-3"> <div className="flex flex-col w-full mr-3">
<div className=" text-gray-500 font-bold">Contains</div> <div className=" text-gray-500 font-bold">İçerir</div>
<Field <Field
className={controlClasses} className={controlClasses}
name='filterValue' name='filterValue'
placeholder='Contained' placeholder='İçerik'
id='filterValue' id='filterValue'
value={filterItem?.fields?.filterValue || ''} value={filterItem?.fields?.filterValue || ''}
onChange={handleChange(filterItem.id)} onChange={handleChange(filterItem.id)}
@ -395,12 +395,12 @@ const TableSampleBudget_items = ({ filterItems, setFilterItems, filters, showGri
</div> </div>
)} )}
<div className="flex flex-col"> <div className="flex flex-col">
<div className=" text-gray-500 font-bold">Action</div> <div className=" text-gray-500 font-bold">İşlem</div>
<BaseButton <BaseButton
className="my-2" className="my-2"
type='reset' type='reset'
color='danger' color='danger'
label='Delete' label='Sil'
onClick={() => { onClick={() => {
deleteFilter(filterItem.id) deleteFilter(filterItem.id)
}} }}
@ -413,13 +413,13 @@ const TableSampleBudget_items = ({ filterItems, setFilterItems, filters, showGri
<BaseButton <BaseButton
className="my-2 mr-3" className="my-2 mr-3"
color="success" color="success"
label='Apply' label='Uygula'
onClick={handleSubmit} onClick={handleSubmit}
/> />
<BaseButton <BaseButton
className="my-2" className="my-2"
color='info' color='info'
label='Cancel' label='İptal'
onClick={handleReset} onClick={handleReset}
/> />
</div> </div>
@ -429,14 +429,14 @@ const TableSampleBudget_items = ({ filterItems, setFilterItems, filters, showGri
</CardBox> : null </CardBox> : null
} }
<CardBoxModal <CardBoxModal
title="Please confirm" title="Lütfen onaylayın"
buttonColor="info" buttonColor="info"
buttonLabel={loading ? 'Deleting...' : 'Confirm'} buttonLabel={loading ? 'Siliniyor...' : 'Onayla'}
isActive={isModalTrashActive} isActive={isModalTrashActive}
onConfirm={handleDeleteAction} onConfirm={handleDeleteAction}
onCancel={handleModalAction} onCancel={handleModalAction}
> >
<p>Are you sure you want to delete this item?</p> <p>Bu kaydı silmek istediğinize emin misiniz?</p>
</CardBoxModal> </CardBoxModal>
@ -450,7 +450,7 @@ const TableSampleBudget_items = ({ filterItems, setFilterItems, filters, showGri
<BaseButton <BaseButton
className='me-4' className='me-4'
color='danger' color='danger'
label={`Delete ${selectedRows.length === 1 ? 'Row' : 'Rows'}`} label={`Seçili ${selectedRows.length === 1 ? 'Satırı' : 'Satırları'} Sil`}
onClick={() => onDeleteRows(selectedRows)} onClick={() => onDeleteRows(selectedRows)}
/>, />,
document.getElementById('delete-rows-button'), document.getElementById('delete-rows-button'),

View File

@ -43,7 +43,7 @@ export const loadColumns = async (
{ {
field: 'name', field: 'name',
headerName: 'BudgetItemName', headerName: 'Bütçe Kalemi Adı',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,
@ -58,7 +58,7 @@ export const loadColumns = async (
{ {
field: 'category', field: 'category',
headerName: 'Category', headerName: 'Kategori',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,
@ -73,7 +73,7 @@ export const loadColumns = async (
{ {
field: 'status', field: 'status',
headerName: 'Status', headerName: 'Durum',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,
@ -88,7 +88,7 @@ export const loadColumns = async (
{ {
field: 'estimated_cost', field: 'estimated_cost',
headerName: 'EstimatedCost', headerName: 'Tahmini Maliyet',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,
@ -104,7 +104,7 @@ export const loadColumns = async (
{ {
field: 'actual_cost', field: 'actual_cost',
headerName: 'ActualCost', headerName: 'Gerçekleşen Maliyet',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,
@ -120,7 +120,7 @@ export const loadColumns = async (
{ {
field: 'due_at', field: 'due_at',
headerName: 'DueAt', headerName: 'Vade Tarihi',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,
@ -138,7 +138,7 @@ export const loadColumns = async (
{ {
field: 'paid_at', field: 'paid_at',
headerName: 'PaidAt', headerName: 'Ödeme Tarihi',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,
@ -156,7 +156,7 @@ export const loadColumns = async (
{ {
field: 'event', field: 'event',
headerName: 'Event', headerName: 'Etkinlik',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,
@ -178,7 +178,7 @@ export const loadColumns = async (
{ {
field: 'vendor', field: 'vendor',
headerName: 'Vendor', headerName: 'Tedarikçi',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,
@ -200,7 +200,7 @@ export const loadColumns = async (
{ {
field: 'notes', field: 'notes',
headerName: 'Notes', headerName: 'Notlar',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,
@ -215,7 +215,7 @@ export const loadColumns = async (
{ {
field: 'attachments', field: 'attachments',
headerName: 'Attachments', headerName: 'Ekler',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,

View File

@ -33,7 +33,7 @@ const CardBoxModal = ({
const footer = ( const footer = (
<BaseButtons> <BaseButtons>
<BaseButton label={buttonLabel} color={buttonColor} onClick={onConfirm} /> <BaseButton label={buttonLabel} color={buttonColor} onClick={onConfirm} />
{!!onCancel && <BaseButton label="Cancel" color={buttonColor} outline onClick={onCancel} />} {!!onCancel && <BaseButton label="İptal" color={buttonColor} outline onClick={onCancel} />}
</BaseButtons> </BaseButtons>
) )

View File

@ -213,7 +213,7 @@ const CardCompanies = ({
))} ))}
{!loading && companies.length === 0 && ( {!loading && companies.length === 0 && (
<div className='col-span-full flex items-center justify-center h-40'> <div className='col-span-full flex items-center justify-center h-40'>
<p className=''>No data to display</p> <p className=''>Gösterilecek veri yok</p>
</div> </div>
)} )}
</ul> </ul>

View File

@ -150,7 +150,7 @@ const ListCompanies = ({ companies, loading, onDelete, currentPage, numPages, on
))} ))}
{!loading && companies.length === 0 && ( {!loading && companies.length === 0 && (
<div className='col-span-full flex items-center justify-center h-40'> <div className='col-span-full flex items-center justify-center h-40'>
<p className=''>No data to display</p> <p className=''>Gösterilecek veri yok</p>
</div> </div>
)} )}
</div> </div>

View File

@ -277,7 +277,7 @@ const TableSampleCompanies = ({ filterItems, setFilterItems, filters, showGrid }
return ( return (
<div key={filterItem.id} className="flex mb-4"> <div key={filterItem.id} className="flex mb-4">
<div className="flex flex-col w-full mr-3"> <div className="flex flex-col w-full mr-3">
<div className=" text-gray-500 font-bold">Filter</div> <div className=" text-gray-500 font-bold">Filtre</div>
<Field <Field
className={controlClasses} className={controlClasses}
name='selectedField' name='selectedField'
@ -301,7 +301,7 @@ const TableSampleCompanies = ({ filterItems, setFilterItems, filters, showGrid }
)?.type === 'enum' ? ( )?.type === 'enum' ? (
<div className="flex flex-col w-full mr-3"> <div className="flex flex-col w-full mr-3">
<div className="text-gray-500 font-bold"> <div className="text-gray-500 font-bold">
Value Değer
</div> </div>
<Field <Field
className={controlClasses} className={controlClasses}
@ -311,7 +311,7 @@ const TableSampleCompanies = ({ filterItems, setFilterItems, filters, showGrid }
value={filterItem?.fields?.filterValue || ''} value={filterItem?.fields?.filterValue || ''}
onChange={handleChange(filterItem.id)} onChange={handleChange(filterItem.id)}
> >
<option value="">Select Value</option> <option value="">Değer seçin</option>
{filters.find((filter) => {filters.find((filter) =>
filter.title === filterItem?.fields?.selectedField filter.title === filterItem?.fields?.selectedField
)?.options?.map((option) => ( )?.options?.map((option) => (
@ -326,18 +326,18 @@ const TableSampleCompanies = ({ filterItems, setFilterItems, filters, showGrid }
)?.number ? ( )?.number ? (
<div className="flex flex-row w-full mr-3"> <div className="flex flex-row w-full mr-3">
<div className="flex flex-col w-full mr-3"> <div className="flex flex-col w-full mr-3">
<div className=" text-gray-500 font-bold">From</div> <div className=" text-gray-500 font-bold">Başlangıç</div>
<Field <Field
className={controlClasses} className={controlClasses}
name='filterValueFrom' name='filterValueFrom'
placeholder='From' placeholder='Başlangıç'
id='filterValueFrom' id='filterValueFrom'
value={filterItem?.fields?.filterValueFrom || ''} value={filterItem?.fields?.filterValueFrom || ''}
onChange={handleChange(filterItem.id)} onChange={handleChange(filterItem.id)}
/> />
</div> </div>
<div className="flex flex-col w-full"> <div className="flex flex-col w-full">
<div className=" text-gray-500 font-bold">To</div> <div className=" text-gray-500 font-bold">Bitiş</div>
<Field <Field
className={controlClasses} className={controlClasses}
name='filterValueTo' name='filterValueTo'
@ -356,12 +356,12 @@ const TableSampleCompanies = ({ filterItems, setFilterItems, filters, showGrid }
<div className='flex flex-row w-full mr-3'> <div className='flex flex-row w-full mr-3'>
<div className='flex flex-col w-full mr-3'> <div className='flex flex-col w-full mr-3'>
<div className=' text-gray-500 font-bold'> <div className=' text-gray-500 font-bold'>
From Başlangıç
</div> </div>
<Field <Field
className={controlClasses} className={controlClasses}
name='filterValueFrom' name='filterValueFrom'
placeholder='From' placeholder='Başlangıç'
id='filterValueFrom' id='filterValueFrom'
type='datetime-local' type='datetime-local'
value={filterItem?.fields?.filterValueFrom || ''} value={filterItem?.fields?.filterValueFrom || ''}
@ -369,7 +369,7 @@ const TableSampleCompanies = ({ filterItems, setFilterItems, filters, showGrid }
/> />
</div> </div>
<div className='flex flex-col w-full'> <div className='flex flex-col w-full'>
<div className=' text-gray-500 font-bold'>To</div> <div className=' text-gray-500 font-bold'>Bitiş</div>
<Field <Field
className={controlClasses} className={controlClasses}
name='filterValueTo' name='filterValueTo'
@ -383,11 +383,11 @@ const TableSampleCompanies = ({ filterItems, setFilterItems, filters, showGrid }
</div> </div>
) : ( ) : (
<div className="flex flex-col w-full mr-3"> <div className="flex flex-col w-full mr-3">
<div className=" text-gray-500 font-bold">Contains</div> <div className=" text-gray-500 font-bold">İçerir</div>
<Field <Field
className={controlClasses} className={controlClasses}
name='filterValue' name='filterValue'
placeholder='Contained' placeholder='İçerik'
id='filterValue' id='filterValue'
value={filterItem?.fields?.filterValue || ''} value={filterItem?.fields?.filterValue || ''}
onChange={handleChange(filterItem.id)} onChange={handleChange(filterItem.id)}
@ -395,12 +395,12 @@ const TableSampleCompanies = ({ filterItems, setFilterItems, filters, showGrid }
</div> </div>
)} )}
<div className="flex flex-col"> <div className="flex flex-col">
<div className=" text-gray-500 font-bold">Action</div> <div className=" text-gray-500 font-bold">İşlem</div>
<BaseButton <BaseButton
className="my-2" className="my-2"
type='reset' type='reset'
color='danger' color='danger'
label='Delete' label='Sil'
onClick={() => { onClick={() => {
deleteFilter(filterItem.id) deleteFilter(filterItem.id)
}} }}
@ -413,13 +413,13 @@ const TableSampleCompanies = ({ filterItems, setFilterItems, filters, showGrid }
<BaseButton <BaseButton
className="my-2 mr-3" className="my-2 mr-3"
color="success" color="success"
label='Apply' label='Uygula'
onClick={handleSubmit} onClick={handleSubmit}
/> />
<BaseButton <BaseButton
className="my-2" className="my-2"
color='info' color='info'
label='Cancel' label='İptal'
onClick={handleReset} onClick={handleReset}
/> />
</div> </div>
@ -429,14 +429,14 @@ const TableSampleCompanies = ({ filterItems, setFilterItems, filters, showGrid }
</CardBox> : null </CardBox> : null
} }
<CardBoxModal <CardBoxModal
title="Please confirm" title="Lütfen onaylayın"
buttonColor="info" buttonColor="info"
buttonLabel={loading ? 'Deleting...' : 'Confirm'} buttonLabel={loading ? 'Siliniyor...' : 'Onayla'}
isActive={isModalTrashActive} isActive={isModalTrashActive}
onConfirm={handleDeleteAction} onConfirm={handleDeleteAction}
onCancel={handleModalAction} onCancel={handleModalAction}
> >
<p>Are you sure you want to delete this item?</p> <p>Bu kaydı silmek istediğinize emin misiniz?</p>
</CardBoxModal> </CardBoxModal>
@ -450,7 +450,7 @@ const TableSampleCompanies = ({ filterItems, setFilterItems, filters, showGrid }
<BaseButton <BaseButton
className='me-4' className='me-4'
color='danger' color='danger'
label={`Delete ${selectedRows.length === 1 ? 'Row' : 'Rows'}`} label={`Seçili ${selectedRows.length === 1 ? 'Satırı' : 'Satırları'} Sil`}
onClick={() => onDeleteRows(selectedRows)} onClick={() => onDeleteRows(selectedRows)}
/>, />,
document.getElementById('delete-rows-button'), document.getElementById('delete-rows-button'),

View File

@ -43,7 +43,7 @@ export const loadColumns = async (
{ {
field: 'name', field: 'name',
headerName: 'CompanyName', headerName: 'Şirket Adı',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,
@ -58,7 +58,7 @@ export const loadColumns = async (
{ {
field: 'legal_name', field: 'legal_name',
headerName: 'LegalName', headerName: 'Resmi Ünvan',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,
@ -73,7 +73,7 @@ export const loadColumns = async (
{ {
field: 'tax_number', field: 'tax_number',
headerName: 'TaxNumber', headerName: 'Vergi Numarası',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,
@ -88,7 +88,7 @@ export const loadColumns = async (
{ {
field: 'industry', field: 'industry',
headerName: 'Industry', headerName: 'Sektör',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,
@ -103,7 +103,7 @@ export const loadColumns = async (
{ {
field: 'website', field: 'website',
headerName: 'Website', headerName: 'Web Sitesi',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,
@ -118,7 +118,7 @@ export const loadColumns = async (
{ {
field: 'phone', field: 'phone',
headerName: 'Phone', headerName: 'Telefon',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,
@ -133,7 +133,7 @@ export const loadColumns = async (
{ {
field: 'email', field: 'email',
headerName: 'Email', headerName: 'E-posta',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,
@ -148,7 +148,7 @@ export const loadColumns = async (
{ {
field: 'billing_address', field: 'billing_address',
headerName: 'BillingAddress', headerName: 'Fatura Adresi',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,
@ -163,7 +163,7 @@ export const loadColumns = async (
{ {
field: 'shipping_address', field: 'shipping_address',
headerName: 'ShippingAddress', headerName: 'Sevkiyat Adresi',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,
@ -178,7 +178,7 @@ export const loadColumns = async (
{ {
field: 'status', field: 'status',
headerName: 'Status', headerName: 'Durum',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,
@ -193,7 +193,7 @@ export const loadColumns = async (
{ {
field: 'owner', field: 'owner',
headerName: 'Owner', headerName: 'Sorumlu Kişi',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,

View File

@ -78,7 +78,7 @@ const CardContacts = ({
<div className='flex justify-between gap-x-4 py-3'> <div className='flex justify-between gap-x-4 py-3'>
<dt className=' text-gray-500 dark:text-dark-600'>FirstName</dt> <dt className=' text-gray-500 dark:text-dark-600'>Ad</dt>
<dd className='flex items-start gap-x-2'> <dd className='flex items-start gap-x-2'>
<div className='font-medium line-clamp-4'> <div className='font-medium line-clamp-4'>
{ item.first_name } { item.first_name }
@ -90,7 +90,7 @@ const CardContacts = ({
<div className='flex justify-between gap-x-4 py-3'> <div className='flex justify-between gap-x-4 py-3'>
<dt className=' text-gray-500 dark:text-dark-600'>LastName</dt> <dt className=' text-gray-500 dark:text-dark-600'>Soyad</dt>
<dd className='flex items-start gap-x-2'> <dd className='flex items-start gap-x-2'>
<div className='font-medium line-clamp-4'> <div className='font-medium line-clamp-4'>
{ item.last_name } { item.last_name }
@ -102,7 +102,7 @@ const CardContacts = ({
<div className='flex justify-between gap-x-4 py-3'> <div className='flex justify-between gap-x-4 py-3'>
<dt className=' text-gray-500 dark:text-dark-600'>Email</dt> <dt className=' text-gray-500 dark:text-dark-600'>E-posta</dt>
<dd className='flex items-start gap-x-2'> <dd className='flex items-start gap-x-2'>
<div className='font-medium line-clamp-4'> <div className='font-medium line-clamp-4'>
{ item.email } { item.email }
@ -114,7 +114,7 @@ const CardContacts = ({
<div className='flex justify-between gap-x-4 py-3'> <div className='flex justify-between gap-x-4 py-3'>
<dt className=' text-gray-500 dark:text-dark-600'>Phone</dt> <dt className=' text-gray-500 dark:text-dark-600'>Telefon</dt>
<dd className='flex items-start gap-x-2'> <dd className='flex items-start gap-x-2'>
<div className='font-medium line-clamp-4'> <div className='font-medium line-clamp-4'>
{ item.phone } { item.phone }
@ -138,7 +138,7 @@ const CardContacts = ({
<div className='flex justify-between gap-x-4 py-3'> <div className='flex justify-between gap-x-4 py-3'>
<dt className=' text-gray-500 dark:text-dark-600'>Status</dt> <dt className=' text-gray-500 dark:text-dark-600'>Durum</dt>
<dd className='flex items-start gap-x-2'> <dd className='flex items-start gap-x-2'>
<div className='font-medium line-clamp-4'> <div className='font-medium line-clamp-4'>
{ item.status } { item.status }
@ -150,7 +150,7 @@ const CardContacts = ({
<div className='flex justify-between gap-x-4 py-3'> <div className='flex justify-between gap-x-4 py-3'>
<dt className=' text-gray-500 dark:text-dark-600'>Company</dt> <dt className=' text-gray-500 dark:text-dark-600'>Şirket</dt>
<dd className='flex items-start gap-x-2'> <dd className='flex items-start gap-x-2'>
<div className='font-medium line-clamp-4'> <div className='font-medium line-clamp-4'>
{ dataFormatter.companiesOneListFormatter(item.company) } { dataFormatter.companiesOneListFormatter(item.company) }
@ -162,7 +162,7 @@ const CardContacts = ({
<div className='flex justify-between gap-x-4 py-3'> <div className='flex justify-between gap-x-4 py-3'>
<dt className=' text-gray-500 dark:text-dark-600'>Owner</dt> <dt className=' text-gray-500 dark:text-dark-600'>Sorumlu Kişi</dt>
<dd className='flex items-start gap-x-2'> <dd className='flex items-start gap-x-2'>
<div className='font-medium line-clamp-4'> <div className='font-medium line-clamp-4'>
{ dataFormatter.usersOneListFormatter(item.owner) } { dataFormatter.usersOneListFormatter(item.owner) }
@ -174,7 +174,7 @@ const CardContacts = ({
<div className='flex justify-between gap-x-4 py-3'> <div className='flex justify-between gap-x-4 py-3'>
<dt className=' text-gray-500 dark:text-dark-600'>Notes</dt> <dt className=' text-gray-500 dark:text-dark-600'>Notlar</dt>
<dd className='flex items-start gap-x-2'> <dd className='flex items-start gap-x-2'>
<div className='font-medium line-clamp-4'> <div className='font-medium line-clamp-4'>
{ item.notes } { item.notes }
@ -189,7 +189,7 @@ const CardContacts = ({
))} ))}
{!loading && contacts.length === 0 && ( {!loading && contacts.length === 0 && (
<div className='col-span-full flex items-center justify-center h-40'> <div className='col-span-full flex items-center justify-center h-40'>
<p className=''>No data to display</p> <p className=''>Gösterilecek veri yok</p>
</div> </div>
)} )}
</ul> </ul>

View File

@ -48,7 +48,7 @@ const ListContacts = ({ contacts, loading, onDelete, currentPage, numPages, onPa
<div className={'flex-1 px-3'}> <div className={'flex-1 px-3'}>
<p className={'text-xs text-gray-500 '}>FirstName</p> <p className={'text-xs text-gray-500 '}>Ad</p>
<p className={'line-clamp-2'}>{ item.first_name }</p> <p className={'line-clamp-2'}>{ item.first_name }</p>
</div> </div>
@ -56,7 +56,7 @@ const ListContacts = ({ contacts, loading, onDelete, currentPage, numPages, onPa
<div className={'flex-1 px-3'}> <div className={'flex-1 px-3'}>
<p className={'text-xs text-gray-500 '}>LastName</p> <p className={'text-xs text-gray-500 '}>Soyad</p>
<p className={'line-clamp-2'}>{ item.last_name }</p> <p className={'line-clamp-2'}>{ item.last_name }</p>
</div> </div>
@ -64,7 +64,7 @@ const ListContacts = ({ contacts, loading, onDelete, currentPage, numPages, onPa
<div className={'flex-1 px-3'}> <div className={'flex-1 px-3'}>
<p className={'text-xs text-gray-500 '}>Email</p> <p className={'text-xs text-gray-500 '}>E-posta</p>
<p className={'line-clamp-2'}>{ item.email }</p> <p className={'line-clamp-2'}>{ item.email }</p>
</div> </div>
@ -72,7 +72,7 @@ const ListContacts = ({ contacts, loading, onDelete, currentPage, numPages, onPa
<div className={'flex-1 px-3'}> <div className={'flex-1 px-3'}>
<p className={'text-xs text-gray-500 '}>Phone</p> <p className={'text-xs text-gray-500 '}>Telefon</p>
<p className={'line-clamp-2'}>{ item.phone }</p> <p className={'line-clamp-2'}>{ item.phone }</p>
</div> </div>
@ -88,7 +88,7 @@ const ListContacts = ({ contacts, loading, onDelete, currentPage, numPages, onPa
<div className={'flex-1 px-3'}> <div className={'flex-1 px-3'}>
<p className={'text-xs text-gray-500 '}>Status</p> <p className={'text-xs text-gray-500 '}>Durum</p>
<p className={'line-clamp-2'}>{ item.status }</p> <p className={'line-clamp-2'}>{ item.status }</p>
</div> </div>
@ -96,7 +96,7 @@ const ListContacts = ({ contacts, loading, onDelete, currentPage, numPages, onPa
<div className={'flex-1 px-3'}> <div className={'flex-1 px-3'}>
<p className={'text-xs text-gray-500 '}>Company</p> <p className={'text-xs text-gray-500 '}>Şirket</p>
<p className={'line-clamp-2'}>{ dataFormatter.companiesOneListFormatter(item.company) }</p> <p className={'line-clamp-2'}>{ dataFormatter.companiesOneListFormatter(item.company) }</p>
</div> </div>
@ -104,7 +104,7 @@ const ListContacts = ({ contacts, loading, onDelete, currentPage, numPages, onPa
<div className={'flex-1 px-3'}> <div className={'flex-1 px-3'}>
<p className={'text-xs text-gray-500 '}>Owner</p> <p className={'text-xs text-gray-500 '}>Sorumlu Kişi</p>
<p className={'line-clamp-2'}>{ dataFormatter.usersOneListFormatter(item.owner) }</p> <p className={'line-clamp-2'}>{ dataFormatter.usersOneListFormatter(item.owner) }</p>
</div> </div>
@ -112,7 +112,7 @@ const ListContacts = ({ contacts, loading, onDelete, currentPage, numPages, onPa
<div className={'flex-1 px-3'}> <div className={'flex-1 px-3'}>
<p className={'text-xs text-gray-500 '}>Notes</p> <p className={'text-xs text-gray-500 '}>Notlar</p>
<p className={'line-clamp-2'}>{ item.notes }</p> <p className={'line-clamp-2'}>{ item.notes }</p>
</div> </div>
@ -134,7 +134,7 @@ const ListContacts = ({ contacts, loading, onDelete, currentPage, numPages, onPa
))} ))}
{!loading && contacts.length === 0 && ( {!loading && contacts.length === 0 && (
<div className='col-span-full flex items-center justify-center h-40'> <div className='col-span-full flex items-center justify-center h-40'>
<p className=''>No data to display</p> <p className=''>Gösterilecek veri yok</p>
</div> </div>
)} )}
</div> </div>

View File

@ -277,7 +277,7 @@ const TableSampleContacts = ({ filterItems, setFilterItems, filters, showGrid })
return ( return (
<div key={filterItem.id} className="flex mb-4"> <div key={filterItem.id} className="flex mb-4">
<div className="flex flex-col w-full mr-3"> <div className="flex flex-col w-full mr-3">
<div className=" text-gray-500 font-bold">Filter</div> <div className=" text-gray-500 font-bold">Filtre</div>
<Field <Field
className={controlClasses} className={controlClasses}
name='selectedField' name='selectedField'
@ -301,7 +301,7 @@ const TableSampleContacts = ({ filterItems, setFilterItems, filters, showGrid })
)?.type === 'enum' ? ( )?.type === 'enum' ? (
<div className="flex flex-col w-full mr-3"> <div className="flex flex-col w-full mr-3">
<div className="text-gray-500 font-bold"> <div className="text-gray-500 font-bold">
Value Değer
</div> </div>
<Field <Field
className={controlClasses} className={controlClasses}
@ -311,7 +311,7 @@ const TableSampleContacts = ({ filterItems, setFilterItems, filters, showGrid })
value={filterItem?.fields?.filterValue || ''} value={filterItem?.fields?.filterValue || ''}
onChange={handleChange(filterItem.id)} onChange={handleChange(filterItem.id)}
> >
<option value="">Select Value</option> <option value="">Değer seçin</option>
{filters.find((filter) => {filters.find((filter) =>
filter.title === filterItem?.fields?.selectedField filter.title === filterItem?.fields?.selectedField
)?.options?.map((option) => ( )?.options?.map((option) => (
@ -326,22 +326,22 @@ const TableSampleContacts = ({ filterItems, setFilterItems, filters, showGrid })
)?.number ? ( )?.number ? (
<div className="flex flex-row w-full mr-3"> <div className="flex flex-row w-full mr-3">
<div className="flex flex-col w-full mr-3"> <div className="flex flex-col w-full mr-3">
<div className=" text-gray-500 font-bold">From</div> <div className=" text-gray-500 font-bold">Başlangıç</div>
<Field <Field
className={controlClasses} className={controlClasses}
name='filterValueFrom' name='filterValueFrom'
placeholder='From' placeholder='Başlangıç'
id='filterValueFrom' id='filterValueFrom'
value={filterItem?.fields?.filterValueFrom || ''} value={filterItem?.fields?.filterValueFrom || ''}
onChange={handleChange(filterItem.id)} onChange={handleChange(filterItem.id)}
/> />
</div> </div>
<div className="flex flex-col w-full"> <div className="flex flex-col w-full">
<div className=" text-gray-500 font-bold">To</div> <div className=" text-gray-500 font-bold">Bitiş</div>
<Field <Field
className={controlClasses} className={controlClasses}
name='filterValueTo' name='filterValueTo'
placeholder='to' placeholder='Bitiş'
id='filterValueTo' id='filterValueTo'
value={filterItem?.fields?.filterValueTo || ''} value={filterItem?.fields?.filterValueTo || ''}
onChange={handleChange(filterItem.id)} onChange={handleChange(filterItem.id)}
@ -356,12 +356,12 @@ const TableSampleContacts = ({ filterItems, setFilterItems, filters, showGrid })
<div className='flex flex-row w-full mr-3'> <div className='flex flex-row w-full mr-3'>
<div className='flex flex-col w-full mr-3'> <div className='flex flex-col w-full mr-3'>
<div className=' text-gray-500 font-bold'> <div className=' text-gray-500 font-bold'>
From Başlangıç
</div> </div>
<Field <Field
className={controlClasses} className={controlClasses}
name='filterValueFrom' name='filterValueFrom'
placeholder='From' placeholder='Başlangıç'
id='filterValueFrom' id='filterValueFrom'
type='datetime-local' type='datetime-local'
value={filterItem?.fields?.filterValueFrom || ''} value={filterItem?.fields?.filterValueFrom || ''}
@ -369,11 +369,11 @@ const TableSampleContacts = ({ filterItems, setFilterItems, filters, showGrid })
/> />
</div> </div>
<div className='flex flex-col w-full'> <div className='flex flex-col w-full'>
<div className=' text-gray-500 font-bold'>To</div> <div className=' text-gray-500 font-bold'>Bitiş</div>
<Field <Field
className={controlClasses} className={controlClasses}
name='filterValueTo' name='filterValueTo'
placeholder='to' placeholder='Bitiş'
id='filterValueTo' id='filterValueTo'
type='datetime-local' type='datetime-local'
value={filterItem?.fields?.filterValueTo || ''} value={filterItem?.fields?.filterValueTo || ''}
@ -383,11 +383,11 @@ const TableSampleContacts = ({ filterItems, setFilterItems, filters, showGrid })
</div> </div>
) : ( ) : (
<div className="flex flex-col w-full mr-3"> <div className="flex flex-col w-full mr-3">
<div className=" text-gray-500 font-bold">Contains</div> <div className=" text-gray-500 font-bold">İçerir</div>
<Field <Field
className={controlClasses} className={controlClasses}
name='filterValue' name='filterValue'
placeholder='Contained' placeholder='İçerir'
id='filterValue' id='filterValue'
value={filterItem?.fields?.filterValue || ''} value={filterItem?.fields?.filterValue || ''}
onChange={handleChange(filterItem.id)} onChange={handleChange(filterItem.id)}
@ -395,12 +395,12 @@ const TableSampleContacts = ({ filterItems, setFilterItems, filters, showGrid })
</div> </div>
)} )}
<div className="flex flex-col"> <div className="flex flex-col">
<div className=" text-gray-500 font-bold">Action</div> <div className=" text-gray-500 font-bold">İşlem</div>
<BaseButton <BaseButton
className="my-2" className="my-2"
type='reset' type='reset'
color='danger' color='danger'
label='Delete' label='Sil'
onClick={() => { onClick={() => {
deleteFilter(filterItem.id) deleteFilter(filterItem.id)
}} }}
@ -413,13 +413,13 @@ const TableSampleContacts = ({ filterItems, setFilterItems, filters, showGrid })
<BaseButton <BaseButton
className="my-2 mr-3" className="my-2 mr-3"
color="success" color="success"
label='Apply' label='Uygula'
onClick={handleSubmit} onClick={handleSubmit}
/> />
<BaseButton <BaseButton
className="my-2" className="my-2"
color='info' color='info'
label='Cancel' label='İptal'
onClick={handleReset} onClick={handleReset}
/> />
</div> </div>
@ -429,14 +429,14 @@ const TableSampleContacts = ({ filterItems, setFilterItems, filters, showGrid })
</CardBox> : null </CardBox> : null
} }
<CardBoxModal <CardBoxModal
title="Please confirm" title="Lütfen onaylayın"
buttonColor="info" buttonColor="info"
buttonLabel={loading ? 'Deleting...' : 'Confirm'} buttonLabel={loading ? 'Siliniyor...' : 'Onayla'}
isActive={isModalTrashActive} isActive={isModalTrashActive}
onConfirm={handleDeleteAction} onConfirm={handleDeleteAction}
onCancel={handleModalAction} onCancel={handleModalAction}
> >
<p>Are you sure you want to delete this item?</p> <p>Bu kaydı silmek istediğinize emin misiniz?</p>
</CardBoxModal> </CardBoxModal>
@ -450,7 +450,7 @@ const TableSampleContacts = ({ filterItems, setFilterItems, filters, showGrid })
<BaseButton <BaseButton
className='me-4' className='me-4'
color='danger' color='danger'
label={`Delete ${selectedRows.length === 1 ? 'Row' : 'Rows'}`} label={`${selectedRows.length} satırı sil`}
onClick={() => onDeleteRows(selectedRows)} onClick={() => onDeleteRows(selectedRows)}
/>, />,
document.getElementById('delete-rows-button'), document.getElementById('delete-rows-button'),

View File

@ -43,7 +43,7 @@ export const loadColumns = async (
{ {
field: 'first_name', field: 'first_name',
headerName: 'FirstName', headerName: 'Ad',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,
@ -58,7 +58,7 @@ export const loadColumns = async (
{ {
field: 'last_name', field: 'last_name',
headerName: 'LastName', headerName: 'Soyad',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,
@ -73,7 +73,7 @@ export const loadColumns = async (
{ {
field: 'email', field: 'email',
headerName: 'Email', headerName: 'E-posta',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,
@ -88,7 +88,7 @@ export const loadColumns = async (
{ {
field: 'phone', field: 'phone',
headerName: 'Phone', headerName: 'Telefon',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,
@ -103,7 +103,7 @@ export const loadColumns = async (
{ {
field: 'job_title', field: 'job_title',
headerName: 'JobTitle', headerName: 'Pozisyon',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,
@ -118,7 +118,7 @@ export const loadColumns = async (
{ {
field: 'status', field: 'status',
headerName: 'Status', headerName: 'Durum',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,
@ -133,7 +133,7 @@ export const loadColumns = async (
{ {
field: 'company', field: 'company',
headerName: 'Company', headerName: 'Şirket',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,
@ -155,7 +155,7 @@ export const loadColumns = async (
{ {
field: 'owner', field: 'owner',
headerName: 'Owner', headerName: 'Sorumlu',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,
@ -177,7 +177,7 @@ export const loadColumns = async (
{ {
field: 'notes', field: 'notes',
headerName: 'Notes', headerName: 'Notlar',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,

View File

@ -78,7 +78,7 @@ const CardDeals = ({
<div className='flex justify-between gap-x-4 py-3'> <div className='flex justify-between gap-x-4 py-3'>
<dt className=' text-gray-500 dark:text-dark-600'>DealName</dt> <dt className=' text-gray-500 dark:text-dark-600'>Fırsat Adı</dt>
<dd className='flex items-start gap-x-2'> <dd className='flex items-start gap-x-2'>
<div className='font-medium line-clamp-4'> <div className='font-medium line-clamp-4'>
{ item.name } { item.name }
@ -90,7 +90,7 @@ const CardDeals = ({
<div className='flex justify-between gap-x-4 py-3'> <div className='flex justify-between gap-x-4 py-3'>
<dt className=' text-gray-500 dark:text-dark-600'>DealType</dt> <dt className=' text-gray-500 dark:text-dark-600'>Fırsat Türü</dt>
<dd className='flex items-start gap-x-2'> <dd className='flex items-start gap-x-2'>
<div className='font-medium line-clamp-4'> <div className='font-medium line-clamp-4'>
{ item.deal_type } { item.deal_type }
@ -102,7 +102,7 @@ const CardDeals = ({
<div className='flex justify-between gap-x-4 py-3'> <div className='flex justify-between gap-x-4 py-3'>
<dt className=' text-gray-500 dark:text-dark-600'>Status</dt> <dt className=' text-gray-500 dark:text-dark-600'>Durum</dt>
<dd className='flex items-start gap-x-2'> <dd className='flex items-start gap-x-2'>
<div className='font-medium line-clamp-4'> <div className='font-medium line-clamp-4'>
{ item.status } { item.status }
@ -114,7 +114,7 @@ const CardDeals = ({
<div className='flex justify-between gap-x-4 py-3'> <div className='flex justify-between gap-x-4 py-3'>
<dt className=' text-gray-500 dark:text-dark-600'>Amount</dt> <dt className=' text-gray-500 dark:text-dark-600'>Tutar</dt>
<dd className='flex items-start gap-x-2'> <dd className='flex items-start gap-x-2'>
<div className='font-medium line-clamp-4'> <div className='font-medium line-clamp-4'>
{ item.amount } { item.amount }
@ -126,7 +126,7 @@ const CardDeals = ({
<div className='flex justify-between gap-x-4 py-3'> <div className='flex justify-between gap-x-4 py-3'>
<dt className=' text-gray-500 dark:text-dark-600'>Probability</dt> <dt className=' text-gray-500 dark:text-dark-600'>Olasılık</dt>
<dd className='flex items-start gap-x-2'> <dd className='flex items-start gap-x-2'>
<div className='font-medium line-clamp-4'> <div className='font-medium line-clamp-4'>
{ item.probability } { item.probability }
@ -138,7 +138,7 @@ const CardDeals = ({
<div className='flex justify-between gap-x-4 py-3'> <div className='flex justify-between gap-x-4 py-3'>
<dt className=' text-gray-500 dark:text-dark-600'>ExpectedCloseAt</dt> <dt className=' text-gray-500 dark:text-dark-600'>Beklenen Kapanış Tarihi</dt>
<dd className='flex items-start gap-x-2'> <dd className='flex items-start gap-x-2'>
<div className='font-medium line-clamp-4'> <div className='font-medium line-clamp-4'>
{ dataFormatter.dateTimeFormatter(item.expected_close_at) } { dataFormatter.dateTimeFormatter(item.expected_close_at) }
@ -150,7 +150,7 @@ const CardDeals = ({
<div className='flex justify-between gap-x-4 py-3'> <div className='flex justify-between gap-x-4 py-3'>
<dt className=' text-gray-500 dark:text-dark-600'>ClosedAt</dt> <dt className=' text-gray-500 dark:text-dark-600'>Kapanış Tarihi</dt>
<dd className='flex items-start gap-x-2'> <dd className='flex items-start gap-x-2'>
<div className='font-medium line-clamp-4'> <div className='font-medium line-clamp-4'>
{ dataFormatter.dateTimeFormatter(item.closed_at) } { dataFormatter.dateTimeFormatter(item.closed_at) }
@ -162,7 +162,7 @@ const CardDeals = ({
<div className='flex justify-between gap-x-4 py-3'> <div className='flex justify-between gap-x-4 py-3'>
<dt className=' text-gray-500 dark:text-dark-600'>Company</dt> <dt className=' text-gray-500 dark:text-dark-600'>Şirket</dt>
<dd className='flex items-start gap-x-2'> <dd className='flex items-start gap-x-2'>
<div className='font-medium line-clamp-4'> <div className='font-medium line-clamp-4'>
{ dataFormatter.companiesOneListFormatter(item.company) } { dataFormatter.companiesOneListFormatter(item.company) }
@ -174,7 +174,7 @@ const CardDeals = ({
<div className='flex justify-between gap-x-4 py-3'> <div className='flex justify-between gap-x-4 py-3'>
<dt className=' text-gray-500 dark:text-dark-600'>PrimaryContact</dt> <dt className=' text-gray-500 dark:text-dark-600'>Ana Yetkili</dt>
<dd className='flex items-start gap-x-2'> <dd className='flex items-start gap-x-2'>
<div className='font-medium line-clamp-4'> <div className='font-medium line-clamp-4'>
{ dataFormatter.contactsOneListFormatter(item.primary_contact) } { dataFormatter.contactsOneListFormatter(item.primary_contact) }
@ -186,7 +186,7 @@ const CardDeals = ({
<div className='flex justify-between gap-x-4 py-3'> <div className='flex justify-between gap-x-4 py-3'>
<dt className=' text-gray-500 dark:text-dark-600'>Owner</dt> <dt className=' text-gray-500 dark:text-dark-600'>Sorumlu Kişi</dt>
<dd className='flex items-start gap-x-2'> <dd className='flex items-start gap-x-2'>
<div className='font-medium line-clamp-4'> <div className='font-medium line-clamp-4'>
{ dataFormatter.usersOneListFormatter(item.owner) } { dataFormatter.usersOneListFormatter(item.owner) }
@ -198,7 +198,7 @@ const CardDeals = ({
<div className='flex justify-between gap-x-4 py-3'> <div className='flex justify-between gap-x-4 py-3'>
<dt className=' text-gray-500 dark:text-dark-600'>Pipeline</dt> <dt className=' text-gray-500 dark:text-dark-600'>Satış Hattı</dt>
<dd className='flex items-start gap-x-2'> <dd className='flex items-start gap-x-2'>
<div className='font-medium line-clamp-4'> <div className='font-medium line-clamp-4'>
{ dataFormatter.pipelinesOneListFormatter(item.pipeline) } { dataFormatter.pipelinesOneListFormatter(item.pipeline) }
@ -210,7 +210,7 @@ const CardDeals = ({
<div className='flex justify-between gap-x-4 py-3'> <div className='flex justify-between gap-x-4 py-3'>
<dt className=' text-gray-500 dark:text-dark-600'>Stage</dt> <dt className=' text-gray-500 dark:text-dark-600'>Aşama</dt>
<dd className='flex items-start gap-x-2'> <dd className='flex items-start gap-x-2'>
<div className='font-medium line-clamp-4'> <div className='font-medium line-clamp-4'>
{ dataFormatter.pipeline_stagesOneListFormatter(item.stage) } { dataFormatter.pipeline_stagesOneListFormatter(item.stage) }
@ -222,7 +222,7 @@ const CardDeals = ({
<div className='flex justify-between gap-x-4 py-3'> <div className='flex justify-between gap-x-4 py-3'>
<dt className=' text-gray-500 dark:text-dark-600'>Lead</dt> <dt className=' text-gray-500 dark:text-dark-600'>Potansiyel Müşteri</dt>
<dd className='flex items-start gap-x-2'> <dd className='flex items-start gap-x-2'>
<div className='font-medium line-clamp-4'> <div className='font-medium line-clamp-4'>
{ dataFormatter.leadsOneListFormatter(item.lead) } { dataFormatter.leadsOneListFormatter(item.lead) }
@ -234,7 +234,7 @@ const CardDeals = ({
<div className='flex justify-between gap-x-4 py-3'> <div className='flex justify-between gap-x-4 py-3'>
<dt className=' text-gray-500 dark:text-dark-600'>Notes</dt> <dt className=' text-gray-500 dark:text-dark-600'>Notlar</dt>
<dd className='flex items-start gap-x-2'> <dd className='flex items-start gap-x-2'>
<div className='font-medium line-clamp-4'> <div className='font-medium line-clamp-4'>
{ item.notes } { item.notes }
@ -249,7 +249,7 @@ const CardDeals = ({
))} ))}
{!loading && deals.length === 0 && ( {!loading && deals.length === 0 && (
<div className='col-span-full flex items-center justify-center h-40'> <div className='col-span-full flex items-center justify-center h-40'>
<p className=''>No data to display</p> <p className=''>Gösterilecek veri yok</p>
</div> </div>
)} )}
</ul> </ul>

View File

@ -48,7 +48,7 @@ const ListDeals = ({ deals, loading, onDelete, currentPage, numPages, onPageChan
<div className={'flex-1 px-3'}> <div className={'flex-1 px-3'}>
<p className={'text-xs text-gray-500 '}>DealName</p> <p className={'text-xs text-gray-500 '}>Fırsat Adı</p>
<p className={'line-clamp-2'}>{ item.name }</p> <p className={'line-clamp-2'}>{ item.name }</p>
</div> </div>
@ -56,7 +56,7 @@ const ListDeals = ({ deals, loading, onDelete, currentPage, numPages, onPageChan
<div className={'flex-1 px-3'}> <div className={'flex-1 px-3'}>
<p className={'text-xs text-gray-500 '}>DealType</p> <p className={'text-xs text-gray-500 '}>Fırsat Türü</p>
<p className={'line-clamp-2'}>{ item.deal_type }</p> <p className={'line-clamp-2'}>{ item.deal_type }</p>
</div> </div>
@ -64,7 +64,7 @@ const ListDeals = ({ deals, loading, onDelete, currentPage, numPages, onPageChan
<div className={'flex-1 px-3'}> <div className={'flex-1 px-3'}>
<p className={'text-xs text-gray-500 '}>Status</p> <p className={'text-xs text-gray-500 '}>Durum</p>
<p className={'line-clamp-2'}>{ item.status }</p> <p className={'line-clamp-2'}>{ item.status }</p>
</div> </div>
@ -72,7 +72,7 @@ const ListDeals = ({ deals, loading, onDelete, currentPage, numPages, onPageChan
<div className={'flex-1 px-3'}> <div className={'flex-1 px-3'}>
<p className={'text-xs text-gray-500 '}>Amount</p> <p className={'text-xs text-gray-500 '}>Tutar</p>
<p className={'line-clamp-2'}>{ item.amount }</p> <p className={'line-clamp-2'}>{ item.amount }</p>
</div> </div>
@ -80,7 +80,7 @@ const ListDeals = ({ deals, loading, onDelete, currentPage, numPages, onPageChan
<div className={'flex-1 px-3'}> <div className={'flex-1 px-3'}>
<p className={'text-xs text-gray-500 '}>Probability</p> <p className={'text-xs text-gray-500 '}>Olasılık</p>
<p className={'line-clamp-2'}>{ item.probability }</p> <p className={'line-clamp-2'}>{ item.probability }</p>
</div> </div>
@ -88,7 +88,7 @@ const ListDeals = ({ deals, loading, onDelete, currentPage, numPages, onPageChan
<div className={'flex-1 px-3'}> <div className={'flex-1 px-3'}>
<p className={'text-xs text-gray-500 '}>ExpectedCloseAt</p> <p className={'text-xs text-gray-500 '}>Beklenen Kapanış Tarihi</p>
<p className={'line-clamp-2'}>{ dataFormatter.dateTimeFormatter(item.expected_close_at) }</p> <p className={'line-clamp-2'}>{ dataFormatter.dateTimeFormatter(item.expected_close_at) }</p>
</div> </div>
@ -96,7 +96,7 @@ const ListDeals = ({ deals, loading, onDelete, currentPage, numPages, onPageChan
<div className={'flex-1 px-3'}> <div className={'flex-1 px-3'}>
<p className={'text-xs text-gray-500 '}>ClosedAt</p> <p className={'text-xs text-gray-500 '}>Kapanış Tarihi</p>
<p className={'line-clamp-2'}>{ dataFormatter.dateTimeFormatter(item.closed_at) }</p> <p className={'line-clamp-2'}>{ dataFormatter.dateTimeFormatter(item.closed_at) }</p>
</div> </div>
@ -104,7 +104,7 @@ const ListDeals = ({ deals, loading, onDelete, currentPage, numPages, onPageChan
<div className={'flex-1 px-3'}> <div className={'flex-1 px-3'}>
<p className={'text-xs text-gray-500 '}>Company</p> <p className={'text-xs text-gray-500 '}>Şirket</p>
<p className={'line-clamp-2'}>{ dataFormatter.companiesOneListFormatter(item.company) }</p> <p className={'line-clamp-2'}>{ dataFormatter.companiesOneListFormatter(item.company) }</p>
</div> </div>
@ -112,7 +112,7 @@ const ListDeals = ({ deals, loading, onDelete, currentPage, numPages, onPageChan
<div className={'flex-1 px-3'}> <div className={'flex-1 px-3'}>
<p className={'text-xs text-gray-500 '}>PrimaryContact</p> <p className={'text-xs text-gray-500 '}>Ana Yetkili</p>
<p className={'line-clamp-2'}>{ dataFormatter.contactsOneListFormatter(item.primary_contact) }</p> <p className={'line-clamp-2'}>{ dataFormatter.contactsOneListFormatter(item.primary_contact) }</p>
</div> </div>
@ -120,7 +120,7 @@ const ListDeals = ({ deals, loading, onDelete, currentPage, numPages, onPageChan
<div className={'flex-1 px-3'}> <div className={'flex-1 px-3'}>
<p className={'text-xs text-gray-500 '}>Owner</p> <p className={'text-xs text-gray-500 '}>Sorumlu Kişi</p>
<p className={'line-clamp-2'}>{ dataFormatter.usersOneListFormatter(item.owner) }</p> <p className={'line-clamp-2'}>{ dataFormatter.usersOneListFormatter(item.owner) }</p>
</div> </div>
@ -128,7 +128,7 @@ const ListDeals = ({ deals, loading, onDelete, currentPage, numPages, onPageChan
<div className={'flex-1 px-3'}> <div className={'flex-1 px-3'}>
<p className={'text-xs text-gray-500 '}>Pipeline</p> <p className={'text-xs text-gray-500 '}>Satış Hattı</p>
<p className={'line-clamp-2'}>{ dataFormatter.pipelinesOneListFormatter(item.pipeline) }</p> <p className={'line-clamp-2'}>{ dataFormatter.pipelinesOneListFormatter(item.pipeline) }</p>
</div> </div>
@ -136,7 +136,7 @@ const ListDeals = ({ deals, loading, onDelete, currentPage, numPages, onPageChan
<div className={'flex-1 px-3'}> <div className={'flex-1 px-3'}>
<p className={'text-xs text-gray-500 '}>Stage</p> <p className={'text-xs text-gray-500 '}>Aşama</p>
<p className={'line-clamp-2'}>{ dataFormatter.pipeline_stagesOneListFormatter(item.stage) }</p> <p className={'line-clamp-2'}>{ dataFormatter.pipeline_stagesOneListFormatter(item.stage) }</p>
</div> </div>
@ -144,7 +144,7 @@ const ListDeals = ({ deals, loading, onDelete, currentPage, numPages, onPageChan
<div className={'flex-1 px-3'}> <div className={'flex-1 px-3'}>
<p className={'text-xs text-gray-500 '}>Lead</p> <p className={'text-xs text-gray-500 '}>Potansiyel Müşteri</p>
<p className={'line-clamp-2'}>{ dataFormatter.leadsOneListFormatter(item.lead) }</p> <p className={'line-clamp-2'}>{ dataFormatter.leadsOneListFormatter(item.lead) }</p>
</div> </div>
@ -152,7 +152,7 @@ const ListDeals = ({ deals, loading, onDelete, currentPage, numPages, onPageChan
<div className={'flex-1 px-3'}> <div className={'flex-1 px-3'}>
<p className={'text-xs text-gray-500 '}>Notes</p> <p className={'text-xs text-gray-500 '}>Notlar</p>
<p className={'line-clamp-2'}>{ item.notes }</p> <p className={'line-clamp-2'}>{ item.notes }</p>
</div> </div>
@ -174,7 +174,7 @@ const ListDeals = ({ deals, loading, onDelete, currentPage, numPages, onPageChan
))} ))}
{!loading && deals.length === 0 && ( {!loading && deals.length === 0 && (
<div className='col-span-full flex items-center justify-center h-40'> <div className='col-span-full flex items-center justify-center h-40'>
<p className=''>No data to display</p> <p className=''>Gösterilecek veri yok</p>
</div> </div>
)} )}
</div> </div>

View File

@ -307,7 +307,7 @@ const TableSampleDeals = ({ filterItems, setFilterItems, filters, showGrid }) =>
return ( return (
<div key={filterItem.id} className="flex mb-4"> <div key={filterItem.id} className="flex mb-4">
<div className="flex flex-col w-full mr-3"> <div className="flex flex-col w-full mr-3">
<div className=" text-gray-500 font-bold">Filter</div> <div className=" text-gray-500 font-bold">Filtre</div>
<Field <Field
className={controlClasses} className={controlClasses}
name='selectedField' name='selectedField'
@ -331,7 +331,7 @@ const TableSampleDeals = ({ filterItems, setFilterItems, filters, showGrid }) =>
)?.type === 'enum' ? ( )?.type === 'enum' ? (
<div className="flex flex-col w-full mr-3"> <div className="flex flex-col w-full mr-3">
<div className="text-gray-500 font-bold"> <div className="text-gray-500 font-bold">
Value Değer
</div> </div>
<Field <Field
className={controlClasses} className={controlClasses}
@ -341,7 +341,7 @@ const TableSampleDeals = ({ filterItems, setFilterItems, filters, showGrid }) =>
value={filterItem?.fields?.filterValue || ''} value={filterItem?.fields?.filterValue || ''}
onChange={handleChange(filterItem.id)} onChange={handleChange(filterItem.id)}
> >
<option value="">Select Value</option> <option value="">Değer seçin</option>
{filters.find((filter) => {filters.find((filter) =>
filter.title === filterItem?.fields?.selectedField filter.title === filterItem?.fields?.selectedField
)?.options?.map((option) => ( )?.options?.map((option) => (
@ -356,22 +356,22 @@ const TableSampleDeals = ({ filterItems, setFilterItems, filters, showGrid }) =>
)?.number ? ( )?.number ? (
<div className="flex flex-row w-full mr-3"> <div className="flex flex-row w-full mr-3">
<div className="flex flex-col w-full mr-3"> <div className="flex flex-col w-full mr-3">
<div className=" text-gray-500 font-bold">From</div> <div className=" text-gray-500 font-bold">Başlangıç</div>
<Field <Field
className={controlClasses} className={controlClasses}
name='filterValueFrom' name='filterValueFrom'
placeholder='From' placeholder='Başlangıç'
id='filterValueFrom' id='filterValueFrom'
value={filterItem?.fields?.filterValueFrom || ''} value={filterItem?.fields?.filterValueFrom || ''}
onChange={handleChange(filterItem.id)} onChange={handleChange(filterItem.id)}
/> />
</div> </div>
<div className="flex flex-col w-full"> <div className="flex flex-col w-full">
<div className=" text-gray-500 font-bold">To</div> <div className=" text-gray-500 font-bold">Bitiş</div>
<Field <Field
className={controlClasses} className={controlClasses}
name='filterValueTo' name='filterValueTo'
placeholder='to' placeholder='Bitiş'
id='filterValueTo' id='filterValueTo'
value={filterItem?.fields?.filterValueTo || ''} value={filterItem?.fields?.filterValueTo || ''}
onChange={handleChange(filterItem.id)} onChange={handleChange(filterItem.id)}
@ -386,12 +386,12 @@ const TableSampleDeals = ({ filterItems, setFilterItems, filters, showGrid }) =>
<div className='flex flex-row w-full mr-3'> <div className='flex flex-row w-full mr-3'>
<div className='flex flex-col w-full mr-3'> <div className='flex flex-col w-full mr-3'>
<div className=' text-gray-500 font-bold'> <div className=' text-gray-500 font-bold'>
From Başlangıç
</div> </div>
<Field <Field
className={controlClasses} className={controlClasses}
name='filterValueFrom' name='filterValueFrom'
placeholder='From' placeholder='Başlangıç'
id='filterValueFrom' id='filterValueFrom'
type='datetime-local' type='datetime-local'
value={filterItem?.fields?.filterValueFrom || ''} value={filterItem?.fields?.filterValueFrom || ''}
@ -399,11 +399,11 @@ const TableSampleDeals = ({ filterItems, setFilterItems, filters, showGrid }) =>
/> />
</div> </div>
<div className='flex flex-col w-full'> <div className='flex flex-col w-full'>
<div className=' text-gray-500 font-bold'>To</div> <div className=' text-gray-500 font-bold'>Bitiş</div>
<Field <Field
className={controlClasses} className={controlClasses}
name='filterValueTo' name='filterValueTo'
placeholder='to' placeholder='Bitiş'
id='filterValueTo' id='filterValueTo'
type='datetime-local' type='datetime-local'
value={filterItem?.fields?.filterValueTo || ''} value={filterItem?.fields?.filterValueTo || ''}
@ -413,11 +413,11 @@ const TableSampleDeals = ({ filterItems, setFilterItems, filters, showGrid }) =>
</div> </div>
) : ( ) : (
<div className="flex flex-col w-full mr-3"> <div className="flex flex-col w-full mr-3">
<div className=" text-gray-500 font-bold">Contains</div> <div className=" text-gray-500 font-bold">İçerir</div>
<Field <Field
className={controlClasses} className={controlClasses}
name='filterValue' name='filterValue'
placeholder='Contained' placeholder='İçerir'
id='filterValue' id='filterValue'
value={filterItem?.fields?.filterValue || ''} value={filterItem?.fields?.filterValue || ''}
onChange={handleChange(filterItem.id)} onChange={handleChange(filterItem.id)}
@ -425,12 +425,12 @@ const TableSampleDeals = ({ filterItems, setFilterItems, filters, showGrid }) =>
</div> </div>
)} )}
<div className="flex flex-col"> <div className="flex flex-col">
<div className=" text-gray-500 font-bold">Action</div> <div className=" text-gray-500 font-bold">İşlem</div>
<BaseButton <BaseButton
className="my-2" className="my-2"
type='reset' type='reset'
color='danger' color='danger'
label='Delete' label='Sil'
onClick={() => { onClick={() => {
deleteFilter(filterItem.id) deleteFilter(filterItem.id)
}} }}
@ -443,13 +443,13 @@ const TableSampleDeals = ({ filterItems, setFilterItems, filters, showGrid }) =>
<BaseButton <BaseButton
className="my-2 mr-3" className="my-2 mr-3"
color="success" color="success"
label='Apply' label='Uygula'
onClick={handleSubmit} onClick={handleSubmit}
/> />
<BaseButton <BaseButton
className="my-2" className="my-2"
color='info' color='info'
label='Cancel' label='İptal'
onClick={handleReset} onClick={handleReset}
/> />
</div> </div>
@ -459,14 +459,14 @@ const TableSampleDeals = ({ filterItems, setFilterItems, filters, showGrid }) =>
</CardBox> : null </CardBox> : null
} }
<CardBoxModal <CardBoxModal
title="Please confirm" title="Lütfen onaylayın"
buttonColor="info" buttonColor="info"
buttonLabel={loading ? 'Deleting...' : 'Confirm'} buttonLabel={loading ? 'Siliniyor...' : 'Onayla'}
isActive={isModalTrashActive} isActive={isModalTrashActive}
onConfirm={handleDeleteAction} onConfirm={handleDeleteAction}
onCancel={handleModalAction} onCancel={handleModalAction}
> >
<p>Are you sure you want to delete this item?</p> <p>Bu kaydı silmek istediğinize emin misiniz?</p>
</CardBoxModal> </CardBoxModal>
@ -493,7 +493,7 @@ const TableSampleDeals = ({ filterItems, setFilterItems, filters, showGrid }) =>
<BaseButton <BaseButton
className='me-4' className='me-4'
color='danger' color='danger'
label={`Delete ${selectedRows.length === 1 ? 'Row' : 'Rows'}`} label={`${selectedRows.length} satırı sil`}
onClick={() => onDeleteRows(selectedRows)} onClick={() => onDeleteRows(selectedRows)}
/>, />,
document.getElementById('delete-rows-button'), document.getElementById('delete-rows-button'),

View File

@ -43,7 +43,7 @@ export const loadColumns = async (
{ {
field: 'name', field: 'name',
headerName: 'DealName', headerName: 'Fırsat Adı',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,
@ -58,7 +58,7 @@ export const loadColumns = async (
{ {
field: 'deal_type', field: 'deal_type',
headerName: 'DealType', headerName: 'Fırsat Türü',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,
@ -73,7 +73,7 @@ export const loadColumns = async (
{ {
field: 'status', field: 'status',
headerName: 'Status', headerName: 'Durum',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,
@ -88,7 +88,7 @@ export const loadColumns = async (
{ {
field: 'amount', field: 'amount',
headerName: 'Amount', headerName: 'Tutar',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,
@ -104,7 +104,7 @@ export const loadColumns = async (
{ {
field: 'probability', field: 'probability',
headerName: 'Probability', headerName: 'Olasılık',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,
@ -120,7 +120,7 @@ export const loadColumns = async (
{ {
field: 'expected_close_at', field: 'expected_close_at',
headerName: 'ExpectedCloseAt', headerName: 'Beklenen Kapanış',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,
@ -138,7 +138,7 @@ export const loadColumns = async (
{ {
field: 'closed_at', field: 'closed_at',
headerName: 'ClosedAt', headerName: 'Kapanış Tarihi',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,
@ -156,7 +156,7 @@ export const loadColumns = async (
{ {
field: 'company', field: 'company',
headerName: 'Company', headerName: 'Şirket',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,
@ -178,7 +178,7 @@ export const loadColumns = async (
{ {
field: 'primary_contact', field: 'primary_contact',
headerName: 'PrimaryContact', headerName: 'Ana Kontak',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,
@ -200,7 +200,7 @@ export const loadColumns = async (
{ {
field: 'owner', field: 'owner',
headerName: 'Owner', headerName: 'Sorumlu',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,
@ -244,7 +244,7 @@ export const loadColumns = async (
{ {
field: 'stage', field: 'stage',
headerName: 'Stage', headerName: 'Aşama',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,
@ -266,7 +266,7 @@ export const loadColumns = async (
{ {
field: 'lead', field: 'lead',
headerName: 'Lead', headerName: 'Potansiyel',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,
@ -288,7 +288,7 @@ export const loadColumns = async (
{ {
field: 'notes', field: 'notes',
headerName: 'Notes', headerName: 'Notlar',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,

View File

@ -202,7 +202,7 @@ class ErrorBoundary extends Component<ErrorBoundaryProps, ErrorBoundaryState> {
className='w-full py-2 px-4 border border-pavitra-600 text-pavitra-800 hover:bg-pavitra-400 rounded-md transition-colors' className='w-full py-2 px-4 border border-pavitra-600 text-pavitra-800 hover:bg-pavitra-400 rounded-md transition-colors'
onClick={this.resetError} onClick={this.resetError}
> >
Go Back Geri Dön
</button> </button>
</div> </div>
</div> </div>

View File

@ -189,7 +189,7 @@ const CardEvent_guests = ({
))} ))}
{!loading && event_guests.length === 0 && ( {!loading && event_guests.length === 0 && (
<div className='col-span-full flex items-center justify-center h-40'> <div className='col-span-full flex items-center justify-center h-40'>
<p className=''>No data to display</p> <p className=''>Gösterilecek veri yok</p>
</div> </div>
)} )}
</ul> </ul>

View File

@ -134,7 +134,7 @@ const ListEvent_guests = ({ event_guests, loading, onDelete, currentPage, numPag
))} ))}
{!loading && event_guests.length === 0 && ( {!loading && event_guests.length === 0 && (
<div className='col-span-full flex items-center justify-center h-40'> <div className='col-span-full flex items-center justify-center h-40'>
<p className=''>No data to display</p> <p className=''>Gösterilecek veri yok</p>
</div> </div>
)} )}
</div> </div>

View File

@ -277,7 +277,7 @@ const TableSampleEvent_guests = ({ filterItems, setFilterItems, filters, showGri
return ( return (
<div key={filterItem.id} className="flex mb-4"> <div key={filterItem.id} className="flex mb-4">
<div className="flex flex-col w-full mr-3"> <div className="flex flex-col w-full mr-3">
<div className=" text-gray-500 font-bold">Filter</div> <div className=" text-gray-500 font-bold">Filtre</div>
<Field <Field
className={controlClasses} className={controlClasses}
name='selectedField' name='selectedField'
@ -301,7 +301,7 @@ const TableSampleEvent_guests = ({ filterItems, setFilterItems, filters, showGri
)?.type === 'enum' ? ( )?.type === 'enum' ? (
<div className="flex flex-col w-full mr-3"> <div className="flex flex-col w-full mr-3">
<div className="text-gray-500 font-bold"> <div className="text-gray-500 font-bold">
Value Değer
</div> </div>
<Field <Field
className={controlClasses} className={controlClasses}
@ -311,7 +311,7 @@ const TableSampleEvent_guests = ({ filterItems, setFilterItems, filters, showGri
value={filterItem?.fields?.filterValue || ''} value={filterItem?.fields?.filterValue || ''}
onChange={handleChange(filterItem.id)} onChange={handleChange(filterItem.id)}
> >
<option value="">Select Value</option> <option value="">Değer seçin</option>
{filters.find((filter) => {filters.find((filter) =>
filter.title === filterItem?.fields?.selectedField filter.title === filterItem?.fields?.selectedField
)?.options?.map((option) => ( )?.options?.map((option) => (
@ -326,18 +326,18 @@ const TableSampleEvent_guests = ({ filterItems, setFilterItems, filters, showGri
)?.number ? ( )?.number ? (
<div className="flex flex-row w-full mr-3"> <div className="flex flex-row w-full mr-3">
<div className="flex flex-col w-full mr-3"> <div className="flex flex-col w-full mr-3">
<div className=" text-gray-500 font-bold">From</div> <div className=" text-gray-500 font-bold">Başlangıç</div>
<Field <Field
className={controlClasses} className={controlClasses}
name='filterValueFrom' name='filterValueFrom'
placeholder='From' placeholder='Başlangıç'
id='filterValueFrom' id='filterValueFrom'
value={filterItem?.fields?.filterValueFrom || ''} value={filterItem?.fields?.filterValueFrom || ''}
onChange={handleChange(filterItem.id)} onChange={handleChange(filterItem.id)}
/> />
</div> </div>
<div className="flex flex-col w-full"> <div className="flex flex-col w-full">
<div className=" text-gray-500 font-bold">To</div> <div className=" text-gray-500 font-bold">Bitiş</div>
<Field <Field
className={controlClasses} className={controlClasses}
name='filterValueTo' name='filterValueTo'
@ -356,12 +356,12 @@ const TableSampleEvent_guests = ({ filterItems, setFilterItems, filters, showGri
<div className='flex flex-row w-full mr-3'> <div className='flex flex-row w-full mr-3'>
<div className='flex flex-col w-full mr-3'> <div className='flex flex-col w-full mr-3'>
<div className=' text-gray-500 font-bold'> <div className=' text-gray-500 font-bold'>
From Başlangıç
</div> </div>
<Field <Field
className={controlClasses} className={controlClasses}
name='filterValueFrom' name='filterValueFrom'
placeholder='From' placeholder='Başlangıç'
id='filterValueFrom' id='filterValueFrom'
type='datetime-local' type='datetime-local'
value={filterItem?.fields?.filterValueFrom || ''} value={filterItem?.fields?.filterValueFrom || ''}
@ -369,7 +369,7 @@ const TableSampleEvent_guests = ({ filterItems, setFilterItems, filters, showGri
/> />
</div> </div>
<div className='flex flex-col w-full'> <div className='flex flex-col w-full'>
<div className=' text-gray-500 font-bold'>To</div> <div className=' text-gray-500 font-bold'>Bitiş</div>
<Field <Field
className={controlClasses} className={controlClasses}
name='filterValueTo' name='filterValueTo'
@ -383,11 +383,11 @@ const TableSampleEvent_guests = ({ filterItems, setFilterItems, filters, showGri
</div> </div>
) : ( ) : (
<div className="flex flex-col w-full mr-3"> <div className="flex flex-col w-full mr-3">
<div className=" text-gray-500 font-bold">Contains</div> <div className=" text-gray-500 font-bold">İçerir</div>
<Field <Field
className={controlClasses} className={controlClasses}
name='filterValue' name='filterValue'
placeholder='Contained' placeholder='İçerik'
id='filterValue' id='filterValue'
value={filterItem?.fields?.filterValue || ''} value={filterItem?.fields?.filterValue || ''}
onChange={handleChange(filterItem.id)} onChange={handleChange(filterItem.id)}
@ -395,12 +395,12 @@ const TableSampleEvent_guests = ({ filterItems, setFilterItems, filters, showGri
</div> </div>
)} )}
<div className="flex flex-col"> <div className="flex flex-col">
<div className=" text-gray-500 font-bold">Action</div> <div className=" text-gray-500 font-bold">İşlem</div>
<BaseButton <BaseButton
className="my-2" className="my-2"
type='reset' type='reset'
color='danger' color='danger'
label='Delete' label='Sil'
onClick={() => { onClick={() => {
deleteFilter(filterItem.id) deleteFilter(filterItem.id)
}} }}
@ -413,13 +413,13 @@ const TableSampleEvent_guests = ({ filterItems, setFilterItems, filters, showGri
<BaseButton <BaseButton
className="my-2 mr-3" className="my-2 mr-3"
color="success" color="success"
label='Apply' label='Uygula'
onClick={handleSubmit} onClick={handleSubmit}
/> />
<BaseButton <BaseButton
className="my-2" className="my-2"
color='info' color='info'
label='Cancel' label='İptal'
onClick={handleReset} onClick={handleReset}
/> />
</div> </div>
@ -429,14 +429,14 @@ const TableSampleEvent_guests = ({ filterItems, setFilterItems, filters, showGri
</CardBox> : null </CardBox> : null
} }
<CardBoxModal <CardBoxModal
title="Please confirm" title="Lütfen onaylayın"
buttonColor="info" buttonColor="info"
buttonLabel={loading ? 'Deleting...' : 'Confirm'} buttonLabel={loading ? 'Siliniyor...' : 'Onayla'}
isActive={isModalTrashActive} isActive={isModalTrashActive}
onConfirm={handleDeleteAction} onConfirm={handleDeleteAction}
onCancel={handleModalAction} onCancel={handleModalAction}
> >
<p>Are you sure you want to delete this item?</p> <p>Bu kaydı silmek istediğinize emin misiniz?</p>
</CardBoxModal> </CardBoxModal>
@ -450,7 +450,7 @@ const TableSampleEvent_guests = ({ filterItems, setFilterItems, filters, showGri
<BaseButton <BaseButton
className='me-4' className='me-4'
color='danger' color='danger'
label={`Delete ${selectedRows.length === 1 ? 'Row' : 'Rows'}`} label={`Seçili ${selectedRows.length === 1 ? 'Satırı' : 'Satırları'} Sil`}
onClick={() => onDeleteRows(selectedRows)} onClick={() => onDeleteRows(selectedRows)}
/>, />,
document.getElementById('delete-rows-button'), document.getElementById('delete-rows-button'),

View File

@ -43,7 +43,7 @@ export const loadColumns = async (
{ {
field: 'full_name', field: 'full_name',
headerName: 'FullName', headerName: 'Ad Soyad',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,
@ -58,7 +58,7 @@ export const loadColumns = async (
{ {
field: 'email', field: 'email',
headerName: 'Email', headerName: 'E-posta',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,
@ -73,7 +73,7 @@ export const loadColumns = async (
{ {
field: 'phone', field: 'phone',
headerName: 'Phone', headerName: 'Telefon',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,
@ -88,7 +88,7 @@ export const loadColumns = async (
{ {
field: 'rsvp_status', field: 'rsvp_status',
headerName: 'RSVPStatus', headerName: 'Katılım Durumu',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,
@ -103,7 +103,7 @@ export const loadColumns = async (
{ {
field: 'guest_type', field: 'guest_type',
headerName: 'GuestType', headerName: 'Davetli Türü',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,
@ -118,7 +118,7 @@ export const loadColumns = async (
{ {
field: 'invited_at', field: 'invited_at',
headerName: 'InvitedAt', headerName: 'Davet Tarihi',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,
@ -136,7 +136,7 @@ export const loadColumns = async (
{ {
field: 'checked_in_at', field: 'checked_in_at',
headerName: 'CheckedInAt', headerName: 'Giriş Tarihi',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,
@ -154,7 +154,7 @@ export const loadColumns = async (
{ {
field: 'event', field: 'event',
headerName: 'Event', headerName: 'Etkinlik',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,
@ -176,7 +176,7 @@ export const loadColumns = async (
{ {
field: 'notes', field: 'notes',
headerName: 'Notes', headerName: 'Notlar',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,

View File

@ -196,7 +196,7 @@ const CardEvent_schedule_items = ({
))} ))}
{!loading && event_schedule_items.length === 0 && ( {!loading && event_schedule_items.length === 0 && (
<div className='col-span-full flex items-center justify-center h-40'> <div className='col-span-full flex items-center justify-center h-40'>
<p className=''>No data to display</p> <p className=''>Gösterilecek veri yok</p>
</div> </div>
)} )}
</ul> </ul>

View File

@ -141,7 +141,7 @@ const ListEvent_schedule_items = ({ event_schedule_items, loading, onDelete, cur
))} ))}
{!loading && event_schedule_items.length === 0 && ( {!loading && event_schedule_items.length === 0 && (
<div className='col-span-full flex items-center justify-center h-40'> <div className='col-span-full flex items-center justify-center h-40'>
<p className=''>No data to display</p> <p className=''>Gösterilecek veri yok</p>
</div> </div>
)} )}
</div> </div>

View File

@ -286,7 +286,7 @@ const TableSampleEvent_schedule_items = ({ filterItems, setFilterItems, filters,
return ( return (
<div key={filterItem.id} className="flex mb-4"> <div key={filterItem.id} className="flex mb-4">
<div className="flex flex-col w-full mr-3"> <div className="flex flex-col w-full mr-3">
<div className=" text-gray-500 font-bold">Filter</div> <div className=" text-gray-500 font-bold">Filtre</div>
<Field <Field
className={controlClasses} className={controlClasses}
name='selectedField' name='selectedField'
@ -310,7 +310,7 @@ const TableSampleEvent_schedule_items = ({ filterItems, setFilterItems, filters,
)?.type === 'enum' ? ( )?.type === 'enum' ? (
<div className="flex flex-col w-full mr-3"> <div className="flex flex-col w-full mr-3">
<div className="text-gray-500 font-bold"> <div className="text-gray-500 font-bold">
Value Değer
</div> </div>
<Field <Field
className={controlClasses} className={controlClasses}
@ -320,7 +320,7 @@ const TableSampleEvent_schedule_items = ({ filterItems, setFilterItems, filters,
value={filterItem?.fields?.filterValue || ''} value={filterItem?.fields?.filterValue || ''}
onChange={handleChange(filterItem.id)} onChange={handleChange(filterItem.id)}
> >
<option value="">Select Value</option> <option value="">Değer seçin</option>
{filters.find((filter) => {filters.find((filter) =>
filter.title === filterItem?.fields?.selectedField filter.title === filterItem?.fields?.selectedField
)?.options?.map((option) => ( )?.options?.map((option) => (
@ -335,18 +335,18 @@ const TableSampleEvent_schedule_items = ({ filterItems, setFilterItems, filters,
)?.number ? ( )?.number ? (
<div className="flex flex-row w-full mr-3"> <div className="flex flex-row w-full mr-3">
<div className="flex flex-col w-full mr-3"> <div className="flex flex-col w-full mr-3">
<div className=" text-gray-500 font-bold">From</div> <div className=" text-gray-500 font-bold">Başlangıç</div>
<Field <Field
className={controlClasses} className={controlClasses}
name='filterValueFrom' name='filterValueFrom'
placeholder='From' placeholder='Başlangıç'
id='filterValueFrom' id='filterValueFrom'
value={filterItem?.fields?.filterValueFrom || ''} value={filterItem?.fields?.filterValueFrom || ''}
onChange={handleChange(filterItem.id)} onChange={handleChange(filterItem.id)}
/> />
</div> </div>
<div className="flex flex-col w-full"> <div className="flex flex-col w-full">
<div className=" text-gray-500 font-bold">To</div> <div className=" text-gray-500 font-bold">Bitiş</div>
<Field <Field
className={controlClasses} className={controlClasses}
name='filterValueTo' name='filterValueTo'
@ -365,12 +365,12 @@ const TableSampleEvent_schedule_items = ({ filterItems, setFilterItems, filters,
<div className='flex flex-row w-full mr-3'> <div className='flex flex-row w-full mr-3'>
<div className='flex flex-col w-full mr-3'> <div className='flex flex-col w-full mr-3'>
<div className=' text-gray-500 font-bold'> <div className=' text-gray-500 font-bold'>
From Başlangıç
</div> </div>
<Field <Field
className={controlClasses} className={controlClasses}
name='filterValueFrom' name='filterValueFrom'
placeholder='From' placeholder='Başlangıç'
id='filterValueFrom' id='filterValueFrom'
type='datetime-local' type='datetime-local'
value={filterItem?.fields?.filterValueFrom || ''} value={filterItem?.fields?.filterValueFrom || ''}
@ -378,7 +378,7 @@ const TableSampleEvent_schedule_items = ({ filterItems, setFilterItems, filters,
/> />
</div> </div>
<div className='flex flex-col w-full'> <div className='flex flex-col w-full'>
<div className=' text-gray-500 font-bold'>To</div> <div className=' text-gray-500 font-bold'>Bitiş</div>
<Field <Field
className={controlClasses} className={controlClasses}
name='filterValueTo' name='filterValueTo'
@ -392,11 +392,11 @@ const TableSampleEvent_schedule_items = ({ filterItems, setFilterItems, filters,
</div> </div>
) : ( ) : (
<div className="flex flex-col w-full mr-3"> <div className="flex flex-col w-full mr-3">
<div className=" text-gray-500 font-bold">Contains</div> <div className=" text-gray-500 font-bold">İçerir</div>
<Field <Field
className={controlClasses} className={controlClasses}
name='filterValue' name='filterValue'
placeholder='Contained' placeholder='İçerik'
id='filterValue' id='filterValue'
value={filterItem?.fields?.filterValue || ''} value={filterItem?.fields?.filterValue || ''}
onChange={handleChange(filterItem.id)} onChange={handleChange(filterItem.id)}
@ -404,12 +404,12 @@ const TableSampleEvent_schedule_items = ({ filterItems, setFilterItems, filters,
</div> </div>
)} )}
<div className="flex flex-col"> <div className="flex flex-col">
<div className=" text-gray-500 font-bold">Action</div> <div className=" text-gray-500 font-bold">İşlem</div>
<BaseButton <BaseButton
className="my-2" className="my-2"
type='reset' type='reset'
color='danger' color='danger'
label='Delete' label='Sil'
onClick={() => { onClick={() => {
deleteFilter(filterItem.id) deleteFilter(filterItem.id)
}} }}
@ -422,13 +422,13 @@ const TableSampleEvent_schedule_items = ({ filterItems, setFilterItems, filters,
<BaseButton <BaseButton
className="my-2 mr-3" className="my-2 mr-3"
color="success" color="success"
label='Apply' label='Uygula'
onClick={handleSubmit} onClick={handleSubmit}
/> />
<BaseButton <BaseButton
className="my-2" className="my-2"
color='info' color='info'
label='Cancel' label='İptal'
onClick={handleReset} onClick={handleReset}
/> />
</div> </div>
@ -438,14 +438,14 @@ const TableSampleEvent_schedule_items = ({ filterItems, setFilterItems, filters,
</CardBox> : null </CardBox> : null
} }
<CardBoxModal <CardBoxModal
title="Please confirm" title="Lütfen onaylayın"
buttonColor="info" buttonColor="info"
buttonLabel={loading ? 'Deleting...' : 'Confirm'} buttonLabel={loading ? 'Siliniyor...' : 'Onayla'}
isActive={isModalTrashActive} isActive={isModalTrashActive}
onConfirm={handleDeleteAction} onConfirm={handleDeleteAction}
onCancel={handleModalAction} onCancel={handleModalAction}
> >
<p>Are you sure you want to delete this item?</p> <p>Bu kaydı silmek istediğinize emin misiniz?</p>
</CardBoxModal> </CardBoxModal>
@ -476,7 +476,7 @@ const TableSampleEvent_schedule_items = ({ filterItems, setFilterItems, filters,
<BaseButton <BaseButton
className='me-4' className='me-4'
color='danger' color='danger'
label={`Delete ${selectedRows.length === 1 ? 'Row' : 'Rows'}`} label={`Seçili ${selectedRows.length === 1 ? 'Satırı' : 'Satırları'} Sil`}
onClick={() => onDeleteRows(selectedRows)} onClick={() => onDeleteRows(selectedRows)}
/>, />,
document.getElementById('delete-rows-button'), document.getElementById('delete-rows-button'),

View File

@ -43,7 +43,7 @@ export const loadColumns = async (
{ {
field: 'title', field: 'title',
headerName: 'ScheduleItemTitle', headerName: 'Takvim Kalemi Başlığı',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,
@ -58,7 +58,7 @@ export const loadColumns = async (
{ {
field: 'status', field: 'status',
headerName: 'Status', headerName: 'Durum',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,
@ -73,7 +73,7 @@ export const loadColumns = async (
{ {
field: 'start_at', field: 'start_at',
headerName: 'StartAt', headerName: 'Başlangıç Tarihi',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,
@ -91,7 +91,7 @@ export const loadColumns = async (
{ {
field: 'end_at', field: 'end_at',
headerName: 'EndAt', headerName: 'Bitiş Tarihi',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,
@ -109,7 +109,7 @@ export const loadColumns = async (
{ {
field: 'event', field: 'event',
headerName: 'Event', headerName: 'Etkinlik',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,
@ -131,7 +131,7 @@ export const loadColumns = async (
{ {
field: 'owner', field: 'owner',
headerName: 'Owner', headerName: 'Sorumlu Kişi',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,
@ -153,7 +153,7 @@ export const loadColumns = async (
{ {
field: 'location', field: 'location',
headerName: 'Location', headerName: 'Konum',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,
@ -168,7 +168,7 @@ export const loadColumns = async (
{ {
field: 'description', field: 'description',
headerName: 'Description', headerName: 'ıklama',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,
@ -183,7 +183,7 @@ export const loadColumns = async (
{ {
field: 'attachments', field: 'attachments',
headerName: 'Attachments', headerName: 'Ekler',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,

View File

@ -114,7 +114,7 @@ const CardEvent_tasks = ({
<div className='flex justify-between gap-x-4 py-3'> <div className='flex justify-between gap-x-4 py-3'>
<dt className=' text-gray-500 dark:text-dark-600'>DueAt</dt> <dt className=' text-gray-500 dark:text-dark-600'>Termin Tarihi</dt>
<dd className='flex items-start gap-x-2'> <dd className='flex items-start gap-x-2'>
<div className='font-medium line-clamp-4'> <div className='font-medium line-clamp-4'>
{ dataFormatter.dateTimeFormatter(item.due_at) } { dataFormatter.dateTimeFormatter(item.due_at) }
@ -150,7 +150,7 @@ const CardEvent_tasks = ({
<div className='flex justify-between gap-x-4 py-3'> <div className='flex justify-between gap-x-4 py-3'>
<dt className=' text-gray-500 dark:text-dark-600'>AssignedTo</dt> <dt className=' text-gray-500 dark:text-dark-600'>Atanan Kişi</dt>
<dd className='flex items-start gap-x-2'> <dd className='flex items-start gap-x-2'>
<div className='font-medium line-clamp-4'> <div className='font-medium line-clamp-4'>
{ dataFormatter.usersOneListFormatter(item.assigned_to) } { dataFormatter.usersOneListFormatter(item.assigned_to) }
@ -174,7 +174,7 @@ const CardEvent_tasks = ({
<div className='flex justify-between gap-x-4 py-3'> <div className='flex justify-between gap-x-4 py-3'>
<dt className=' text-gray-500 dark:text-dark-600'>Details</dt> <dt className=' text-gray-500 dark:text-dark-600'>Detaylar</dt>
<dd className='flex items-start gap-x-2'> <dd className='flex items-start gap-x-2'>
<div className='font-medium line-clamp-4'> <div className='font-medium line-clamp-4'>
{ item.details } { item.details }
@ -208,7 +208,7 @@ const CardEvent_tasks = ({
))} ))}
{!loading && event_tasks.length === 0 && ( {!loading && event_tasks.length === 0 && (
<div className='col-span-full flex items-center justify-center h-40'> <div className='col-span-full flex items-center justify-center h-40'>
<p className=''>No data to display</p> <p className=''>Gösterilecek veri yok</p>
</div> </div>
)} )}
</ul> </ul>

View File

@ -72,7 +72,7 @@ const ListEvent_tasks = ({ event_tasks, loading, onDelete, currentPage, numPages
<div className={'flex-1 px-3'}> <div className={'flex-1 px-3'}>
<p className={'text-xs text-gray-500 '}>DueAt</p> <p className={'text-xs text-gray-500 '}>Termin Tarihi</p>
<p className={'line-clamp-2'}>{ dataFormatter.dateTimeFormatter(item.due_at) }</p> <p className={'line-clamp-2'}>{ dataFormatter.dateTimeFormatter(item.due_at) }</p>
</div> </div>
@ -96,7 +96,7 @@ const ListEvent_tasks = ({ event_tasks, loading, onDelete, currentPage, numPages
<div className={'flex-1 px-3'}> <div className={'flex-1 px-3'}>
<p className={'text-xs text-gray-500 '}>AssignedTo</p> <p className={'text-xs text-gray-500 '}>Atanan Kişi</p>
<p className={'line-clamp-2'}>{ dataFormatter.usersOneListFormatter(item.assigned_to) }</p> <p className={'line-clamp-2'}>{ dataFormatter.usersOneListFormatter(item.assigned_to) }</p>
</div> </div>
@ -112,7 +112,7 @@ const ListEvent_tasks = ({ event_tasks, loading, onDelete, currentPage, numPages
<div className={'flex-1 px-3'}> <div className={'flex-1 px-3'}>
<p className={'text-xs text-gray-500 '}>Details</p> <p className={'text-xs text-gray-500 '}>Detaylar</p>
<p className={'line-clamp-2'}>{ item.details }</p> <p className={'line-clamp-2'}>{ item.details }</p>
</div> </div>
@ -149,7 +149,7 @@ const ListEvent_tasks = ({ event_tasks, loading, onDelete, currentPage, numPages
))} ))}
{!loading && event_tasks.length === 0 && ( {!loading && event_tasks.length === 0 && (
<div className='col-span-full flex items-center justify-center h-40'> <div className='col-span-full flex items-center justify-center h-40'>
<p className=''>No data to display</p> <p className=''>Gösterilecek veri yok</p>
</div> </div>
)} )}
</div> </div>

View File

@ -308,7 +308,7 @@ const TableSampleEvent_tasks = ({ filterItems, setFilterItems, filters, showGrid
return ( return (
<div key={filterItem.id} className="flex mb-4"> <div key={filterItem.id} className="flex mb-4">
<div className="flex flex-col w-full mr-3"> <div className="flex flex-col w-full mr-3">
<div className=" text-gray-500 font-bold">Filter</div> <div className=" text-gray-500 font-bold">Filtre</div>
<Field <Field
className={controlClasses} className={controlClasses}
name='selectedField' name='selectedField'
@ -332,7 +332,7 @@ const TableSampleEvent_tasks = ({ filterItems, setFilterItems, filters, showGrid
)?.type === 'enum' ? ( )?.type === 'enum' ? (
<div className="flex flex-col w-full mr-3"> <div className="flex flex-col w-full mr-3">
<div className="text-gray-500 font-bold"> <div className="text-gray-500 font-bold">
Value Değer
</div> </div>
<Field <Field
className={controlClasses} className={controlClasses}
@ -342,7 +342,7 @@ const TableSampleEvent_tasks = ({ filterItems, setFilterItems, filters, showGrid
value={filterItem?.fields?.filterValue || ''} value={filterItem?.fields?.filterValue || ''}
onChange={handleChange(filterItem.id)} onChange={handleChange(filterItem.id)}
> >
<option value="">Select Value</option> <option value="">Değer seçin</option>
{filters.find((filter) => {filters.find((filter) =>
filter.title === filterItem?.fields?.selectedField filter.title === filterItem?.fields?.selectedField
)?.options?.map((option) => ( )?.options?.map((option) => (
@ -357,18 +357,18 @@ const TableSampleEvent_tasks = ({ filterItems, setFilterItems, filters, showGrid
)?.number ? ( )?.number ? (
<div className="flex flex-row w-full mr-3"> <div className="flex flex-row w-full mr-3">
<div className="flex flex-col w-full mr-3"> <div className="flex flex-col w-full mr-3">
<div className=" text-gray-500 font-bold">From</div> <div className=" text-gray-500 font-bold">Başlangıç</div>
<Field <Field
className={controlClasses} className={controlClasses}
name='filterValueFrom' name='filterValueFrom'
placeholder='From' placeholder='Başlangıç'
id='filterValueFrom' id='filterValueFrom'
value={filterItem?.fields?.filterValueFrom || ''} value={filterItem?.fields?.filterValueFrom || ''}
onChange={handleChange(filterItem.id)} onChange={handleChange(filterItem.id)}
/> />
</div> </div>
<div className="flex flex-col w-full"> <div className="flex flex-col w-full">
<div className=" text-gray-500 font-bold">To</div> <div className=" text-gray-500 font-bold">Bitiş</div>
<Field <Field
className={controlClasses} className={controlClasses}
name='filterValueTo' name='filterValueTo'
@ -387,12 +387,12 @@ const TableSampleEvent_tasks = ({ filterItems, setFilterItems, filters, showGrid
<div className='flex flex-row w-full mr-3'> <div className='flex flex-row w-full mr-3'>
<div className='flex flex-col w-full mr-3'> <div className='flex flex-col w-full mr-3'>
<div className=' text-gray-500 font-bold'> <div className=' text-gray-500 font-bold'>
From Başlangıç
</div> </div>
<Field <Field
className={controlClasses} className={controlClasses}
name='filterValueFrom' name='filterValueFrom'
placeholder='From' placeholder='Başlangıç'
id='filterValueFrom' id='filterValueFrom'
type='datetime-local' type='datetime-local'
value={filterItem?.fields?.filterValueFrom || ''} value={filterItem?.fields?.filterValueFrom || ''}
@ -400,7 +400,7 @@ const TableSampleEvent_tasks = ({ filterItems, setFilterItems, filters, showGrid
/> />
</div> </div>
<div className='flex flex-col w-full'> <div className='flex flex-col w-full'>
<div className=' text-gray-500 font-bold'>To</div> <div className=' text-gray-500 font-bold'>Bitiş</div>
<Field <Field
className={controlClasses} className={controlClasses}
name='filterValueTo' name='filterValueTo'
@ -414,11 +414,11 @@ const TableSampleEvent_tasks = ({ filterItems, setFilterItems, filters, showGrid
</div> </div>
) : ( ) : (
<div className="flex flex-col w-full mr-3"> <div className="flex flex-col w-full mr-3">
<div className=" text-gray-500 font-bold">Contains</div> <div className=" text-gray-500 font-bold">İçerir</div>
<Field <Field
className={controlClasses} className={controlClasses}
name='filterValue' name='filterValue'
placeholder='Contained' placeholder='İçerik'
id='filterValue' id='filterValue'
value={filterItem?.fields?.filterValue || ''} value={filterItem?.fields?.filterValue || ''}
onChange={handleChange(filterItem.id)} onChange={handleChange(filterItem.id)}
@ -426,12 +426,12 @@ const TableSampleEvent_tasks = ({ filterItems, setFilterItems, filters, showGrid
</div> </div>
)} )}
<div className="flex flex-col"> <div className="flex flex-col">
<div className=" text-gray-500 font-bold">Action</div> <div className=" text-gray-500 font-bold">İşlem</div>
<BaseButton <BaseButton
className="my-2" className="my-2"
type='reset' type='reset'
color='danger' color='danger'
label='Delete' label='Sil'
onClick={() => { onClick={() => {
deleteFilter(filterItem.id) deleteFilter(filterItem.id)
}} }}
@ -444,13 +444,13 @@ const TableSampleEvent_tasks = ({ filterItems, setFilterItems, filters, showGrid
<BaseButton <BaseButton
className="my-2 mr-3" className="my-2 mr-3"
color="success" color="success"
label='Apply' label='Uygula'
onClick={handleSubmit} onClick={handleSubmit}
/> />
<BaseButton <BaseButton
className="my-2" className="my-2"
color='info' color='info'
label='Cancel' label='İptal'
onClick={handleReset} onClick={handleReset}
/> />
</div> </div>
@ -460,14 +460,14 @@ const TableSampleEvent_tasks = ({ filterItems, setFilterItems, filters, showGrid
</CardBox> : null </CardBox> : null
} }
<CardBoxModal <CardBoxModal
title="Please confirm" title="Lütfen onaylayın"
buttonColor="info" buttonColor="info"
buttonLabel={loading ? 'Deleting...' : 'Confirm'} buttonLabel={loading ? 'Siliniyor...' : 'Onayla'}
isActive={isModalTrashActive} isActive={isModalTrashActive}
onConfirm={handleDeleteAction} onConfirm={handleDeleteAction}
onCancel={handleModalAction} onCancel={handleModalAction}
> >
<p>Are you sure you want to delete this item?</p> <p>Bu kaydı silmek istediğinize emin misiniz?</p>
</CardBoxModal> </CardBoxModal>
@ -494,7 +494,7 @@ const TableSampleEvent_tasks = ({ filterItems, setFilterItems, filters, showGrid
<BaseButton <BaseButton
className='me-4' className='me-4'
color='danger' color='danger'
label={`Delete ${selectedRows.length === 1 ? 'Row' : 'Rows'}`} label={`Seçili ${selectedRows.length === 1 ? 'Satırı' : 'Satırları'} Sil`}
onClick={() => onDeleteRows(selectedRows)} onClick={() => onDeleteRows(selectedRows)}
/>, />,
document.getElementById('delete-rows-button'), document.getElementById('delete-rows-button'),

View File

@ -43,7 +43,7 @@ export const loadColumns = async (
{ {
field: 'title', field: 'title',
headerName: 'TaskTitle', headerName: 'Görev Başlığı',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,
@ -58,7 +58,7 @@ export const loadColumns = async (
{ {
field: 'status', field: 'status',
headerName: 'Status', headerName: 'Durum',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,
@ -73,7 +73,7 @@ export const loadColumns = async (
{ {
field: 'priority', field: 'priority',
headerName: 'Priority', headerName: 'Öncelik',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,
@ -88,7 +88,7 @@ export const loadColumns = async (
{ {
field: 'due_at', field: 'due_at',
headerName: 'DueAt', headerName: 'Termin Tarihi',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,
@ -106,7 +106,7 @@ export const loadColumns = async (
{ {
field: 'completed_at', field: 'completed_at',
headerName: 'CompletedAt', headerName: 'Tamamlanma Tarihi',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,
@ -124,7 +124,7 @@ export const loadColumns = async (
{ {
field: 'event', field: 'event',
headerName: 'Event', headerName: 'Etkinlik',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,
@ -146,7 +146,7 @@ export const loadColumns = async (
{ {
field: 'assigned_to', field: 'assigned_to',
headerName: 'AssignedTo', headerName: 'Atanan Kişi',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,
@ -168,7 +168,7 @@ export const loadColumns = async (
{ {
field: 'vendor', field: 'vendor',
headerName: 'Vendor', headerName: 'Tedarikçi',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,
@ -190,7 +190,7 @@ export const loadColumns = async (
{ {
field: 'details', field: 'details',
headerName: 'Details', headerName: 'Detaylar',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,
@ -205,7 +205,7 @@ export const loadColumns = async (
{ {
field: 'attachments', field: 'attachments',
headerName: 'Attachments', headerName: 'Ekler',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,

View File

@ -150,7 +150,7 @@ const CardEvents = ({
<div className='flex justify-between gap-x-4 py-3'> <div className='flex justify-between gap-x-4 py-3'>
<dt className=' text-gray-500 dark:text-dark-600'>BudgetTotal</dt> <dt className=' text-gray-500 dark:text-dark-600'>Toplam Bütçe</dt>
<dd className='flex items-start gap-x-2'> <dd className='flex items-start gap-x-2'>
<div className='font-medium line-clamp-4'> <div className='font-medium line-clamp-4'>
{ item.budget_total } { item.budget_total }
@ -208,7 +208,7 @@ const CardEvents = ({
))} ))}
{!loading && events.length === 0 && ( {!loading && events.length === 0 && (
<div className='col-span-full flex items-center justify-center h-40'> <div className='col-span-full flex items-center justify-center h-40'>
<p className=''>No data to display</p> <p className=''>Gösterilecek veri yok</p>
</div> </div>
)} )}
</ul> </ul>

View File

@ -96,7 +96,7 @@ const ListEvents = ({ events, loading, onDelete, currentPage, numPages, onPageCh
<div className={'flex-1 px-3'}> <div className={'flex-1 px-3'}>
<p className={'text-xs text-gray-500 '}>BudgetTotal</p> <p className={'text-xs text-gray-500 '}>Toplam Bütçe</p>
<p className={'line-clamp-2'}>{ item.budget_total }</p> <p className={'line-clamp-2'}>{ item.budget_total }</p>
</div> </div>
@ -149,7 +149,7 @@ const ListEvents = ({ events, loading, onDelete, currentPage, numPages, onPageCh
))} ))}
{!loading && events.length === 0 && ( {!loading && events.length === 0 && (
<div className='col-span-full flex items-center justify-center h-40'> <div className='col-span-full flex items-center justify-center h-40'>
<p className=''>No data to display</p> <p className=''>Gösterilecek veri yok</p>
</div> </div>
)} )}
</div> </div>

View File

@ -286,7 +286,7 @@ const TableSampleEvents = ({ filterItems, setFilterItems, filters, showGrid }) =
return ( return (
<div key={filterItem.id} className="flex mb-4"> <div key={filterItem.id} className="flex mb-4">
<div className="flex flex-col w-full mr-3"> <div className="flex flex-col w-full mr-3">
<div className=" text-gray-500 font-bold">Filter</div> <div className=" text-gray-500 font-bold">Filtre</div>
<Field <Field
className={controlClasses} className={controlClasses}
name='selectedField' name='selectedField'
@ -310,7 +310,7 @@ const TableSampleEvents = ({ filterItems, setFilterItems, filters, showGrid }) =
)?.type === 'enum' ? ( )?.type === 'enum' ? (
<div className="flex flex-col w-full mr-3"> <div className="flex flex-col w-full mr-3">
<div className="text-gray-500 font-bold"> <div className="text-gray-500 font-bold">
Value Değer
</div> </div>
<Field <Field
className={controlClasses} className={controlClasses}
@ -320,7 +320,7 @@ const TableSampleEvents = ({ filterItems, setFilterItems, filters, showGrid }) =
value={filterItem?.fields?.filterValue || ''} value={filterItem?.fields?.filterValue || ''}
onChange={handleChange(filterItem.id)} onChange={handleChange(filterItem.id)}
> >
<option value="">Select Value</option> <option value="">Değer seçin</option>
{filters.find((filter) => {filters.find((filter) =>
filter.title === filterItem?.fields?.selectedField filter.title === filterItem?.fields?.selectedField
)?.options?.map((option) => ( )?.options?.map((option) => (
@ -335,18 +335,18 @@ const TableSampleEvents = ({ filterItems, setFilterItems, filters, showGrid }) =
)?.number ? ( )?.number ? (
<div className="flex flex-row w-full mr-3"> <div className="flex flex-row w-full mr-3">
<div className="flex flex-col w-full mr-3"> <div className="flex flex-col w-full mr-3">
<div className=" text-gray-500 font-bold">From</div> <div className=" text-gray-500 font-bold">Başlangıç</div>
<Field <Field
className={controlClasses} className={controlClasses}
name='filterValueFrom' name='filterValueFrom'
placeholder='From' placeholder='Başlangıç'
id='filterValueFrom' id='filterValueFrom'
value={filterItem?.fields?.filterValueFrom || ''} value={filterItem?.fields?.filterValueFrom || ''}
onChange={handleChange(filterItem.id)} onChange={handleChange(filterItem.id)}
/> />
</div> </div>
<div className="flex flex-col w-full"> <div className="flex flex-col w-full">
<div className=" text-gray-500 font-bold">To</div> <div className=" text-gray-500 font-bold">Bitiş</div>
<Field <Field
className={controlClasses} className={controlClasses}
name='filterValueTo' name='filterValueTo'
@ -365,12 +365,12 @@ const TableSampleEvents = ({ filterItems, setFilterItems, filters, showGrid }) =
<div className='flex flex-row w-full mr-3'> <div className='flex flex-row w-full mr-3'>
<div className='flex flex-col w-full mr-3'> <div className='flex flex-col w-full mr-3'>
<div className=' text-gray-500 font-bold'> <div className=' text-gray-500 font-bold'>
From Başlangıç
</div> </div>
<Field <Field
className={controlClasses} className={controlClasses}
name='filterValueFrom' name='filterValueFrom'
placeholder='From' placeholder='Başlangıç'
id='filterValueFrom' id='filterValueFrom'
type='datetime-local' type='datetime-local'
value={filterItem?.fields?.filterValueFrom || ''} value={filterItem?.fields?.filterValueFrom || ''}
@ -378,7 +378,7 @@ const TableSampleEvents = ({ filterItems, setFilterItems, filters, showGrid }) =
/> />
</div> </div>
<div className='flex flex-col w-full'> <div className='flex flex-col w-full'>
<div className=' text-gray-500 font-bold'>To</div> <div className=' text-gray-500 font-bold'>Bitiş</div>
<Field <Field
className={controlClasses} className={controlClasses}
name='filterValueTo' name='filterValueTo'
@ -392,11 +392,11 @@ const TableSampleEvents = ({ filterItems, setFilterItems, filters, showGrid }) =
</div> </div>
) : ( ) : (
<div className="flex flex-col w-full mr-3"> <div className="flex flex-col w-full mr-3">
<div className=" text-gray-500 font-bold">Contains</div> <div className=" text-gray-500 font-bold">İçerir</div>
<Field <Field
className={controlClasses} className={controlClasses}
name='filterValue' name='filterValue'
placeholder='Contained' placeholder='İçerik'
id='filterValue' id='filterValue'
value={filterItem?.fields?.filterValue || ''} value={filterItem?.fields?.filterValue || ''}
onChange={handleChange(filterItem.id)} onChange={handleChange(filterItem.id)}
@ -404,12 +404,12 @@ const TableSampleEvents = ({ filterItems, setFilterItems, filters, showGrid }) =
</div> </div>
)} )}
<div className="flex flex-col"> <div className="flex flex-col">
<div className=" text-gray-500 font-bold">Action</div> <div className=" text-gray-500 font-bold">İşlem</div>
<BaseButton <BaseButton
className="my-2" className="my-2"
type='reset' type='reset'
color='danger' color='danger'
label='Delete' label='Sil'
onClick={() => { onClick={() => {
deleteFilter(filterItem.id) deleteFilter(filterItem.id)
}} }}
@ -422,13 +422,13 @@ const TableSampleEvents = ({ filterItems, setFilterItems, filters, showGrid }) =
<BaseButton <BaseButton
className="my-2 mr-3" className="my-2 mr-3"
color="success" color="success"
label='Apply' label='Uygula'
onClick={handleSubmit} onClick={handleSubmit}
/> />
<BaseButton <BaseButton
className="my-2" className="my-2"
color='info' color='info'
label='Cancel' label='İptal'
onClick={handleReset} onClick={handleReset}
/> />
</div> </div>
@ -438,14 +438,14 @@ const TableSampleEvents = ({ filterItems, setFilterItems, filters, showGrid }) =
</CardBox> : null </CardBox> : null
} }
<CardBoxModal <CardBoxModal
title="Please confirm" title="Lütfen onaylayın"
buttonColor="info" buttonColor="info"
buttonLabel={loading ? 'Deleting...' : 'Confirm'} buttonLabel={loading ? 'Siliniyor...' : 'Onayla'}
isActive={isModalTrashActive} isActive={isModalTrashActive}
onConfirm={handleDeleteAction} onConfirm={handleDeleteAction}
onCancel={handleModalAction} onCancel={handleModalAction}
> >
<p>Are you sure you want to delete this item?</p> <p>Bu kaydı silmek istediğinize emin misiniz?</p>
</CardBoxModal> </CardBoxModal>
@ -476,7 +476,7 @@ const TableSampleEvents = ({ filterItems, setFilterItems, filters, showGrid }) =
<BaseButton <BaseButton
className='me-4' className='me-4'
color='danger' color='danger'
label={`Delete ${selectedRows.length === 1 ? 'Row' : 'Rows'}`} label={`Seçili ${selectedRows.length === 1 ? 'Satırı' : 'Satırları'} Sil`}
onClick={() => onDeleteRows(selectedRows)} onClick={() => onDeleteRows(selectedRows)}
/>, />,
document.getElementById('delete-rows-button'), document.getElementById('delete-rows-button'),

View File

@ -43,7 +43,7 @@ export const loadColumns = async (
{ {
field: 'name', field: 'name',
headerName: 'EventName', headerName: 'Etkinlik Adı',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,
@ -58,7 +58,7 @@ export const loadColumns = async (
{ {
field: 'status', field: 'status',
headerName: 'Status', headerName: 'Durum',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,
@ -73,7 +73,7 @@ export const loadColumns = async (
{ {
field: 'start_at', field: 'start_at',
headerName: 'StartAt', headerName: 'Başlangıç Tarihi',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,
@ -91,7 +91,7 @@ export const loadColumns = async (
{ {
field: 'end_at', field: 'end_at',
headerName: 'EndAt', headerName: 'Bitiş Tarihi',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,
@ -109,7 +109,7 @@ export const loadColumns = async (
{ {
field: 'venue', field: 'venue',
headerName: 'Venue', headerName: 'Mekan',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,
@ -131,7 +131,7 @@ export const loadColumns = async (
{ {
field: 'owner', field: 'owner',
headerName: 'Owner', headerName: 'Sorumlu Kişi',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,
@ -153,7 +153,7 @@ export const loadColumns = async (
{ {
field: 'budget_total', field: 'budget_total',
headerName: 'BudgetTotal', headerName: 'Toplam Bütçe',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,
@ -169,7 +169,7 @@ export const loadColumns = async (
{ {
field: 'budget_spent', field: 'budget_spent',
headerName: 'BudgetSpent', headerName: 'Harcanan Bütçe',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,
@ -185,7 +185,7 @@ export const loadColumns = async (
{ {
field: 'description', field: 'description',
headerName: 'Description', headerName: 'ıklama',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,
@ -200,7 +200,7 @@ export const loadColumns = async (
{ {
field: 'attachments', field: 'attachments',
headerName: 'Attachments', headerName: 'Ekler',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,

View File

@ -10,25 +10,16 @@ export default function FooterBar({ children }: Props) {
const year = new Date().getFullYear() const year = new Date().getFullYear()
return ( return (
<footer className={`py-2 px-6 ${containerMaxW}`}> <footer className={`py-3 px-6 ${containerMaxW}`}>
<div className="block md:flex items-center justify-between"> <div className="block md:flex items-center justify-between gap-4">
<div className="text-center md:text-left mb-6 md:mb-0"> <div className="text-center md:text-left mb-4 md:mb-0 text-sm text-slate-600 dark:text-slate-300">
<b> <b className='text-slate-900 dark:text-white'>&copy; {year} DakikTabela.</b>{' '}
&copy;{year},{` `} {children || 'Satış, üretim ve etkinlik operasyonları tek platformda.'}
<a href="https://flatlogic.com/" rel="noreferrer" target="_blank">
Flatlogic
</a>
.
</b>
{` `}
{children}
</div> </div>
<div className="flex item-center md:py-2 gap-4"> <div className="flex items-center justify-center md:justify-end gap-3">
<a href="https://flatlogic.com/" rel="noreferrer" target="_blank"> <Logo className="w-auto h-10 md:h-8" />
<Logo className="w-auto h-8 md:h-6 mx-auto" /> </div>
</a>
</div>
</div> </div>
</footer> </footer>
) )

View File

@ -78,7 +78,7 @@ const CardInventory_items = ({
<div className='flex justify-between gap-x-4 py-3'> <div className='flex justify-between gap-x-4 py-3'>
<dt className=' text-gray-500 dark:text-dark-600'>Material</dt> <dt className=' text-gray-500 dark:text-dark-600'>Malzeme</dt>
<dd className='flex items-start gap-x-2'> <dd className='flex items-start gap-x-2'>
<div className='font-medium line-clamp-4'> <div className='font-medium line-clamp-4'>
{ dataFormatter.materialsOneListFormatter(item.material) } { dataFormatter.materialsOneListFormatter(item.material) }
@ -90,7 +90,7 @@ const CardInventory_items = ({
<div className='flex justify-between gap-x-4 py-3'> <div className='flex justify-between gap-x-4 py-3'>
<dt className=' text-gray-500 dark:text-dark-600'>Warehouse</dt> <dt className=' text-gray-500 dark:text-dark-600'>Depo</dt>
<dd className='flex items-start gap-x-2'> <dd className='flex items-start gap-x-2'>
<div className='font-medium line-clamp-4'> <div className='font-medium line-clamp-4'>
{ dataFormatter.warehousesOneListFormatter(item.warehouse) } { dataFormatter.warehousesOneListFormatter(item.warehouse) }
@ -102,7 +102,7 @@ const CardInventory_items = ({
<div className='flex justify-between gap-x-4 py-3'> <div className='flex justify-between gap-x-4 py-3'>
<dt className=' text-gray-500 dark:text-dark-600'>LotNumber</dt> <dt className=' text-gray-500 dark:text-dark-600'>Lot Numarası</dt>
<dd className='flex items-start gap-x-2'> <dd className='flex items-start gap-x-2'>
<div className='font-medium line-clamp-4'> <div className='font-medium line-clamp-4'>
{ item.lot_number } { item.lot_number }
@ -114,7 +114,7 @@ const CardInventory_items = ({
<div className='flex justify-between gap-x-4 py-3'> <div className='flex justify-between gap-x-4 py-3'>
<dt className=' text-gray-500 dark:text-dark-600'>SerialNumber</dt> <dt className=' text-gray-500 dark:text-dark-600'>Seri Numarası</dt>
<dd className='flex items-start gap-x-2'> <dd className='flex items-start gap-x-2'>
<div className='font-medium line-clamp-4'> <div className='font-medium line-clamp-4'>
{ item.serial_number } { item.serial_number }
@ -126,7 +126,7 @@ const CardInventory_items = ({
<div className='flex justify-between gap-x-4 py-3'> <div className='flex justify-between gap-x-4 py-3'>
<dt className=' text-gray-500 dark:text-dark-600'>QuantityOnHand</dt> <dt className=' text-gray-500 dark:text-dark-600'>Mevcut Miktar</dt>
<dd className='flex items-start gap-x-2'> <dd className='flex items-start gap-x-2'>
<div className='font-medium line-clamp-4'> <div className='font-medium line-clamp-4'>
{ item.quantity_on_hand } { item.quantity_on_hand }
@ -138,7 +138,7 @@ const CardInventory_items = ({
<div className='flex justify-between gap-x-4 py-3'> <div className='flex justify-between gap-x-4 py-3'>
<dt className=' text-gray-500 dark:text-dark-600'>QuantityReserved</dt> <dt className=' text-gray-500 dark:text-dark-600'>Rezerve Miktar</dt>
<dd className='flex items-start gap-x-2'> <dd className='flex items-start gap-x-2'>
<div className='font-medium line-clamp-4'> <div className='font-medium line-clamp-4'>
{ item.quantity_reserved } { item.quantity_reserved }
@ -150,7 +150,7 @@ const CardInventory_items = ({
<div className='flex justify-between gap-x-4 py-3'> <div className='flex justify-between gap-x-4 py-3'>
<dt className=' text-gray-500 dark:text-dark-600'>ReceivedAt</dt> <dt className=' text-gray-500 dark:text-dark-600'>Giriş Tarihi</dt>
<dd className='flex items-start gap-x-2'> <dd className='flex items-start gap-x-2'>
<div className='font-medium line-clamp-4'> <div className='font-medium line-clamp-4'>
{ dataFormatter.dateTimeFormatter(item.received_at) } { dataFormatter.dateTimeFormatter(item.received_at) }
@ -162,7 +162,7 @@ const CardInventory_items = ({
<div className='flex justify-between gap-x-4 py-3'> <div className='flex justify-between gap-x-4 py-3'>
<dt className=' text-gray-500 dark:text-dark-600'>ExpiresAt</dt> <dt className=' text-gray-500 dark:text-dark-600'>Son Kullanma Tarihi</dt>
<dd className='flex items-start gap-x-2'> <dd className='flex items-start gap-x-2'>
<div className='font-medium line-clamp-4'> <div className='font-medium line-clamp-4'>
{ dataFormatter.dateTimeFormatter(item.expires_at) } { dataFormatter.dateTimeFormatter(item.expires_at) }
@ -174,7 +174,7 @@ const CardInventory_items = ({
<div className='flex justify-between gap-x-4 py-3'> <div className='flex justify-between gap-x-4 py-3'>
<dt className=' text-gray-500 dark:text-dark-600'>Status</dt> <dt className=' text-gray-500 dark:text-dark-600'>Durum</dt>
<dd className='flex items-start gap-x-2'> <dd className='flex items-start gap-x-2'>
<div className='font-medium line-clamp-4'> <div className='font-medium line-clamp-4'>
{ item.status } { item.status }
@ -186,7 +186,7 @@ const CardInventory_items = ({
<div className='flex justify-between gap-x-4 py-3'> <div className='flex justify-between gap-x-4 py-3'>
<dt className=' text-gray-500 dark:text-dark-600'>LocationBin</dt> <dt className=' text-gray-500 dark:text-dark-600'>Raf Konumu</dt>
<dd className='flex items-start gap-x-2'> <dd className='flex items-start gap-x-2'>
<div className='font-medium line-clamp-4'> <div className='font-medium line-clamp-4'>
{ item.location_bin } { item.location_bin }
@ -201,7 +201,7 @@ const CardInventory_items = ({
))} ))}
{!loading && inventory_items.length === 0 && ( {!loading && inventory_items.length === 0 && (
<div className='col-span-full flex items-center justify-center h-40'> <div className='col-span-full flex items-center justify-center h-40'>
<p className=''>No data to display</p> <p className=''>Gösterilecek veri yok</p>
</div> </div>
)} )}
</ul> </ul>

View File

@ -48,7 +48,7 @@ const ListInventory_items = ({ inventory_items, loading, onDelete, currentPage,
<div className={'flex-1 px-3'}> <div className={'flex-1 px-3'}>
<p className={'text-xs text-gray-500 '}>Material</p> <p className={'text-xs text-gray-500 '}>Malzeme</p>
<p className={'line-clamp-2'}>{ dataFormatter.materialsOneListFormatter(item.material) }</p> <p className={'line-clamp-2'}>{ dataFormatter.materialsOneListFormatter(item.material) }</p>
</div> </div>
@ -56,7 +56,7 @@ const ListInventory_items = ({ inventory_items, loading, onDelete, currentPage,
<div className={'flex-1 px-3'}> <div className={'flex-1 px-3'}>
<p className={'text-xs text-gray-500 '}>Warehouse</p> <p className={'text-xs text-gray-500 '}>Depo</p>
<p className={'line-clamp-2'}>{ dataFormatter.warehousesOneListFormatter(item.warehouse) }</p> <p className={'line-clamp-2'}>{ dataFormatter.warehousesOneListFormatter(item.warehouse) }</p>
</div> </div>
@ -64,7 +64,7 @@ const ListInventory_items = ({ inventory_items, loading, onDelete, currentPage,
<div className={'flex-1 px-3'}> <div className={'flex-1 px-3'}>
<p className={'text-xs text-gray-500 '}>LotNumber</p> <p className={'text-xs text-gray-500 '}>Lot Numarası</p>
<p className={'line-clamp-2'}>{ item.lot_number }</p> <p className={'line-clamp-2'}>{ item.lot_number }</p>
</div> </div>
@ -72,7 +72,7 @@ const ListInventory_items = ({ inventory_items, loading, onDelete, currentPage,
<div className={'flex-1 px-3'}> <div className={'flex-1 px-3'}>
<p className={'text-xs text-gray-500 '}>SerialNumber</p> <p className={'text-xs text-gray-500 '}>Seri Numarası</p>
<p className={'line-clamp-2'}>{ item.serial_number }</p> <p className={'line-clamp-2'}>{ item.serial_number }</p>
</div> </div>
@ -80,7 +80,7 @@ const ListInventory_items = ({ inventory_items, loading, onDelete, currentPage,
<div className={'flex-1 px-3'}> <div className={'flex-1 px-3'}>
<p className={'text-xs text-gray-500 '}>QuantityOnHand</p> <p className={'text-xs text-gray-500 '}>Mevcut Miktar</p>
<p className={'line-clamp-2'}>{ item.quantity_on_hand }</p> <p className={'line-clamp-2'}>{ item.quantity_on_hand }</p>
</div> </div>
@ -88,7 +88,7 @@ const ListInventory_items = ({ inventory_items, loading, onDelete, currentPage,
<div className={'flex-1 px-3'}> <div className={'flex-1 px-3'}>
<p className={'text-xs text-gray-500 '}>QuantityReserved</p> <p className={'text-xs text-gray-500 '}>Rezerve Miktar</p>
<p className={'line-clamp-2'}>{ item.quantity_reserved }</p> <p className={'line-clamp-2'}>{ item.quantity_reserved }</p>
</div> </div>
@ -96,7 +96,7 @@ const ListInventory_items = ({ inventory_items, loading, onDelete, currentPage,
<div className={'flex-1 px-3'}> <div className={'flex-1 px-3'}>
<p className={'text-xs text-gray-500 '}>ReceivedAt</p> <p className={'text-xs text-gray-500 '}>Giriş Tarihi</p>
<p className={'line-clamp-2'}>{ dataFormatter.dateTimeFormatter(item.received_at) }</p> <p className={'line-clamp-2'}>{ dataFormatter.dateTimeFormatter(item.received_at) }</p>
</div> </div>
@ -104,7 +104,7 @@ const ListInventory_items = ({ inventory_items, loading, onDelete, currentPage,
<div className={'flex-1 px-3'}> <div className={'flex-1 px-3'}>
<p className={'text-xs text-gray-500 '}>ExpiresAt</p> <p className={'text-xs text-gray-500 '}>Son Kullanma Tarihi</p>
<p className={'line-clamp-2'}>{ dataFormatter.dateTimeFormatter(item.expires_at) }</p> <p className={'line-clamp-2'}>{ dataFormatter.dateTimeFormatter(item.expires_at) }</p>
</div> </div>
@ -112,7 +112,7 @@ const ListInventory_items = ({ inventory_items, loading, onDelete, currentPage,
<div className={'flex-1 px-3'}> <div className={'flex-1 px-3'}>
<p className={'text-xs text-gray-500 '}>Status</p> <p className={'text-xs text-gray-500 '}>Durum</p>
<p className={'line-clamp-2'}>{ item.status }</p> <p className={'line-clamp-2'}>{ item.status }</p>
</div> </div>
@ -120,7 +120,7 @@ const ListInventory_items = ({ inventory_items, loading, onDelete, currentPage,
<div className={'flex-1 px-3'}> <div className={'flex-1 px-3'}>
<p className={'text-xs text-gray-500 '}>LocationBin</p> <p className={'text-xs text-gray-500 '}>Raf Konumu</p>
<p className={'line-clamp-2'}>{ item.location_bin }</p> <p className={'line-clamp-2'}>{ item.location_bin }</p>
</div> </div>
@ -142,7 +142,7 @@ const ListInventory_items = ({ inventory_items, loading, onDelete, currentPage,
))} ))}
{!loading && inventory_items.length === 0 && ( {!loading && inventory_items.length === 0 && (
<div className='col-span-full flex items-center justify-center h-40'> <div className='col-span-full flex items-center justify-center h-40'>
<p className=''>No data to display</p> <p className=''>Gösterilecek veri yok</p>
</div> </div>
)} )}
</div> </div>

View File

@ -277,7 +277,7 @@ const TableSampleInventory_items = ({ filterItems, setFilterItems, filters, show
return ( return (
<div key={filterItem.id} className="flex mb-4"> <div key={filterItem.id} className="flex mb-4">
<div className="flex flex-col w-full mr-3"> <div className="flex flex-col w-full mr-3">
<div className=" text-gray-500 font-bold">Filter</div> <div className=" text-gray-500 font-bold">Filtre</div>
<Field <Field
className={controlClasses} className={controlClasses}
name='selectedField' name='selectedField'
@ -301,7 +301,7 @@ const TableSampleInventory_items = ({ filterItems, setFilterItems, filters, show
)?.type === 'enum' ? ( )?.type === 'enum' ? (
<div className="flex flex-col w-full mr-3"> <div className="flex flex-col w-full mr-3">
<div className="text-gray-500 font-bold"> <div className="text-gray-500 font-bold">
Value Değer
</div> </div>
<Field <Field
className={controlClasses} className={controlClasses}
@ -311,7 +311,7 @@ const TableSampleInventory_items = ({ filterItems, setFilterItems, filters, show
value={filterItem?.fields?.filterValue || ''} value={filterItem?.fields?.filterValue || ''}
onChange={handleChange(filterItem.id)} onChange={handleChange(filterItem.id)}
> >
<option value="">Select Value</option> <option value="">Değer Seçin</option>
{filters.find((filter) => {filters.find((filter) =>
filter.title === filterItem?.fields?.selectedField filter.title === filterItem?.fields?.selectedField
)?.options?.map((option) => ( )?.options?.map((option) => (
@ -326,22 +326,22 @@ const TableSampleInventory_items = ({ filterItems, setFilterItems, filters, show
)?.number ? ( )?.number ? (
<div className="flex flex-row w-full mr-3"> <div className="flex flex-row w-full mr-3">
<div className="flex flex-col w-full mr-3"> <div className="flex flex-col w-full mr-3">
<div className=" text-gray-500 font-bold">From</div> <div className=" text-gray-500 font-bold">Başlangıç</div>
<Field <Field
className={controlClasses} className={controlClasses}
name='filterValueFrom' name='filterValueFrom'
placeholder='From' placeholder='Başlangıç'
id='filterValueFrom' id='filterValueFrom'
value={filterItem?.fields?.filterValueFrom || ''} value={filterItem?.fields?.filterValueFrom || ''}
onChange={handleChange(filterItem.id)} onChange={handleChange(filterItem.id)}
/> />
</div> </div>
<div className="flex flex-col w-full"> <div className="flex flex-col w-full">
<div className=" text-gray-500 font-bold">To</div> <div className=" text-gray-500 font-bold">Bitiş</div>
<Field <Field
className={controlClasses} className={controlClasses}
name='filterValueTo' name='filterValueTo'
placeholder='to' placeholder='bitiş'
id='filterValueTo' id='filterValueTo'
value={filterItem?.fields?.filterValueTo || ''} value={filterItem?.fields?.filterValueTo || ''}
onChange={handleChange(filterItem.id)} onChange={handleChange(filterItem.id)}
@ -356,12 +356,12 @@ const TableSampleInventory_items = ({ filterItems, setFilterItems, filters, show
<div className='flex flex-row w-full mr-3'> <div className='flex flex-row w-full mr-3'>
<div className='flex flex-col w-full mr-3'> <div className='flex flex-col w-full mr-3'>
<div className=' text-gray-500 font-bold'> <div className=' text-gray-500 font-bold'>
From Başlangıç
</div> </div>
<Field <Field
className={controlClasses} className={controlClasses}
name='filterValueFrom' name='filterValueFrom'
placeholder='From' placeholder='Başlangıç'
id='filterValueFrom' id='filterValueFrom'
type='datetime-local' type='datetime-local'
value={filterItem?.fields?.filterValueFrom || ''} value={filterItem?.fields?.filterValueFrom || ''}
@ -369,11 +369,11 @@ const TableSampleInventory_items = ({ filterItems, setFilterItems, filters, show
/> />
</div> </div>
<div className='flex flex-col w-full'> <div className='flex flex-col w-full'>
<div className=' text-gray-500 font-bold'>To</div> <div className=' text-gray-500 font-bold'>Bitiş</div>
<Field <Field
className={controlClasses} className={controlClasses}
name='filterValueTo' name='filterValueTo'
placeholder='to' placeholder='bitiş'
id='filterValueTo' id='filterValueTo'
type='datetime-local' type='datetime-local'
value={filterItem?.fields?.filterValueTo || ''} value={filterItem?.fields?.filterValueTo || ''}
@ -383,11 +383,11 @@ const TableSampleInventory_items = ({ filterItems, setFilterItems, filters, show
</div> </div>
) : ( ) : (
<div className="flex flex-col w-full mr-3"> <div className="flex flex-col w-full mr-3">
<div className=" text-gray-500 font-bold">Contains</div> <div className=" text-gray-500 font-bold">İçerir</div>
<Field <Field
className={controlClasses} className={controlClasses}
name='filterValue' name='filterValue'
placeholder='Contained' placeholder='İçeren'
id='filterValue' id='filterValue'
value={filterItem?.fields?.filterValue || ''} value={filterItem?.fields?.filterValue || ''}
onChange={handleChange(filterItem.id)} onChange={handleChange(filterItem.id)}
@ -395,12 +395,12 @@ const TableSampleInventory_items = ({ filterItems, setFilterItems, filters, show
</div> </div>
)} )}
<div className="flex flex-col"> <div className="flex flex-col">
<div className=" text-gray-500 font-bold">Action</div> <div className=" text-gray-500 font-bold">İşlem</div>
<BaseButton <BaseButton
className="my-2" className="my-2"
type='reset' type='reset'
color='danger' color='danger'
label='Delete' label='Sil'
onClick={() => { onClick={() => {
deleteFilter(filterItem.id) deleteFilter(filterItem.id)
}} }}
@ -413,13 +413,13 @@ const TableSampleInventory_items = ({ filterItems, setFilterItems, filters, show
<BaseButton <BaseButton
className="my-2 mr-3" className="my-2 mr-3"
color="success" color="success"
label='Apply' label='Uygula'
onClick={handleSubmit} onClick={handleSubmit}
/> />
<BaseButton <BaseButton
className="my-2" className="my-2"
color='info' color='info'
label='Cancel' label='İptal'
onClick={handleReset} onClick={handleReset}
/> />
</div> </div>
@ -429,14 +429,14 @@ const TableSampleInventory_items = ({ filterItems, setFilterItems, filters, show
</CardBox> : null </CardBox> : null
} }
<CardBoxModal <CardBoxModal
title="Please confirm" title="Lütfen onaylayın"
buttonColor="info" buttonColor="info"
buttonLabel={loading ? 'Deleting...' : 'Confirm'} buttonLabel={loading ? 'Siliniyor...' : 'Onayla'}
isActive={isModalTrashActive} isActive={isModalTrashActive}
onConfirm={handleDeleteAction} onConfirm={handleDeleteAction}
onCancel={handleModalAction} onCancel={handleModalAction}
> >
<p>Are you sure you want to delete this item?</p> <p>Bu kaydı silmek istediğinize emin misiniz?</p>
</CardBoxModal> </CardBoxModal>
@ -450,7 +450,7 @@ const TableSampleInventory_items = ({ filterItems, setFilterItems, filters, show
<BaseButton <BaseButton
className='me-4' className='me-4'
color='danger' color='danger'
label={`Delete ${selectedRows.length === 1 ? 'Row' : 'Rows'}`} label={`Seçili ${selectedRows.length === 1 ? 'Satırı' : 'Satırları'} Sil`}
onClick={() => onDeleteRows(selectedRows)} onClick={() => onDeleteRows(selectedRows)}
/>, />,
document.getElementById('delete-rows-button'), document.getElementById('delete-rows-button'),

View File

@ -43,7 +43,7 @@ export const loadColumns = async (
{ {
field: 'material', field: 'material',
headerName: 'Material', headerName: 'Malzeme',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,
@ -65,7 +65,7 @@ export const loadColumns = async (
{ {
field: 'warehouse', field: 'warehouse',
headerName: 'Warehouse', headerName: 'Depo',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,
@ -87,7 +87,7 @@ export const loadColumns = async (
{ {
field: 'lot_number', field: 'lot_number',
headerName: 'LotNumber', headerName: 'Lot Numarası',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,
@ -102,7 +102,7 @@ export const loadColumns = async (
{ {
field: 'serial_number', field: 'serial_number',
headerName: 'SerialNumber', headerName: 'Seri Numarası',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,
@ -117,7 +117,7 @@ export const loadColumns = async (
{ {
field: 'quantity_on_hand', field: 'quantity_on_hand',
headerName: 'QuantityOnHand', headerName: 'Mevcut Miktar',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,
@ -133,7 +133,7 @@ export const loadColumns = async (
{ {
field: 'quantity_reserved', field: 'quantity_reserved',
headerName: 'QuantityReserved', headerName: 'Rezerve Miktar',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,
@ -149,7 +149,7 @@ export const loadColumns = async (
{ {
field: 'received_at', field: 'received_at',
headerName: 'ReceivedAt', headerName: 'Giriş Tarihi',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,
@ -167,7 +167,7 @@ export const loadColumns = async (
{ {
field: 'expires_at', field: 'expires_at',
headerName: 'ExpiresAt', headerName: 'Son Kullanma Tarihi',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,
@ -185,7 +185,7 @@ export const loadColumns = async (
{ {
field: 'status', field: 'status',
headerName: 'Status', headerName: 'Durum',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,
@ -200,7 +200,7 @@ export const loadColumns = async (
{ {
field: 'location_bin', field: 'location_bin',
headerName: 'LocationBin', headerName: 'Raf Konumu',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,

View File

@ -42,7 +42,7 @@ const KanbanCard = ({
href={`/${entityName}/${entityName}-view/?id=${item.id}`} href={`/${entityName}/${entityName}-view/?id=${item.id}`}
className={'text-base font-semibold'} className={'text-base font-semibold'}
> >
{item[showFieldName] ?? 'No data'} {item[showFieldName] ?? 'Veri yok'}
</Link> </Link>
</div> </div>
<div className={'flex items-center justify-between'}> <div className={'flex items-center justify-between'}>

View File

@ -138,7 +138,7 @@ const KanbanColumn = ({
} }
}; };
const onDeleteConfirm = () => { const onDeleteOnayla = () => {
if (!itemIdToDelete) return; if (!itemIdToDelete) return;
dispatch(deleteThunk(itemIdToDelete)) dispatch(deleteThunk(itemIdToDelete))
@ -188,19 +188,19 @@ const KanbanColumn = ({
</div> </div>
))} ))}
{!data?.length && ( {!data?.length && (
<p className={'text-center py-8 bg-gray-50 dark:bg-dark-800'}>No data</p> <p className={'text-center py-8 bg-gray-50 dark:bg-dark-800'}>Veri yok</p>
)} )}
</div> </div>
</CardBox> </CardBox>
<CardBoxModal <CardBoxModal
title='Please confirm' title='Lütfen onaylayın'
buttonColor='info' buttonColor='info'
buttonLabel={loading ? 'Deleting...' : 'Confirm'} buttonLabel={loading ? 'Siliniyor...' : 'Onayla'}
isActive={!!itemIdToDelete} isActive={!!itemIdToDelete}
onConfirm={onDeleteConfirm} onConfirm={onDeleteOnayla}
onCancel={() => setItemIdToDelete('')} onCancel={() => setItemIdToDelete('')}
> >
<p>Are you sure you want to delete this item?</p> <p>Bu kaydı silmek istediğinize emin misiniz?</p>
</CardBoxModal> </CardBoxModal>
</> </>
); );

View File

@ -1,96 +1,102 @@
import React, { useEffect, useState } from 'react'; import React, { useEffect, useState } from 'react'
import Select, { components, SingleValueProps, OptionProps } from 'react-select'; import Select, { components, SingleValueProps, OptionProps } from 'react-select'
import { useTranslation } from 'react-i18next'
type LanguageOption = { label: string; value: string }; type LanguageOption = { label: string; value: string }
const LANGS: LanguageOption[] = [ const LANGS: LanguageOption[] = [
{ value: 'en', label: '🇬🇧 EN' }, { value: 'tr', label: '🇹🇷 TR' },
{ value: 'fr', label: '🇫🇷 FR' }, { value: 'en', label: '🇬🇧 EN' },
{ value: 'es', label: '🇪🇸 ES' }, { value: 'fr', label: '🇫🇷 FR' },
{ value: 'de', label: '🇩🇪 DE' }, { value: 'es', label: '🇪🇸 ES' },
]; { value: 'de', label: '🇩🇪 DE' },
]
const Option = (props: OptionProps<LanguageOption, false>) => ( const Option = (props: OptionProps<LanguageOption, false>) => (
<components.Option {...props}> <components.Option {...props}>
<span className='flex items-center gap-1'>{props.data.label}</span> <span className='flex items-center gap-1'>{props.data.label}</span>
</components.Option> </components.Option>
); )
const SingleVal = (props: SingleValueProps<LanguageOption, false>) => ( const SingleVal = (props: SingleValueProps<LanguageOption, false>) => (
<components.SingleValue {...props}> <components.SingleValue {...props}>
<span className='flex items-center gap-1'>{props.data.label}</span> <span className='flex items-center gap-1'>{props.data.label}</span>
</components.SingleValue> </components.SingleValue>
); )
const LanguageSwitcher: React.FC = () => { const LanguageSwitcher: React.FC = () => {
const [mounted, setMounted] = useState(false); const { i18n } = useTranslation()
const [selected, setSelected] = useState<LanguageOption>(LANGS[0]); const [mounted, setMounted] = useState(false)
const [selected, setSelected] = useState<LanguageOption>(LANGS[0])
useEffect(() => { useEffect(() => {
setMounted(true); const active = LANGS.find((item) => item.value === i18n.language) || LANGS[0]
}, []); setSelected(active)
setMounted(true)
}, [i18n.language])
const handleChange = (opt: LanguageOption | null) => { const handleChange = (opt: LanguageOption | null) => {
if (!opt) return; if (!opt) return
setSelected(opt); setSelected(opt)
}; i18n.changeLanguage(opt.value)
}
if (!mounted) return null; if (!mounted) return null
return ( return (
<div style={{ width: 88 }}> <div style={{ width: 88 }}>
<Select <Select
value={selected} value={selected}
options={LANGS} options={LANGS}
onChange={handleChange} onChange={handleChange}
isSearchable={false} isSearchable={false}
menuPlacement='top' menuPlacement='top'
components={{ components={{
Option, Option,
SingleValue: SingleVal, SingleValue: SingleVal,
IndicatorSeparator: () => null, IndicatorSeparator: () => null,
}} }}
styles={{ styles={{
control: (base) => ({ control: (base) => ({
...base, ...base,
minHeight: 28, minHeight: 28,
height: 28, height: 28,
paddingTop: 0, paddingTop: 0,
paddingBottom: 0, paddingBottom: 0,
borderColor: '#d1d5db', borderColor: '#d1d5db',
cursor: 'pointer', cursor: 'pointer',
}), }),
valueContainer: (base) => ({ valueContainer: (base) => ({
...base, ...base,
paddingTop: 0, paddingTop: 0,
paddingBottom: 0, paddingBottom: 0,
paddingLeft: 6, paddingLeft: 6,
}), }),
indicatorsContainer: (base) => ({ indicatorsContainer: (base) => ({
...base, ...base,
height: 24, height: 24,
}), }),
dropdownIndicator: (base) => ({ dropdownIndicator: (base) => ({
...base, ...base,
padding: 2, padding: 2,
}), }),
option: (base, state) => ({ option: (base, state) => ({
...base, ...base,
paddingTop: 4, paddingTop: 4,
paddingBottom: 4, paddingBottom: 4,
height: 26, height: 26,
fontSize: '0.875rem', fontSize: '0.875rem',
backgroundColor: state.isFocused ? '#f3f4f6' : 'white', backgroundColor: state.isFocused ? '#f3f4f6' : 'white',
color: '#111827', color: '#111827',
}), }),
menu: (base) => ({ menu: (base) => ({
...base, ...base,
zIndex: 9999, zIndex: 9999,
}), }),
}} }}
/> />
</div> </div>
); )
}; }
export default LanguageSwitcher; export default LanguageSwitcher

View File

@ -78,7 +78,7 @@ const CardLeads = ({
<div className='flex justify-between gap-x-4 py-3'> <div className='flex justify-between gap-x-4 py-3'>
<dt className=' text-gray-500 dark:text-dark-600'>LeadTitle</dt> <dt className=' text-gray-500 dark:text-dark-600'>Potansiyel Müşteri Başlığı</dt>
<dd className='flex items-start gap-x-2'> <dd className='flex items-start gap-x-2'>
<div className='font-medium line-clamp-4'> <div className='font-medium line-clamp-4'>
{ item.title } { item.title }
@ -90,7 +90,7 @@ const CardLeads = ({
<div className='flex justify-between gap-x-4 py-3'> <div className='flex justify-between gap-x-4 py-3'>
<dt className=' text-gray-500 dark:text-dark-600'>Source</dt> <dt className=' text-gray-500 dark:text-dark-600'>Kaynak</dt>
<dd className='flex items-start gap-x-2'> <dd className='flex items-start gap-x-2'>
<div className='font-medium line-clamp-4'> <div className='font-medium line-clamp-4'>
{ item.source } { item.source }
@ -102,7 +102,7 @@ const CardLeads = ({
<div className='flex justify-between gap-x-4 py-3'> <div className='flex justify-between gap-x-4 py-3'>
<dt className=' text-gray-500 dark:text-dark-600'>Status</dt> <dt className=' text-gray-500 dark:text-dark-600'>Durum</dt>
<dd className='flex items-start gap-x-2'> <dd className='flex items-start gap-x-2'>
<div className='font-medium line-clamp-4'> <div className='font-medium line-clamp-4'>
{ item.status } { item.status }
@ -114,7 +114,7 @@ const CardLeads = ({
<div className='flex justify-between gap-x-4 py-3'> <div className='flex justify-between gap-x-4 py-3'>
<dt className=' text-gray-500 dark:text-dark-600'>EstimatedValue</dt> <dt className=' text-gray-500 dark:text-dark-600'>Tahmini Tutar</dt>
<dd className='flex items-start gap-x-2'> <dd className='flex items-start gap-x-2'>
<div className='font-medium line-clamp-4'> <div className='font-medium line-clamp-4'>
{ item.estimated_value } { item.estimated_value }
@ -126,7 +126,7 @@ const CardLeads = ({
<div className='flex justify-between gap-x-4 py-3'> <div className='flex justify-between gap-x-4 py-3'>
<dt className=' text-gray-500 dark:text-dark-600'>Description</dt> <dt className=' text-gray-500 dark:text-dark-600'>ıklama</dt>
<dd className='flex items-start gap-x-2'> <dd className='flex items-start gap-x-2'>
<div className='font-medium line-clamp-4'> <div className='font-medium line-clamp-4'>
{ item.description } { item.description }
@ -138,7 +138,7 @@ const CardLeads = ({
<div className='flex justify-between gap-x-4 py-3'> <div className='flex justify-between gap-x-4 py-3'>
<dt className=' text-gray-500 dark:text-dark-600'>Company</dt> <dt className=' text-gray-500 dark:text-dark-600'>Şirket</dt>
<dd className='flex items-start gap-x-2'> <dd className='flex items-start gap-x-2'>
<div className='font-medium line-clamp-4'> <div className='font-medium line-clamp-4'>
{ dataFormatter.companiesOneListFormatter(item.company) } { dataFormatter.companiesOneListFormatter(item.company) }
@ -150,7 +150,7 @@ const CardLeads = ({
<div className='flex justify-between gap-x-4 py-3'> <div className='flex justify-between gap-x-4 py-3'>
<dt className=' text-gray-500 dark:text-dark-600'>PrimaryContact</dt> <dt className=' text-gray-500 dark:text-dark-600'>Ana Yetkili</dt>
<dd className='flex items-start gap-x-2'> <dd className='flex items-start gap-x-2'>
<div className='font-medium line-clamp-4'> <div className='font-medium line-clamp-4'>
{ dataFormatter.contactsOneListFormatter(item.primary_contact) } { dataFormatter.contactsOneListFormatter(item.primary_contact) }
@ -162,7 +162,7 @@ const CardLeads = ({
<div className='flex justify-between gap-x-4 py-3'> <div className='flex justify-between gap-x-4 py-3'>
<dt className=' text-gray-500 dark:text-dark-600'>Owner</dt> <dt className=' text-gray-500 dark:text-dark-600'>Sorumlu Kişi</dt>
<dd className='flex items-start gap-x-2'> <dd className='flex items-start gap-x-2'>
<div className='font-medium line-clamp-4'> <div className='font-medium line-clamp-4'>
{ dataFormatter.usersOneListFormatter(item.owner) } { dataFormatter.usersOneListFormatter(item.owner) }
@ -210,7 +210,7 @@ const CardLeads = ({
<div className='flex justify-between gap-x-4 py-3'> <div className='flex justify-between gap-x-4 py-3'>
<dt className=' text-gray-500 dark:text-dark-600'>ClosedAt</dt> <dt className=' text-gray-500 dark:text-dark-600'>Kapanış Tarihi</dt>
<dd className='flex items-start gap-x-2'> <dd className='flex items-start gap-x-2'>
<div className='font-medium line-clamp-4'> <div className='font-medium line-clamp-4'>
{ dataFormatter.dateTimeFormatter(item.closed_at) } { dataFormatter.dateTimeFormatter(item.closed_at) }
@ -225,7 +225,7 @@ const CardLeads = ({
))} ))}
{!loading && leads.length === 0 && ( {!loading && leads.length === 0 && (
<div className='col-span-full flex items-center justify-center h-40'> <div className='col-span-full flex items-center justify-center h-40'>
<p className=''>No data to display</p> <p className=''>Gösterilecek veri yok</p>
</div> </div>
)} )}
</ul> </ul>

View File

@ -48,7 +48,7 @@ const ListLeads = ({ leads, loading, onDelete, currentPage, numPages, onPageChan
<div className={'flex-1 px-3'}> <div className={'flex-1 px-3'}>
<p className={'text-xs text-gray-500 '}>LeadTitle</p> <p className={'text-xs text-gray-500 '}>Potansiyel Müşteri Başlığı</p>
<p className={'line-clamp-2'}>{ item.title }</p> <p className={'line-clamp-2'}>{ item.title }</p>
</div> </div>
@ -56,7 +56,7 @@ const ListLeads = ({ leads, loading, onDelete, currentPage, numPages, onPageChan
<div className={'flex-1 px-3'}> <div className={'flex-1 px-3'}>
<p className={'text-xs text-gray-500 '}>Source</p> <p className={'text-xs text-gray-500 '}>Kaynak</p>
<p className={'line-clamp-2'}>{ item.source }</p> <p className={'line-clamp-2'}>{ item.source }</p>
</div> </div>
@ -64,7 +64,7 @@ const ListLeads = ({ leads, loading, onDelete, currentPage, numPages, onPageChan
<div className={'flex-1 px-3'}> <div className={'flex-1 px-3'}>
<p className={'text-xs text-gray-500 '}>Status</p> <p className={'text-xs text-gray-500 '}>Durum</p>
<p className={'line-clamp-2'}>{ item.status }</p> <p className={'line-clamp-2'}>{ item.status }</p>
</div> </div>
@ -72,7 +72,7 @@ const ListLeads = ({ leads, loading, onDelete, currentPage, numPages, onPageChan
<div className={'flex-1 px-3'}> <div className={'flex-1 px-3'}>
<p className={'text-xs text-gray-500 '}>EstimatedValue</p> <p className={'text-xs text-gray-500 '}>Tahmini Tutar</p>
<p className={'line-clamp-2'}>{ item.estimated_value }</p> <p className={'line-clamp-2'}>{ item.estimated_value }</p>
</div> </div>
@ -80,7 +80,7 @@ const ListLeads = ({ leads, loading, onDelete, currentPage, numPages, onPageChan
<div className={'flex-1 px-3'}> <div className={'flex-1 px-3'}>
<p className={'text-xs text-gray-500 '}>Description</p> <p className={'text-xs text-gray-500 '}>ıklama</p>
<p className={'line-clamp-2'}>{ item.description }</p> <p className={'line-clamp-2'}>{ item.description }</p>
</div> </div>
@ -88,7 +88,7 @@ const ListLeads = ({ leads, loading, onDelete, currentPage, numPages, onPageChan
<div className={'flex-1 px-3'}> <div className={'flex-1 px-3'}>
<p className={'text-xs text-gray-500 '}>Company</p> <p className={'text-xs text-gray-500 '}>Şirket</p>
<p className={'line-clamp-2'}>{ dataFormatter.companiesOneListFormatter(item.company) }</p> <p className={'line-clamp-2'}>{ dataFormatter.companiesOneListFormatter(item.company) }</p>
</div> </div>
@ -96,7 +96,7 @@ const ListLeads = ({ leads, loading, onDelete, currentPage, numPages, onPageChan
<div className={'flex-1 px-3'}> <div className={'flex-1 px-3'}>
<p className={'text-xs text-gray-500 '}>PrimaryContact</p> <p className={'text-xs text-gray-500 '}>Ana Yetkili</p>
<p className={'line-clamp-2'}>{ dataFormatter.contactsOneListFormatter(item.primary_contact) }</p> <p className={'line-clamp-2'}>{ dataFormatter.contactsOneListFormatter(item.primary_contact) }</p>
</div> </div>
@ -104,7 +104,7 @@ const ListLeads = ({ leads, loading, onDelete, currentPage, numPages, onPageChan
<div className={'flex-1 px-3'}> <div className={'flex-1 px-3'}>
<p className={'text-xs text-gray-500 '}>Owner</p> <p className={'text-xs text-gray-500 '}>Sorumlu Kişi</p>
<p className={'line-clamp-2'}>{ dataFormatter.usersOneListFormatter(item.owner) }</p> <p className={'line-clamp-2'}>{ dataFormatter.usersOneListFormatter(item.owner) }</p>
</div> </div>
@ -136,7 +136,7 @@ const ListLeads = ({ leads, loading, onDelete, currentPage, numPages, onPageChan
<div className={'flex-1 px-3'}> <div className={'flex-1 px-3'}>
<p className={'text-xs text-gray-500 '}>ClosedAt</p> <p className={'text-xs text-gray-500 '}>Kapanış Tarihi</p>
<p className={'line-clamp-2'}>{ dataFormatter.dateTimeFormatter(item.closed_at) }</p> <p className={'line-clamp-2'}>{ dataFormatter.dateTimeFormatter(item.closed_at) }</p>
</div> </div>
@ -158,7 +158,7 @@ const ListLeads = ({ leads, loading, onDelete, currentPage, numPages, onPageChan
))} ))}
{!loading && leads.length === 0 && ( {!loading && leads.length === 0 && (
<div className='col-span-full flex items-center justify-center h-40'> <div className='col-span-full flex items-center justify-center h-40'>
<p className=''>No data to display</p> <p className=''>Gösterilecek veri yok</p>
</div> </div>
)} )}
</div> </div>

View File

@ -307,7 +307,7 @@ const TableSampleLeads = ({ filterItems, setFilterItems, filters, showGrid }) =>
return ( return (
<div key={filterItem.id} className="flex mb-4"> <div key={filterItem.id} className="flex mb-4">
<div className="flex flex-col w-full mr-3"> <div className="flex flex-col w-full mr-3">
<div className=" text-gray-500 font-bold">Filter</div> <div className=" text-gray-500 font-bold">Filtre</div>
<Field <Field
className={controlClasses} className={controlClasses}
name='selectedField' name='selectedField'
@ -331,7 +331,7 @@ const TableSampleLeads = ({ filterItems, setFilterItems, filters, showGrid }) =>
)?.type === 'enum' ? ( )?.type === 'enum' ? (
<div className="flex flex-col w-full mr-3"> <div className="flex flex-col w-full mr-3">
<div className="text-gray-500 font-bold"> <div className="text-gray-500 font-bold">
Value Değer
</div> </div>
<Field <Field
className={controlClasses} className={controlClasses}
@ -341,7 +341,7 @@ const TableSampleLeads = ({ filterItems, setFilterItems, filters, showGrid }) =>
value={filterItem?.fields?.filterValue || ''} value={filterItem?.fields?.filterValue || ''}
onChange={handleChange(filterItem.id)} onChange={handleChange(filterItem.id)}
> >
<option value="">Select Value</option> <option value="">Değer seçin</option>
{filters.find((filter) => {filters.find((filter) =>
filter.title === filterItem?.fields?.selectedField filter.title === filterItem?.fields?.selectedField
)?.options?.map((option) => ( )?.options?.map((option) => (
@ -356,22 +356,22 @@ const TableSampleLeads = ({ filterItems, setFilterItems, filters, showGrid }) =>
)?.number ? ( )?.number ? (
<div className="flex flex-row w-full mr-3"> <div className="flex flex-row w-full mr-3">
<div className="flex flex-col w-full mr-3"> <div className="flex flex-col w-full mr-3">
<div className=" text-gray-500 font-bold">From</div> <div className=" text-gray-500 font-bold">Başlangıç</div>
<Field <Field
className={controlClasses} className={controlClasses}
name='filterValueFrom' name='filterValueFrom'
placeholder='From' placeholder='Başlangıç'
id='filterValueFrom' id='filterValueFrom'
value={filterItem?.fields?.filterValueFrom || ''} value={filterItem?.fields?.filterValueFrom || ''}
onChange={handleChange(filterItem.id)} onChange={handleChange(filterItem.id)}
/> />
</div> </div>
<div className="flex flex-col w-full"> <div className="flex flex-col w-full">
<div className=" text-gray-500 font-bold">To</div> <div className=" text-gray-500 font-bold">Bitiş</div>
<Field <Field
className={controlClasses} className={controlClasses}
name='filterValueTo' name='filterValueTo'
placeholder='to' placeholder='Bitiş'
id='filterValueTo' id='filterValueTo'
value={filterItem?.fields?.filterValueTo || ''} value={filterItem?.fields?.filterValueTo || ''}
onChange={handleChange(filterItem.id)} onChange={handleChange(filterItem.id)}
@ -386,12 +386,12 @@ const TableSampleLeads = ({ filterItems, setFilterItems, filters, showGrid }) =>
<div className='flex flex-row w-full mr-3'> <div className='flex flex-row w-full mr-3'>
<div className='flex flex-col w-full mr-3'> <div className='flex flex-col w-full mr-3'>
<div className=' text-gray-500 font-bold'> <div className=' text-gray-500 font-bold'>
From Başlangıç
</div> </div>
<Field <Field
className={controlClasses} className={controlClasses}
name='filterValueFrom' name='filterValueFrom'
placeholder='From' placeholder='Başlangıç'
id='filterValueFrom' id='filterValueFrom'
type='datetime-local' type='datetime-local'
value={filterItem?.fields?.filterValueFrom || ''} value={filterItem?.fields?.filterValueFrom || ''}
@ -399,11 +399,11 @@ const TableSampleLeads = ({ filterItems, setFilterItems, filters, showGrid }) =>
/> />
</div> </div>
<div className='flex flex-col w-full'> <div className='flex flex-col w-full'>
<div className=' text-gray-500 font-bold'>To</div> <div className=' text-gray-500 font-bold'>Bitiş</div>
<Field <Field
className={controlClasses} className={controlClasses}
name='filterValueTo' name='filterValueTo'
placeholder='to' placeholder='Bitiş'
id='filterValueTo' id='filterValueTo'
type='datetime-local' type='datetime-local'
value={filterItem?.fields?.filterValueTo || ''} value={filterItem?.fields?.filterValueTo || ''}
@ -413,11 +413,11 @@ const TableSampleLeads = ({ filterItems, setFilterItems, filters, showGrid }) =>
</div> </div>
) : ( ) : (
<div className="flex flex-col w-full mr-3"> <div className="flex flex-col w-full mr-3">
<div className=" text-gray-500 font-bold">Contains</div> <div className=" text-gray-500 font-bold">İçerir</div>
<Field <Field
className={controlClasses} className={controlClasses}
name='filterValue' name='filterValue'
placeholder='Contained' placeholder='İçerir'
id='filterValue' id='filterValue'
value={filterItem?.fields?.filterValue || ''} value={filterItem?.fields?.filterValue || ''}
onChange={handleChange(filterItem.id)} onChange={handleChange(filterItem.id)}
@ -425,12 +425,12 @@ const TableSampleLeads = ({ filterItems, setFilterItems, filters, showGrid }) =>
</div> </div>
)} )}
<div className="flex flex-col"> <div className="flex flex-col">
<div className=" text-gray-500 font-bold">Action</div> <div className=" text-gray-500 font-bold">İşlem</div>
<BaseButton <BaseButton
className="my-2" className="my-2"
type='reset' type='reset'
color='danger' color='danger'
label='Delete' label='Sil'
onClick={() => { onClick={() => {
deleteFilter(filterItem.id) deleteFilter(filterItem.id)
}} }}
@ -443,13 +443,13 @@ const TableSampleLeads = ({ filterItems, setFilterItems, filters, showGrid }) =>
<BaseButton <BaseButton
className="my-2 mr-3" className="my-2 mr-3"
color="success" color="success"
label='Apply' label='Uygula'
onClick={handleSubmit} onClick={handleSubmit}
/> />
<BaseButton <BaseButton
className="my-2" className="my-2"
color='info' color='info'
label='Cancel' label='İptal'
onClick={handleReset} onClick={handleReset}
/> />
</div> </div>
@ -459,14 +459,14 @@ const TableSampleLeads = ({ filterItems, setFilterItems, filters, showGrid }) =>
</CardBox> : null </CardBox> : null
} }
<CardBoxModal <CardBoxModal
title="Please confirm" title="Lütfen onaylayın"
buttonColor="info" buttonColor="info"
buttonLabel={loading ? 'Deleting...' : 'Confirm'} buttonLabel={loading ? 'Siliniyor...' : 'Onayla'}
isActive={isModalTrashActive} isActive={isModalTrashActive}
onConfirm={handleDeleteAction} onConfirm={handleDeleteAction}
onCancel={handleModalAction} onCancel={handleModalAction}
> >
<p>Are you sure you want to delete this item?</p> <p>Bu kaydı silmek istediğinize emin misiniz?</p>
</CardBoxModal> </CardBoxModal>
@ -493,7 +493,7 @@ const TableSampleLeads = ({ filterItems, setFilterItems, filters, showGrid }) =>
<BaseButton <BaseButton
className='me-4' className='me-4'
color='danger' color='danger'
label={`Delete ${selectedRows.length === 1 ? 'Row' : 'Rows'}`} label={`${selectedRows.length} satırı sil`}
onClick={() => onDeleteRows(selectedRows)} onClick={() => onDeleteRows(selectedRows)}
/>, />,
document.getElementById('delete-rows-button'), document.getElementById('delete-rows-button'),

View File

@ -43,7 +43,7 @@ export const loadColumns = async (
{ {
field: 'title', field: 'title',
headerName: 'LeadTitle', headerName: 'Potansiyel Başlığı',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,
@ -58,7 +58,7 @@ export const loadColumns = async (
{ {
field: 'source', field: 'source',
headerName: 'Source', headerName: 'Kaynak',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,
@ -73,7 +73,7 @@ export const loadColumns = async (
{ {
field: 'status', field: 'status',
headerName: 'Status', headerName: 'Durum',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,
@ -88,7 +88,7 @@ export const loadColumns = async (
{ {
field: 'estimated_value', field: 'estimated_value',
headerName: 'EstimatedValue', headerName: 'Tahmini Değer',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,
@ -104,7 +104,7 @@ export const loadColumns = async (
{ {
field: 'description', field: 'description',
headerName: 'Description', headerName: 'ıklama',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,
@ -119,7 +119,7 @@ export const loadColumns = async (
{ {
field: 'company', field: 'company',
headerName: 'Company', headerName: 'Şirket',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,
@ -141,7 +141,7 @@ export const loadColumns = async (
{ {
field: 'primary_contact', field: 'primary_contact',
headerName: 'PrimaryContact', headerName: 'Ana Kontak',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,
@ -163,7 +163,7 @@ export const loadColumns = async (
{ {
field: 'owner', field: 'owner',
headerName: 'Owner', headerName: 'Sorumlu',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,
@ -207,7 +207,7 @@ export const loadColumns = async (
{ {
field: 'stage', field: 'stage',
headerName: 'Stage', headerName: 'Aşama',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,
@ -247,7 +247,7 @@ export const loadColumns = async (
{ {
field: 'closed_at', field: 'closed_at',
headerName: 'ClosedAt', headerName: 'Kapanış Tarihi',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,

View File

@ -81,7 +81,7 @@ const ListActionsPopover = ({
href={linkView} href={linkView}
sx={{ justifyContent: "start" }} sx={{ justifyContent: "start" }}
> >
View Görüntüle
</Button> </Button>
{hasUpdatePermission && ( {hasUpdatePermission && (
<Button <Button
@ -90,7 +90,7 @@ const ListActionsPopover = ({
href={linkEdit} href={linkEdit}
sx={{ justifyContent: "start" }} sx={{ justifyContent: "start" }}
> >
Edit Düzenle
</Button> </Button>
)} )}
{hasUpdatePermission && ( {hasUpdatePermission && (
@ -103,7 +103,7 @@ const ListActionsPopover = ({
}} }}
sx={{ justifyContent: "start" }} sx={{ justifyContent: "start" }}
> >
Delete Sil
</Button> </Button>
)} )}
</div> </div>

View File

@ -7,9 +7,9 @@ type Props = {
export default function Logo({ className = '' }: Props) { export default function Logo({ className = '' }: Props) {
return ( return (
<img <img
src={"https://flatlogic.com/logo.svg"} src='/brand/dakiktabela-logo.svg'
className={className} className={className}
alt={'Flatlogic logo'}> alt='DakikTabela logosu'
</img> />
) )
} }

View File

@ -78,7 +78,7 @@ const CardMachines = ({
<div className='flex justify-between gap-x-4 py-3'> <div className='flex justify-between gap-x-4 py-3'>
<dt className=' text-gray-500 dark:text-dark-600'>MachineName</dt> <dt className=' text-gray-500 dark:text-dark-600'>Makine Adı</dt>
<dd className='flex items-start gap-x-2'> <dd className='flex items-start gap-x-2'>
<div className='font-medium line-clamp-4'> <div className='font-medium line-clamp-4'>
{ item.name } { item.name }
@ -90,7 +90,7 @@ const CardMachines = ({
<div className='flex justify-between gap-x-4 py-3'> <div className='flex justify-between gap-x-4 py-3'>
<dt className=' text-gray-500 dark:text-dark-600'>Code</dt> <dt className=' text-gray-500 dark:text-dark-600'>Kod</dt>
<dd className='flex items-start gap-x-2'> <dd className='flex items-start gap-x-2'>
<div className='font-medium line-clamp-4'> <div className='font-medium line-clamp-4'>
{ item.code } { item.code }
@ -102,7 +102,7 @@ const CardMachines = ({
<div className='flex justify-between gap-x-4 py-3'> <div className='flex justify-between gap-x-4 py-3'>
<dt className=' text-gray-500 dark:text-dark-600'>MachineType</dt> <dt className=' text-gray-500 dark:text-dark-600'>Makine Türü</dt>
<dd className='flex items-start gap-x-2'> <dd className='flex items-start gap-x-2'>
<div className='font-medium line-clamp-4'> <div className='font-medium line-clamp-4'>
{ item.machine_type } { item.machine_type }
@ -114,7 +114,7 @@ const CardMachines = ({
<div className='flex justify-between gap-x-4 py-3'> <div className='flex justify-between gap-x-4 py-3'>
<dt className=' text-gray-500 dark:text-dark-600'>Status</dt> <dt className=' text-gray-500 dark:text-dark-600'>Durum</dt>
<dd className='flex items-start gap-x-2'> <dd className='flex items-start gap-x-2'>
<div className='font-medium line-clamp-4'> <div className='font-medium line-clamp-4'>
{ item.status } { item.status }
@ -126,7 +126,7 @@ const CardMachines = ({
<div className='flex justify-between gap-x-4 py-3'> <div className='flex justify-between gap-x-4 py-3'>
<dt className=' text-gray-500 dark:text-dark-600'>LastMaintenanceAt</dt> <dt className=' text-gray-500 dark:text-dark-600'>Son Bakım Tarihi</dt>
<dd className='flex items-start gap-x-2'> <dd className='flex items-start gap-x-2'>
<div className='font-medium line-clamp-4'> <div className='font-medium line-clamp-4'>
{ dataFormatter.dateTimeFormatter(item.last_maintenance_at) } { dataFormatter.dateTimeFormatter(item.last_maintenance_at) }
@ -138,7 +138,7 @@ const CardMachines = ({
<div className='flex justify-between gap-x-4 py-3'> <div className='flex justify-between gap-x-4 py-3'>
<dt className=' text-gray-500 dark:text-dark-600'>NextMaintenanceAt</dt> <dt className=' text-gray-500 dark:text-dark-600'>Sonraki Bakım Tarihi</dt>
<dd className='flex items-start gap-x-2'> <dd className='flex items-start gap-x-2'>
<div className='font-medium line-clamp-4'> <div className='font-medium line-clamp-4'>
{ dataFormatter.dateTimeFormatter(item.next_maintenance_at) } { dataFormatter.dateTimeFormatter(item.next_maintenance_at) }
@ -150,7 +150,7 @@ const CardMachines = ({
<div className='flex justify-between gap-x-4 py-3'> <div className='flex justify-between gap-x-4 py-3'>
<dt className=' text-gray-500 dark:text-dark-600'>Notes</dt> <dt className=' text-gray-500 dark:text-dark-600'>Notlar</dt>
<dd className='flex items-start gap-x-2'> <dd className='flex items-start gap-x-2'>
<div className='font-medium line-clamp-4'> <div className='font-medium line-clamp-4'>
{ item.notes } { item.notes }
@ -162,7 +162,7 @@ const CardMachines = ({
<div className='flex justify-between gap-x-4 py-3'> <div className='flex justify-between gap-x-4 py-3'>
<dt className=' text-gray-500 dark:text-dark-600'>Owner</dt> <dt className=' text-gray-500 dark:text-dark-600'>Sorumlu Kişi</dt>
<dd className='flex items-start gap-x-2'> <dd className='flex items-start gap-x-2'>
<div className='font-medium line-clamp-4'> <div className='font-medium line-clamp-4'>
{ dataFormatter.usersOneListFormatter(item.owner) } { dataFormatter.usersOneListFormatter(item.owner) }
@ -177,7 +177,7 @@ const CardMachines = ({
))} ))}
{!loading && machines.length === 0 && ( {!loading && machines.length === 0 && (
<div className='col-span-full flex items-center justify-center h-40'> <div className='col-span-full flex items-center justify-center h-40'>
<p className=''>No data to display</p> <p className=''>Gösterilecek veri yok</p>
</div> </div>
)} )}
</ul> </ul>

View File

@ -48,7 +48,7 @@ const ListMachines = ({ machines, loading, onDelete, currentPage, numPages, onPa
<div className={'flex-1 px-3'}> <div className={'flex-1 px-3'}>
<p className={'text-xs text-gray-500 '}>MachineName</p> <p className={'text-xs text-gray-500 '}>Makine Adı</p>
<p className={'line-clamp-2'}>{ item.name }</p> <p className={'line-clamp-2'}>{ item.name }</p>
</div> </div>
@ -56,7 +56,7 @@ const ListMachines = ({ machines, loading, onDelete, currentPage, numPages, onPa
<div className={'flex-1 px-3'}> <div className={'flex-1 px-3'}>
<p className={'text-xs text-gray-500 '}>Code</p> <p className={'text-xs text-gray-500 '}>Kod</p>
<p className={'line-clamp-2'}>{ item.code }</p> <p className={'line-clamp-2'}>{ item.code }</p>
</div> </div>
@ -64,7 +64,7 @@ const ListMachines = ({ machines, loading, onDelete, currentPage, numPages, onPa
<div className={'flex-1 px-3'}> <div className={'flex-1 px-3'}>
<p className={'text-xs text-gray-500 '}>MachineType</p> <p className={'text-xs text-gray-500 '}>Makine Türü</p>
<p className={'line-clamp-2'}>{ item.machine_type }</p> <p className={'line-clamp-2'}>{ item.machine_type }</p>
</div> </div>
@ -72,7 +72,7 @@ const ListMachines = ({ machines, loading, onDelete, currentPage, numPages, onPa
<div className={'flex-1 px-3'}> <div className={'flex-1 px-3'}>
<p className={'text-xs text-gray-500 '}>Status</p> <p className={'text-xs text-gray-500 '}>Durum</p>
<p className={'line-clamp-2'}>{ item.status }</p> <p className={'line-clamp-2'}>{ item.status }</p>
</div> </div>
@ -80,7 +80,7 @@ const ListMachines = ({ machines, loading, onDelete, currentPage, numPages, onPa
<div className={'flex-1 px-3'}> <div className={'flex-1 px-3'}>
<p className={'text-xs text-gray-500 '}>LastMaintenanceAt</p> <p className={'text-xs text-gray-500 '}>Son Bakım Tarihi</p>
<p className={'line-clamp-2'}>{ dataFormatter.dateTimeFormatter(item.last_maintenance_at) }</p> <p className={'line-clamp-2'}>{ dataFormatter.dateTimeFormatter(item.last_maintenance_at) }</p>
</div> </div>
@ -88,7 +88,7 @@ const ListMachines = ({ machines, loading, onDelete, currentPage, numPages, onPa
<div className={'flex-1 px-3'}> <div className={'flex-1 px-3'}>
<p className={'text-xs text-gray-500 '}>NextMaintenanceAt</p> <p className={'text-xs text-gray-500 '}>Sonraki Bakım Tarihi</p>
<p className={'line-clamp-2'}>{ dataFormatter.dateTimeFormatter(item.next_maintenance_at) }</p> <p className={'line-clamp-2'}>{ dataFormatter.dateTimeFormatter(item.next_maintenance_at) }</p>
</div> </div>
@ -96,7 +96,7 @@ const ListMachines = ({ machines, loading, onDelete, currentPage, numPages, onPa
<div className={'flex-1 px-3'}> <div className={'flex-1 px-3'}>
<p className={'text-xs text-gray-500 '}>Notes</p> <p className={'text-xs text-gray-500 '}>Notlar</p>
<p className={'line-clamp-2'}>{ item.notes }</p> <p className={'line-clamp-2'}>{ item.notes }</p>
</div> </div>
@ -104,7 +104,7 @@ const ListMachines = ({ machines, loading, onDelete, currentPage, numPages, onPa
<div className={'flex-1 px-3'}> <div className={'flex-1 px-3'}>
<p className={'text-xs text-gray-500 '}>Owner</p> <p className={'text-xs text-gray-500 '}>Sorumlu Kişi</p>
<p className={'line-clamp-2'}>{ dataFormatter.usersOneListFormatter(item.owner) }</p> <p className={'line-clamp-2'}>{ dataFormatter.usersOneListFormatter(item.owner) }</p>
</div> </div>
@ -126,7 +126,7 @@ const ListMachines = ({ machines, loading, onDelete, currentPage, numPages, onPa
))} ))}
{!loading && machines.length === 0 && ( {!loading && machines.length === 0 && (
<div className='col-span-full flex items-center justify-center h-40'> <div className='col-span-full flex items-center justify-center h-40'>
<p className=''>No data to display</p> <p className=''>Gösterilecek veri yok</p>
</div> </div>
)} )}
</div> </div>

View File

@ -277,7 +277,7 @@ const TableSampleMachines = ({ filterItems, setFilterItems, filters, showGrid })
return ( return (
<div key={filterItem.id} className="flex mb-4"> <div key={filterItem.id} className="flex mb-4">
<div className="flex flex-col w-full mr-3"> <div className="flex flex-col w-full mr-3">
<div className=" text-gray-500 font-bold">Filter</div> <div className=" text-gray-500 font-bold">Filtre</div>
<Field <Field
className={controlClasses} className={controlClasses}
name='selectedField' name='selectedField'
@ -301,7 +301,7 @@ const TableSampleMachines = ({ filterItems, setFilterItems, filters, showGrid })
)?.type === 'enum' ? ( )?.type === 'enum' ? (
<div className="flex flex-col w-full mr-3"> <div className="flex flex-col w-full mr-3">
<div className="text-gray-500 font-bold"> <div className="text-gray-500 font-bold">
Value Değer
</div> </div>
<Field <Field
className={controlClasses} className={controlClasses}
@ -311,7 +311,7 @@ const TableSampleMachines = ({ filterItems, setFilterItems, filters, showGrid })
value={filterItem?.fields?.filterValue || ''} value={filterItem?.fields?.filterValue || ''}
onChange={handleChange(filterItem.id)} onChange={handleChange(filterItem.id)}
> >
<option value="">Select Value</option> <option value="">Değer Seçin</option>
{filters.find((filter) => {filters.find((filter) =>
filter.title === filterItem?.fields?.selectedField filter.title === filterItem?.fields?.selectedField
)?.options?.map((option) => ( )?.options?.map((option) => (
@ -326,22 +326,22 @@ const TableSampleMachines = ({ filterItems, setFilterItems, filters, showGrid })
)?.number ? ( )?.number ? (
<div className="flex flex-row w-full mr-3"> <div className="flex flex-row w-full mr-3">
<div className="flex flex-col w-full mr-3"> <div className="flex flex-col w-full mr-3">
<div className=" text-gray-500 font-bold">From</div> <div className=" text-gray-500 font-bold">Başlangıç</div>
<Field <Field
className={controlClasses} className={controlClasses}
name='filterValueFrom' name='filterValueFrom'
placeholder='From' placeholder='Başlangıç'
id='filterValueFrom' id='filterValueFrom'
value={filterItem?.fields?.filterValueFrom || ''} value={filterItem?.fields?.filterValueFrom || ''}
onChange={handleChange(filterItem.id)} onChange={handleChange(filterItem.id)}
/> />
</div> </div>
<div className="flex flex-col w-full"> <div className="flex flex-col w-full">
<div className=" text-gray-500 font-bold">To</div> <div className=" text-gray-500 font-bold">Bitiş</div>
<Field <Field
className={controlClasses} className={controlClasses}
name='filterValueTo' name='filterValueTo'
placeholder='to' placeholder='bitiş'
id='filterValueTo' id='filterValueTo'
value={filterItem?.fields?.filterValueTo || ''} value={filterItem?.fields?.filterValueTo || ''}
onChange={handleChange(filterItem.id)} onChange={handleChange(filterItem.id)}
@ -356,12 +356,12 @@ const TableSampleMachines = ({ filterItems, setFilterItems, filters, showGrid })
<div className='flex flex-row w-full mr-3'> <div className='flex flex-row w-full mr-3'>
<div className='flex flex-col w-full mr-3'> <div className='flex flex-col w-full mr-3'>
<div className=' text-gray-500 font-bold'> <div className=' text-gray-500 font-bold'>
From Başlangıç
</div> </div>
<Field <Field
className={controlClasses} className={controlClasses}
name='filterValueFrom' name='filterValueFrom'
placeholder='From' placeholder='Başlangıç'
id='filterValueFrom' id='filterValueFrom'
type='datetime-local' type='datetime-local'
value={filterItem?.fields?.filterValueFrom || ''} value={filterItem?.fields?.filterValueFrom || ''}
@ -369,11 +369,11 @@ const TableSampleMachines = ({ filterItems, setFilterItems, filters, showGrid })
/> />
</div> </div>
<div className='flex flex-col w-full'> <div className='flex flex-col w-full'>
<div className=' text-gray-500 font-bold'>To</div> <div className=' text-gray-500 font-bold'>Bitiş</div>
<Field <Field
className={controlClasses} className={controlClasses}
name='filterValueTo' name='filterValueTo'
placeholder='to' placeholder='bitiş'
id='filterValueTo' id='filterValueTo'
type='datetime-local' type='datetime-local'
value={filterItem?.fields?.filterValueTo || ''} value={filterItem?.fields?.filterValueTo || ''}
@ -383,11 +383,11 @@ const TableSampleMachines = ({ filterItems, setFilterItems, filters, showGrid })
</div> </div>
) : ( ) : (
<div className="flex flex-col w-full mr-3"> <div className="flex flex-col w-full mr-3">
<div className=" text-gray-500 font-bold">Contains</div> <div className=" text-gray-500 font-bold">İçerir</div>
<Field <Field
className={controlClasses} className={controlClasses}
name='filterValue' name='filterValue'
placeholder='Contained' placeholder='İçeren'
id='filterValue' id='filterValue'
value={filterItem?.fields?.filterValue || ''} value={filterItem?.fields?.filterValue || ''}
onChange={handleChange(filterItem.id)} onChange={handleChange(filterItem.id)}
@ -395,12 +395,12 @@ const TableSampleMachines = ({ filterItems, setFilterItems, filters, showGrid })
</div> </div>
)} )}
<div className="flex flex-col"> <div className="flex flex-col">
<div className=" text-gray-500 font-bold">Action</div> <div className=" text-gray-500 font-bold">İşlem</div>
<BaseButton <BaseButton
className="my-2" className="my-2"
type='reset' type='reset'
color='danger' color='danger'
label='Delete' label='Sil'
onClick={() => { onClick={() => {
deleteFilter(filterItem.id) deleteFilter(filterItem.id)
}} }}
@ -413,13 +413,13 @@ const TableSampleMachines = ({ filterItems, setFilterItems, filters, showGrid })
<BaseButton <BaseButton
className="my-2 mr-3" className="my-2 mr-3"
color="success" color="success"
label='Apply' label='Uygula'
onClick={handleSubmit} onClick={handleSubmit}
/> />
<BaseButton <BaseButton
className="my-2" className="my-2"
color='info' color='info'
label='Cancel' label='İptal'
onClick={handleReset} onClick={handleReset}
/> />
</div> </div>
@ -429,14 +429,14 @@ const TableSampleMachines = ({ filterItems, setFilterItems, filters, showGrid })
</CardBox> : null </CardBox> : null
} }
<CardBoxModal <CardBoxModal
title="Please confirm" title="Lütfen onaylayın"
buttonColor="info" buttonColor="info"
buttonLabel={loading ? 'Deleting...' : 'Confirm'} buttonLabel={loading ? 'Siliniyor...' : 'Onayla'}
isActive={isModalTrashActive} isActive={isModalTrashActive}
onConfirm={handleDeleteAction} onConfirm={handleDeleteAction}
onCancel={handleModalAction} onCancel={handleModalAction}
> >
<p>Are you sure you want to delete this item?</p> <p>Bu kaydı silmek istediğinize emin misiniz?</p>
</CardBoxModal> </CardBoxModal>
@ -450,7 +450,7 @@ const TableSampleMachines = ({ filterItems, setFilterItems, filters, showGrid })
<BaseButton <BaseButton
className='me-4' className='me-4'
color='danger' color='danger'
label={`Delete ${selectedRows.length === 1 ? 'Row' : 'Rows'}`} label={`Seçili ${selectedRows.length === 1 ? 'Satırı' : 'Satırları'} Sil`}
onClick={() => onDeleteRows(selectedRows)} onClick={() => onDeleteRows(selectedRows)}
/>, />,
document.getElementById('delete-rows-button'), document.getElementById('delete-rows-button'),

View File

@ -43,7 +43,7 @@ export const loadColumns = async (
{ {
field: 'name', field: 'name',
headerName: 'MachineName', headerName: 'Makine Adı',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,
@ -58,7 +58,7 @@ export const loadColumns = async (
{ {
field: 'code', field: 'code',
headerName: 'Code', headerName: 'Kod',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,
@ -73,7 +73,7 @@ export const loadColumns = async (
{ {
field: 'machine_type', field: 'machine_type',
headerName: 'MachineType', headerName: 'Makine Türü',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,
@ -88,7 +88,7 @@ export const loadColumns = async (
{ {
field: 'status', field: 'status',
headerName: 'Status', headerName: 'Durum',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,
@ -103,7 +103,7 @@ export const loadColumns = async (
{ {
field: 'last_maintenance_at', field: 'last_maintenance_at',
headerName: 'LastMaintenanceAt', headerName: 'Son Bakım Tarihi',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,
@ -121,7 +121,7 @@ export const loadColumns = async (
{ {
field: 'next_maintenance_at', field: 'next_maintenance_at',
headerName: 'NextMaintenanceAt', headerName: 'Sonraki Bakım Tarihi',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,
@ -139,7 +139,7 @@ export const loadColumns = async (
{ {
field: 'notes', field: 'notes',
headerName: 'Notes', headerName: 'Notlar',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,
@ -154,7 +154,7 @@ export const loadColumns = async (
{ {
field: 'owner', field: 'owner',
headerName: 'Owner', headerName: 'Sorumlu Kişi',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,

View File

@ -78,7 +78,7 @@ const CardMaterials = ({
<div className='flex justify-between gap-x-4 py-3'> <div className='flex justify-between gap-x-4 py-3'>
<dt className=' text-gray-500 dark:text-dark-600'>SKU</dt> <dt className=' text-gray-500 dark:text-dark-600'>Stok Kodu</dt>
<dd className='flex items-start gap-x-2'> <dd className='flex items-start gap-x-2'>
<div className='font-medium line-clamp-4'> <div className='font-medium line-clamp-4'>
{ item.sku } { item.sku }
@ -90,7 +90,7 @@ const CardMaterials = ({
<div className='flex justify-between gap-x-4 py-3'> <div className='flex justify-between gap-x-4 py-3'>
<dt className=' text-gray-500 dark:text-dark-600'>MaterialName</dt> <dt className=' text-gray-500 dark:text-dark-600'>Malzeme Adı</dt>
<dd className='flex items-start gap-x-2'> <dd className='flex items-start gap-x-2'>
<div className='font-medium line-clamp-4'> <div className='font-medium line-clamp-4'>
{ item.name } { item.name }
@ -102,7 +102,7 @@ const CardMaterials = ({
<div className='flex justify-between gap-x-4 py-3'> <div className='flex justify-between gap-x-4 py-3'>
<dt className=' text-gray-500 dark:text-dark-600'>MaterialType</dt> <dt className=' text-gray-500 dark:text-dark-600'>Malzeme Türü</dt>
<dd className='flex items-start gap-x-2'> <dd className='flex items-start gap-x-2'>
<div className='font-medium line-clamp-4'> <div className='font-medium line-clamp-4'>
{ item.material_type } { item.material_type }
@ -114,7 +114,7 @@ const CardMaterials = ({
<div className='flex justify-between gap-x-4 py-3'> <div className='flex justify-between gap-x-4 py-3'>
<dt className=' text-gray-500 dark:text-dark-600'>UnitofMeasure</dt> <dt className=' text-gray-500 dark:text-dark-600'>Ölçü Birimi</dt>
<dd className='flex items-start gap-x-2'> <dd className='flex items-start gap-x-2'>
<div className='font-medium line-clamp-4'> <div className='font-medium line-clamp-4'>
{ item.unit_of_measure } { item.unit_of_measure }
@ -126,7 +126,7 @@ const CardMaterials = ({
<div className='flex justify-between gap-x-4 py-3'> <div className='flex justify-between gap-x-4 py-3'>
<dt className=' text-gray-500 dark:text-dark-600'>StandardCost</dt> <dt className=' text-gray-500 dark:text-dark-600'>Standart Maliyet</dt>
<dd className='flex items-start gap-x-2'> <dd className='flex items-start gap-x-2'>
<div className='font-medium line-clamp-4'> <div className='font-medium line-clamp-4'>
{ item.standard_cost } { item.standard_cost }
@ -138,7 +138,7 @@ const CardMaterials = ({
<div className='flex justify-between gap-x-4 py-3'> <div className='flex justify-between gap-x-4 py-3'>
<dt className=' text-gray-500 dark:text-dark-600'>ReorderPoint</dt> <dt className=' text-gray-500 dark:text-dark-600'>Yeniden Sipariş Noktası</dt>
<dd className='flex items-start gap-x-2'> <dd className='flex items-start gap-x-2'>
<div className='font-medium line-clamp-4'> <div className='font-medium line-clamp-4'>
{ item.reorder_point } { item.reorder_point }
@ -150,7 +150,7 @@ const CardMaterials = ({
<div className='flex justify-between gap-x-4 py-3'> <div className='flex justify-between gap-x-4 py-3'>
<dt className=' text-gray-500 dark:text-dark-600'>ReorderQuantity</dt> <dt className=' text-gray-500 dark:text-dark-600'>Yeniden Sipariş Miktarı</dt>
<dd className='flex items-start gap-x-2'> <dd className='flex items-start gap-x-2'>
<div className='font-medium line-clamp-4'> <div className='font-medium line-clamp-4'>
{ item.reorder_quantity } { item.reorder_quantity }
@ -162,7 +162,7 @@ const CardMaterials = ({
<div className='flex justify-between gap-x-4 py-3'> <div className='flex justify-between gap-x-4 py-3'>
<dt className=' text-gray-500 dark:text-dark-600'>Status</dt> <dt className=' text-gray-500 dark:text-dark-600'>Durum</dt>
<dd className='flex items-start gap-x-2'> <dd className='flex items-start gap-x-2'>
<div className='font-medium line-clamp-4'> <div className='font-medium line-clamp-4'>
{ item.status } { item.status }
@ -174,7 +174,7 @@ const CardMaterials = ({
<div className='flex justify-between gap-x-4 py-3'> <div className='flex justify-between gap-x-4 py-3'>
<dt className=' text-gray-500 dark:text-dark-600'>PreferredVendor</dt> <dt className=' text-gray-500 dark:text-dark-600'>Tercih Edilen Tedarikçi</dt>
<dd className='flex items-start gap-x-2'> <dd className='flex items-start gap-x-2'>
<div className='font-medium line-clamp-4'> <div className='font-medium line-clamp-4'>
{ dataFormatter.vendorsOneListFormatter(item.preferred_vendor) } { dataFormatter.vendorsOneListFormatter(item.preferred_vendor) }
@ -186,7 +186,7 @@ const CardMaterials = ({
<div className='flex justify-between gap-x-4 py-3'> <div className='flex justify-between gap-x-4 py-3'>
<dt className=' text-gray-500 dark:text-dark-600'>Specification</dt> <dt className=' text-gray-500 dark:text-dark-600'>Teknik Özellik</dt>
<dd className='flex items-start gap-x-2'> <dd className='flex items-start gap-x-2'>
<div className='font-medium line-clamp-4'> <div className='font-medium line-clamp-4'>
{ item.specification } { item.specification }
@ -198,7 +198,7 @@ const CardMaterials = ({
<div className='flex justify-between gap-x-4 py-3'> <div className='flex justify-between gap-x-4 py-3'>
<dt className=' text-gray-500 dark:text-dark-600'>SpecFiles</dt> <dt className=' text-gray-500 dark:text-dark-600'>Teknik Dosyalar</dt>
<dd className='flex items-start gap-x-2'> <dd className='flex items-start gap-x-2'>
<div className='font-medium'> <div className='font-medium'>
{dataFormatter.filesFormatter(item.spec_files).map(link => ( {dataFormatter.filesFormatter(item.spec_files).map(link => (
@ -220,7 +220,7 @@ const CardMaterials = ({
))} ))}
{!loading && materials.length === 0 && ( {!loading && materials.length === 0 && (
<div className='col-span-full flex items-center justify-center h-40'> <div className='col-span-full flex items-center justify-center h-40'>
<p className=''>No data to display</p> <p className=''>Gösterilecek veri yok</p>
</div> </div>
)} )}
</ul> </ul>

View File

@ -48,7 +48,7 @@ const ListMaterials = ({ materials, loading, onDelete, currentPage, numPages, on
<div className={'flex-1 px-3'}> <div className={'flex-1 px-3'}>
<p className={'text-xs text-gray-500 '}>SKU</p> <p className={'text-xs text-gray-500 '}>Stok Kodu</p>
<p className={'line-clamp-2'}>{ item.sku }</p> <p className={'line-clamp-2'}>{ item.sku }</p>
</div> </div>
@ -56,7 +56,7 @@ const ListMaterials = ({ materials, loading, onDelete, currentPage, numPages, on
<div className={'flex-1 px-3'}> <div className={'flex-1 px-3'}>
<p className={'text-xs text-gray-500 '}>MaterialName</p> <p className={'text-xs text-gray-500 '}>Malzeme Adı</p>
<p className={'line-clamp-2'}>{ item.name }</p> <p className={'line-clamp-2'}>{ item.name }</p>
</div> </div>
@ -64,7 +64,7 @@ const ListMaterials = ({ materials, loading, onDelete, currentPage, numPages, on
<div className={'flex-1 px-3'}> <div className={'flex-1 px-3'}>
<p className={'text-xs text-gray-500 '}>MaterialType</p> <p className={'text-xs text-gray-500 '}>Malzeme Türü</p>
<p className={'line-clamp-2'}>{ item.material_type }</p> <p className={'line-clamp-2'}>{ item.material_type }</p>
</div> </div>
@ -72,7 +72,7 @@ const ListMaterials = ({ materials, loading, onDelete, currentPage, numPages, on
<div className={'flex-1 px-3'}> <div className={'flex-1 px-3'}>
<p className={'text-xs text-gray-500 '}>UnitofMeasure</p> <p className={'text-xs text-gray-500 '}>Ölçü Birimi</p>
<p className={'line-clamp-2'}>{ item.unit_of_measure }</p> <p className={'line-clamp-2'}>{ item.unit_of_measure }</p>
</div> </div>
@ -80,7 +80,7 @@ const ListMaterials = ({ materials, loading, onDelete, currentPage, numPages, on
<div className={'flex-1 px-3'}> <div className={'flex-1 px-3'}>
<p className={'text-xs text-gray-500 '}>StandardCost</p> <p className={'text-xs text-gray-500 '}>Standart Maliyet</p>
<p className={'line-clamp-2'}>{ item.standard_cost }</p> <p className={'line-clamp-2'}>{ item.standard_cost }</p>
</div> </div>
@ -88,7 +88,7 @@ const ListMaterials = ({ materials, loading, onDelete, currentPage, numPages, on
<div className={'flex-1 px-3'}> <div className={'flex-1 px-3'}>
<p className={'text-xs text-gray-500 '}>ReorderPoint</p> <p className={'text-xs text-gray-500 '}>Yeniden Sipariş Noktası</p>
<p className={'line-clamp-2'}>{ item.reorder_point }</p> <p className={'line-clamp-2'}>{ item.reorder_point }</p>
</div> </div>
@ -96,7 +96,7 @@ const ListMaterials = ({ materials, loading, onDelete, currentPage, numPages, on
<div className={'flex-1 px-3'}> <div className={'flex-1 px-3'}>
<p className={'text-xs text-gray-500 '}>ReorderQuantity</p> <p className={'text-xs text-gray-500 '}>Yeniden Sipariş Miktarı</p>
<p className={'line-clamp-2'}>{ item.reorder_quantity }</p> <p className={'line-clamp-2'}>{ item.reorder_quantity }</p>
</div> </div>
@ -104,7 +104,7 @@ const ListMaterials = ({ materials, loading, onDelete, currentPage, numPages, on
<div className={'flex-1 px-3'}> <div className={'flex-1 px-3'}>
<p className={'text-xs text-gray-500 '}>Status</p> <p className={'text-xs text-gray-500 '}>Durum</p>
<p className={'line-clamp-2'}>{ item.status }</p> <p className={'line-clamp-2'}>{ item.status }</p>
</div> </div>
@ -112,7 +112,7 @@ const ListMaterials = ({ materials, loading, onDelete, currentPage, numPages, on
<div className={'flex-1 px-3'}> <div className={'flex-1 px-3'}>
<p className={'text-xs text-gray-500 '}>PreferredVendor</p> <p className={'text-xs text-gray-500 '}>Tercih Edilen Tedarikçi</p>
<p className={'line-clamp-2'}>{ dataFormatter.vendorsOneListFormatter(item.preferred_vendor) }</p> <p className={'line-clamp-2'}>{ dataFormatter.vendorsOneListFormatter(item.preferred_vendor) }</p>
</div> </div>
@ -120,7 +120,7 @@ const ListMaterials = ({ materials, loading, onDelete, currentPage, numPages, on
<div className={'flex-1 px-3'}> <div className={'flex-1 px-3'}>
<p className={'text-xs text-gray-500 '}>Specification</p> <p className={'text-xs text-gray-500 '}>Teknik Özellik</p>
<p className={'line-clamp-2'}>{ item.specification }</p> <p className={'line-clamp-2'}>{ item.specification }</p>
</div> </div>
@ -128,7 +128,7 @@ const ListMaterials = ({ materials, loading, onDelete, currentPage, numPages, on
<div className={'flex-1 px-3'}> <div className={'flex-1 px-3'}>
<p className={'text-xs text-gray-500 '}>SpecFiles</p> <p className={'text-xs text-gray-500 '}>Teknik Dosyalar</p>
{dataFormatter.filesFormatter(item.spec_files).map(link => ( {dataFormatter.filesFormatter(item.spec_files).map(link => (
<button <button
key={link.publicUrl} key={link.publicUrl}
@ -157,7 +157,7 @@ const ListMaterials = ({ materials, loading, onDelete, currentPage, numPages, on
))} ))}
{!loading && materials.length === 0 && ( {!loading && materials.length === 0 && (
<div className='col-span-full flex items-center justify-center h-40'> <div className='col-span-full flex items-center justify-center h-40'>
<p className=''>No data to display</p> <p className=''>Gösterilecek veri yok</p>
</div> </div>
)} )}
</div> </div>

View File

@ -277,7 +277,7 @@ const TableSampleMaterials = ({ filterItems, setFilterItems, filters, showGrid }
return ( return (
<div key={filterItem.id} className="flex mb-4"> <div key={filterItem.id} className="flex mb-4">
<div className="flex flex-col w-full mr-3"> <div className="flex flex-col w-full mr-3">
<div className=" text-gray-500 font-bold">Filter</div> <div className=" text-gray-500 font-bold">Filtre</div>
<Field <Field
className={controlClasses} className={controlClasses}
name='selectedField' name='selectedField'
@ -301,7 +301,7 @@ const TableSampleMaterials = ({ filterItems, setFilterItems, filters, showGrid }
)?.type === 'enum' ? ( )?.type === 'enum' ? (
<div className="flex flex-col w-full mr-3"> <div className="flex flex-col w-full mr-3">
<div className="text-gray-500 font-bold"> <div className="text-gray-500 font-bold">
Value Değer
</div> </div>
<Field <Field
className={controlClasses} className={controlClasses}
@ -311,7 +311,7 @@ const TableSampleMaterials = ({ filterItems, setFilterItems, filters, showGrid }
value={filterItem?.fields?.filterValue || ''} value={filterItem?.fields?.filterValue || ''}
onChange={handleChange(filterItem.id)} onChange={handleChange(filterItem.id)}
> >
<option value="">Select Value</option> <option value="">Değer Seçin</option>
{filters.find((filter) => {filters.find((filter) =>
filter.title === filterItem?.fields?.selectedField filter.title === filterItem?.fields?.selectedField
)?.options?.map((option) => ( )?.options?.map((option) => (
@ -326,22 +326,22 @@ const TableSampleMaterials = ({ filterItems, setFilterItems, filters, showGrid }
)?.number ? ( )?.number ? (
<div className="flex flex-row w-full mr-3"> <div className="flex flex-row w-full mr-3">
<div className="flex flex-col w-full mr-3"> <div className="flex flex-col w-full mr-3">
<div className=" text-gray-500 font-bold">From</div> <div className=" text-gray-500 font-bold">Başlangıç</div>
<Field <Field
className={controlClasses} className={controlClasses}
name='filterValueFrom' name='filterValueFrom'
placeholder='From' placeholder='Başlangıç'
id='filterValueFrom' id='filterValueFrom'
value={filterItem?.fields?.filterValueFrom || ''} value={filterItem?.fields?.filterValueFrom || ''}
onChange={handleChange(filterItem.id)} onChange={handleChange(filterItem.id)}
/> />
</div> </div>
<div className="flex flex-col w-full"> <div className="flex flex-col w-full">
<div className=" text-gray-500 font-bold">To</div> <div className=" text-gray-500 font-bold">Bitiş</div>
<Field <Field
className={controlClasses} className={controlClasses}
name='filterValueTo' name='filterValueTo'
placeholder='to' placeholder='bitiş'
id='filterValueTo' id='filterValueTo'
value={filterItem?.fields?.filterValueTo || ''} value={filterItem?.fields?.filterValueTo || ''}
onChange={handleChange(filterItem.id)} onChange={handleChange(filterItem.id)}
@ -356,12 +356,12 @@ const TableSampleMaterials = ({ filterItems, setFilterItems, filters, showGrid }
<div className='flex flex-row w-full mr-3'> <div className='flex flex-row w-full mr-3'>
<div className='flex flex-col w-full mr-3'> <div className='flex flex-col w-full mr-3'>
<div className=' text-gray-500 font-bold'> <div className=' text-gray-500 font-bold'>
From Başlangıç
</div> </div>
<Field <Field
className={controlClasses} className={controlClasses}
name='filterValueFrom' name='filterValueFrom'
placeholder='From' placeholder='Başlangıç'
id='filterValueFrom' id='filterValueFrom'
type='datetime-local' type='datetime-local'
value={filterItem?.fields?.filterValueFrom || ''} value={filterItem?.fields?.filterValueFrom || ''}
@ -369,11 +369,11 @@ const TableSampleMaterials = ({ filterItems, setFilterItems, filters, showGrid }
/> />
</div> </div>
<div className='flex flex-col w-full'> <div className='flex flex-col w-full'>
<div className=' text-gray-500 font-bold'>To</div> <div className=' text-gray-500 font-bold'>Bitiş</div>
<Field <Field
className={controlClasses} className={controlClasses}
name='filterValueTo' name='filterValueTo'
placeholder='to' placeholder='bitiş'
id='filterValueTo' id='filterValueTo'
type='datetime-local' type='datetime-local'
value={filterItem?.fields?.filterValueTo || ''} value={filterItem?.fields?.filterValueTo || ''}
@ -383,11 +383,11 @@ const TableSampleMaterials = ({ filterItems, setFilterItems, filters, showGrid }
</div> </div>
) : ( ) : (
<div className="flex flex-col w-full mr-3"> <div className="flex flex-col w-full mr-3">
<div className=" text-gray-500 font-bold">Contains</div> <div className=" text-gray-500 font-bold">İçerir</div>
<Field <Field
className={controlClasses} className={controlClasses}
name='filterValue' name='filterValue'
placeholder='Contained' placeholder='İçeren'
id='filterValue' id='filterValue'
value={filterItem?.fields?.filterValue || ''} value={filterItem?.fields?.filterValue || ''}
onChange={handleChange(filterItem.id)} onChange={handleChange(filterItem.id)}
@ -395,12 +395,12 @@ const TableSampleMaterials = ({ filterItems, setFilterItems, filters, showGrid }
</div> </div>
)} )}
<div className="flex flex-col"> <div className="flex flex-col">
<div className=" text-gray-500 font-bold">Action</div> <div className=" text-gray-500 font-bold">İşlem</div>
<BaseButton <BaseButton
className="my-2" className="my-2"
type='reset' type='reset'
color='danger' color='danger'
label='Delete' label='Sil'
onClick={() => { onClick={() => {
deleteFilter(filterItem.id) deleteFilter(filterItem.id)
}} }}
@ -413,13 +413,13 @@ const TableSampleMaterials = ({ filterItems, setFilterItems, filters, showGrid }
<BaseButton <BaseButton
className="my-2 mr-3" className="my-2 mr-3"
color="success" color="success"
label='Apply' label='Uygula'
onClick={handleSubmit} onClick={handleSubmit}
/> />
<BaseButton <BaseButton
className="my-2" className="my-2"
color='info' color='info'
label='Cancel' label='İptal'
onClick={handleReset} onClick={handleReset}
/> />
</div> </div>
@ -429,14 +429,14 @@ const TableSampleMaterials = ({ filterItems, setFilterItems, filters, showGrid }
</CardBox> : null </CardBox> : null
} }
<CardBoxModal <CardBoxModal
title="Please confirm" title="Lütfen onaylayın"
buttonColor="info" buttonColor="info"
buttonLabel={loading ? 'Deleting...' : 'Confirm'} buttonLabel={loading ? 'Siliniyor...' : 'Onayla'}
isActive={isModalTrashActive} isActive={isModalTrashActive}
onConfirm={handleDeleteAction} onConfirm={handleDeleteAction}
onCancel={handleModalAction} onCancel={handleModalAction}
> >
<p>Are you sure you want to delete this item?</p> <p>Bu kaydı silmek istediğinize emin misiniz?</p>
</CardBoxModal> </CardBoxModal>
@ -450,7 +450,7 @@ const TableSampleMaterials = ({ filterItems, setFilterItems, filters, showGrid }
<BaseButton <BaseButton
className='me-4' className='me-4'
color='danger' color='danger'
label={`Delete ${selectedRows.length === 1 ? 'Row' : 'Rows'}`} label={`Seçili ${selectedRows.length === 1 ? 'Satırı' : 'Satırları'} Sil`}
onClick={() => onDeleteRows(selectedRows)} onClick={() => onDeleteRows(selectedRows)}
/>, />,
document.getElementById('delete-rows-button'), document.getElementById('delete-rows-button'),

View File

@ -43,7 +43,7 @@ export const loadColumns = async (
{ {
field: 'sku', field: 'sku',
headerName: 'SKU', headerName: 'Stok Kodu',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,
@ -58,7 +58,7 @@ export const loadColumns = async (
{ {
field: 'name', field: 'name',
headerName: 'MaterialName', headerName: 'Malzeme Adı',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,
@ -73,7 +73,7 @@ export const loadColumns = async (
{ {
field: 'material_type', field: 'material_type',
headerName: 'MaterialType', headerName: 'Malzeme Türü',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,
@ -88,7 +88,7 @@ export const loadColumns = async (
{ {
field: 'unit_of_measure', field: 'unit_of_measure',
headerName: 'UnitofMeasure', headerName: 'Ölçü Birimi',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,
@ -103,7 +103,7 @@ export const loadColumns = async (
{ {
field: 'standard_cost', field: 'standard_cost',
headerName: 'StandardCost', headerName: 'Standart Maliyet',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,
@ -119,7 +119,7 @@ export const loadColumns = async (
{ {
field: 'reorder_point', field: 'reorder_point',
headerName: 'ReorderPoint', headerName: 'Yeniden Sipariş Noktası',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,
@ -135,7 +135,7 @@ export const loadColumns = async (
{ {
field: 'reorder_quantity', field: 'reorder_quantity',
headerName: 'ReorderQuantity', headerName: 'Yeniden Sipariş Miktarı',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,
@ -151,7 +151,7 @@ export const loadColumns = async (
{ {
field: 'status', field: 'status',
headerName: 'Status', headerName: 'Durum',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,
@ -166,7 +166,7 @@ export const loadColumns = async (
{ {
field: 'preferred_vendor', field: 'preferred_vendor',
headerName: 'PreferredVendor', headerName: 'Tercih Edilen Tedarikçi',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,
@ -188,7 +188,7 @@ export const loadColumns = async (
{ {
field: 'specification', field: 'specification',
headerName: 'Specification', headerName: 'Teknik Özellik',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,
@ -203,7 +203,7 @@ export const loadColumns = async (
{ {
field: 'spec_files', field: 'spec_files',
headerName: 'SpecFiles', headerName: 'Teknik Dosyalar',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,

View File

@ -1,6 +1,5 @@
import React, {useEffect, useRef} from 'react' import React, { useEffect, useRef, useState } from 'react'
import Link from 'next/link' import Link from 'next/link'
import { useState } from 'react'
import { mdiChevronUp, mdiChevronDown } from '@mdi/js' import { mdiChevronUp, mdiChevronDown } from '@mdi/js'
import BaseDivider from './BaseDivider' import BaseDivider from './BaseDivider'
import BaseIcon from './BaseIcon' import BaseIcon from './BaseIcon'
@ -67,8 +66,10 @@ export default function NavBarItem({ item }: Props) {
const getItemId = (label) => { const getItemId = (label) => {
switch (label) { switch (label) {
case 'Light/Dark': case 'Light/Dark':
case 'Açık/Koyu Tema':
return 'themeToggle'; return 'themeToggle';
case 'Log out': case 'Log out':
case ıkış yap':
return 'logout'; return 'logout';
default: default:
return undefined; return undefined;

View File

@ -162,7 +162,7 @@ const CardNonconformances = ({
<div className='flex justify-between gap-x-4 py-3'> <div className='flex justify-between gap-x-4 py-3'>
<dt className=' text-gray-500 dark:text-dark-600'>CorrectiveAction</dt> <dt className=' text-gray-500 dark:text-dark-600'>Düzeltici İşlem</dt>
<dd className='flex items-start gap-x-2'> <dd className='flex items-start gap-x-2'>
<div className='font-medium line-clamp-4'> <div className='font-medium line-clamp-4'>
{ item.corrective_action } { item.corrective_action }
@ -174,7 +174,7 @@ const CardNonconformances = ({
<div className='flex justify-between gap-x-4 py-3'> <div className='flex justify-between gap-x-4 py-3'>
<dt className=' text-gray-500 dark:text-dark-600'>DueAt</dt> <dt className=' text-gray-500 dark:text-dark-600'>Termin Tarihi</dt>
<dd className='flex items-start gap-x-2'> <dd className='flex items-start gap-x-2'>
<div className='font-medium line-clamp-4'> <div className='font-medium line-clamp-4'>
{ dataFormatter.dateTimeFormatter(item.due_at) } { dataFormatter.dateTimeFormatter(item.due_at) }
@ -220,7 +220,7 @@ const CardNonconformances = ({
))} ))}
{!loading && nonconformances.length === 0 && ( {!loading && nonconformances.length === 0 && (
<div className='col-span-full flex items-center justify-center h-40'> <div className='col-span-full flex items-center justify-center h-40'>
<p className=''>No data to display</p> <p className=''>Gösterilecek veri yok</p>
</div> </div>
)} )}
</ul> </ul>

View File

@ -104,7 +104,7 @@ const ListNonconformances = ({ nonconformances, loading, onDelete, currentPage,
<div className={'flex-1 px-3'}> <div className={'flex-1 px-3'}>
<p className={'text-xs text-gray-500 '}>CorrectiveAction</p> <p className={'text-xs text-gray-500 '}>Düzeltici İşlem</p>
<p className={'line-clamp-2'}>{ item.corrective_action }</p> <p className={'line-clamp-2'}>{ item.corrective_action }</p>
</div> </div>
@ -112,7 +112,7 @@ const ListNonconformances = ({ nonconformances, loading, onDelete, currentPage,
<div className={'flex-1 px-3'}> <div className={'flex-1 px-3'}>
<p className={'text-xs text-gray-500 '}>DueAt</p> <p className={'text-xs text-gray-500 '}>Termin Tarihi</p>
<p className={'line-clamp-2'}>{ dataFormatter.dateTimeFormatter(item.due_at) }</p> <p className={'line-clamp-2'}>{ dataFormatter.dateTimeFormatter(item.due_at) }</p>
</div> </div>
@ -157,7 +157,7 @@ const ListNonconformances = ({ nonconformances, loading, onDelete, currentPage,
))} ))}
{!loading && nonconformances.length === 0 && ( {!loading && nonconformances.length === 0 && (
<div className='col-span-full flex items-center justify-center h-40'> <div className='col-span-full flex items-center justify-center h-40'>
<p className=''>No data to display</p> <p className=''>Gösterilecek veri yok</p>
</div> </div>
)} )}
</div> </div>

View File

@ -308,7 +308,7 @@ const TableSampleNonconformances = ({ filterItems, setFilterItems, filters, show
return ( return (
<div key={filterItem.id} className="flex mb-4"> <div key={filterItem.id} className="flex mb-4">
<div className="flex flex-col w-full mr-3"> <div className="flex flex-col w-full mr-3">
<div className=" text-gray-500 font-bold">Filter</div> <div className=" text-gray-500 font-bold">Filtre</div>
<Field <Field
className={controlClasses} className={controlClasses}
name='selectedField' name='selectedField'
@ -332,7 +332,7 @@ const TableSampleNonconformances = ({ filterItems, setFilterItems, filters, show
)?.type === 'enum' ? ( )?.type === 'enum' ? (
<div className="flex flex-col w-full mr-3"> <div className="flex flex-col w-full mr-3">
<div className="text-gray-500 font-bold"> <div className="text-gray-500 font-bold">
Value Değer
</div> </div>
<Field <Field
className={controlClasses} className={controlClasses}
@ -342,7 +342,7 @@ const TableSampleNonconformances = ({ filterItems, setFilterItems, filters, show
value={filterItem?.fields?.filterValue || ''} value={filterItem?.fields?.filterValue || ''}
onChange={handleChange(filterItem.id)} onChange={handleChange(filterItem.id)}
> >
<option value="">Select Value</option> <option value="">Değer seçin</option>
{filters.find((filter) => {filters.find((filter) =>
filter.title === filterItem?.fields?.selectedField filter.title === filterItem?.fields?.selectedField
)?.options?.map((option) => ( )?.options?.map((option) => (
@ -357,18 +357,18 @@ const TableSampleNonconformances = ({ filterItems, setFilterItems, filters, show
)?.number ? ( )?.number ? (
<div className="flex flex-row w-full mr-3"> <div className="flex flex-row w-full mr-3">
<div className="flex flex-col w-full mr-3"> <div className="flex flex-col w-full mr-3">
<div className=" text-gray-500 font-bold">From</div> <div className=" text-gray-500 font-bold">Başlangıç</div>
<Field <Field
className={controlClasses} className={controlClasses}
name='filterValueFrom' name='filterValueFrom'
placeholder='From' placeholder='Başlangıç'
id='filterValueFrom' id='filterValueFrom'
value={filterItem?.fields?.filterValueFrom || ''} value={filterItem?.fields?.filterValueFrom || ''}
onChange={handleChange(filterItem.id)} onChange={handleChange(filterItem.id)}
/> />
</div> </div>
<div className="flex flex-col w-full"> <div className="flex flex-col w-full">
<div className=" text-gray-500 font-bold">To</div> <div className=" text-gray-500 font-bold">Bitiş</div>
<Field <Field
className={controlClasses} className={controlClasses}
name='filterValueTo' name='filterValueTo'
@ -387,12 +387,12 @@ const TableSampleNonconformances = ({ filterItems, setFilterItems, filters, show
<div className='flex flex-row w-full mr-3'> <div className='flex flex-row w-full mr-3'>
<div className='flex flex-col w-full mr-3'> <div className='flex flex-col w-full mr-3'>
<div className=' text-gray-500 font-bold'> <div className=' text-gray-500 font-bold'>
From Başlangıç
</div> </div>
<Field <Field
className={controlClasses} className={controlClasses}
name='filterValueFrom' name='filterValueFrom'
placeholder='From' placeholder='Başlangıç'
id='filterValueFrom' id='filterValueFrom'
type='datetime-local' type='datetime-local'
value={filterItem?.fields?.filterValueFrom || ''} value={filterItem?.fields?.filterValueFrom || ''}
@ -400,7 +400,7 @@ const TableSampleNonconformances = ({ filterItems, setFilterItems, filters, show
/> />
</div> </div>
<div className='flex flex-col w-full'> <div className='flex flex-col w-full'>
<div className=' text-gray-500 font-bold'>To</div> <div className=' text-gray-500 font-bold'>Bitiş</div>
<Field <Field
className={controlClasses} className={controlClasses}
name='filterValueTo' name='filterValueTo'
@ -414,11 +414,11 @@ const TableSampleNonconformances = ({ filterItems, setFilterItems, filters, show
</div> </div>
) : ( ) : (
<div className="flex flex-col w-full mr-3"> <div className="flex flex-col w-full mr-3">
<div className=" text-gray-500 font-bold">Contains</div> <div className=" text-gray-500 font-bold">İçerir</div>
<Field <Field
className={controlClasses} className={controlClasses}
name='filterValue' name='filterValue'
placeholder='Contained' placeholder='İçerik'
id='filterValue' id='filterValue'
value={filterItem?.fields?.filterValue || ''} value={filterItem?.fields?.filterValue || ''}
onChange={handleChange(filterItem.id)} onChange={handleChange(filterItem.id)}
@ -426,12 +426,12 @@ const TableSampleNonconformances = ({ filterItems, setFilterItems, filters, show
</div> </div>
)} )}
<div className="flex flex-col"> <div className="flex flex-col">
<div className=" text-gray-500 font-bold">Action</div> <div className=" text-gray-500 font-bold">İşlem</div>
<BaseButton <BaseButton
className="my-2" className="my-2"
type='reset' type='reset'
color='danger' color='danger'
label='Delete' label='Sil'
onClick={() => { onClick={() => {
deleteFilter(filterItem.id) deleteFilter(filterItem.id)
}} }}
@ -444,13 +444,13 @@ const TableSampleNonconformances = ({ filterItems, setFilterItems, filters, show
<BaseButton <BaseButton
className="my-2 mr-3" className="my-2 mr-3"
color="success" color="success"
label='Apply' label='Uygula'
onClick={handleSubmit} onClick={handleSubmit}
/> />
<BaseButton <BaseButton
className="my-2" className="my-2"
color='info' color='info'
label='Cancel' label='İptal'
onClick={handleReset} onClick={handleReset}
/> />
</div> </div>
@ -460,14 +460,14 @@ const TableSampleNonconformances = ({ filterItems, setFilterItems, filters, show
</CardBox> : null </CardBox> : null
} }
<CardBoxModal <CardBoxModal
title="Please confirm" title="Lütfen onaylayın"
buttonColor="info" buttonColor="info"
buttonLabel={loading ? 'Deleting...' : 'Confirm'} buttonLabel={loading ? 'Siliniyor...' : 'Onayla'}
isActive={isModalTrashActive} isActive={isModalTrashActive}
onConfirm={handleDeleteAction} onConfirm={handleDeleteAction}
onCancel={handleModalAction} onCancel={handleModalAction}
> >
<p>Are you sure you want to delete this item?</p> <p>Bu kaydı silmek istediğinize emin misiniz?</p>
</CardBoxModal> </CardBoxModal>
@ -494,7 +494,7 @@ const TableSampleNonconformances = ({ filterItems, setFilterItems, filters, show
<BaseButton <BaseButton
className='me-4' className='me-4'
color='danger' color='danger'
label={`Delete ${selectedRows.length === 1 ? 'Row' : 'Rows'}`} label={`Seçili ${selectedRows.length === 1 ? 'Satırı' : 'Satırları'} Sil`}
onClick={() => onDeleteRows(selectedRows)} onClick={() => onDeleteRows(selectedRows)}
/>, />,
document.getElementById('delete-rows-button'), document.getElementById('delete-rows-button'),

View File

@ -43,7 +43,7 @@ export const loadColumns = async (
{ {
field: 'ncr_number', field: 'ncr_number',
headerName: 'NCRNumber', headerName: 'Uygunsuzluk No',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,
@ -58,7 +58,7 @@ export const loadColumns = async (
{ {
field: 'severity', field: 'severity',
headerName: 'Severity', headerName: 'Şiddet',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,
@ -73,7 +73,7 @@ export const loadColumns = async (
{ {
field: 'status', field: 'status',
headerName: 'Status', headerName: 'Durum',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,
@ -88,7 +88,7 @@ export const loadColumns = async (
{ {
field: 'inspection', field: 'inspection',
headerName: 'Inspection', headerName: 'Kontrol',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,
@ -110,7 +110,7 @@ export const loadColumns = async (
{ {
field: 'owner', field: 'owner',
headerName: 'Owner', headerName: 'Sorumlu Kişi',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,
@ -132,7 +132,7 @@ export const loadColumns = async (
{ {
field: 'description', field: 'description',
headerName: 'Description', headerName: 'ıklama',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,
@ -147,7 +147,7 @@ export const loadColumns = async (
{ {
field: 'root_cause', field: 'root_cause',
headerName: 'RootCause', headerName: 'Kök Neden',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,
@ -162,7 +162,7 @@ export const loadColumns = async (
{ {
field: 'corrective_action', field: 'corrective_action',
headerName: 'CorrectiveAction', headerName: 'Düzeltici Faaliyet',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,
@ -177,7 +177,7 @@ export const loadColumns = async (
{ {
field: 'due_at', field: 'due_at',
headerName: 'DueAt', headerName: 'Termin Tarihi',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,
@ -195,7 +195,7 @@ export const loadColumns = async (
{ {
field: 'closed_at', field: 'closed_at',
headerName: 'ClosedAt', headerName: 'Kapanış Tarihi',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,
@ -213,7 +213,7 @@ export const loadColumns = async (
{ {
field: 'attachments', field: 'attachments',
headerName: 'Attachments', headerName: 'Ekler',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,

View File

@ -93,7 +93,7 @@ const CardOrganizations = ({
))} ))}
{!loading && organizations.length === 0 && ( {!loading && organizations.length === 0 && (
<div className='col-span-full flex items-center justify-center h-40'> <div className='col-span-full flex items-center justify-center h-40'>
<p className=''>No data to display</p> <p className=''>Gösterilecek veri yok</p>
</div> </div>
)} )}
</ul> </ul>

View File

@ -70,7 +70,7 @@ const ListOrganizations = ({ organizations, loading, onDelete, currentPage, numP
))} ))}
{!loading && organizations.length === 0 && ( {!loading && organizations.length === 0 && (
<div className='col-span-full flex items-center justify-center h-40'> <div className='col-span-full flex items-center justify-center h-40'>
<p className=''>No data to display</p> <p className=''>Gösterilecek veri yok</p>
</div> </div>
)} )}
</div> </div>

View File

@ -277,7 +277,7 @@ const TableSampleOrganizations = ({ filterItems, setFilterItems, filters, showGr
return ( return (
<div key={filterItem.id} className="flex mb-4"> <div key={filterItem.id} className="flex mb-4">
<div className="flex flex-col w-full mr-3"> <div className="flex flex-col w-full mr-3">
<div className=" text-gray-500 font-bold">Filter</div> <div className=" text-gray-500 font-bold">Filtre</div>
<Field <Field
className={controlClasses} className={controlClasses}
name='selectedField' name='selectedField'
@ -301,7 +301,7 @@ const TableSampleOrganizations = ({ filterItems, setFilterItems, filters, showGr
)?.type === 'enum' ? ( )?.type === 'enum' ? (
<div className="flex flex-col w-full mr-3"> <div className="flex flex-col w-full mr-3">
<div className="text-gray-500 font-bold"> <div className="text-gray-500 font-bold">
Value Değer
</div> </div>
<Field <Field
className={controlClasses} className={controlClasses}
@ -311,7 +311,7 @@ const TableSampleOrganizations = ({ filterItems, setFilterItems, filters, showGr
value={filterItem?.fields?.filterValue || ''} value={filterItem?.fields?.filterValue || ''}
onChange={handleChange(filterItem.id)} onChange={handleChange(filterItem.id)}
> >
<option value="">Select Value</option> <option value="">Değer seçin</option>
{filters.find((filter) => {filters.find((filter) =>
filter.title === filterItem?.fields?.selectedField filter.title === filterItem?.fields?.selectedField
)?.options?.map((option) => ( )?.options?.map((option) => (
@ -326,18 +326,18 @@ const TableSampleOrganizations = ({ filterItems, setFilterItems, filters, showGr
)?.number ? ( )?.number ? (
<div className="flex flex-row w-full mr-3"> <div className="flex flex-row w-full mr-3">
<div className="flex flex-col w-full mr-3"> <div className="flex flex-col w-full mr-3">
<div className=" text-gray-500 font-bold">From</div> <div className=" text-gray-500 font-bold">Başlangıç</div>
<Field <Field
className={controlClasses} className={controlClasses}
name='filterValueFrom' name='filterValueFrom'
placeholder='From' placeholder='Başlangıç'
id='filterValueFrom' id='filterValueFrom'
value={filterItem?.fields?.filterValueFrom || ''} value={filterItem?.fields?.filterValueFrom || ''}
onChange={handleChange(filterItem.id)} onChange={handleChange(filterItem.id)}
/> />
</div> </div>
<div className="flex flex-col w-full"> <div className="flex flex-col w-full">
<div className=" text-gray-500 font-bold">To</div> <div className=" text-gray-500 font-bold">Bitiş</div>
<Field <Field
className={controlClasses} className={controlClasses}
name='filterValueTo' name='filterValueTo'
@ -356,12 +356,12 @@ const TableSampleOrganizations = ({ filterItems, setFilterItems, filters, showGr
<div className='flex flex-row w-full mr-3'> <div className='flex flex-row w-full mr-3'>
<div className='flex flex-col w-full mr-3'> <div className='flex flex-col w-full mr-3'>
<div className=' text-gray-500 font-bold'> <div className=' text-gray-500 font-bold'>
From Başlangıç
</div> </div>
<Field <Field
className={controlClasses} className={controlClasses}
name='filterValueFrom' name='filterValueFrom'
placeholder='From' placeholder='Başlangıç'
id='filterValueFrom' id='filterValueFrom'
type='datetime-local' type='datetime-local'
value={filterItem?.fields?.filterValueFrom || ''} value={filterItem?.fields?.filterValueFrom || ''}
@ -369,7 +369,7 @@ const TableSampleOrganizations = ({ filterItems, setFilterItems, filters, showGr
/> />
</div> </div>
<div className='flex flex-col w-full'> <div className='flex flex-col w-full'>
<div className=' text-gray-500 font-bold'>To</div> <div className=' text-gray-500 font-bold'>Bitiş</div>
<Field <Field
className={controlClasses} className={controlClasses}
name='filterValueTo' name='filterValueTo'
@ -383,11 +383,11 @@ const TableSampleOrganizations = ({ filterItems, setFilterItems, filters, showGr
</div> </div>
) : ( ) : (
<div className="flex flex-col w-full mr-3"> <div className="flex flex-col w-full mr-3">
<div className=" text-gray-500 font-bold">Contains</div> <div className=" text-gray-500 font-bold">İçerir</div>
<Field <Field
className={controlClasses} className={controlClasses}
name='filterValue' name='filterValue'
placeholder='Contained' placeholder='İçerik'
id='filterValue' id='filterValue'
value={filterItem?.fields?.filterValue || ''} value={filterItem?.fields?.filterValue || ''}
onChange={handleChange(filterItem.id)} onChange={handleChange(filterItem.id)}
@ -395,12 +395,12 @@ const TableSampleOrganizations = ({ filterItems, setFilterItems, filters, showGr
</div> </div>
)} )}
<div className="flex flex-col"> <div className="flex flex-col">
<div className=" text-gray-500 font-bold">Action</div> <div className=" text-gray-500 font-bold">İşlem</div>
<BaseButton <BaseButton
className="my-2" className="my-2"
type='reset' type='reset'
color='danger' color='danger'
label='Delete' label='Sil'
onClick={() => { onClick={() => {
deleteFilter(filterItem.id) deleteFilter(filterItem.id)
}} }}
@ -413,13 +413,13 @@ const TableSampleOrganizations = ({ filterItems, setFilterItems, filters, showGr
<BaseButton <BaseButton
className="my-2 mr-3" className="my-2 mr-3"
color="success" color="success"
label='Apply' label='Uygula'
onClick={handleSubmit} onClick={handleSubmit}
/> />
<BaseButton <BaseButton
className="my-2" className="my-2"
color='info' color='info'
label='Cancel' label='İptal'
onClick={handleReset} onClick={handleReset}
/> />
</div> </div>
@ -429,14 +429,14 @@ const TableSampleOrganizations = ({ filterItems, setFilterItems, filters, showGr
</CardBox> : null </CardBox> : null
} }
<CardBoxModal <CardBoxModal
title="Please confirm" title="Lütfen onaylayın"
buttonColor="info" buttonColor="info"
buttonLabel={loading ? 'Deleting...' : 'Confirm'} buttonLabel={loading ? 'Siliniyor...' : 'Onayla'}
isActive={isModalTrashActive} isActive={isModalTrashActive}
onConfirm={handleDeleteAction} onConfirm={handleDeleteAction}
onCancel={handleModalAction} onCancel={handleModalAction}
> >
<p>Are you sure you want to delete this item?</p> <p>Bu kaydı silmek istediğinize emin misiniz?</p>
</CardBoxModal> </CardBoxModal>
@ -450,7 +450,7 @@ const TableSampleOrganizations = ({ filterItems, setFilterItems, filters, showGr
<BaseButton <BaseButton
className='me-4' className='me-4'
color='danger' color='danger'
label={`Delete ${selectedRows.length === 1 ? 'Row' : 'Rows'}`} label={`Seçili ${selectedRows.length === 1 ? 'Satırı' : 'Satırları'} Sil`}
onClick={() => onDeleteRows(selectedRows)} onClick={() => onDeleteRows(selectedRows)}
/>, />,
document.getElementById('delete-rows-button'), document.getElementById('delete-rows-button'),

View File

@ -43,7 +43,7 @@ export const loadColumns = async (
{ {
field: 'name', field: 'name',
headerName: 'Name', headerName: 'Organizasyon Adı',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,

View File

@ -49,16 +49,16 @@ export default function PasswordSetOrReset() {
return ( return (
<> <>
<Head> <Head>
{isInvitation && <title>{getPageTitle('Set Password')}</title>} {isInvitation && <title>{getPageTitle('Şifre Belirle')}</title>}
{!isInvitation && <title>{getPageTitle('Reset Password')}</title>} {!isInvitation && <title>{getPageTitle('Şifreyi Sıfırla')}</title>}
</Head> </Head>
<SectionFullScreen bg='violet'> <SectionFullScreen bg='violet'>
<div className='w-full flex flex-col items-center justify-center'> <div className='w-full flex flex-col items-center justify-center'>
<CardBox className='w-11/12 md:w-7/12 lg:w-6/12 xl:w-4/12'> <CardBox className='w-11/12 md:w-7/12 lg:w-6/12 xl:w-4/12'>
{isInvitation && <p className='text-xl mb-2'>Set Password</p>} {isInvitation && <p className='text-xl mb-2'>Şifre Belirle</p>}
{!isInvitation && <p className='text-xl mb-2'>Reset Password</p>} {!isInvitation && <p className='text-xl mb-2'>Şifreyi Sıfırla</p>}
<p className='text-base mb-4'>Enter your new password</p> <p className='text-base mb-4'>Yeni şifrenizi girin</p>
<Formik <Formik
initialValues={{ initialValues={{
@ -74,7 +74,7 @@ export default function PasswordSetOrReset() {
<Field <Field
type='password' type='password'
name='password' name='password'
placeholder='Password' placeholder='Şifre'
/> />
</FormField> </FormField>
<FormField <FormField
@ -82,7 +82,7 @@ export default function PasswordSetOrReset() {
<Field <Field
type='password' type='password'
name='confirm' name='confirm'
placeholder='Confirm Password' placeholder='Şifre Tekrarı'
/> />
</FormField> </FormField>
@ -93,10 +93,10 @@ export default function PasswordSetOrReset() {
disabled={loading} disabled={loading}
label={ label={
loading loading
? 'Loading...' ? 'Yükleniyor...'
: isInvitation : isInvitation
? 'Set Password' ? 'Şifre Belirle'
: 'Reset Password' : 'Şifreyi Sıfırla'
} }
color='info' color='info'
/> />

View File

@ -93,7 +93,7 @@ const CardPermissions = ({
))} ))}
{!loading && permissions.length === 0 && ( {!loading && permissions.length === 0 && (
<div className='col-span-full flex items-center justify-center h-40'> <div className='col-span-full flex items-center justify-center h-40'>
<p className=''>No data to display</p> <p className=''>Gösterilecek veri yok</p>
</div> </div>
)} )}
</ul> </ul>

View File

@ -70,7 +70,7 @@ const ListPermissions = ({ permissions, loading, onDelete, currentPage, numPages
))} ))}
{!loading && permissions.length === 0 && ( {!loading && permissions.length === 0 && (
<div className='col-span-full flex items-center justify-center h-40'> <div className='col-span-full flex items-center justify-center h-40'>
<p className=''>No data to display</p> <p className=''>Gösterilecek veri yok</p>
</div> </div>
)} )}
</div> </div>

View File

@ -277,7 +277,7 @@ const TableSamplePermissions = ({ filterItems, setFilterItems, filters, showGrid
return ( return (
<div key={filterItem.id} className="flex mb-4"> <div key={filterItem.id} className="flex mb-4">
<div className="flex flex-col w-full mr-3"> <div className="flex flex-col w-full mr-3">
<div className=" text-gray-500 font-bold">Filter</div> <div className=" text-gray-500 font-bold">Filtre</div>
<Field <Field
className={controlClasses} className={controlClasses}
name='selectedField' name='selectedField'
@ -301,7 +301,7 @@ const TableSamplePermissions = ({ filterItems, setFilterItems, filters, showGrid
)?.type === 'enum' ? ( )?.type === 'enum' ? (
<div className="flex flex-col w-full mr-3"> <div className="flex flex-col w-full mr-3">
<div className="text-gray-500 font-bold"> <div className="text-gray-500 font-bold">
Value Değer
</div> </div>
<Field <Field
className={controlClasses} className={controlClasses}
@ -311,7 +311,7 @@ const TableSamplePermissions = ({ filterItems, setFilterItems, filters, showGrid
value={filterItem?.fields?.filterValue || ''} value={filterItem?.fields?.filterValue || ''}
onChange={handleChange(filterItem.id)} onChange={handleChange(filterItem.id)}
> >
<option value="">Select Value</option> <option value="">Değer seçin</option>
{filters.find((filter) => {filters.find((filter) =>
filter.title === filterItem?.fields?.selectedField filter.title === filterItem?.fields?.selectedField
)?.options?.map((option) => ( )?.options?.map((option) => (
@ -326,18 +326,18 @@ const TableSamplePermissions = ({ filterItems, setFilterItems, filters, showGrid
)?.number ? ( )?.number ? (
<div className="flex flex-row w-full mr-3"> <div className="flex flex-row w-full mr-3">
<div className="flex flex-col w-full mr-3"> <div className="flex flex-col w-full mr-3">
<div className=" text-gray-500 font-bold">From</div> <div className=" text-gray-500 font-bold">Başlangıç</div>
<Field <Field
className={controlClasses} className={controlClasses}
name='filterValueFrom' name='filterValueFrom'
placeholder='From' placeholder='Başlangıç'
id='filterValueFrom' id='filterValueFrom'
value={filterItem?.fields?.filterValueFrom || ''} value={filterItem?.fields?.filterValueFrom || ''}
onChange={handleChange(filterItem.id)} onChange={handleChange(filterItem.id)}
/> />
</div> </div>
<div className="flex flex-col w-full"> <div className="flex flex-col w-full">
<div className=" text-gray-500 font-bold">To</div> <div className=" text-gray-500 font-bold">Bitiş</div>
<Field <Field
className={controlClasses} className={controlClasses}
name='filterValueTo' name='filterValueTo'
@ -356,12 +356,12 @@ const TableSamplePermissions = ({ filterItems, setFilterItems, filters, showGrid
<div className='flex flex-row w-full mr-3'> <div className='flex flex-row w-full mr-3'>
<div className='flex flex-col w-full mr-3'> <div className='flex flex-col w-full mr-3'>
<div className=' text-gray-500 font-bold'> <div className=' text-gray-500 font-bold'>
From Başlangıç
</div> </div>
<Field <Field
className={controlClasses} className={controlClasses}
name='filterValueFrom' name='filterValueFrom'
placeholder='From' placeholder='Başlangıç'
id='filterValueFrom' id='filterValueFrom'
type='datetime-local' type='datetime-local'
value={filterItem?.fields?.filterValueFrom || ''} value={filterItem?.fields?.filterValueFrom || ''}
@ -369,7 +369,7 @@ const TableSamplePermissions = ({ filterItems, setFilterItems, filters, showGrid
/> />
</div> </div>
<div className='flex flex-col w-full'> <div className='flex flex-col w-full'>
<div className=' text-gray-500 font-bold'>To</div> <div className=' text-gray-500 font-bold'>Bitiş</div>
<Field <Field
className={controlClasses} className={controlClasses}
name='filterValueTo' name='filterValueTo'
@ -383,11 +383,11 @@ const TableSamplePermissions = ({ filterItems, setFilterItems, filters, showGrid
</div> </div>
) : ( ) : (
<div className="flex flex-col w-full mr-3"> <div className="flex flex-col w-full mr-3">
<div className=" text-gray-500 font-bold">Contains</div> <div className=" text-gray-500 font-bold">İçerir</div>
<Field <Field
className={controlClasses} className={controlClasses}
name='filterValue' name='filterValue'
placeholder='Contained' placeholder='İçerik'
id='filterValue' id='filterValue'
value={filterItem?.fields?.filterValue || ''} value={filterItem?.fields?.filterValue || ''}
onChange={handleChange(filterItem.id)} onChange={handleChange(filterItem.id)}
@ -395,12 +395,12 @@ const TableSamplePermissions = ({ filterItems, setFilterItems, filters, showGrid
</div> </div>
)} )}
<div className="flex flex-col"> <div className="flex flex-col">
<div className=" text-gray-500 font-bold">Action</div> <div className=" text-gray-500 font-bold">İşlem</div>
<BaseButton <BaseButton
className="my-2" className="my-2"
type='reset' type='reset'
color='danger' color='danger'
label='Delete' label='Sil'
onClick={() => { onClick={() => {
deleteFilter(filterItem.id) deleteFilter(filterItem.id)
}} }}
@ -413,13 +413,13 @@ const TableSamplePermissions = ({ filterItems, setFilterItems, filters, showGrid
<BaseButton <BaseButton
className="my-2 mr-3" className="my-2 mr-3"
color="success" color="success"
label='Apply' label='Uygula'
onClick={handleSubmit} onClick={handleSubmit}
/> />
<BaseButton <BaseButton
className="my-2" className="my-2"
color='info' color='info'
label='Cancel' label='İptal'
onClick={handleReset} onClick={handleReset}
/> />
</div> </div>
@ -429,14 +429,14 @@ const TableSamplePermissions = ({ filterItems, setFilterItems, filters, showGrid
</CardBox> : null </CardBox> : null
} }
<CardBoxModal <CardBoxModal
title="Please confirm" title="Lütfen onaylayın"
buttonColor="info" buttonColor="info"
buttonLabel={loading ? 'Deleting...' : 'Confirm'} buttonLabel={loading ? 'Siliniyor...' : 'Onayla'}
isActive={isModalTrashActive} isActive={isModalTrashActive}
onConfirm={handleDeleteAction} onConfirm={handleDeleteAction}
onCancel={handleModalAction} onCancel={handleModalAction}
> >
<p>Are you sure you want to delete this item?</p> <p>Bu kaydı silmek istediğinize emin misiniz?</p>
</CardBoxModal> </CardBoxModal>
@ -450,7 +450,7 @@ const TableSamplePermissions = ({ filterItems, setFilterItems, filters, showGrid
<BaseButton <BaseButton
className='me-4' className='me-4'
color='danger' color='danger'
label={`Delete ${selectedRows.length === 1 ? 'Row' : 'Rows'}`} label={`Seçili ${selectedRows.length === 1 ? 'Satırı' : 'Satırları'} Sil`}
onClick={() => onDeleteRows(selectedRows)} onClick={() => onDeleteRows(selectedRows)}
/>, />,
document.getElementById('delete-rows-button'), document.getElementById('delete-rows-button'),

View File

@ -43,7 +43,7 @@ export const loadColumns = async (
{ {
field: 'name', field: 'name',
headerName: 'Name', headerName: 'Yetki Adı',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,

View File

@ -141,7 +141,7 @@ const CardPipeline_stages = ({
))} ))}
{!loading && pipeline_stages.length === 0 && ( {!loading && pipeline_stages.length === 0 && (
<div className='col-span-full flex items-center justify-center h-40'> <div className='col-span-full flex items-center justify-center h-40'>
<p className=''>No data to display</p> <p className=''>Gösterilecek veri yok</p>
</div> </div>
)} )}
</ul> </ul>

View File

@ -102,7 +102,7 @@ const ListPipeline_stages = ({ pipeline_stages, loading, onDelete, currentPage,
))} ))}
{!loading && pipeline_stages.length === 0 && ( {!loading && pipeline_stages.length === 0 && (
<div className='col-span-full flex items-center justify-center h-40'> <div className='col-span-full flex items-center justify-center h-40'>
<p className=''>No data to display</p> <p className=''>Gösterilecek veri yok</p>
</div> </div>
)} )}
</div> </div>

View File

@ -277,7 +277,7 @@ const TableSamplePipeline_stages = ({ filterItems, setFilterItems, filters, show
return ( return (
<div key={filterItem.id} className="flex mb-4"> <div key={filterItem.id} className="flex mb-4">
<div className="flex flex-col w-full mr-3"> <div className="flex flex-col w-full mr-3">
<div className=" text-gray-500 font-bold">Filter</div> <div className=" text-gray-500 font-bold">Filtre</div>
<Field <Field
className={controlClasses} className={controlClasses}
name='selectedField' name='selectedField'
@ -301,7 +301,7 @@ const TableSamplePipeline_stages = ({ filterItems, setFilterItems, filters, show
)?.type === 'enum' ? ( )?.type === 'enum' ? (
<div className="flex flex-col w-full mr-3"> <div className="flex flex-col w-full mr-3">
<div className="text-gray-500 font-bold"> <div className="text-gray-500 font-bold">
Value Değer
</div> </div>
<Field <Field
className={controlClasses} className={controlClasses}
@ -311,7 +311,7 @@ const TableSamplePipeline_stages = ({ filterItems, setFilterItems, filters, show
value={filterItem?.fields?.filterValue || ''} value={filterItem?.fields?.filterValue || ''}
onChange={handleChange(filterItem.id)} onChange={handleChange(filterItem.id)}
> >
<option value="">Select Value</option> <option value="">Değer seçin</option>
{filters.find((filter) => {filters.find((filter) =>
filter.title === filterItem?.fields?.selectedField filter.title === filterItem?.fields?.selectedField
)?.options?.map((option) => ( )?.options?.map((option) => (
@ -326,18 +326,18 @@ const TableSamplePipeline_stages = ({ filterItems, setFilterItems, filters, show
)?.number ? ( )?.number ? (
<div className="flex flex-row w-full mr-3"> <div className="flex flex-row w-full mr-3">
<div className="flex flex-col w-full mr-3"> <div className="flex flex-col w-full mr-3">
<div className=" text-gray-500 font-bold">From</div> <div className=" text-gray-500 font-bold">Başlangıç</div>
<Field <Field
className={controlClasses} className={controlClasses}
name='filterValueFrom' name='filterValueFrom'
placeholder='From' placeholder='Başlangıç'
id='filterValueFrom' id='filterValueFrom'
value={filterItem?.fields?.filterValueFrom || ''} value={filterItem?.fields?.filterValueFrom || ''}
onChange={handleChange(filterItem.id)} onChange={handleChange(filterItem.id)}
/> />
</div> </div>
<div className="flex flex-col w-full"> <div className="flex flex-col w-full">
<div className=" text-gray-500 font-bold">To</div> <div className=" text-gray-500 font-bold">Bitiş</div>
<Field <Field
className={controlClasses} className={controlClasses}
name='filterValueTo' name='filterValueTo'
@ -356,12 +356,12 @@ const TableSamplePipeline_stages = ({ filterItems, setFilterItems, filters, show
<div className='flex flex-row w-full mr-3'> <div className='flex flex-row w-full mr-3'>
<div className='flex flex-col w-full mr-3'> <div className='flex flex-col w-full mr-3'>
<div className=' text-gray-500 font-bold'> <div className=' text-gray-500 font-bold'>
From Başlangıç
</div> </div>
<Field <Field
className={controlClasses} className={controlClasses}
name='filterValueFrom' name='filterValueFrom'
placeholder='From' placeholder='Başlangıç'
id='filterValueFrom' id='filterValueFrom'
type='datetime-local' type='datetime-local'
value={filterItem?.fields?.filterValueFrom || ''} value={filterItem?.fields?.filterValueFrom || ''}
@ -369,7 +369,7 @@ const TableSamplePipeline_stages = ({ filterItems, setFilterItems, filters, show
/> />
</div> </div>
<div className='flex flex-col w-full'> <div className='flex flex-col w-full'>
<div className=' text-gray-500 font-bold'>To</div> <div className=' text-gray-500 font-bold'>Bitiş</div>
<Field <Field
className={controlClasses} className={controlClasses}
name='filterValueTo' name='filterValueTo'
@ -383,11 +383,11 @@ const TableSamplePipeline_stages = ({ filterItems, setFilterItems, filters, show
</div> </div>
) : ( ) : (
<div className="flex flex-col w-full mr-3"> <div className="flex flex-col w-full mr-3">
<div className=" text-gray-500 font-bold">Contains</div> <div className=" text-gray-500 font-bold">İçerir</div>
<Field <Field
className={controlClasses} className={controlClasses}
name='filterValue' name='filterValue'
placeholder='Contained' placeholder='İçerik'
id='filterValue' id='filterValue'
value={filterItem?.fields?.filterValue || ''} value={filterItem?.fields?.filterValue || ''}
onChange={handleChange(filterItem.id)} onChange={handleChange(filterItem.id)}
@ -395,12 +395,12 @@ const TableSamplePipeline_stages = ({ filterItems, setFilterItems, filters, show
</div> </div>
)} )}
<div className="flex flex-col"> <div className="flex flex-col">
<div className=" text-gray-500 font-bold">Action</div> <div className=" text-gray-500 font-bold">İşlem</div>
<BaseButton <BaseButton
className="my-2" className="my-2"
type='reset' type='reset'
color='danger' color='danger'
label='Delete' label='Sil'
onClick={() => { onClick={() => {
deleteFilter(filterItem.id) deleteFilter(filterItem.id)
}} }}
@ -413,13 +413,13 @@ const TableSamplePipeline_stages = ({ filterItems, setFilterItems, filters, show
<BaseButton <BaseButton
className="my-2 mr-3" className="my-2 mr-3"
color="success" color="success"
label='Apply' label='Uygula'
onClick={handleSubmit} onClick={handleSubmit}
/> />
<BaseButton <BaseButton
className="my-2" className="my-2"
color='info' color='info'
label='Cancel' label='İptal'
onClick={handleReset} onClick={handleReset}
/> />
</div> </div>
@ -429,14 +429,14 @@ const TableSamplePipeline_stages = ({ filterItems, setFilterItems, filters, show
</CardBox> : null </CardBox> : null
} }
<CardBoxModal <CardBoxModal
title="Please confirm" title="Lütfen onaylayın"
buttonColor="info" buttonColor="info"
buttonLabel={loading ? 'Deleting...' : 'Confirm'} buttonLabel={loading ? 'Siliniyor...' : 'Onayla'}
isActive={isModalTrashActive} isActive={isModalTrashActive}
onConfirm={handleDeleteAction} onConfirm={handleDeleteAction}
onCancel={handleModalAction} onCancel={handleModalAction}
> >
<p>Are you sure you want to delete this item?</p> <p>Bu kaydı silmek istediğinize emin misiniz?</p>
</CardBoxModal> </CardBoxModal>
@ -450,7 +450,7 @@ const TableSamplePipeline_stages = ({ filterItems, setFilterItems, filters, show
<BaseButton <BaseButton
className='me-4' className='me-4'
color='danger' color='danger'
label={`Delete ${selectedRows.length === 1 ? 'Row' : 'Rows'}`} label={`Seçili ${selectedRows.length === 1 ? 'Satırı' : 'Satırları'} Sil`}
onClick={() => onDeleteRows(selectedRows)} onClick={() => onDeleteRows(selectedRows)}
/>, />,
document.getElementById('delete-rows-button'), document.getElementById('delete-rows-button'),

View File

@ -43,7 +43,7 @@ export const loadColumns = async (
{ {
field: 'name', field: 'name',
headerName: 'StageName', headerName: 'Aşama Adı',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,
@ -58,7 +58,7 @@ export const loadColumns = async (
{ {
field: 'sort_order', field: 'sort_order',
headerName: 'SortOrder', headerName: 'Sıralama No',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,
@ -74,7 +74,7 @@ export const loadColumns = async (
{ {
field: 'stage_type', field: 'stage_type',
headerName: 'StageType', headerName: 'Aşama Türü',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,
@ -111,7 +111,7 @@ export const loadColumns = async (
{ {
field: 'is_active', field: 'is_active',
headerName: 'IsActive', headerName: 'Aktif',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,

View File

@ -129,7 +129,7 @@ const CardPipelines = ({
))} ))}
{!loading && pipelines.length === 0 && ( {!loading && pipelines.length === 0 && (
<div className='col-span-full flex items-center justify-center h-40'> <div className='col-span-full flex items-center justify-center h-40'>
<p className=''>No data to display</p> <p className=''>Gösterilecek veri yok</p>
</div> </div>
)} )}
</ul> </ul>

View File

@ -94,7 +94,7 @@ const ListPipelines = ({ pipelines, loading, onDelete, currentPage, numPages, on
))} ))}
{!loading && pipelines.length === 0 && ( {!loading && pipelines.length === 0 && (
<div className='col-span-full flex items-center justify-center h-40'> <div className='col-span-full flex items-center justify-center h-40'>
<p className=''>No data to display</p> <p className=''>Gösterilecek veri yok</p>
</div> </div>
)} )}
</div> </div>

View File

@ -279,7 +279,7 @@ const TableSamplePipelines = ({ filterItems, setFilterItems, filters, showGrid }
return ( return (
<div key={filterItem.id} className="flex mb-4"> <div key={filterItem.id} className="flex mb-4">
<div className="flex flex-col w-full mr-3"> <div className="flex flex-col w-full mr-3">
<div className=" text-gray-500 font-bold">Filter</div> <div className=" text-gray-500 font-bold">Filtre</div>
<Field <Field
className={controlClasses} className={controlClasses}
name='selectedField' name='selectedField'
@ -303,7 +303,7 @@ const TableSamplePipelines = ({ filterItems, setFilterItems, filters, showGrid }
)?.type === 'enum' ? ( )?.type === 'enum' ? (
<div className="flex flex-col w-full mr-3"> <div className="flex flex-col w-full mr-3">
<div className="text-gray-500 font-bold"> <div className="text-gray-500 font-bold">
Value Değer
</div> </div>
<Field <Field
className={controlClasses} className={controlClasses}
@ -313,7 +313,7 @@ const TableSamplePipelines = ({ filterItems, setFilterItems, filters, showGrid }
value={filterItem?.fields?.filterValue || ''} value={filterItem?.fields?.filterValue || ''}
onChange={handleChange(filterItem.id)} onChange={handleChange(filterItem.id)}
> >
<option value="">Select Value</option> <option value="">Değer seçin</option>
{filters.find((filter) => {filters.find((filter) =>
filter.title === filterItem?.fields?.selectedField filter.title === filterItem?.fields?.selectedField
)?.options?.map((option) => ( )?.options?.map((option) => (
@ -328,18 +328,18 @@ const TableSamplePipelines = ({ filterItems, setFilterItems, filters, showGrid }
)?.number ? ( )?.number ? (
<div className="flex flex-row w-full mr-3"> <div className="flex flex-row w-full mr-3">
<div className="flex flex-col w-full mr-3"> <div className="flex flex-col w-full mr-3">
<div className=" text-gray-500 font-bold">From</div> <div className=" text-gray-500 font-bold">Başlangıç</div>
<Field <Field
className={controlClasses} className={controlClasses}
name='filterValueFrom' name='filterValueFrom'
placeholder='From' placeholder='Başlangıç'
id='filterValueFrom' id='filterValueFrom'
value={filterItem?.fields?.filterValueFrom || ''} value={filterItem?.fields?.filterValueFrom || ''}
onChange={handleChange(filterItem.id)} onChange={handleChange(filterItem.id)}
/> />
</div> </div>
<div className="flex flex-col w-full"> <div className="flex flex-col w-full">
<div className=" text-gray-500 font-bold">To</div> <div className=" text-gray-500 font-bold">Bitiş</div>
<Field <Field
className={controlClasses} className={controlClasses}
name='filterValueTo' name='filterValueTo'
@ -358,12 +358,12 @@ const TableSamplePipelines = ({ filterItems, setFilterItems, filters, showGrid }
<div className='flex flex-row w-full mr-3'> <div className='flex flex-row w-full mr-3'>
<div className='flex flex-col w-full mr-3'> <div className='flex flex-col w-full mr-3'>
<div className=' text-gray-500 font-bold'> <div className=' text-gray-500 font-bold'>
From Başlangıç
</div> </div>
<Field <Field
className={controlClasses} className={controlClasses}
name='filterValueFrom' name='filterValueFrom'
placeholder='From' placeholder='Başlangıç'
id='filterValueFrom' id='filterValueFrom'
type='datetime-local' type='datetime-local'
value={filterItem?.fields?.filterValueFrom || ''} value={filterItem?.fields?.filterValueFrom || ''}
@ -371,7 +371,7 @@ const TableSamplePipelines = ({ filterItems, setFilterItems, filters, showGrid }
/> />
</div> </div>
<div className='flex flex-col w-full'> <div className='flex flex-col w-full'>
<div className=' text-gray-500 font-bold'>To</div> <div className=' text-gray-500 font-bold'>Bitiş</div>
<Field <Field
className={controlClasses} className={controlClasses}
name='filterValueTo' name='filterValueTo'
@ -385,11 +385,11 @@ const TableSamplePipelines = ({ filterItems, setFilterItems, filters, showGrid }
</div> </div>
) : ( ) : (
<div className="flex flex-col w-full mr-3"> <div className="flex flex-col w-full mr-3">
<div className=" text-gray-500 font-bold">Contains</div> <div className=" text-gray-500 font-bold">İçerir</div>
<Field <Field
className={controlClasses} className={controlClasses}
name='filterValue' name='filterValue'
placeholder='Contained' placeholder='İçerik'
id='filterValue' id='filterValue'
value={filterItem?.fields?.filterValue || ''} value={filterItem?.fields?.filterValue || ''}
onChange={handleChange(filterItem.id)} onChange={handleChange(filterItem.id)}
@ -397,12 +397,12 @@ const TableSamplePipelines = ({ filterItems, setFilterItems, filters, showGrid }
</div> </div>
)} )}
<div className="flex flex-col"> <div className="flex flex-col">
<div className=" text-gray-500 font-bold">Action</div> <div className=" text-gray-500 font-bold">İşlem</div>
<BaseButton <BaseButton
className="my-2" className="my-2"
type='reset' type='reset'
color='danger' color='danger'
label='Delete' label='Sil'
onClick={() => { onClick={() => {
deleteFilter(filterItem.id) deleteFilter(filterItem.id)
}} }}
@ -415,13 +415,13 @@ const TableSamplePipelines = ({ filterItems, setFilterItems, filters, showGrid }
<BaseButton <BaseButton
className="my-2 mr-3" className="my-2 mr-3"
color="success" color="success"
label='Apply' label='Uygula'
onClick={handleSubmit} onClick={handleSubmit}
/> />
<BaseButton <BaseButton
className="my-2" className="my-2"
color='info' color='info'
label='Cancel' label='İptal'
onClick={handleReset} onClick={handleReset}
/> />
</div> </div>
@ -431,14 +431,14 @@ const TableSamplePipelines = ({ filterItems, setFilterItems, filters, showGrid }
</CardBox> : null </CardBox> : null
} }
<CardBoxModal <CardBoxModal
title="Please confirm" title="Lütfen onaylayın"
buttonColor="info" buttonColor="info"
buttonLabel={loading ? 'Deleting...' : 'Confirm'} buttonLabel={loading ? 'Siliniyor...' : 'Onayla'}
isActive={isModalTrashActive} isActive={isModalTrashActive}
onConfirm={handleDeleteAction} onConfirm={handleDeleteAction}
onCancel={handleModalAction} onCancel={handleModalAction}
> >
<p>Are you sure you want to delete this item?</p> <p>Bu kaydı silmek istediğinize emin misiniz?</p>
</CardBoxModal> </CardBoxModal>
@ -463,7 +463,7 @@ const TableSamplePipelines = ({ filterItems, setFilterItems, filters, showGrid }
<BaseButton <BaseButton
className='me-4' className='me-4'
color='danger' color='danger'
label={`Delete ${selectedRows.length === 1 ? 'Row' : 'Rows'}`} label={`Seçili ${selectedRows.length === 1 ? 'Satırı' : 'Satırları'} Sil`}
onClick={() => onDeleteRows(selectedRows)} onClick={() => onDeleteRows(selectedRows)}
/>, />,
document.getElementById('delete-rows-button'), document.getElementById('delete-rows-button'),

View File

@ -43,7 +43,7 @@ export const loadColumns = async (
{ {
field: 'name', field: 'name',
headerName: 'PipelineName', headerName: 'Pipeline Adı',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,
@ -58,7 +58,7 @@ export const loadColumns = async (
{ {
field: 'module', field: 'module',
headerName: 'Module', headerName: 'Modül',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,
@ -73,7 +73,7 @@ export const loadColumns = async (
{ {
field: 'owner', field: 'owner',
headerName: 'Owner', headerName: 'Sorumlu Kişi',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,
@ -95,7 +95,7 @@ export const loadColumns = async (
{ {
field: 'is_default', field: 'is_default',
headerName: 'IsDefault', headerName: 'Varsayılan',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,

View File

@ -78,7 +78,7 @@ const CardProduction_operations = ({
<div className='flex justify-between gap-x-4 py-3'> <div className='flex justify-between gap-x-4 py-3'>
<dt className=' text-gray-500 dark:text-dark-600'>OperationName</dt> <dt className=' text-gray-500 dark:text-dark-600'>Operasyon Adı</dt>
<dd className='flex items-start gap-x-2'> <dd className='flex items-start gap-x-2'>
<div className='font-medium line-clamp-4'> <div className='font-medium line-clamp-4'>
{ item.name } { item.name }
@ -90,7 +90,7 @@ const CardProduction_operations = ({
<div className='flex justify-between gap-x-4 py-3'> <div className='flex justify-between gap-x-4 py-3'>
<dt className=' text-gray-500 dark:text-dark-600'>Sequence</dt> <dt className=' text-gray-500 dark:text-dark-600'>Sıra</dt>
<dd className='flex items-start gap-x-2'> <dd className='flex items-start gap-x-2'>
<div className='font-medium line-clamp-4'> <div className='font-medium line-clamp-4'>
{ item.sequence } { item.sequence }
@ -102,7 +102,7 @@ const CardProduction_operations = ({
<div className='flex justify-between gap-x-4 py-3'> <div className='flex justify-between gap-x-4 py-3'>
<dt className=' text-gray-500 dark:text-dark-600'>Status</dt> <dt className=' text-gray-500 dark:text-dark-600'>Durum</dt>
<dd className='flex items-start gap-x-2'> <dd className='flex items-start gap-x-2'>
<div className='font-medium line-clamp-4'> <div className='font-medium line-clamp-4'>
{ item.status } { item.status }
@ -114,7 +114,7 @@ const CardProduction_operations = ({
<div className='flex justify-between gap-x-4 py-3'> <div className='flex justify-between gap-x-4 py-3'>
<dt className=' text-gray-500 dark:text-dark-600'>ScheduledStartAt</dt> <dt className=' text-gray-500 dark:text-dark-600'>Planlanan Başlangıç Tarihi</dt>
<dd className='flex items-start gap-x-2'> <dd className='flex items-start gap-x-2'>
<div className='font-medium line-clamp-4'> <div className='font-medium line-clamp-4'>
{ dataFormatter.dateTimeFormatter(item.scheduled_start_at) } { dataFormatter.dateTimeFormatter(item.scheduled_start_at) }
@ -126,7 +126,7 @@ const CardProduction_operations = ({
<div className='flex justify-between gap-x-4 py-3'> <div className='flex justify-between gap-x-4 py-3'>
<dt className=' text-gray-500 dark:text-dark-600'>ScheduledEndAt</dt> <dt className=' text-gray-500 dark:text-dark-600'>Planlanan Bitiş Tarihi</dt>
<dd className='flex items-start gap-x-2'> <dd className='flex items-start gap-x-2'>
<div className='font-medium line-clamp-4'> <div className='font-medium line-clamp-4'>
{ dataFormatter.dateTimeFormatter(item.scheduled_end_at) } { dataFormatter.dateTimeFormatter(item.scheduled_end_at) }
@ -138,7 +138,7 @@ const CardProduction_operations = ({
<div className='flex justify-between gap-x-4 py-3'> <div className='flex justify-between gap-x-4 py-3'>
<dt className=' text-gray-500 dark:text-dark-600'>StartedAt</dt> <dt className=' text-gray-500 dark:text-dark-600'>Başlangıç Tarihi</dt>
<dd className='flex items-start gap-x-2'> <dd className='flex items-start gap-x-2'>
<div className='font-medium line-clamp-4'> <div className='font-medium line-clamp-4'>
{ dataFormatter.dateTimeFormatter(item.started_at) } { dataFormatter.dateTimeFormatter(item.started_at) }
@ -150,7 +150,7 @@ const CardProduction_operations = ({
<div className='flex justify-between gap-x-4 py-3'> <div className='flex justify-between gap-x-4 py-3'>
<dt className=' text-gray-500 dark:text-dark-600'>EndedAt</dt> <dt className=' text-gray-500 dark:text-dark-600'>Bitiş Tarihi</dt>
<dd className='flex items-start gap-x-2'> <dd className='flex items-start gap-x-2'>
<div className='font-medium line-clamp-4'> <div className='font-medium line-clamp-4'>
{ dataFormatter.dateTimeFormatter(item.ended_at) } { dataFormatter.dateTimeFormatter(item.ended_at) }
@ -162,7 +162,7 @@ const CardProduction_operations = ({
<div className='flex justify-between gap-x-4 py-3'> <div className='flex justify-between gap-x-4 py-3'>
<dt className=' text-gray-500 dark:text-dark-600'>ProductionOrder</dt> <dt className=' text-gray-500 dark:text-dark-600'>Üretim Emri</dt>
<dd className='flex items-start gap-x-2'> <dd className='flex items-start gap-x-2'>
<div className='font-medium line-clamp-4'> <div className='font-medium line-clamp-4'>
{ dataFormatter.production_ordersOneListFormatter(item.production_order) } { dataFormatter.production_ordersOneListFormatter(item.production_order) }
@ -174,7 +174,7 @@ const CardProduction_operations = ({
<div className='flex justify-between gap-x-4 py-3'> <div className='flex justify-between gap-x-4 py-3'>
<dt className=' text-gray-500 dark:text-dark-600'>Machine</dt> <dt className=' text-gray-500 dark:text-dark-600'>Makine</dt>
<dd className='flex items-start gap-x-2'> <dd className='flex items-start gap-x-2'>
<div className='font-medium line-clamp-4'> <div className='font-medium line-clamp-4'>
{ dataFormatter.machinesOneListFormatter(item.machine) } { dataFormatter.machinesOneListFormatter(item.machine) }
@ -186,7 +186,7 @@ const CardProduction_operations = ({
<div className='flex justify-between gap-x-4 py-3'> <div className='flex justify-between gap-x-4 py-3'>
<dt className=' text-gray-500 dark:text-dark-600'>AssignedTo</dt> <dt className=' text-gray-500 dark:text-dark-600'>Atanan Kişi</dt>
<dd className='flex items-start gap-x-2'> <dd className='flex items-start gap-x-2'>
<div className='font-medium line-clamp-4'> <div className='font-medium line-clamp-4'>
{ dataFormatter.usersOneListFormatter(item.assigned_to) } { dataFormatter.usersOneListFormatter(item.assigned_to) }
@ -198,7 +198,7 @@ const CardProduction_operations = ({
<div className='flex justify-between gap-x-4 py-3'> <div className='flex justify-between gap-x-4 py-3'>
<dt className=' text-gray-500 dark:text-dark-600'>PlannedQuantity</dt> <dt className=' text-gray-500 dark:text-dark-600'>Planlanan Miktar</dt>
<dd className='flex items-start gap-x-2'> <dd className='flex items-start gap-x-2'>
<div className='font-medium line-clamp-4'> <div className='font-medium line-clamp-4'>
{ item.planned_quantity } { item.planned_quantity }
@ -210,7 +210,7 @@ const CardProduction_operations = ({
<div className='flex justify-between gap-x-4 py-3'> <div className='flex justify-between gap-x-4 py-3'>
<dt className=' text-gray-500 dark:text-dark-600'>GoodQuantity</dt> <dt className=' text-gray-500 dark:text-dark-600'>Uygun Miktar</dt>
<dd className='flex items-start gap-x-2'> <dd className='flex items-start gap-x-2'>
<div className='font-medium line-clamp-4'> <div className='font-medium line-clamp-4'>
{ item.good_quantity } { item.good_quantity }
@ -222,7 +222,7 @@ const CardProduction_operations = ({
<div className='flex justify-between gap-x-4 py-3'> <div className='flex justify-between gap-x-4 py-3'>
<dt className=' text-gray-500 dark:text-dark-600'>ScrapQuantity</dt> <dt className=' text-gray-500 dark:text-dark-600'>Hurda Miktarı</dt>
<dd className='flex items-start gap-x-2'> <dd className='flex items-start gap-x-2'>
<div className='font-medium line-clamp-4'> <div className='font-medium line-clamp-4'>
{ item.scrap_quantity } { item.scrap_quantity }
@ -234,7 +234,7 @@ const CardProduction_operations = ({
<div className='flex justify-between gap-x-4 py-3'> <div className='flex justify-between gap-x-4 py-3'>
<dt className=' text-gray-500 dark:text-dark-600'>WorkInstructions</dt> <dt className=' text-gray-500 dark:text-dark-600'>İş Talimatları</dt>
<dd className='flex items-start gap-x-2'> <dd className='flex items-start gap-x-2'>
<div className='font-medium line-clamp-4'> <div className='font-medium line-clamp-4'>
{ item.work_instructions } { item.work_instructions }
@ -246,7 +246,7 @@ const CardProduction_operations = ({
<div className='flex justify-between gap-x-4 py-3'> <div className='flex justify-between gap-x-4 py-3'>
<dt className=' text-gray-500 dark:text-dark-600'>Attachments</dt> <dt className=' text-gray-500 dark:text-dark-600'>Ekler</dt>
<dd className='flex items-start gap-x-2'> <dd className='flex items-start gap-x-2'>
<div className='font-medium'> <div className='font-medium'>
{dataFormatter.filesFormatter(item.attachments).map(link => ( {dataFormatter.filesFormatter(item.attachments).map(link => (
@ -268,7 +268,7 @@ const CardProduction_operations = ({
))} ))}
{!loading && production_operations.length === 0 && ( {!loading && production_operations.length === 0 && (
<div className='col-span-full flex items-center justify-center h-40'> <div className='col-span-full flex items-center justify-center h-40'>
<p className=''>No data to display</p> <p className=''>Gösterilecek veri yok</p>
</div> </div>
)} )}
</ul> </ul>

View File

@ -48,7 +48,7 @@ const ListProduction_operations = ({ production_operations, loading, onDelete, c
<div className={'flex-1 px-3'}> <div className={'flex-1 px-3'}>
<p className={'text-xs text-gray-500 '}>OperationName</p> <p className={'text-xs text-gray-500 '}>Operasyon Adı</p>
<p className={'line-clamp-2'}>{ item.name }</p> <p className={'line-clamp-2'}>{ item.name }</p>
</div> </div>
@ -56,7 +56,7 @@ const ListProduction_operations = ({ production_operations, loading, onDelete, c
<div className={'flex-1 px-3'}> <div className={'flex-1 px-3'}>
<p className={'text-xs text-gray-500 '}>Sequence</p> <p className={'text-xs text-gray-500 '}>Sıra</p>
<p className={'line-clamp-2'}>{ item.sequence }</p> <p className={'line-clamp-2'}>{ item.sequence }</p>
</div> </div>
@ -64,7 +64,7 @@ const ListProduction_operations = ({ production_operations, loading, onDelete, c
<div className={'flex-1 px-3'}> <div className={'flex-1 px-3'}>
<p className={'text-xs text-gray-500 '}>Status</p> <p className={'text-xs text-gray-500 '}>Durum</p>
<p className={'line-clamp-2'}>{ item.status }</p> <p className={'line-clamp-2'}>{ item.status }</p>
</div> </div>
@ -72,7 +72,7 @@ const ListProduction_operations = ({ production_operations, loading, onDelete, c
<div className={'flex-1 px-3'}> <div className={'flex-1 px-3'}>
<p className={'text-xs text-gray-500 '}>ScheduledStartAt</p> <p className={'text-xs text-gray-500 '}>Planlanan Başlangıç Tarihi</p>
<p className={'line-clamp-2'}>{ dataFormatter.dateTimeFormatter(item.scheduled_start_at) }</p> <p className={'line-clamp-2'}>{ dataFormatter.dateTimeFormatter(item.scheduled_start_at) }</p>
</div> </div>
@ -80,7 +80,7 @@ const ListProduction_operations = ({ production_operations, loading, onDelete, c
<div className={'flex-1 px-3'}> <div className={'flex-1 px-3'}>
<p className={'text-xs text-gray-500 '}>ScheduledEndAt</p> <p className={'text-xs text-gray-500 '}>Planlanan Bitiş Tarihi</p>
<p className={'line-clamp-2'}>{ dataFormatter.dateTimeFormatter(item.scheduled_end_at) }</p> <p className={'line-clamp-2'}>{ dataFormatter.dateTimeFormatter(item.scheduled_end_at) }</p>
</div> </div>
@ -88,7 +88,7 @@ const ListProduction_operations = ({ production_operations, loading, onDelete, c
<div className={'flex-1 px-3'}> <div className={'flex-1 px-3'}>
<p className={'text-xs text-gray-500 '}>StartedAt</p> <p className={'text-xs text-gray-500 '}>Başlangıç Tarihi</p>
<p className={'line-clamp-2'}>{ dataFormatter.dateTimeFormatter(item.started_at) }</p> <p className={'line-clamp-2'}>{ dataFormatter.dateTimeFormatter(item.started_at) }</p>
</div> </div>
@ -96,7 +96,7 @@ const ListProduction_operations = ({ production_operations, loading, onDelete, c
<div className={'flex-1 px-3'}> <div className={'flex-1 px-3'}>
<p className={'text-xs text-gray-500 '}>EndedAt</p> <p className={'text-xs text-gray-500 '}>Bitiş Tarihi</p>
<p className={'line-clamp-2'}>{ dataFormatter.dateTimeFormatter(item.ended_at) }</p> <p className={'line-clamp-2'}>{ dataFormatter.dateTimeFormatter(item.ended_at) }</p>
</div> </div>
@ -104,7 +104,7 @@ const ListProduction_operations = ({ production_operations, loading, onDelete, c
<div className={'flex-1 px-3'}> <div className={'flex-1 px-3'}>
<p className={'text-xs text-gray-500 '}>ProductionOrder</p> <p className={'text-xs text-gray-500 '}>Üretim Emri</p>
<p className={'line-clamp-2'}>{ dataFormatter.production_ordersOneListFormatter(item.production_order) }</p> <p className={'line-clamp-2'}>{ dataFormatter.production_ordersOneListFormatter(item.production_order) }</p>
</div> </div>
@ -112,7 +112,7 @@ const ListProduction_operations = ({ production_operations, loading, onDelete, c
<div className={'flex-1 px-3'}> <div className={'flex-1 px-3'}>
<p className={'text-xs text-gray-500 '}>Machine</p> <p className={'text-xs text-gray-500 '}>Makine</p>
<p className={'line-clamp-2'}>{ dataFormatter.machinesOneListFormatter(item.machine) }</p> <p className={'line-clamp-2'}>{ dataFormatter.machinesOneListFormatter(item.machine) }</p>
</div> </div>
@ -120,7 +120,7 @@ const ListProduction_operations = ({ production_operations, loading, onDelete, c
<div className={'flex-1 px-3'}> <div className={'flex-1 px-3'}>
<p className={'text-xs text-gray-500 '}>AssignedTo</p> <p className={'text-xs text-gray-500 '}>Atanan Kişi</p>
<p className={'line-clamp-2'}>{ dataFormatter.usersOneListFormatter(item.assigned_to) }</p> <p className={'line-clamp-2'}>{ dataFormatter.usersOneListFormatter(item.assigned_to) }</p>
</div> </div>
@ -128,7 +128,7 @@ const ListProduction_operations = ({ production_operations, loading, onDelete, c
<div className={'flex-1 px-3'}> <div className={'flex-1 px-3'}>
<p className={'text-xs text-gray-500 '}>PlannedQuantity</p> <p className={'text-xs text-gray-500 '}>Planlanan Miktar</p>
<p className={'line-clamp-2'}>{ item.planned_quantity }</p> <p className={'line-clamp-2'}>{ item.planned_quantity }</p>
</div> </div>
@ -136,7 +136,7 @@ const ListProduction_operations = ({ production_operations, loading, onDelete, c
<div className={'flex-1 px-3'}> <div className={'flex-1 px-3'}>
<p className={'text-xs text-gray-500 '}>GoodQuantity</p> <p className={'text-xs text-gray-500 '}>Uygun Miktar</p>
<p className={'line-clamp-2'}>{ item.good_quantity }</p> <p className={'line-clamp-2'}>{ item.good_quantity }</p>
</div> </div>
@ -144,7 +144,7 @@ const ListProduction_operations = ({ production_operations, loading, onDelete, c
<div className={'flex-1 px-3'}> <div className={'flex-1 px-3'}>
<p className={'text-xs text-gray-500 '}>ScrapQuantity</p> <p className={'text-xs text-gray-500 '}>Hurda Miktarı</p>
<p className={'line-clamp-2'}>{ item.scrap_quantity }</p> <p className={'line-clamp-2'}>{ item.scrap_quantity }</p>
</div> </div>
@ -152,7 +152,7 @@ const ListProduction_operations = ({ production_operations, loading, onDelete, c
<div className={'flex-1 px-3'}> <div className={'flex-1 px-3'}>
<p className={'text-xs text-gray-500 '}>WorkInstructions</p> <p className={'text-xs text-gray-500 '}>İş Talimatları</p>
<p className={'line-clamp-2'}>{ item.work_instructions }</p> <p className={'line-clamp-2'}>{ item.work_instructions }</p>
</div> </div>
@ -160,7 +160,7 @@ const ListProduction_operations = ({ production_operations, loading, onDelete, c
<div className={'flex-1 px-3'}> <div className={'flex-1 px-3'}>
<p className={'text-xs text-gray-500 '}>Attachments</p> <p className={'text-xs text-gray-500 '}>Ekler</p>
{dataFormatter.filesFormatter(item.attachments).map(link => ( {dataFormatter.filesFormatter(item.attachments).map(link => (
<button <button
key={link.publicUrl} key={link.publicUrl}
@ -189,7 +189,7 @@ const ListProduction_operations = ({ production_operations, loading, onDelete, c
))} ))}
{!loading && production_operations.length === 0 && ( {!loading && production_operations.length === 0 && (
<div className='col-span-full flex items-center justify-center h-40'> <div className='col-span-full flex items-center justify-center h-40'>
<p className=''>No data to display</p> <p className=''>Gösterilecek veri yok</p>
</div> </div>
)} )}
</div> </div>

View File

@ -310,7 +310,7 @@ const TableSampleProduction_operations = ({ filterItems, setFilterItems, filters
return ( return (
<div key={filterItem.id} className="flex mb-4"> <div key={filterItem.id} className="flex mb-4">
<div className="flex flex-col w-full mr-3"> <div className="flex flex-col w-full mr-3">
<div className=" text-gray-500 font-bold">Filter</div> <div className=" text-gray-500 font-bold">Filtre</div>
<Field <Field
className={controlClasses} className={controlClasses}
name='selectedField' name='selectedField'
@ -334,7 +334,7 @@ const TableSampleProduction_operations = ({ filterItems, setFilterItems, filters
)?.type === 'enum' ? ( )?.type === 'enum' ? (
<div className="flex flex-col w-full mr-3"> <div className="flex flex-col w-full mr-3">
<div className="text-gray-500 font-bold"> <div className="text-gray-500 font-bold">
Value Değer
</div> </div>
<Field <Field
className={controlClasses} className={controlClasses}
@ -344,7 +344,7 @@ const TableSampleProduction_operations = ({ filterItems, setFilterItems, filters
value={filterItem?.fields?.filterValue || ''} value={filterItem?.fields?.filterValue || ''}
onChange={handleChange(filterItem.id)} onChange={handleChange(filterItem.id)}
> >
<option value="">Select Value</option> <option value="">Değer Seçin</option>
{filters.find((filter) => {filters.find((filter) =>
filter.title === filterItem?.fields?.selectedField filter.title === filterItem?.fields?.selectedField
)?.options?.map((option) => ( )?.options?.map((option) => (
@ -359,22 +359,22 @@ const TableSampleProduction_operations = ({ filterItems, setFilterItems, filters
)?.number ? ( )?.number ? (
<div className="flex flex-row w-full mr-3"> <div className="flex flex-row w-full mr-3">
<div className="flex flex-col w-full mr-3"> <div className="flex flex-col w-full mr-3">
<div className=" text-gray-500 font-bold">From</div> <div className=" text-gray-500 font-bold">Başlangıç</div>
<Field <Field
className={controlClasses} className={controlClasses}
name='filterValueFrom' name='filterValueFrom'
placeholder='From' placeholder='Başlangıç'
id='filterValueFrom' id='filterValueFrom'
value={filterItem?.fields?.filterValueFrom || ''} value={filterItem?.fields?.filterValueFrom || ''}
onChange={handleChange(filterItem.id)} onChange={handleChange(filterItem.id)}
/> />
</div> </div>
<div className="flex flex-col w-full"> <div className="flex flex-col w-full">
<div className=" text-gray-500 font-bold">To</div> <div className=" text-gray-500 font-bold">Bitiş</div>
<Field <Field
className={controlClasses} className={controlClasses}
name='filterValueTo' name='filterValueTo'
placeholder='to' placeholder='bitiş'
id='filterValueTo' id='filterValueTo'
value={filterItem?.fields?.filterValueTo || ''} value={filterItem?.fields?.filterValueTo || ''}
onChange={handleChange(filterItem.id)} onChange={handleChange(filterItem.id)}
@ -389,12 +389,12 @@ const TableSampleProduction_operations = ({ filterItems, setFilterItems, filters
<div className='flex flex-row w-full mr-3'> <div className='flex flex-row w-full mr-3'>
<div className='flex flex-col w-full mr-3'> <div className='flex flex-col w-full mr-3'>
<div className=' text-gray-500 font-bold'> <div className=' text-gray-500 font-bold'>
From Başlangıç
</div> </div>
<Field <Field
className={controlClasses} className={controlClasses}
name='filterValueFrom' name='filterValueFrom'
placeholder='From' placeholder='Başlangıç'
id='filterValueFrom' id='filterValueFrom'
type='datetime-local' type='datetime-local'
value={filterItem?.fields?.filterValueFrom || ''} value={filterItem?.fields?.filterValueFrom || ''}
@ -402,11 +402,11 @@ const TableSampleProduction_operations = ({ filterItems, setFilterItems, filters
/> />
</div> </div>
<div className='flex flex-col w-full'> <div className='flex flex-col w-full'>
<div className=' text-gray-500 font-bold'>To</div> <div className=' text-gray-500 font-bold'>Bitiş</div>
<Field <Field
className={controlClasses} className={controlClasses}
name='filterValueTo' name='filterValueTo'
placeholder='to' placeholder='bitiş'
id='filterValueTo' id='filterValueTo'
type='datetime-local' type='datetime-local'
value={filterItem?.fields?.filterValueTo || ''} value={filterItem?.fields?.filterValueTo || ''}
@ -416,11 +416,11 @@ const TableSampleProduction_operations = ({ filterItems, setFilterItems, filters
</div> </div>
) : ( ) : (
<div className="flex flex-col w-full mr-3"> <div className="flex flex-col w-full mr-3">
<div className=" text-gray-500 font-bold">Contains</div> <div className=" text-gray-500 font-bold">İçerir</div>
<Field <Field
className={controlClasses} className={controlClasses}
name='filterValue' name='filterValue'
placeholder='Contained' placeholder='İçeren'
id='filterValue' id='filterValue'
value={filterItem?.fields?.filterValue || ''} value={filterItem?.fields?.filterValue || ''}
onChange={handleChange(filterItem.id)} onChange={handleChange(filterItem.id)}
@ -428,12 +428,12 @@ const TableSampleProduction_operations = ({ filterItems, setFilterItems, filters
</div> </div>
)} )}
<div className="flex flex-col"> <div className="flex flex-col">
<div className=" text-gray-500 font-bold">Action</div> <div className=" text-gray-500 font-bold">İşlem</div>
<BaseButton <BaseButton
className="my-2" className="my-2"
type='reset' type='reset'
color='danger' color='danger'
label='Delete' label='Sil'
onClick={() => { onClick={() => {
deleteFilter(filterItem.id) deleteFilter(filterItem.id)
}} }}
@ -446,13 +446,13 @@ const TableSampleProduction_operations = ({ filterItems, setFilterItems, filters
<BaseButton <BaseButton
className="my-2 mr-3" className="my-2 mr-3"
color="success" color="success"
label='Apply' label='Uygula'
onClick={handleSubmit} onClick={handleSubmit}
/> />
<BaseButton <BaseButton
className="my-2" className="my-2"
color='info' color='info'
label='Cancel' label='İptal'
onClick={handleReset} onClick={handleReset}
/> />
</div> </div>
@ -462,14 +462,14 @@ const TableSampleProduction_operations = ({ filterItems, setFilterItems, filters
</CardBox> : null </CardBox> : null
} }
<CardBoxModal <CardBoxModal
title="Please confirm" title="Lütfen onaylayın"
buttonColor="info" buttonColor="info"
buttonLabel={loading ? 'Deleting...' : 'Confirm'} buttonLabel={loading ? 'Siliniyor...' : 'Onayla'}
isActive={isModalTrashActive} isActive={isModalTrashActive}
onConfirm={handleDeleteAction} onConfirm={handleDeleteAction}
onCancel={handleModalAction} onCancel={handleModalAction}
> >
<p>Are you sure you want to delete this item?</p> <p>Bu kaydı silmek istediğinize emin misiniz?</p>
</CardBoxModal> </CardBoxModal>
@ -496,7 +496,7 @@ const TableSampleProduction_operations = ({ filterItems, setFilterItems, filters
<BaseButton <BaseButton
className='me-4' className='me-4'
color='danger' color='danger'
label={`Delete ${selectedRows.length === 1 ? 'Row' : 'Rows'}`} label={`Seçili ${selectedRows.length === 1 ? 'Satırı' : 'Satırları'} Sil`}
onClick={() => onDeleteRows(selectedRows)} onClick={() => onDeleteRows(selectedRows)}
/>, />,
document.getElementById('delete-rows-button'), document.getElementById('delete-rows-button'),

View File

@ -43,7 +43,7 @@ export const loadColumns = async (
{ {
field: 'name', field: 'name',
headerName: 'OperationName', headerName: 'Operasyon Adı',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,
@ -58,7 +58,7 @@ export const loadColumns = async (
{ {
field: 'sequence', field: 'sequence',
headerName: 'Sequence', headerName: 'Sıra',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,
@ -74,7 +74,7 @@ export const loadColumns = async (
{ {
field: 'status', field: 'status',
headerName: 'Status', headerName: 'Durum',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,
@ -89,7 +89,7 @@ export const loadColumns = async (
{ {
field: 'scheduled_start_at', field: 'scheduled_start_at',
headerName: 'ScheduledStartAt', headerName: 'Planlanan Başlangıç Tarihi',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,
@ -107,7 +107,7 @@ export const loadColumns = async (
{ {
field: 'scheduled_end_at', field: 'scheduled_end_at',
headerName: 'ScheduledEndAt', headerName: 'Planlanan Bitiş Tarihi',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,
@ -125,7 +125,7 @@ export const loadColumns = async (
{ {
field: 'started_at', field: 'started_at',
headerName: 'StartedAt', headerName: 'Başlangıç Tarihi',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,
@ -143,7 +143,7 @@ export const loadColumns = async (
{ {
field: 'ended_at', field: 'ended_at',
headerName: 'EndedAt', headerName: 'Bitiş Tarihi',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,
@ -161,7 +161,7 @@ export const loadColumns = async (
{ {
field: 'production_order', field: 'production_order',
headerName: 'ProductionOrder', headerName: 'Üretim Emri',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,
@ -183,7 +183,7 @@ export const loadColumns = async (
{ {
field: 'machine', field: 'machine',
headerName: 'Machine', headerName: 'Makine',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,
@ -205,7 +205,7 @@ export const loadColumns = async (
{ {
field: 'assigned_to', field: 'assigned_to',
headerName: 'AssignedTo', headerName: 'Atanan Kişi',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,
@ -227,7 +227,7 @@ export const loadColumns = async (
{ {
field: 'planned_quantity', field: 'planned_quantity',
headerName: 'PlannedQuantity', headerName: 'Planlanan Miktar',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,
@ -243,7 +243,7 @@ export const loadColumns = async (
{ {
field: 'good_quantity', field: 'good_quantity',
headerName: 'GoodQuantity', headerName: 'Uygun Miktar',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,
@ -259,7 +259,7 @@ export const loadColumns = async (
{ {
field: 'scrap_quantity', field: 'scrap_quantity',
headerName: 'ScrapQuantity', headerName: 'Hurda Miktarı',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,
@ -275,7 +275,7 @@ export const loadColumns = async (
{ {
field: 'work_instructions', field: 'work_instructions',
headerName: 'WorkInstructions', headerName: 'İş Talimatları',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,
@ -290,7 +290,7 @@ export const loadColumns = async (
{ {
field: 'attachments', field: 'attachments',
headerName: 'Attachments', headerName: 'Ekler',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,

View File

@ -78,7 +78,7 @@ const CardProduction_orders = ({
<div className='flex justify-between gap-x-4 py-3'> <div className='flex justify-between gap-x-4 py-3'>
<dt className=' text-gray-500 dark:text-dark-600'>OrderNumber</dt> <dt className=' text-gray-500 dark:text-dark-600'>Emir Numarası</dt>
<dd className='flex items-start gap-x-2'> <dd className='flex items-start gap-x-2'>
<div className='font-medium line-clamp-4'> <div className='font-medium line-clamp-4'>
{ item.order_number } { item.order_number }
@ -90,7 +90,7 @@ const CardProduction_orders = ({
<div className='flex justify-between gap-x-4 py-3'> <div className='flex justify-between gap-x-4 py-3'>
<dt className=' text-gray-500 dark:text-dark-600'>Status</dt> <dt className=' text-gray-500 dark:text-dark-600'>Durum</dt>
<dd className='flex items-start gap-x-2'> <dd className='flex items-start gap-x-2'>
<div className='font-medium line-clamp-4'> <div className='font-medium line-clamp-4'>
{ item.status } { item.status }
@ -102,7 +102,7 @@ const CardProduction_orders = ({
<div className='flex justify-between gap-x-4 py-3'> <div className='flex justify-between gap-x-4 py-3'>
<dt className=' text-gray-500 dark:text-dark-600'>PlannedStartAt</dt> <dt className=' text-gray-500 dark:text-dark-600'>Planlanan Başlangıç Tarihi</dt>
<dd className='flex items-start gap-x-2'> <dd className='flex items-start gap-x-2'>
<div className='font-medium line-clamp-4'> <div className='font-medium line-clamp-4'>
{ dataFormatter.dateTimeFormatter(item.planned_start_at) } { dataFormatter.dateTimeFormatter(item.planned_start_at) }
@ -114,7 +114,7 @@ const CardProduction_orders = ({
<div className='flex justify-between gap-x-4 py-3'> <div className='flex justify-between gap-x-4 py-3'>
<dt className=' text-gray-500 dark:text-dark-600'>PlannedEndAt</dt> <dt className=' text-gray-500 dark:text-dark-600'>Planlanan Bitiş Tarihi</dt>
<dd className='flex items-start gap-x-2'> <dd className='flex items-start gap-x-2'>
<div className='font-medium line-clamp-4'> <div className='font-medium line-clamp-4'>
{ dataFormatter.dateTimeFormatter(item.planned_end_at) } { dataFormatter.dateTimeFormatter(item.planned_end_at) }
@ -126,7 +126,7 @@ const CardProduction_orders = ({
<div className='flex justify-between gap-x-4 py-3'> <div className='flex justify-between gap-x-4 py-3'>
<dt className=' text-gray-500 dark:text-dark-600'>ActualStartAt</dt> <dt className=' text-gray-500 dark:text-dark-600'>Gerçek Başlangıç Tarihi</dt>
<dd className='flex items-start gap-x-2'> <dd className='flex items-start gap-x-2'>
<div className='font-medium line-clamp-4'> <div className='font-medium line-clamp-4'>
{ dataFormatter.dateTimeFormatter(item.actual_start_at) } { dataFormatter.dateTimeFormatter(item.actual_start_at) }
@ -138,7 +138,7 @@ const CardProduction_orders = ({
<div className='flex justify-between gap-x-4 py-3'> <div className='flex justify-between gap-x-4 py-3'>
<dt className=' text-gray-500 dark:text-dark-600'>ActualEndAt</dt> <dt className=' text-gray-500 dark:text-dark-600'>Gerçek Bitiş Tarihi</dt>
<dd className='flex items-start gap-x-2'> <dd className='flex items-start gap-x-2'>
<div className='font-medium line-clamp-4'> <div className='font-medium line-clamp-4'>
{ dataFormatter.dateTimeFormatter(item.actual_end_at) } { dataFormatter.dateTimeFormatter(item.actual_end_at) }
@ -150,7 +150,7 @@ const CardProduction_orders = ({
<div className='flex justify-between gap-x-4 py-3'> <div className='flex justify-between gap-x-4 py-3'>
<dt className=' text-gray-500 dark:text-dark-600'>Owner</dt> <dt className=' text-gray-500 dark:text-dark-600'>Sorumlu Kişi</dt>
<dd className='flex items-start gap-x-2'> <dd className='flex items-start gap-x-2'>
<div className='font-medium line-clamp-4'> <div className='font-medium line-clamp-4'>
{ dataFormatter.usersOneListFormatter(item.owner) } { dataFormatter.usersOneListFormatter(item.owner) }
@ -162,7 +162,7 @@ const CardProduction_orders = ({
<div className='flex justify-between gap-x-4 py-3'> <div className='flex justify-between gap-x-4 py-3'>
<dt className=' text-gray-500 dark:text-dark-600'>RelatedDeal</dt> <dt className=' text-gray-500 dark:text-dark-600'>İlgili Fırsat</dt>
<dd className='flex items-start gap-x-2'> <dd className='flex items-start gap-x-2'>
<div className='font-medium line-clamp-4'> <div className='font-medium line-clamp-4'>
{ dataFormatter.dealsOneListFormatter(item.deal) } { dataFormatter.dealsOneListFormatter(item.deal) }
@ -174,7 +174,7 @@ const CardProduction_orders = ({
<div className='flex justify-between gap-x-4 py-3'> <div className='flex justify-between gap-x-4 py-3'>
<dt className=' text-gray-500 dark:text-dark-600'>Notes</dt> <dt className=' text-gray-500 dark:text-dark-600'>Notlar</dt>
<dd className='flex items-start gap-x-2'> <dd className='flex items-start gap-x-2'>
<div className='font-medium line-clamp-4'> <div className='font-medium line-clamp-4'>
{ item.notes } { item.notes }
@ -189,7 +189,7 @@ const CardProduction_orders = ({
))} ))}
{!loading && production_orders.length === 0 && ( {!loading && production_orders.length === 0 && (
<div className='col-span-full flex items-center justify-center h-40'> <div className='col-span-full flex items-center justify-center h-40'>
<p className=''>No data to display</p> <p className=''>Gösterilecek veri yok</p>
</div> </div>
)} )}
</ul> </ul>

View File

@ -48,7 +48,7 @@ const ListProduction_orders = ({ production_orders, loading, onDelete, currentPa
<div className={'flex-1 px-3'}> <div className={'flex-1 px-3'}>
<p className={'text-xs text-gray-500 '}>OrderNumber</p> <p className={'text-xs text-gray-500 '}>Emir Numarası</p>
<p className={'line-clamp-2'}>{ item.order_number }</p> <p className={'line-clamp-2'}>{ item.order_number }</p>
</div> </div>
@ -56,7 +56,7 @@ const ListProduction_orders = ({ production_orders, loading, onDelete, currentPa
<div className={'flex-1 px-3'}> <div className={'flex-1 px-3'}>
<p className={'text-xs text-gray-500 '}>Status</p> <p className={'text-xs text-gray-500 '}>Durum</p>
<p className={'line-clamp-2'}>{ item.status }</p> <p className={'line-clamp-2'}>{ item.status }</p>
</div> </div>
@ -64,7 +64,7 @@ const ListProduction_orders = ({ production_orders, loading, onDelete, currentPa
<div className={'flex-1 px-3'}> <div className={'flex-1 px-3'}>
<p className={'text-xs text-gray-500 '}>PlannedStartAt</p> <p className={'text-xs text-gray-500 '}>Planlanan Başlangıç Tarihi</p>
<p className={'line-clamp-2'}>{ dataFormatter.dateTimeFormatter(item.planned_start_at) }</p> <p className={'line-clamp-2'}>{ dataFormatter.dateTimeFormatter(item.planned_start_at) }</p>
</div> </div>
@ -72,7 +72,7 @@ const ListProduction_orders = ({ production_orders, loading, onDelete, currentPa
<div className={'flex-1 px-3'}> <div className={'flex-1 px-3'}>
<p className={'text-xs text-gray-500 '}>PlannedEndAt</p> <p className={'text-xs text-gray-500 '}>Planlanan Bitiş Tarihi</p>
<p className={'line-clamp-2'}>{ dataFormatter.dateTimeFormatter(item.planned_end_at) }</p> <p className={'line-clamp-2'}>{ dataFormatter.dateTimeFormatter(item.planned_end_at) }</p>
</div> </div>
@ -80,7 +80,7 @@ const ListProduction_orders = ({ production_orders, loading, onDelete, currentPa
<div className={'flex-1 px-3'}> <div className={'flex-1 px-3'}>
<p className={'text-xs text-gray-500 '}>ActualStartAt</p> <p className={'text-xs text-gray-500 '}>Gerçek Başlangıç Tarihi</p>
<p className={'line-clamp-2'}>{ dataFormatter.dateTimeFormatter(item.actual_start_at) }</p> <p className={'line-clamp-2'}>{ dataFormatter.dateTimeFormatter(item.actual_start_at) }</p>
</div> </div>
@ -88,7 +88,7 @@ const ListProduction_orders = ({ production_orders, loading, onDelete, currentPa
<div className={'flex-1 px-3'}> <div className={'flex-1 px-3'}>
<p className={'text-xs text-gray-500 '}>ActualEndAt</p> <p className={'text-xs text-gray-500 '}>Gerçek Bitiş Tarihi</p>
<p className={'line-clamp-2'}>{ dataFormatter.dateTimeFormatter(item.actual_end_at) }</p> <p className={'line-clamp-2'}>{ dataFormatter.dateTimeFormatter(item.actual_end_at) }</p>
</div> </div>
@ -96,7 +96,7 @@ const ListProduction_orders = ({ production_orders, loading, onDelete, currentPa
<div className={'flex-1 px-3'}> <div className={'flex-1 px-3'}>
<p className={'text-xs text-gray-500 '}>Owner</p> <p className={'text-xs text-gray-500 '}>Sorumlu Kişi</p>
<p className={'line-clamp-2'}>{ dataFormatter.usersOneListFormatter(item.owner) }</p> <p className={'line-clamp-2'}>{ dataFormatter.usersOneListFormatter(item.owner) }</p>
</div> </div>
@ -104,7 +104,7 @@ const ListProduction_orders = ({ production_orders, loading, onDelete, currentPa
<div className={'flex-1 px-3'}> <div className={'flex-1 px-3'}>
<p className={'text-xs text-gray-500 '}>RelatedDeal</p> <p className={'text-xs text-gray-500 '}>İlgili Fırsat</p>
<p className={'line-clamp-2'}>{ dataFormatter.dealsOneListFormatter(item.deal) }</p> <p className={'line-clamp-2'}>{ dataFormatter.dealsOneListFormatter(item.deal) }</p>
</div> </div>
@ -112,7 +112,7 @@ const ListProduction_orders = ({ production_orders, loading, onDelete, currentPa
<div className={'flex-1 px-3'}> <div className={'flex-1 px-3'}>
<p className={'text-xs text-gray-500 '}>Notes</p> <p className={'text-xs text-gray-500 '}>Notlar</p>
<p className={'line-clamp-2'}>{ item.notes }</p> <p className={'line-clamp-2'}>{ item.notes }</p>
</div> </div>
@ -134,7 +134,7 @@ const ListProduction_orders = ({ production_orders, loading, onDelete, currentPa
))} ))}
{!loading && production_orders.length === 0 && ( {!loading && production_orders.length === 0 && (
<div className='col-span-full flex items-center justify-center h-40'> <div className='col-span-full flex items-center justify-center h-40'>
<p className=''>No data to display</p> <p className=''>Gösterilecek veri yok</p>
</div> </div>
)} )}
</div> </div>

View File

@ -286,7 +286,7 @@ const TableSampleProduction_orders = ({ filterItems, setFilterItems, filters, sh
return ( return (
<div key={filterItem.id} className="flex mb-4"> <div key={filterItem.id} className="flex mb-4">
<div className="flex flex-col w-full mr-3"> <div className="flex flex-col w-full mr-3">
<div className=" text-gray-500 font-bold">Filter</div> <div className=" text-gray-500 font-bold">Filtre</div>
<Field <Field
className={controlClasses} className={controlClasses}
name='selectedField' name='selectedField'
@ -310,7 +310,7 @@ const TableSampleProduction_orders = ({ filterItems, setFilterItems, filters, sh
)?.type === 'enum' ? ( )?.type === 'enum' ? (
<div className="flex flex-col w-full mr-3"> <div className="flex flex-col w-full mr-3">
<div className="text-gray-500 font-bold"> <div className="text-gray-500 font-bold">
Value Değer
</div> </div>
<Field <Field
className={controlClasses} className={controlClasses}
@ -320,7 +320,7 @@ const TableSampleProduction_orders = ({ filterItems, setFilterItems, filters, sh
value={filterItem?.fields?.filterValue || ''} value={filterItem?.fields?.filterValue || ''}
onChange={handleChange(filterItem.id)} onChange={handleChange(filterItem.id)}
> >
<option value="">Select Value</option> <option value="">Değer Seçin</option>
{filters.find((filter) => {filters.find((filter) =>
filter.title === filterItem?.fields?.selectedField filter.title === filterItem?.fields?.selectedField
)?.options?.map((option) => ( )?.options?.map((option) => (
@ -335,22 +335,22 @@ const TableSampleProduction_orders = ({ filterItems, setFilterItems, filters, sh
)?.number ? ( )?.number ? (
<div className="flex flex-row w-full mr-3"> <div className="flex flex-row w-full mr-3">
<div className="flex flex-col w-full mr-3"> <div className="flex flex-col w-full mr-3">
<div className=" text-gray-500 font-bold">From</div> <div className=" text-gray-500 font-bold">Başlangıç</div>
<Field <Field
className={controlClasses} className={controlClasses}
name='filterValueFrom' name='filterValueFrom'
placeholder='From' placeholder='Başlangıç'
id='filterValueFrom' id='filterValueFrom'
value={filterItem?.fields?.filterValueFrom || ''} value={filterItem?.fields?.filterValueFrom || ''}
onChange={handleChange(filterItem.id)} onChange={handleChange(filterItem.id)}
/> />
</div> </div>
<div className="flex flex-col w-full"> <div className="flex flex-col w-full">
<div className=" text-gray-500 font-bold">To</div> <div className=" text-gray-500 font-bold">Bitiş</div>
<Field <Field
className={controlClasses} className={controlClasses}
name='filterValueTo' name='filterValueTo'
placeholder='to' placeholder='bitiş'
id='filterValueTo' id='filterValueTo'
value={filterItem?.fields?.filterValueTo || ''} value={filterItem?.fields?.filterValueTo || ''}
onChange={handleChange(filterItem.id)} onChange={handleChange(filterItem.id)}
@ -365,12 +365,12 @@ const TableSampleProduction_orders = ({ filterItems, setFilterItems, filters, sh
<div className='flex flex-row w-full mr-3'> <div className='flex flex-row w-full mr-3'>
<div className='flex flex-col w-full mr-3'> <div className='flex flex-col w-full mr-3'>
<div className=' text-gray-500 font-bold'> <div className=' text-gray-500 font-bold'>
From Başlangıç
</div> </div>
<Field <Field
className={controlClasses} className={controlClasses}
name='filterValueFrom' name='filterValueFrom'
placeholder='From' placeholder='Başlangıç'
id='filterValueFrom' id='filterValueFrom'
type='datetime-local' type='datetime-local'
value={filterItem?.fields?.filterValueFrom || ''} value={filterItem?.fields?.filterValueFrom || ''}
@ -378,11 +378,11 @@ const TableSampleProduction_orders = ({ filterItems, setFilterItems, filters, sh
/> />
</div> </div>
<div className='flex flex-col w-full'> <div className='flex flex-col w-full'>
<div className=' text-gray-500 font-bold'>To</div> <div className=' text-gray-500 font-bold'>Bitiş</div>
<Field <Field
className={controlClasses} className={controlClasses}
name='filterValueTo' name='filterValueTo'
placeholder='to' placeholder='bitiş'
id='filterValueTo' id='filterValueTo'
type='datetime-local' type='datetime-local'
value={filterItem?.fields?.filterValueTo || ''} value={filterItem?.fields?.filterValueTo || ''}
@ -392,11 +392,11 @@ const TableSampleProduction_orders = ({ filterItems, setFilterItems, filters, sh
</div> </div>
) : ( ) : (
<div className="flex flex-col w-full mr-3"> <div className="flex flex-col w-full mr-3">
<div className=" text-gray-500 font-bold">Contains</div> <div className=" text-gray-500 font-bold">İçerir</div>
<Field <Field
className={controlClasses} className={controlClasses}
name='filterValue' name='filterValue'
placeholder='Contained' placeholder='İçeren'
id='filterValue' id='filterValue'
value={filterItem?.fields?.filterValue || ''} value={filterItem?.fields?.filterValue || ''}
onChange={handleChange(filterItem.id)} onChange={handleChange(filterItem.id)}
@ -404,12 +404,12 @@ const TableSampleProduction_orders = ({ filterItems, setFilterItems, filters, sh
</div> </div>
)} )}
<div className="flex flex-col"> <div className="flex flex-col">
<div className=" text-gray-500 font-bold">Action</div> <div className=" text-gray-500 font-bold">İşlem</div>
<BaseButton <BaseButton
className="my-2" className="my-2"
type='reset' type='reset'
color='danger' color='danger'
label='Delete' label='Sil'
onClick={() => { onClick={() => {
deleteFilter(filterItem.id) deleteFilter(filterItem.id)
}} }}
@ -422,13 +422,13 @@ const TableSampleProduction_orders = ({ filterItems, setFilterItems, filters, sh
<BaseButton <BaseButton
className="my-2 mr-3" className="my-2 mr-3"
color="success" color="success"
label='Apply' label='Uygula'
onClick={handleSubmit} onClick={handleSubmit}
/> />
<BaseButton <BaseButton
className="my-2" className="my-2"
color='info' color='info'
label='Cancel' label='İptal'
onClick={handleReset} onClick={handleReset}
/> />
</div> </div>
@ -438,14 +438,14 @@ const TableSampleProduction_orders = ({ filterItems, setFilterItems, filters, sh
</CardBox> : null </CardBox> : null
} }
<CardBoxModal <CardBoxModal
title="Please confirm" title="Lütfen onaylayın"
buttonColor="info" buttonColor="info"
buttonLabel={loading ? 'Deleting...' : 'Confirm'} buttonLabel={loading ? 'Siliniyor...' : 'Onayla'}
isActive={isModalTrashActive} isActive={isModalTrashActive}
onConfirm={handleDeleteAction} onConfirm={handleDeleteAction}
onCancel={handleModalAction} onCancel={handleModalAction}
> >
<p>Are you sure you want to delete this item?</p> <p>Bu kaydı silmek istediğinize emin misiniz?</p>
</CardBoxModal> </CardBoxModal>
@ -476,7 +476,7 @@ const TableSampleProduction_orders = ({ filterItems, setFilterItems, filters, sh
<BaseButton <BaseButton
className='me-4' className='me-4'
color='danger' color='danger'
label={`Delete ${selectedRows.length === 1 ? 'Row' : 'Rows'}`} label={`Seçili ${selectedRows.length === 1 ? 'Satırı' : 'Satırları'} Sil`}
onClick={() => onDeleteRows(selectedRows)} onClick={() => onDeleteRows(selectedRows)}
/>, />,
document.getElementById('delete-rows-button'), document.getElementById('delete-rows-button'),

View File

@ -43,7 +43,7 @@ export const loadColumns = async (
{ {
field: 'order_number', field: 'order_number',
headerName: 'OrderNumber', headerName: 'Emir Numarası',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,
@ -58,7 +58,7 @@ export const loadColumns = async (
{ {
field: 'status', field: 'status',
headerName: 'Status', headerName: 'Durum',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,
@ -73,7 +73,7 @@ export const loadColumns = async (
{ {
field: 'planned_start_at', field: 'planned_start_at',
headerName: 'PlannedStartAt', headerName: 'Planlanan Başlangıç Tarihi',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,
@ -91,7 +91,7 @@ export const loadColumns = async (
{ {
field: 'planned_end_at', field: 'planned_end_at',
headerName: 'PlannedEndAt', headerName: 'Planlanan Bitiş Tarihi',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,
@ -109,7 +109,7 @@ export const loadColumns = async (
{ {
field: 'actual_start_at', field: 'actual_start_at',
headerName: 'ActualStartAt', headerName: 'Gerçek Başlangıç Tarihi',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,
@ -127,7 +127,7 @@ export const loadColumns = async (
{ {
field: 'actual_end_at', field: 'actual_end_at',
headerName: 'ActualEndAt', headerName: 'Gerçek Bitiş Tarihi',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,
@ -145,7 +145,7 @@ export const loadColumns = async (
{ {
field: 'owner', field: 'owner',
headerName: 'Owner', headerName: 'Sorumlu Kişi',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,
@ -167,7 +167,7 @@ export const loadColumns = async (
{ {
field: 'deal', field: 'deal',
headerName: 'RelatedDeal', headerName: 'İlgili Fırsat',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,
@ -189,7 +189,7 @@ export const loadColumns = async (
{ {
field: 'notes', field: 'notes',
headerName: 'Notes', headerName: 'Notlar',
flex: 1, flex: 1,
minWidth: 120, minWidth: 120,
filterable: false, filterable: false,

View File

@ -78,7 +78,7 @@ const CardQuality_inspections = ({
<div className='flex justify-between gap-x-4 py-3'> <div className='flex justify-between gap-x-4 py-3'>
<dt className=' text-gray-500 dark:text-dark-600'>InspectionNumber</dt> <dt className=' text-gray-500 dark:text-dark-600'>Kontrol Numarası</dt>
<dd className='flex items-start gap-x-2'> <dd className='flex items-start gap-x-2'>
<div className='font-medium line-clamp-4'> <div className='font-medium line-clamp-4'>
{ item.inspection_number } { item.inspection_number }
@ -90,7 +90,7 @@ const CardQuality_inspections = ({
<div className='flex justify-between gap-x-4 py-3'> <div className='flex justify-between gap-x-4 py-3'>
<dt className=' text-gray-500 dark:text-dark-600'>InspectionType</dt> <dt className=' text-gray-500 dark:text-dark-600'>Kontrol Türü</dt>
<dd className='flex items-start gap-x-2'> <dd className='flex items-start gap-x-2'>
<div className='font-medium line-clamp-4'> <div className='font-medium line-clamp-4'>
{ item.inspection_type } { item.inspection_type }
@ -102,7 +102,7 @@ const CardQuality_inspections = ({
<div className='flex justify-between gap-x-4 py-3'> <div className='flex justify-between gap-x-4 py-3'>
<dt className=' text-gray-500 dark:text-dark-600'>Result</dt> <dt className=' text-gray-500 dark:text-dark-600'>Sonuç</dt>
<dd className='flex items-start gap-x-2'> <dd className='flex items-start gap-x-2'>
<div className='font-medium line-clamp-4'> <div className='font-medium line-clamp-4'>
{ item.result } { item.result }
@ -114,7 +114,7 @@ const CardQuality_inspections = ({
<div className='flex justify-between gap-x-4 py-3'> <div className='flex justify-between gap-x-4 py-3'>
<dt className=' text-gray-500 dark:text-dark-600'>ScheduledAt</dt> <dt className=' text-gray-500 dark:text-dark-600'>Planlanan Tarih</dt>
<dd className='flex items-start gap-x-2'> <dd className='flex items-start gap-x-2'>
<div className='font-medium line-clamp-4'> <div className='font-medium line-clamp-4'>
{ dataFormatter.dateTimeFormatter(item.scheduled_at) } { dataFormatter.dateTimeFormatter(item.scheduled_at) }
@ -126,7 +126,7 @@ const CardQuality_inspections = ({
<div className='flex justify-between gap-x-4 py-3'> <div className='flex justify-between gap-x-4 py-3'>
<dt className=' text-gray-500 dark:text-dark-600'>CompletedAt</dt> <dt className=' text-gray-500 dark:text-dark-600'>Tamamlanma Tarihi</dt>
<dd className='flex items-start gap-x-2'> <dd className='flex items-start gap-x-2'>
<div className='font-medium line-clamp-4'> <div className='font-medium line-clamp-4'>
{ dataFormatter.dateTimeFormatter(item.completed_at) } { dataFormatter.dateTimeFormatter(item.completed_at) }
@ -138,7 +138,7 @@ const CardQuality_inspections = ({
<div className='flex justify-between gap-x-4 py-3'> <div className='flex justify-between gap-x-4 py-3'>
<dt className=' text-gray-500 dark:text-dark-600'>ProductionOrder</dt> <dt className=' text-gray-500 dark:text-dark-600'>Üretim Emri</dt>
<dd className='flex items-start gap-x-2'> <dd className='flex items-start gap-x-2'>
<div className='font-medium line-clamp-4'> <div className='font-medium line-clamp-4'>
{ dataFormatter.production_ordersOneListFormatter(item.production_order) } { dataFormatter.production_ordersOneListFormatter(item.production_order) }
@ -150,7 +150,7 @@ const CardQuality_inspections = ({
<div className='flex justify-between gap-x-4 py-3'> <div className='flex justify-between gap-x-4 py-3'>
<dt className=' text-gray-500 dark:text-dark-600'>Operation</dt> <dt className=' text-gray-500 dark:text-dark-600'>Operasyon</dt>
<dd className='flex items-start gap-x-2'> <dd className='flex items-start gap-x-2'>
<div className='font-medium line-clamp-4'> <div className='font-medium line-clamp-4'>
{ dataFormatter.production_operationsOneListFormatter(item.operation) } { dataFormatter.production_operationsOneListFormatter(item.operation) }
@ -162,7 +162,7 @@ const CardQuality_inspections = ({
<div className='flex justify-between gap-x-4 py-3'> <div className='flex justify-between gap-x-4 py-3'>
<dt className=' text-gray-500 dark:text-dark-600'>Inspector</dt> <dt className=' text-gray-500 dark:text-dark-600'>Denetçi</dt>
<dd className='flex items-start gap-x-2'> <dd className='flex items-start gap-x-2'>
<div className='font-medium line-clamp-4'> <div className='font-medium line-clamp-4'>
{ dataFormatter.usersOneListFormatter(item.inspector) } { dataFormatter.usersOneListFormatter(item.inspector) }
@ -174,7 +174,7 @@ const CardQuality_inspections = ({
<div className='flex justify-between gap-x-4 py-3'> <div className='flex justify-between gap-x-4 py-3'>
<dt className=' text-gray-500 dark:text-dark-600'>Findings</dt> <dt className=' text-gray-500 dark:text-dark-600'>Bulgular</dt>
<dd className='flex items-start gap-x-2'> <dd className='flex items-start gap-x-2'>
<div className='font-medium line-clamp-4'> <div className='font-medium line-clamp-4'>
{ item.findings } { item.findings }
@ -186,7 +186,7 @@ const CardQuality_inspections = ({
<div className='flex justify-between gap-x-4 py-3'> <div className='flex justify-between gap-x-4 py-3'>
<dt className=' text-gray-500 dark:text-dark-600'>EvidenceFiles</dt> <dt className=' text-gray-500 dark:text-dark-600'>Kanıt Dosyaları</dt>
<dd className='flex items-start gap-x-2'> <dd className='flex items-start gap-x-2'>
<div className='font-medium'> <div className='font-medium'>
{dataFormatter.filesFormatter(item.evidence_files).map(link => ( {dataFormatter.filesFormatter(item.evidence_files).map(link => (
@ -208,7 +208,7 @@ const CardQuality_inspections = ({
))} ))}
{!loading && quality_inspections.length === 0 && ( {!loading && quality_inspections.length === 0 && (
<div className='col-span-full flex items-center justify-center h-40'> <div className='col-span-full flex items-center justify-center h-40'>
<p className=''>No data to display</p> <p className=''>Gösterilecek veri yok</p>
</div> </div>
)} )}
</ul> </ul>

View File

@ -48,7 +48,7 @@ const ListQuality_inspections = ({ quality_inspections, loading, onDelete, curre
<div className={'flex-1 px-3'}> <div className={'flex-1 px-3'}>
<p className={'text-xs text-gray-500 '}>InspectionNumber</p> <p className={'text-xs text-gray-500 '}>Kontrol Numarası</p>
<p className={'line-clamp-2'}>{ item.inspection_number }</p> <p className={'line-clamp-2'}>{ item.inspection_number }</p>
</div> </div>
@ -56,7 +56,7 @@ const ListQuality_inspections = ({ quality_inspections, loading, onDelete, curre
<div className={'flex-1 px-3'}> <div className={'flex-1 px-3'}>
<p className={'text-xs text-gray-500 '}>InspectionType</p> <p className={'text-xs text-gray-500 '}>Kontrol Türü</p>
<p className={'line-clamp-2'}>{ item.inspection_type }</p> <p className={'line-clamp-2'}>{ item.inspection_type }</p>
</div> </div>
@ -64,7 +64,7 @@ const ListQuality_inspections = ({ quality_inspections, loading, onDelete, curre
<div className={'flex-1 px-3'}> <div className={'flex-1 px-3'}>
<p className={'text-xs text-gray-500 '}>Result</p> <p className={'text-xs text-gray-500 '}>Sonuç</p>
<p className={'line-clamp-2'}>{ item.result }</p> <p className={'line-clamp-2'}>{ item.result }</p>
</div> </div>
@ -72,7 +72,7 @@ const ListQuality_inspections = ({ quality_inspections, loading, onDelete, curre
<div className={'flex-1 px-3'}> <div className={'flex-1 px-3'}>
<p className={'text-xs text-gray-500 '}>ScheduledAt</p> <p className={'text-xs text-gray-500 '}>Planlanan Tarih</p>
<p className={'line-clamp-2'}>{ dataFormatter.dateTimeFormatter(item.scheduled_at) }</p> <p className={'line-clamp-2'}>{ dataFormatter.dateTimeFormatter(item.scheduled_at) }</p>
</div> </div>
@ -80,7 +80,7 @@ const ListQuality_inspections = ({ quality_inspections, loading, onDelete, curre
<div className={'flex-1 px-3'}> <div className={'flex-1 px-3'}>
<p className={'text-xs text-gray-500 '}>CompletedAt</p> <p className={'text-xs text-gray-500 '}>Tamamlanma Tarihi</p>
<p className={'line-clamp-2'}>{ dataFormatter.dateTimeFormatter(item.completed_at) }</p> <p className={'line-clamp-2'}>{ dataFormatter.dateTimeFormatter(item.completed_at) }</p>
</div> </div>
@ -88,7 +88,7 @@ const ListQuality_inspections = ({ quality_inspections, loading, onDelete, curre
<div className={'flex-1 px-3'}> <div className={'flex-1 px-3'}>
<p className={'text-xs text-gray-500 '}>ProductionOrder</p> <p className={'text-xs text-gray-500 '}>Üretim Emri</p>
<p className={'line-clamp-2'}>{ dataFormatter.production_ordersOneListFormatter(item.production_order) }</p> <p className={'line-clamp-2'}>{ dataFormatter.production_ordersOneListFormatter(item.production_order) }</p>
</div> </div>
@ -96,7 +96,7 @@ const ListQuality_inspections = ({ quality_inspections, loading, onDelete, curre
<div className={'flex-1 px-3'}> <div className={'flex-1 px-3'}>
<p className={'text-xs text-gray-500 '}>Operation</p> <p className={'text-xs text-gray-500 '}>Operasyon</p>
<p className={'line-clamp-2'}>{ dataFormatter.production_operationsOneListFormatter(item.operation) }</p> <p className={'line-clamp-2'}>{ dataFormatter.production_operationsOneListFormatter(item.operation) }</p>
</div> </div>
@ -104,7 +104,7 @@ const ListQuality_inspections = ({ quality_inspections, loading, onDelete, curre
<div className={'flex-1 px-3'}> <div className={'flex-1 px-3'}>
<p className={'text-xs text-gray-500 '}>Inspector</p> <p className={'text-xs text-gray-500 '}>Denetçi</p>
<p className={'line-clamp-2'}>{ dataFormatter.usersOneListFormatter(item.inspector) }</p> <p className={'line-clamp-2'}>{ dataFormatter.usersOneListFormatter(item.inspector) }</p>
</div> </div>
@ -112,7 +112,7 @@ const ListQuality_inspections = ({ quality_inspections, loading, onDelete, curre
<div className={'flex-1 px-3'}> <div className={'flex-1 px-3'}>
<p className={'text-xs text-gray-500 '}>Findings</p> <p className={'text-xs text-gray-500 '}>Bulgular</p>
<p className={'line-clamp-2'}>{ item.findings }</p> <p className={'line-clamp-2'}>{ item.findings }</p>
</div> </div>
@ -120,7 +120,7 @@ const ListQuality_inspections = ({ quality_inspections, loading, onDelete, curre
<div className={'flex-1 px-3'}> <div className={'flex-1 px-3'}>
<p className={'text-xs text-gray-500 '}>EvidenceFiles</p> <p className={'text-xs text-gray-500 '}>Kanıt Dosyaları</p>
{dataFormatter.filesFormatter(item.evidence_files).map(link => ( {dataFormatter.filesFormatter(item.evidence_files).map(link => (
<button <button
key={link.publicUrl} key={link.publicUrl}
@ -149,7 +149,7 @@ const ListQuality_inspections = ({ quality_inspections, loading, onDelete, curre
))} ))}
{!loading && quality_inspections.length === 0 && ( {!loading && quality_inspections.length === 0 && (
<div className='col-span-full flex items-center justify-center h-40'> <div className='col-span-full flex items-center justify-center h-40'>
<p className=''>No data to display</p> <p className=''>Gösterilecek veri yok</p>
</div> </div>
)} )}
</div> </div>

View File

@ -286,7 +286,7 @@ const TableSampleQuality_inspections = ({ filterItems, setFilterItems, filters,
return ( return (
<div key={filterItem.id} className="flex mb-4"> <div key={filterItem.id} className="flex mb-4">
<div className="flex flex-col w-full mr-3"> <div className="flex flex-col w-full mr-3">
<div className=" text-gray-500 font-bold">Filter</div> <div className=" text-gray-500 font-bold">Filtre</div>
<Field <Field
className={controlClasses} className={controlClasses}
name='selectedField' name='selectedField'
@ -310,7 +310,7 @@ const TableSampleQuality_inspections = ({ filterItems, setFilterItems, filters,
)?.type === 'enum' ? ( )?.type === 'enum' ? (
<div className="flex flex-col w-full mr-3"> <div className="flex flex-col w-full mr-3">
<div className="text-gray-500 font-bold"> <div className="text-gray-500 font-bold">
Value Değer
</div> </div>
<Field <Field
className={controlClasses} className={controlClasses}
@ -320,7 +320,7 @@ const TableSampleQuality_inspections = ({ filterItems, setFilterItems, filters,
value={filterItem?.fields?.filterValue || ''} value={filterItem?.fields?.filterValue || ''}
onChange={handleChange(filterItem.id)} onChange={handleChange(filterItem.id)}
> >
<option value="">Select Value</option> <option value="">Değer Seçin</option>
{filters.find((filter) => {filters.find((filter) =>
filter.title === filterItem?.fields?.selectedField filter.title === filterItem?.fields?.selectedField
)?.options?.map((option) => ( )?.options?.map((option) => (
@ -335,22 +335,22 @@ const TableSampleQuality_inspections = ({ filterItems, setFilterItems, filters,
)?.number ? ( )?.number ? (
<div className="flex flex-row w-full mr-3"> <div className="flex flex-row w-full mr-3">
<div className="flex flex-col w-full mr-3"> <div className="flex flex-col w-full mr-3">
<div className=" text-gray-500 font-bold">From</div> <div className=" text-gray-500 font-bold">Başlangıç</div>
<Field <Field
className={controlClasses} className={controlClasses}
name='filterValueFrom' name='filterValueFrom'
placeholder='From' placeholder='Başlangıç'
id='filterValueFrom' id='filterValueFrom'
value={filterItem?.fields?.filterValueFrom || ''} value={filterItem?.fields?.filterValueFrom || ''}
onChange={handleChange(filterItem.id)} onChange={handleChange(filterItem.id)}
/> />
</div> </div>
<div className="flex flex-col w-full"> <div className="flex flex-col w-full">
<div className=" text-gray-500 font-bold">To</div> <div className=" text-gray-500 font-bold">Bitiş</div>
<Field <Field
className={controlClasses} className={controlClasses}
name='filterValueTo' name='filterValueTo'
placeholder='to' placeholder='bitiş'
id='filterValueTo' id='filterValueTo'
value={filterItem?.fields?.filterValueTo || ''} value={filterItem?.fields?.filterValueTo || ''}
onChange={handleChange(filterItem.id)} onChange={handleChange(filterItem.id)}
@ -365,12 +365,12 @@ const TableSampleQuality_inspections = ({ filterItems, setFilterItems, filters,
<div className='flex flex-row w-full mr-3'> <div className='flex flex-row w-full mr-3'>
<div className='flex flex-col w-full mr-3'> <div className='flex flex-col w-full mr-3'>
<div className=' text-gray-500 font-bold'> <div className=' text-gray-500 font-bold'>
From Başlangıç
</div> </div>
<Field <Field
className={controlClasses} className={controlClasses}
name='filterValueFrom' name='filterValueFrom'
placeholder='From' placeholder='Başlangıç'
id='filterValueFrom' id='filterValueFrom'
type='datetime-local' type='datetime-local'
value={filterItem?.fields?.filterValueFrom || ''} value={filterItem?.fields?.filterValueFrom || ''}
@ -378,11 +378,11 @@ const TableSampleQuality_inspections = ({ filterItems, setFilterItems, filters,
/> />
</div> </div>
<div className='flex flex-col w-full'> <div className='flex flex-col w-full'>
<div className=' text-gray-500 font-bold'>To</div> <div className=' text-gray-500 font-bold'>Bitiş</div>
<Field <Field
className={controlClasses} className={controlClasses}
name='filterValueTo' name='filterValueTo'
placeholder='to' placeholder='bitiş'
id='filterValueTo' id='filterValueTo'
type='datetime-local' type='datetime-local'
value={filterItem?.fields?.filterValueTo || ''} value={filterItem?.fields?.filterValueTo || ''}
@ -392,11 +392,11 @@ const TableSampleQuality_inspections = ({ filterItems, setFilterItems, filters,
</div> </div>
) : ( ) : (
<div className="flex flex-col w-full mr-3"> <div className="flex flex-col w-full mr-3">
<div className=" text-gray-500 font-bold">Contains</div> <div className=" text-gray-500 font-bold">İçerir</div>
<Field <Field
className={controlClasses} className={controlClasses}
name='filterValue' name='filterValue'
placeholder='Contained' placeholder='İçeren'
id='filterValue' id='filterValue'
value={filterItem?.fields?.filterValue || ''} value={filterItem?.fields?.filterValue || ''}
onChange={handleChange(filterItem.id)} onChange={handleChange(filterItem.id)}
@ -404,12 +404,12 @@ const TableSampleQuality_inspections = ({ filterItems, setFilterItems, filters,
</div> </div>
)} )}
<div className="flex flex-col"> <div className="flex flex-col">
<div className=" text-gray-500 font-bold">Action</div> <div className=" text-gray-500 font-bold">İşlem</div>
<BaseButton <BaseButton
className="my-2" className="my-2"
type='reset' type='reset'
color='danger' color='danger'
label='Delete' label='Sil'
onClick={() => { onClick={() => {
deleteFilter(filterItem.id) deleteFilter(filterItem.id)
}} }}
@ -422,13 +422,13 @@ const TableSampleQuality_inspections = ({ filterItems, setFilterItems, filters,
<BaseButton <BaseButton
className="my-2 mr-3" className="my-2 mr-3"
color="success" color="success"
label='Apply' label='Uygula'
onClick={handleSubmit} onClick={handleSubmit}
/> />
<BaseButton <BaseButton
className="my-2" className="my-2"
color='info' color='info'
label='Cancel' label='İptal'
onClick={handleReset} onClick={handleReset}
/> />
</div> </div>
@ -438,14 +438,14 @@ const TableSampleQuality_inspections = ({ filterItems, setFilterItems, filters,
</CardBox> : null </CardBox> : null
} }
<CardBoxModal <CardBoxModal
title="Please confirm" title="Lütfen onaylayın"
buttonColor="info" buttonColor="info"
buttonLabel={loading ? 'Deleting...' : 'Confirm'} buttonLabel={loading ? 'Siliniyor...' : 'Onayla'}
isActive={isModalTrashActive} isActive={isModalTrashActive}
onConfirm={handleDeleteAction} onConfirm={handleDeleteAction}
onCancel={handleModalAction} onCancel={handleModalAction}
> >
<p>Are you sure you want to delete this item?</p> <p>Bu kaydı silmek istediğinize emin misiniz?</p>
</CardBoxModal> </CardBoxModal>
@ -476,7 +476,7 @@ const TableSampleQuality_inspections = ({ filterItems, setFilterItems, filters,
<BaseButton <BaseButton
className='me-4' className='me-4'
color='danger' color='danger'
label={`Delete ${selectedRows.length === 1 ? 'Row' : 'Rows'}`} label={`Seçili ${selectedRows.length === 1 ? 'Satırı' : 'Satırları'} Sil`}
onClick={() => onDeleteRows(selectedRows)} onClick={() => onDeleteRows(selectedRows)}
/>, />,
document.getElementById('delete-rows-button'), document.getElementById('delete-rows-button'),

Some files were not shown because too many files have changed in this diff Show More