Compare commits

..

No commits in common. "ai-dev" and "master" have entirely different histories.

335 changed files with 6380 additions and 6623 deletions

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 499 KiB

View File

@ -20,7 +20,6 @@ const pexelsRoutes = require('./routes/pexels');
const organizationForAuthRoutes = require('./routes/organizationLogin');
const openaiRoutes = require('./routes/openai');
const salesHubRoutes = require('./routes/sales_hub');
@ -155,7 +154,6 @@ app.use('/api/leads', passport.authenticate('jwt', {session: false}), leadsRoute
app.use('/api/deals', passport.authenticate('jwt', {session: false}), dealsRoutes);
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);

View File

@ -1,305 +0,0 @@
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

Before

Width:  |  Height:  |  Size: 499 KiB

View File

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

View File

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

View File

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

View File

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

View File

@ -29,30 +29,16 @@ const AsideMenuItem = ({ item, isDropdownList = false }: Props) => {
const { asPath, isReady } = useRouter()
useEffect(() => {
if (!isReady) {
return
if (item.href && isReady) {
const linkPathName = new URL(item.href, location.href).pathname + '/';
const activePathname = new URL(asPath, location.href).pathname
const activeView = activePathname.split('/')[1];
const linkPathNameView = linkPathName.split('/')[1];
setIsLinkActive(linkPathNameView === activeView);
}
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])
}, [item.href, isReady, asPath])
const asideMenuItemInnerContents = (
<>

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -1,102 +1,96 @@
import React, { useEffect, useState } from 'react'
import Select, { components, SingleValueProps, OptionProps } from 'react-select'
import { useTranslation } from 'react-i18next'
import React, { useEffect, useState } from 'react';
import Select, { components, SingleValueProps, OptionProps } from 'react-select';
type LanguageOption = { label: string; value: string }
type LanguageOption = { label: string; value: string };
const LANGS: LanguageOption[] = [
{ value: 'tr', label: '🇹🇷 TR' },
{ value: 'en', label: '🇬🇧 EN' },
{ value: 'fr', label: '🇫🇷 FR' },
{ value: 'es', label: '🇪🇸 ES' },
{ value: 'de', label: '🇩🇪 DE' },
]
{ value: 'en', label: '🇬🇧 EN' },
{ value: 'fr', label: '🇫🇷 FR' },
{ value: 'es', label: '🇪🇸 ES' },
{ value: 'de', label: '🇩🇪 DE' },
];
const Option = (props: OptionProps<LanguageOption, false>) => (
<components.Option {...props}>
<span className='flex items-center gap-1'>{props.data.label}</span>
</components.Option>
)
<components.Option {...props}>
<span className='flex items-center gap-1'>{props.data.label}</span>
</components.Option>
);
const SingleVal = (props: SingleValueProps<LanguageOption, false>) => (
<components.SingleValue {...props}>
<span className='flex items-center gap-1'>{props.data.label}</span>
</components.SingleValue>
)
<components.SingleValue {...props}>
<span className='flex items-center gap-1'>{props.data.label}</span>
</components.SingleValue>
);
const LanguageSwitcher: React.FC = () => {
const { i18n } = useTranslation()
const [mounted, setMounted] = useState(false)
const [selected, setSelected] = useState<LanguageOption>(LANGS[0])
const [mounted, setMounted] = useState(false);
const [selected, setSelected] = useState<LanguageOption>(LANGS[0]);
useEffect(() => {
const active = LANGS.find((item) => item.value === i18n.language) || LANGS[0]
setSelected(active)
setMounted(true)
}, [i18n.language])
useEffect(() => {
setMounted(true);
}, []);
const handleChange = (opt: LanguageOption | null) => {
if (!opt) return
setSelected(opt)
i18n.changeLanguage(opt.value)
}
const handleChange = (opt: LanguageOption | null) => {
if (!opt) return;
setSelected(opt);
};
if (!mounted) return null
if (!mounted) return null;
return (
<div style={{ width: 88 }}>
<Select
value={selected}
options={LANGS}
onChange={handleChange}
isSearchable={false}
menuPlacement='top'
components={{
Option,
SingleValue: SingleVal,
IndicatorSeparator: () => null,
}}
styles={{
control: (base) => ({
...base,
minHeight: 28,
height: 28,
paddingTop: 0,
paddingBottom: 0,
borderColor: '#d1d5db',
cursor: 'pointer',
}),
valueContainer: (base) => ({
...base,
paddingTop: 0,
paddingBottom: 0,
paddingLeft: 6,
}),
indicatorsContainer: (base) => ({
...base,
height: 24,
}),
dropdownIndicator: (base) => ({
...base,
padding: 2,
}),
option: (base, state) => ({
...base,
paddingTop: 4,
paddingBottom: 4,
height: 26,
fontSize: '0.875rem',
backgroundColor: state.isFocused ? '#f3f4f6' : 'white',
color: '#111827',
}),
menu: (base) => ({
...base,
zIndex: 9999,
}),
}}
/>
</div>
)
}
return (
<div style={{ width: 88 }}>
<Select
value={selected}
options={LANGS}
onChange={handleChange}
isSearchable={false}
menuPlacement='top'
components={{
Option,
SingleValue: SingleVal,
IndicatorSeparator: () => null,
}}
styles={{
control: (base) => ({
...base,
minHeight: 28,
height: 28,
paddingTop: 0,
paddingBottom: 0,
borderColor: '#d1d5db',
cursor: 'pointer',
}),
valueContainer: (base) => ({
...base,
paddingTop: 0,
paddingBottom: 0,
paddingLeft: 6,
}),
indicatorsContainer: (base) => ({
...base,
height: 24,
}),
dropdownIndicator: (base) => ({
...base,
padding: 2,
}),
option: (base, state) => ({
...base,
paddingTop: 4,
paddingBottom: 4,
height: 26,
fontSize: '0.875rem',
backgroundColor: state.isFocused ? '#f3f4f6' : 'white',
color: '#111827',
}),
menu: (base) => ({
...base,
zIndex: 9999,
}),
}}
/>
</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'>
<dt className=' text-gray-500 dark:text-dark-600'>Potansiyel Müşteri Başlığı</dt>
<dt className=' text-gray-500 dark:text-dark-600'>LeadTitle</dt>
<dd className='flex items-start gap-x-2'>
<div className='font-medium line-clamp-4'>
{ item.title }
@ -90,7 +90,7 @@ const CardLeads = ({
<div className='flex justify-between gap-x-4 py-3'>
<dt className=' text-gray-500 dark:text-dark-600'>Kaynak</dt>
<dt className=' text-gray-500 dark:text-dark-600'>Source</dt>
<dd className='flex items-start gap-x-2'>
<div className='font-medium line-clamp-4'>
{ item.source }
@ -102,7 +102,7 @@ const CardLeads = ({
<div className='flex justify-between gap-x-4 py-3'>
<dt className=' text-gray-500 dark:text-dark-600'>Durum</dt>
<dt className=' text-gray-500 dark:text-dark-600'>Status</dt>
<dd className='flex items-start gap-x-2'>
<div className='font-medium line-clamp-4'>
{ item.status }
@ -114,7 +114,7 @@ const CardLeads = ({
<div className='flex justify-between gap-x-4 py-3'>
<dt className=' text-gray-500 dark:text-dark-600'>Tahmini Tutar</dt>
<dt className=' text-gray-500 dark:text-dark-600'>EstimatedValue</dt>
<dd className='flex items-start gap-x-2'>
<div className='font-medium line-clamp-4'>
{ item.estimated_value }
@ -126,7 +126,7 @@ const CardLeads = ({
<div className='flex justify-between gap-x-4 py-3'>
<dt className=' text-gray-500 dark:text-dark-600'>ıklama</dt>
<dt className=' text-gray-500 dark:text-dark-600'>Description</dt>
<dd className='flex items-start gap-x-2'>
<div className='font-medium line-clamp-4'>
{ item.description }
@ -138,7 +138,7 @@ const CardLeads = ({
<div className='flex justify-between gap-x-4 py-3'>
<dt className=' text-gray-500 dark:text-dark-600'>Şirket</dt>
<dt className=' text-gray-500 dark:text-dark-600'>Company</dt>
<dd className='flex items-start gap-x-2'>
<div className='font-medium line-clamp-4'>
{ dataFormatter.companiesOneListFormatter(item.company) }
@ -150,7 +150,7 @@ const CardLeads = ({
<div className='flex justify-between gap-x-4 py-3'>
<dt className=' text-gray-500 dark:text-dark-600'>Ana Yetkili</dt>
<dt className=' text-gray-500 dark:text-dark-600'>PrimaryContact</dt>
<dd className='flex items-start gap-x-2'>
<div className='font-medium line-clamp-4'>
{ dataFormatter.contactsOneListFormatter(item.primary_contact) }
@ -162,7 +162,7 @@ const CardLeads = ({
<div className='flex justify-between gap-x-4 py-3'>
<dt className=' text-gray-500 dark:text-dark-600'>Sorumlu Kişi</dt>
<dt className=' text-gray-500 dark:text-dark-600'>Owner</dt>
<dd className='flex items-start gap-x-2'>
<div className='font-medium line-clamp-4'>
{ dataFormatter.usersOneListFormatter(item.owner) }
@ -210,7 +210,7 @@ const CardLeads = ({
<div className='flex justify-between gap-x-4 py-3'>
<dt className=' text-gray-500 dark:text-dark-600'>Kapanış Tarihi</dt>
<dt className=' text-gray-500 dark:text-dark-600'>ClosedAt</dt>
<dd className='flex items-start gap-x-2'>
<div className='font-medium line-clamp-4'>
{ dataFormatter.dateTimeFormatter(item.closed_at) }
@ -225,7 +225,7 @@ const CardLeads = ({
))}
{!loading && leads.length === 0 && (
<div className='col-span-full flex items-center justify-center h-40'>
<p className=''>Gösterilecek veri yok</p>
<p className=''>No data to display</p>
</div>
)}
</ul>

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

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