bottom-end

This commit is contained in:
Sedat ÖZTÜRK 2026-07-08 09:14:40 +03:00
parent 3953498b8d
commit 04e88fc969
63 changed files with 232 additions and 231 deletions

View file

@ -260,7 +260,7 @@ export const ComponentCodeEditor: React.FC<ComponentCodeEditorProps> = ({
<Notification type="warning" duration={3000}>
Bileşen yalnızca <strong>return(...)</strong> bloğu içine eklenebilir.
</Notification>,
{ placement: 'top-end' },
{ placement: 'bottom-end' },
)
return
}

View file

@ -220,7 +220,7 @@ const MessengerWidgetContent = ({ className }: { className?: string }) => {
type="warning"
/>,
{
placement: 'top-end',
placement: 'bottom-end',
},
)
return
@ -284,7 +284,7 @@ const MessengerWidgetContent = ({ className }: { className?: string }) => {
type="warning"
/>,
{
placement: 'top-end',
placement: 'bottom-end',
},
)
return
@ -299,7 +299,7 @@ const MessengerWidgetContent = ({ className }: { className?: string }) => {
} catch {
toast.push(
<Notification title={translate('::MessengerWidget.FileUploadFailed')} type="danger" />,
{ placement: 'top-end' },
{ placement: 'bottom-end' },
)
} finally {
setUploading(false)
@ -317,7 +317,7 @@ const MessengerWidgetContent = ({ className }: { className?: string }) => {
type="warning"
/>,
{
placement: 'top-end',
placement: 'bottom-end',
},
)
return
@ -339,7 +339,7 @@ const MessengerWidgetContent = ({ className }: { className?: string }) => {
} catch {
toast.push(
<Notification title={translate('::MessengerWidget.MessageSendFailed')} type="danger" />,
{ placement: 'top-end' },
{ placement: 'bottom-end' },
)
}
}
@ -353,7 +353,7 @@ const MessengerWidgetContent = ({ className }: { className?: string }) => {
} catch {
toast.push(
<Notification title={translate('::MessengerWidget.MessageDeleteFailed')} type="danger" />,
{ placement: 'top-end' },
{ placement: 'bottom-end' },
)
}
}

View file

@ -28,7 +28,7 @@ const CopyButton = () => {
{`Please replace themeConfig in 'src/configs/themeConfig.js'`}
</Notification>,
{
placement: 'top-end',
placement: 'bottom-end',
},
)
}

View file

@ -37,7 +37,7 @@ const StyleSwitcher = ({ onStyleChange }: { onStyleChange?: () => void }) => {
const resp = await updateSettingValues(values)
if (resp.status !== 204) {
toast.push(<Notification title={resp?.error?.message} type="danger" />, {
placement: 'top-end',
placement: 'bottom-end',
})
}

View file

@ -74,7 +74,7 @@ const Upload = forwardRef<HTMLDivElement, UploadProps>((props, ref) => {
{msg || 'Upload Failed!'}
</Notification>,
{
placement: 'top-end',
placement: 'bottom-end',
},
)
}

View file

@ -33,7 +33,7 @@ export abstract class UiEvalService {
<Notification type="success" duration={2000}>
{UiEvalService.translate(toastKey)}
</Notification>,
{ placement: 'top-end' },
{ placement: 'bottom-end' },
)
}
@ -59,7 +59,7 @@ export abstract class UiEvalService {
<Notification type="info" duration={3000}>
{UiEvalService.translate('::App.DbMigrate.StartMessage')}
</Notification>,
{ placement: 'top-end' },
{ placement: 'bottom-end' },
)
openDbMigrateLogPanel()
streamSetupMigrate(
@ -72,7 +72,7 @@ export abstract class UiEvalService {
<Notification type="success" duration={5000}>
{UiEvalService.translate('::App.DbMigrate.EndMessage')}
</Notification>,
{ placement: 'top-end' },
{ placement: 'bottom-end' },
)
},
(err) => {
@ -82,7 +82,7 @@ export abstract class UiEvalService {
{UiEvalService.translate('::App.DbMigrate.ErrorMessage')}
{err instanceof Error ? `: ${err.message}` : ''}
</Notification>,
{ placement: 'top-end' },
{ placement: 'bottom-end' },
)
},
)

View file

@ -100,7 +100,7 @@ export class SignalRService {
this.connection.onreconnected(async () => {
this.isConnected = true
toast.push(<Notification title="🔄 Bağlantı tekrar kuruldu" type="success" />, {
placement: 'top-end',
placement: 'bottom-end',
})
if (this.currentSessionId && store.getState().auth.user) {
@ -113,7 +113,7 @@ export class SignalRService {
if (this.isKicked) {
toast.push(
<Notification title="⚠️ Bağlantı koptu, yeniden bağlanılıyor..." type="warning" />,
{ placement: 'top-end' },
{ placement: 'bottom-end' },
)
this.isConnected = false
this.currentSessionId = undefined
@ -132,19 +132,19 @@ export class SignalRService {
this.connection.on('Error', (message: string) => {
toast.push(<Notification title={`❌ Hata: ${message}`} type="danger" />, {
placement: 'top-end',
placement: 'bottom-end',
})
})
this.connection.on('Warning', (message: string) => {
toast.push(<Notification title={`⚠️ Uyarı: ${message}`} type="warning" />, {
placement: 'top-end',
placement: 'bottom-end',
})
})
this.connection.on('Info', (message: string) => {
toast.push(<Notification title={` Bilgi: ${message}`} type="info" />, {
placement: 'top-end',
placement: 'bottom-end',
})
})
@ -164,7 +164,7 @@ export class SignalRService {
this.connection.on('ForceDisconnect', async (message: string) => {
this.isKicked = true
toast.push(<Notification title={`❌ Sınıftan çıkarıldınız: ${message}`} type="danger" />, {
placement: 'top-end',
placement: 'bottom-end',
})
if (this.onForceCleanup) {
@ -200,7 +200,7 @@ export class SignalRService {
await Promise.race([startPromise, timeout])
this.isConnected = true
toast.push(<Notification title="✅ Bağlantı kuruldu" type="success" />, {
placement: 'top-end',
placement: 'bottom-end',
})
} catch {
toast.push(
@ -208,7 +208,7 @@ export class SignalRService {
title="⚠️ Sunucuya bağlanılamadı. Lütfen sayfayı yenileyin veya internet bağlantınızı kontrol edin."
type="danger"
/>,
{ placement: 'top-end' },
{ placement: 'bottom-end' },
)
this.isConnected = false
}
@ -236,7 +236,7 @@ export class SignalRService {
await this.connection.invoke('JoinClass', sessionId, userId, userName, isTeacher, isActive)
} catch {
toast.push(<Notification title="❌ Sınıfa katılamadı" type="danger" />, {
placement: 'top-end',
placement: 'bottom-end',
})
}
}
@ -254,7 +254,7 @@ export class SignalRService {
this.currentSessionId = undefined
} catch {
toast.push(<Notification title="⚠️ Çıkış başarısız" type="warning" />, {
placement: 'top-end',
placement: 'bottom-end',
})
}
}
@ -295,7 +295,7 @@ export class SignalRService {
)
} catch {
toast.push(<Notification title="❌ Mesaj gönderilemedi" type="danger" />, {
placement: 'top-end',
placement: 'bottom-end',
})
}
}
@ -342,7 +342,7 @@ export class SignalRService {
)
} catch {
toast.push(<Notification title="❌ Özel mesaj gönderilemedi" type="danger" />, {
placement: 'top-end',
placement: 'bottom-end',
})
}
}
@ -382,7 +382,7 @@ export class SignalRService {
)
} catch {
toast.push(<Notification title="❌ Duyuru gönderilemedi" type="danger" />, {
placement: 'top-end',
placement: 'bottom-end',
})
}
}
@ -404,7 +404,7 @@ export class SignalRService {
await this.connection.invoke('MuteParticipant', sessionId, userId, isMuted, isTeacher)
} catch {
toast.push(<Notification title="⚠️ Katılımcı susturulamadı" type="warning" />, {
placement: 'top-end',
placement: 'bottom-end',
})
}
}
@ -421,7 +421,7 @@ export class SignalRService {
await this.connection.invoke('RaiseHand', sessionId, studentId, studentName)
} catch {
toast.push(<Notification title="❌ El kaldırma başarısız" type="danger" />, {
placement: 'top-end',
placement: 'bottom-end',
})
}
}
@ -438,7 +438,7 @@ export class SignalRService {
await this.connection.invoke('KickParticipant', sessionId, participantId)
} catch {
toast.push(<Notification title="❌ Katılımcı atılamadı" type="danger" />, {
placement: 'top-end',
placement: 'bottom-end',
})
}
}
@ -455,7 +455,7 @@ export class SignalRService {
await this.connection.invoke('ApproveHandRaise', sessionId, studentId)
} catch {
toast.push(<Notification title="⚠️ El kaldırma onayı başarısız" type="warning" />, {
placement: 'top-end',
placement: 'bottom-end',
})
}
}
@ -472,7 +472,7 @@ export class SignalRService {
await this.connection.invoke('DismissHandRaise', sessionId, studentId)
} catch {
toast.push(<Notification title="⚠️ El indirme başarısız" type="warning" />, {
placement: 'top-end',
placement: 'bottom-end',
})
}
}
@ -552,7 +552,7 @@ export class SignalRService {
await this.connection.invoke('LeaveClass', this.currentSessionId)
} catch {
toast.push(<Notification title="⚠️ Bağlantı koparılırken hata" type="warning" />, {
placement: 'top-end',
placement: 'bottom-end',
})
}
}

View file

@ -53,7 +53,7 @@ export class WebRTCService {
title="❌ Kamera/Mikrofon erişilemedi. Tarayıcı ayarlarınızı veya izinleri kontrol edin."
type="danger"
/>,
{ placement: 'top-end' },
{ placement: 'bottom-end' },
)
throw new Error('Media devices access failed')
}
@ -105,7 +105,7 @@ export class WebRTCService {
title={`❌ Bağlantı kurulamadı (${this.maxRetries} deneme başarısız).`}
type="danger"
/>,
{ placement: 'top-end' },
{ placement: 'bottom-end' },
)
this.closePeerConnection(userId)
}
@ -150,7 +150,7 @@ export class WebRTCService {
return offer
} catch {
toast.push(<Notification title="❌ Offer oluşturulamadı" type="danger" />, {
placement: 'top-end',
placement: 'bottom-end',
})
throw new Error('Offer creation failed')
}
@ -170,7 +170,7 @@ export class WebRTCService {
return answer
} catch {
toast.push(<Notification title="❌ Answer oluşturulamadı" type="danger" />, {
placement: 'top-end',
placement: 'bottom-end',
})
throw new Error('Answer creation failed')
}
@ -238,7 +238,7 @@ export class WebRTCService {
}
} catch {
toast.push(<Notification title="❌ Kamera açılamadı" type="danger" />, {
placement: 'top-end',
placement: 'bottom-end',
})
}
}
@ -267,7 +267,7 @@ export class WebRTCService {
}
} catch {
toast.push(<Notification title="❌ Mikrofon açılamadı" type="danger" />, {
placement: 'top-end',
placement: 'bottom-end',
})
}
}
@ -286,12 +286,12 @@ export class WebRTCService {
await this.signalRService.sendOffer(this.sessionId, userId, offer)
} else {
toast.push(<Notification title="⚠️ Tekrar bağlanma başarısız" type="warning" />, {
placement: 'top-end',
placement: 'bottom-end',
})
}
} catch {
toast.push(<Notification title="❌ ICE restart başarısız" type="danger" />, {
placement: 'top-end',
placement: 'bottom-end',
})
}
}
@ -345,7 +345,7 @@ export class WebRTCService {
pc.removeTrack(sender)
} catch {
toast.push(<Notification title="⚠️ Track silinemedi" type="warning" />, {
placement: 'top-end',
placement: 'bottom-end',
})
}
if (sender.track?.readyState !== 'ended') {

View file

@ -94,7 +94,7 @@ function ChartTabSeries(props: FormEditProps & { listFormCode: string }) {
{error.toString()}
</Notification>,
{
placement: 'top-end',
placement: 'bottom-end',
},
)
}

View file

@ -170,7 +170,7 @@ function FormCustomization({
: translate('::ListForms.KayitEklendi')}
</Notification>,
{
placement: 'top-end',
placement: 'bottom-end',
},
)
setRow(null)
@ -180,7 +180,7 @@ function FormCustomization({
Hata
<code>{error}</code>
</Notification>,
{ placement: 'top-end' },
{ placement: 'bottom-end' },
)
} finally {
setSubmitting(false)
@ -336,7 +336,7 @@ function FormCustomization({
{translate('::ListForms.KayitSilindi')}
</Notification>,
{
placement: 'top-end',
placement: 'bottom-end',
},
)
getListFormCustomizations()

View file

@ -206,7 +206,7 @@ const FormEdit = () => {
<Notification type="success" duration={2000}>
{translate('::ListForms.FormBilgileriKaydedildi')}
</Notification>,
{ placement: 'top-end' },
{ placement: 'bottom-end' },
)
} catch (error: any) {
toast.push(
@ -214,7 +214,7 @@ const FormEdit = () => {
Hata
<code>{error}</code>
</Notification>,
{ placement: 'top-end' },
{ placement: 'bottom-end' },
)
} finally {
formikHelpers.setSubmitting(false)

View file

@ -57,7 +57,7 @@ function FormTabGantt(props: FormEditProps) {
{error.toString()}
</Notification>,
{
placement: 'top-end',
placement: 'bottom-end',
},
)
}

View file

@ -56,7 +56,7 @@ function FormTabScheduler(props: FormEditProps) {
{error.toString()}
</Notification>,
{
placement: 'top-end',
placement: 'bottom-end',
},
)
}

View file

@ -54,7 +54,7 @@ function FormTabTree(props: FormEditProps) {
{error.toString()}
</Notification>,
{
placement: 'top-end',
placement: 'bottom-end',
},
)
}

View file

@ -139,7 +139,7 @@ function FormFieldTabConditionalFormatting({
{translate('::ListForms.FormBilgileriKaydedildi')}
</Notification>,
{
placement: 'top-end',
placement: 'bottom-end',
},
)
handleClose()
@ -149,7 +149,7 @@ function FormFieldTabConditionalFormatting({
Hata
<code>{error}</code>
</Notification>,
{ placement: 'top-end' },
{ placement: 'bottom-end' },
)
}
}}
@ -199,7 +199,7 @@ function FormFieldTabConditionalFormatting({
{translate('::ListForms.FormBilgileriKaydedildi')}
</Notification>,
{
placement: 'top-end',
placement: 'bottom-end',
},
)
handleClose()
@ -209,7 +209,7 @@ function FormFieldTabConditionalFormatting({
Hata
<code>{error}</code>
</Notification>,
{ placement: 'top-end' },
{ placement: 'bottom-end' },
)
} finally {
setSubmitting(false)

View file

@ -157,7 +157,7 @@ function FormFieldTabValidationRules({
Hata
<code>{error}</code>
</Notification>,
{ placement: 'top-end' },
{ placement: 'bottom-end' },
)
}
}}
@ -209,7 +209,7 @@ function FormFieldTabValidationRules({
{translate('::ListForms.FormBilgileriKaydedildi')}
</Notification>,
{
placement: 'top-end',
placement: 'bottom-end',
},
)
handleClose()
@ -219,7 +219,7 @@ function FormFieldTabValidationRules({
Hata
<code>{error}</code>
</Notification>,
{ placement: 'top-end' },
{ placement: 'bottom-end' },
)
} finally {
setSubmitting(false)

View file

@ -162,7 +162,7 @@ function FormFields({
<Notification type="info" duration={2000}>
Tüm sütunlar zaten eklenmiş.
</Notification>,
{ placement: 'top-end' },
{ placement: 'bottom-end' },
)
return
}
@ -181,7 +181,7 @@ function FormFields({
<Notification type="success" duration={2000}>
{newCols.length} sütun eklendi.
</Notification>,
{ placement: 'top-end' },
{ placement: 'bottom-end' },
)
await getFields()
} catch (error: any) {
@ -189,7 +189,7 @@ function FormFields({
<Notification type="danger">
Hata: <code>{error.toString()}</code>
</Notification>,
{ placement: 'top-end' },
{ placement: 'bottom-end' },
)
} finally {
setIsAddingAllColumns(false)
@ -250,7 +250,7 @@ function FormFields({
{error.toString()}
</Notification>,
{
placement: 'top-end',
placement: 'bottom-end',
},
)
}
@ -287,7 +287,7 @@ function FormFields({
<Notification type="success" duration={2000}>
{translate('::ListForms.FormBilgileriKaydedildi')}
</Notification>,
{ placement: 'top-end' },
{ placement: 'bottom-end' },
)
} catch (error: any) {
toast.push(
@ -295,7 +295,7 @@ function FormFields({
Hata
<code>{error}</code>
</Notification>,
{ placement: 'top-end' },
{ placement: 'bottom-end' },
)
} finally {
formikHelpers?.setSubmitting(false)
@ -332,7 +332,7 @@ function FormFields({
<Notification type="success" duration={100}>
{'Alanlar geldi'}
</Notification>,
{ placement: 'top-end' },
{ placement: 'bottom-end' },
)
})
setSubmitting(false)
@ -546,7 +546,7 @@ function FormFields({
: translate('::ListForms.KayitEklendi')}
</Notification>,
{
placement: 'top-end',
placement: 'bottom-end',
},
)
handleNewFieldFormClose()
@ -556,7 +556,7 @@ function FormFields({
Hata
<code>{error}</code>
</Notification>,
{ placement: 'top-end' },
{ placement: 'bottom-end' },
)
} finally {
setSubmitting(false)
@ -723,7 +723,7 @@ function FormFields({
{translate('::ListForms.KayitSilindi')}
</Notification>,
{
placement: 'top-end',
placement: 'bottom-end',
},
)
getFields()
@ -777,7 +777,7 @@ function FormFields({
await postListFormFieldCopy({ ...values })
toast.push(<Notification type="success">{'Field Kopyalandı.'}</Notification>, {
placement: 'top-end',
placement: 'bottom-end',
})
handleCopyFieldFormClose()
} catch (error: any) {
@ -786,7 +786,7 @@ function FormFields({
Hata
<code>{error}</code>
</Notification>,
{ placement: 'top-end' },
{ placement: 'bottom-end' },
)
} finally {
setSubmitting(false)

View file

@ -149,7 +149,7 @@ function JsonRowOpDialogAnnotation({
<Notification type="success">
{data.index === -1 ? 'Kayıt eklendi' : 'Kayıt güncellendi'}
</Notification>,
{ placement: 'top-end' },
{ placement: 'bottom-end' },
)
handleClose()
} catch (error: any) {
@ -158,7 +158,7 @@ function JsonRowOpDialogAnnotation({
Hata
<code>{error}</code>
</Notification>,
{ placement: 'top-end' },
{ placement: 'bottom-end' },
)
} finally {
setSubmitting(false)
@ -450,7 +450,7 @@ function JsonRowOpDialogAnnotation({
try {
await deleteListFormJsonRow(data.id, data.tabName, values.index)
toast.push(<Notification type="success">Kayıt silindi </Notification>, {
placement: 'top-end',
placement: 'bottom-end',
})
handleClose()
} catch (error: any) {
@ -459,7 +459,7 @@ function JsonRowOpDialogAnnotation({
Hata
<code>{error}</code>
</Notification>,
{ placement: 'top-end' },
{ placement: 'bottom-end' },
)
} finally {
setSubmitting(false)

View file

@ -163,7 +163,7 @@ function JsonRowOpDialogAxis({
<Notification type="success">
{data.index === -1 ? 'Kayıt eklendi' : 'Kayıt güncellendi'}
</Notification>,
{ placement: 'top-end' },
{ placement: 'bottom-end' },
)
handleClose()
} catch (error: any) {
@ -172,7 +172,7 @@ function JsonRowOpDialogAxis({
Hata
<code>{error}</code>
</Notification>,
{ placement: 'top-end' },
{ placement: 'bottom-end' },
)
} finally {
setSubmitting(false)
@ -484,7 +484,7 @@ function JsonRowOpDialogAxis({
try {
await deleteListFormJsonRow(data.id, data.tabName, values.index)
toast.push(<Notification type="success">Kayıt silindi </Notification>, {
placement: 'top-end',
placement: 'bottom-end',
})
handleClose()
} catch (error: any) {
@ -493,7 +493,7 @@ function JsonRowOpDialogAxis({
Hata
<code>{error}</code>
</Notification>,
{ placement: 'top-end' },
{ placement: 'bottom-end' },
)
} finally {
setSubmitting(false)

View file

@ -141,7 +141,7 @@ function JsonRowOpDialogCommand({
<Notification type="success">
{data.index === -1 ? 'Kayıt eklendi' : 'Kayıt güncellendi'}
</Notification>,
{ placement: 'top-end' },
{ placement: 'bottom-end' },
)
handleClose()
} catch (error: any) {
@ -150,7 +150,7 @@ function JsonRowOpDialogCommand({
Hata
<code>{error}</code>
</Notification>,
{ placement: 'top-end' },
{ placement: 'bottom-end' },
)
} finally {
setSubmitting(false)
@ -390,7 +390,7 @@ function JsonRowOpDialogCommand({
try {
await deleteListFormJsonRow(data.id, data.tabName, values.index)
toast.push(<Notification type="success">Kayıt silindi </Notification>, {
placement: 'top-end',
placement: 'bottom-end',
})
handleClose()
} catch (error: any) {
@ -399,7 +399,7 @@ function JsonRowOpDialogCommand({
Hata
<code>{error}</code>
</Notification>,
{ placement: 'top-end' },
{ placement: 'bottom-end' },
)
} finally {
setSubmitting(false)

View file

@ -123,7 +123,7 @@ function JsonRowOpDialogDatabase({
<Notification type="success">
{data.index === -1 ? 'Kayıt eklendi' : 'Kayıt güncellendi'}
</Notification>,
{ placement: 'top-end' },
{ placement: 'bottom-end' },
)
handleClose()
} catch (error: any) {
@ -132,7 +132,7 @@ function JsonRowOpDialogDatabase({
Hata
<code>{error}</code>
</Notification>,
{ placement: 'top-end' },
{ placement: 'bottom-end' },
)
} finally {
setSubmitting(false)
@ -263,7 +263,7 @@ function JsonRowOpDialogDatabase({
try {
await deleteListFormJsonRow(data.id, data.tabName, values.index)
toast.push(<Notification type="success">Kayıt silindi </Notification>, {
placement: 'top-end',
placement: 'bottom-end',
})
handleClose()
} catch (error: any) {
@ -272,7 +272,7 @@ function JsonRowOpDialogDatabase({
Hata
<code>{error}</code>
</Notification>,
{ placement: 'top-end' },
{ placement: 'bottom-end' },
)
} finally {
setSubmitting(false)

View file

@ -109,7 +109,7 @@ function JsonRowOpDialogEditForm({
{error.toString()}
</Notification>,
{
placement: 'top-end',
placement: 'bottom-end',
},
)
}
@ -180,7 +180,7 @@ function JsonRowOpDialogEditForm({
<Notification type="success">
{data.index === -1 ? 'Kayıt eklendi' : 'Kayıt güncellendi'}
</Notification>,
{ placement: 'top-end' },
{ placement: 'bottom-end' },
)
handleClose()
} catch (error: any) {
@ -189,7 +189,7 @@ function JsonRowOpDialogEditForm({
Hata
<code>{error}</code>
</Notification>,
{ placement: 'top-end' },
{ placement: 'bottom-end' },
)
} finally {
setSubmitting(false)
@ -920,7 +920,7 @@ function JsonRowOpDialogEditForm({
Hata
<code>{error}</code>
</Notification>,
{ placement: 'top-end' },
{ placement: 'bottom-end' },
)
} finally {
setSubmitting(false)

View file

@ -100,7 +100,7 @@ function JsonRowOpDialogExtraFilter({
{error.toString()}
</Notification>,
{
placement: 'top-end',
placement: 'bottom-end',
},
)
}
@ -158,7 +158,7 @@ function JsonRowOpDialogExtraFilter({
<Notification type="success">
{data.index === -1 ? 'Kayıt eklendi' : 'Kayıt güncellendi'}
</Notification>,
{ placement: 'top-end' },
{ placement: 'bottom-end' },
)
handleClose()
} catch (error: any) {
@ -167,7 +167,7 @@ function JsonRowOpDialogExtraFilter({
Hata
<code>{error}</code>
</Notification>,
{ placement: 'top-end' },
{ placement: 'bottom-end' },
)
} finally {
setSubmitting(false)
@ -310,7 +310,7 @@ function JsonRowOpDialogExtraFilter({
try {
await deleteListFormJsonRow(data.id, data.tabName, values.index)
toast.push(<Notification type="success">Kayıt silindi </Notification>, {
placement: 'top-end',
placement: 'bottom-end',
})
handleClose()
} catch (error: any) {
@ -319,7 +319,7 @@ function JsonRowOpDialogExtraFilter({
Hata
<code>{error}</code>
</Notification>,
{ placement: 'top-end' },
{ placement: 'bottom-end' },
)
} finally {
setSubmitting(false)

View file

@ -96,7 +96,7 @@ function JsonRowOpDialogPane({
<Notification type="success">
{data.index === -1 ? 'Kayıt eklendi' : 'Kayıt güncellendi'}
</Notification>,
{ placement: 'top-end' },
{ placement: 'bottom-end' },
)
handleClose()
} catch (error: any) {
@ -105,7 +105,7 @@ function JsonRowOpDialogPane({
Hata
<code>{error}</code>
</Notification>,
{ placement: 'top-end' },
{ placement: 'bottom-end' },
)
} finally {
setSubmitting(false)
@ -174,7 +174,7 @@ function JsonRowOpDialogPane({
try {
await deleteListFormJsonRow(data.id, data.tabName, values.index)
toast.push(<Notification type="success">Kayıt silindi </Notification>, {
placement: 'top-end',
placement: 'bottom-end',
})
handleClose()
} catch (error: any) {
@ -183,7 +183,7 @@ function JsonRowOpDialogPane({
Hata
<code>{error}</code>
</Notification>,
{ placement: 'top-end' },
{ placement: 'bottom-end' },
)
} finally {
setSubmitting(false)

View file

@ -189,7 +189,7 @@ function JsonRowOpDialogSeries({
<Notification type="success">
{data.index === -1 ? 'Kayıt eklendi' : 'Kayıt güncellendi'}
</Notification>,
{ placement: 'top-end' },
{ placement: 'bottom-end' },
)
handleClose()
} catch (error: any) {
@ -198,7 +198,7 @@ function JsonRowOpDialogSeries({
Hata
<code>{error}</code>
</Notification>,
{ placement: 'top-end' },
{ placement: 'bottom-end' },
)
} finally {
setSubmitting(false)
@ -553,7 +553,7 @@ function JsonRowOpDialogSeries({
try {
await deleteListFormJsonRow(data.id, data.tabName, values.index)
toast.push(<Notification type="success">Kayıt silindi </Notification>, {
placement: 'top-end',
placement: 'bottom-end',
})
handleClose()
} catch (error: any) {
@ -562,7 +562,7 @@ function JsonRowOpDialogSeries({
Hata
<code>{error}</code>
</Notification>,
{ placement: 'top-end' },
{ placement: 'bottom-end' },
)
} finally {
setSubmitting(false)

View file

@ -188,7 +188,7 @@ function JsonRowOpDialogSubForm({
<Notification type="success">
{data.index === -1 ? 'Kayıt eklendi' : 'Kayıt güncellendi'}
</Notification>,
{ placement: 'top-end' },
{ placement: 'bottom-end' },
)
handleClose()
} catch (error: any) {
@ -197,7 +197,7 @@ function JsonRowOpDialogSubForm({
Hata
<code>{error}</code>
</Notification>,
{ placement: 'top-end' },
{ placement: 'bottom-end' },
)
} finally {
setSubmitting(false)
@ -459,7 +459,7 @@ function JsonRowOpDialogSubForm({
Hata
<code>{error}</code>
</Notification>,
{ placement: 'top-end' },
{ placement: 'bottom-end' },
)
} finally {
setSubmitting(false)

View file

@ -119,7 +119,7 @@ function JsonRowOpDialogWidget({
<Notification type="success">
{data.index === -1 ? 'Kayıt eklendi' : 'Kayıt güncellendi'}
</Notification>,
{ placement: 'top-end' },
{ placement: 'bottom-end' },
)
handleClose()
} catch (error: any) {
@ -128,7 +128,7 @@ function JsonRowOpDialogWidget({
Hata
<code>{error}</code>
</Notification>,
{ placement: 'top-end' },
{ placement: 'bottom-end' },
)
} finally {
setSubmitting(false)
@ -442,7 +442,7 @@ function JsonRowOpDialogWidget({
try {
await deleteListFormJsonRow(data.id, data.tabName, values.index)
toast.push(<Notification type="success">Kayıt silindi </Notification>, {
placement: 'top-end',
placement: 'bottom-end',
})
handleClose()
} catch (error: any) {
@ -451,7 +451,7 @@ function JsonRowOpDialogWidget({
Hata
<code>{error}</code>
</Notification>,
{ placement: 'top-end' },
{ placement: 'bottom-end' },
)
} finally {
setSubmitting(false)

View file

@ -523,7 +523,7 @@ const Wizard = () => {
<Notification type="danger">
{translate('::App.Listforms.WizardFileLoadError') || 'Failed to load wizard file.'}
</Notification>,
{ placement: 'top-end' },
{ placement: 'bottom-end' },
)
} finally {
setIsLoadingEditData(false)
@ -750,7 +750,7 @@ const Wizard = () => {
<Notification type="success" duration={2000}>
{translate('::ListForms.FormBilgileriKaydedildi')}
</Notification>,
{ placement: 'top-end' },
{ placement: 'bottom-end' },
)
} catch (err) {
console.error(err)

View file

@ -65,7 +65,7 @@ const WizardFileManager = () => {
<Notification type="danger">
{translate('::App.Listforms.WizardFileLoadError') || 'Failed to load wizard files.'}
</Notification>,
{ placement: 'top-end' },
{ placement: 'bottom-end' },
)
} finally {
setLoading(false)
@ -88,7 +88,7 @@ const WizardFileManager = () => {
{translate('::App.Listforms.WizardFileDeleteSuccess') ||
'wizard file deleted successfully.'}
</Notification>,
{ placement: 'top-end' },
{ placement: 'bottom-end' },
)
await loadFiles()
} catch (err: any) {
@ -97,7 +97,7 @@ const WizardFileManager = () => {
{translate('::App.Listforms.WizardFileDeleteError') || 'Failed to delete wizard file.'}:{' '}
{err?.message ?? 'Unknown error'}
</Notification>,
{ placement: 'top-end' },
{ placement: 'bottom-end' },
)
} finally {
setDeletingFile(null)

View file

@ -344,7 +344,7 @@ function MenuTreeInline({
onReload()
setEditingCode(null)
} catch (e: any) {
toast.push(<Notification title={e.message} type="danger" />, { placement: 'top-end' })
toast.push(<Notification title={e.message} type="danger" />, { placement: 'bottom-end' })
} finally {
setSaving(false)
}
@ -363,7 +363,7 @@ function MenuTreeInline({
await menuService.delete(node.id)
onReload()
} catch (e: any) {
toast.push(<Notification title={e.message} type="danger" />, { placement: 'top-end' })
toast.push(<Notification title={e.message} type="danger" />, { placement: 'bottom-end' })
} finally {
setSaving(false)
}

View file

@ -50,7 +50,7 @@ function CreateNotification({
{translate('::Kaydet')}
</Notification>,
{
placement: 'top-end',
placement: 'bottom-end',
},
)
onDialogClose()
@ -60,7 +60,7 @@ function CreateNotification({
{'Hata'}
</Notification>,
{
placement: 'top-end',
placement: 'bottom-end',
},
)
} finally {

View file

@ -226,7 +226,7 @@ const OrganizationUnits = () => {
{translate('::Kaydet')}
</Notification>,
{
placement: 'top-end',
placement: 'bottom-end',
},
)
@ -238,7 +238,7 @@ const OrganizationUnits = () => {
Hata
</Notification>,
{
placement: 'top-end',
placement: 'bottom-end',
},
)
} finally {
@ -295,7 +295,7 @@ const OrganizationUnits = () => {
Hata
</Notification>,
{
placement: 'top-end',
placement: 'bottom-end',
},
)
} finally {
@ -331,7 +331,7 @@ const OrganizationUnits = () => {
{translate('::Kaydet')}
</Notification>,
{
placement: 'top-end',
placement: 'bottom-end',
},
)
@ -342,7 +342,7 @@ const OrganizationUnits = () => {
Hata
</Notification>,
{
placement: 'top-end',
placement: 'bottom-end',
},
)
} finally {
@ -364,7 +364,7 @@ const OrganizationUnits = () => {
{translate('::Kaydet')}
</Notification>,
{
placement: 'top-end',
placement: 'bottom-end',
},
)
@ -375,7 +375,7 @@ const OrganizationUnits = () => {
Hata
</Notification>,
{
placement: 'top-end',
placement: 'bottom-end',
},
)
} finally {
@ -783,7 +783,7 @@ const OrganizationUnits = () => {
Updated
</Notification>,
{
placement: 'top-end',
placement: 'bottom-end',
},
)
await fetchUsersAndRoles(activeOu)
@ -794,7 +794,7 @@ const OrganizationUnits = () => {
Hata
</Notification>,
{
placement: 'top-end',
placement: 'bottom-end',
},
)
} finally {
@ -854,7 +854,7 @@ const OrganizationUnits = () => {
{translate('::ListForms.FormBilgileriKaydedildi')}
</Notification>,
{
placement: 'top-end',
placement: 'bottom-end',
},
)
await fetchUsersAndRoles(activeOu)
@ -865,7 +865,7 @@ const OrganizationUnits = () => {
Hata
</Notification>,
{
placement: 'top-end',
placement: 'bottom-end',
},
)
} finally {
@ -934,7 +934,7 @@ const OrganizationUnits = () => {
{translate('::KayitSilindi')}
</Notification>,
{
placement: 'top-end',
placement: 'bottom-end',
},
)
} catch (error) {
@ -943,7 +943,7 @@ const OrganizationUnits = () => {
Hata
</Notification>,
{
placement: 'top-end',
placement: 'bottom-end',
},
)
} finally {
@ -981,7 +981,7 @@ const OrganizationUnits = () => {
{translate('::Abp.Identity.OrganizationUnit.MoveAllUsersMessage')}
</Notification>,
{
placement: 'top-end',
placement: 'bottom-end',
},
)
await fetchUsersAndRoles(values.id)
@ -992,7 +992,7 @@ const OrganizationUnits = () => {
Hata
</Notification>,
{
placement: 'top-end',
placement: 'bottom-end',
},
)
} finally {

View file

@ -123,11 +123,11 @@ const General = () => {
})
toast.push(<Notification title={'Profil güncellendi'} type="success" />, {
placement: 'top-end',
placement: 'bottom-end',
})
} else {
toast.push(<Notification title={resp?.error?.message} type="danger" />, {
placement: 'top-end',
placement: 'bottom-end',
})
}
setSubmitting(false)

View file

@ -36,11 +36,11 @@ const Password = () => {
const resp = await changePassword(values.password, values.newPassword)
if (resp.status === 204) {
toast.push(<Notification title={'Password updated'} type="success" />, {
placement: 'top-end',
placement: 'bottom-end',
})
} else {
toast.push(<Notification title={resp?.error?.message} type="danger" />, {
placement: 'top-end',
placement: 'bottom-end',
})
}
setSubmitting(false)

View file

@ -47,7 +47,7 @@ const Roles = () => {
toast.push(
<RolesPermission open={true} name={'admin'} onDialogClose={() => {}}></RolesPermission>,
{
placement: 'top-end',
placement: 'bottom-end',
},
)
}}

View file

@ -16,6 +16,7 @@ import { getPermissions, getRoles, updatePermissions } from '@/services/identity
import { useStoreActions, useStoreState } from '@/store'
import { useLocalization } from '@/utils/hooks/useLocalization'
import { ChangeEvent, useEffect, useMemo, useState } from 'react'
import { MULTIVALUE_DELIMITER } from '@/constants/app.constant'
type OpenState = Record<string, boolean>
@ -242,7 +243,7 @@ function RolesPermission({
if (!perm.menuGroup) return false
const groups =
typeof perm.menuGroup === 'string'
? perm.menuGroup.split('|').map((g: string) => g.trim())
? perm.menuGroup.split(MULTIVALUE_DELIMITER).map((g: string) => g.trim())
: perm.menuGroup
return groups.includes(tenantGroup)
})
@ -304,7 +305,7 @@ function RolesPermission({
await getConfig(false)
toast.push(<Notification title={'Permission updated'} type="success" />, {
placement: 'top-end',
placement: 'bottom-end',
})
}
@ -509,14 +510,14 @@ function RolesPermission({
setPermissionList({ ...permissionList })
changeGroup(selectedGroup?.name)
toast.push(<Notification title={translate('::PermissionsCopied')} type="success" />, {
placement: 'top-end',
placement: 'bottom-end',
})
setCopyDialogOpen(false)
setCopyDialogRole('')
} catch (e) {
console.error('Failed to copy permissions:', e)
toast.push(<Notification title={translate('::CopyFailed')} type="danger" />, {
placement: 'top-end',
placement: 'bottom-end',
})
} finally {
setIsLoading(false)

View file

@ -86,7 +86,7 @@ const CreateTenantFromOrderDialog = ({
<Notification type="success" duration={2500}>
{translate('::App.Platform.SaveSuccess') || 'Tenant kaydedildi'}
</Notification>,
{ placement: 'top-end' },
{ placement: 'bottom-end' },
)
onDialogClose()
@ -101,7 +101,7 @@ const CreateTenantFromOrderDialog = ({
<Notification type="danger" duration={5000}>
{message}
</Notification>,
{ placement: 'top-end' },
{ placement: 'bottom-end' },
)
} finally {
setSubmitting(false)

View file

@ -95,7 +95,7 @@ function TenantConnectionString({
{translate('::AbpTenantManagement.Tenants.ConnectionStringDeleted')}
</Notification>,
{
placement: 'top-end',
placement: 'bottom-end',
},
)
onDialogClose()
@ -105,7 +105,7 @@ function TenantConnectionString({
{'Hata'}
</Notification>,
{
placement: 'top-end',
placement: 'bottom-end',
},
)
}
@ -128,7 +128,7 @@ function TenantConnectionString({
{translate('::AbpTenantManagement.Tenants.ConnectionStringSaved')}
</Notification>,
{
placement: 'top-end',
placement: 'bottom-end',
},
)
@ -139,7 +139,7 @@ function TenantConnectionString({
{'Hata'}
</Notification>,
{
placement: 'top-end',
placement: 'bottom-end',
},
)
} finally {
@ -177,7 +177,7 @@ function TenantConnectionString({
{translate('::AbpTenantManagement.Tenants.DatabaseSeeded')}
</Notification>,
{
placement: 'top-end',
placement: 'bottom-end',
},
)
@ -194,7 +194,7 @@ function TenantConnectionString({
{errorMessage}
</Notification>,
{
placement: 'top-end',
placement: 'bottom-end',
},
)
} finally {

View file

@ -205,7 +205,7 @@ function UserDetails() {
{translate('::Kaydet')}
</Notification>,
{
placement: 'top-end',
placement: 'bottom-end',
},
)
setOpen(false)
@ -216,7 +216,7 @@ function UserDetails() {
{'Hata'}
</Notification>,
{
placement: 'top-end',
placement: 'bottom-end',
},
)
} finally {
@ -296,7 +296,7 @@ function UserDetails() {
(resp as { error?: { message?: string } })?.error?.message || 'Hata'
toast.push(<Notification title={errorMessage} type="danger" />, {
placement: 'top-end',
placement: 'bottom-end',
})
}
}
@ -306,7 +306,7 @@ function UserDetails() {
{translate('::Kaydet')}
</Notification>,
{
placement: 'top-end',
placement: 'bottom-end',
},
)
@ -614,7 +614,7 @@ function UserDetails() {
{translate('::Abp.Identity.User.SavePermission')}
</Notification>,
{
placement: 'top-end',
placement: 'bottom-end',
},
)
@ -725,7 +725,7 @@ function UserDetails() {
{translate('::Kaydet')}
</Notification>,
{
placement: 'top-end',
placement: 'bottom-end',
},
)
@ -907,7 +907,7 @@ function UserDetails() {
{translate('::Kaydet')}
</Notification>,
{
placement: 'top-end',
placement: 'bottom-end',
},
)
@ -1265,7 +1265,7 @@ function UserDetails() {
{translate('::Abp.Identity.User.SaveLockout')}
</Notification>,
{
placement: 'top-end',
placement: 'bottom-end',
},
)
@ -1773,7 +1773,7 @@ function UserDetails() {
<Notification type="success" duration={2000}>
{translate('::Abp.Identity.User.ClaimDeleted')}
</Notification>,
{ placement: 'top-end' },
{ placement: 'bottom-end' },
)
setConfirmDeleteClaim(null)
getUser()

View file

@ -302,7 +302,7 @@ function UsersPermission({
await getConfig(false)
toast.push(<Notification title={'Permission updated'} type="success" />, {
placement: 'top-end',
placement: 'bottom-end',
})
}

View file

@ -276,7 +276,7 @@ const RoomDetail = () => {
if (!isActive) return
toast.push(<Notification title={`${name} sınıfa katıldı`} type="success" />, {
placement: 'top-end',
placement: 'bottom-end',
})
// Statee ekle
@ -361,7 +361,7 @@ const RoomDetail = () => {
title={`Katılımcı ayrıldı: ${userName ?? 'Bilinmeyen'}`}
type="warning"
/>,
{ placement: 'top-end' },
{ placement: 'bottom-end' },
)
}
@ -437,7 +437,7 @@ const RoomDetail = () => {
title="❌ Sınıf servisleri başlatılamadı. Bağlantınızı veya tarayıcı izinlerini kontrol edin."
type="danger"
/>,
{ placement: 'top-end' },
{ placement: 'bottom-end' },
)
}
}
@ -478,7 +478,7 @@ const RoomDetail = () => {
} catch (err) {
console.error(ıkış sırasında hata oluştu:', err)
toast.push(<Notification title="⚠️ Çıkış sırasında hata oluştu" type="warning" />, {
placement: 'top-end',
placement: 'bottom-end',
})
navigate(ROUTES_ENUM.protected.admin.videoroom.roomList)
}
@ -501,7 +501,7 @@ const RoomDetail = () => {
} catch (error) {
console.error('Özel mesaj gönderilemedi:', error)
toast.push(<Notification title="❌ Özel mesaj gönderilemedi" type="danger" />, {
placement: 'top-end',
placement: 'bottom-end',
})
}
} else if (messageMode === 'announcement' && user.role === 'teacher') {
@ -516,7 +516,7 @@ const RoomDetail = () => {
} catch (error) {
console.error('Duyuru gönderilemedi:', error)
toast.push(<Notification title="❌ Duyuru gönderilemedi" type="danger" />, {
placement: 'top-end',
placement: 'bottom-end',
})
}
} else {
@ -531,7 +531,7 @@ const RoomDetail = () => {
} catch (error) {
console.error('Genel mesaj gönderilemedi:', error)
toast.push(<Notification title="❌ Genel mesaj gönderilemedi" type="danger" />, {
placement: 'top-end',
placement: 'bottom-end',
})
}
}
@ -555,7 +555,7 @@ const RoomDetail = () => {
} catch (err) {
console.error('Katılımcı susturulamadı:', err)
toast.push(<Notification title="❌ Katılımcı susturulamadı" type="danger" />, {
placement: 'top-end',
placement: 'bottom-end',
})
}
}
@ -618,7 +618,7 @@ const RoomDetail = () => {
} catch (error) {
console.error('Katılımcı atılamadı:', error)
toast.push(<Notification title="❌ Katılımcı atılamadı" type="danger" />, {
placement: 'top-end',
placement: 'bottom-end',
})
}
}
@ -685,7 +685,7 @@ const RoomDetail = () => {
} catch (error) {
console.error('Ekran paylaşımı başlatılamadı:', error)
toast.push(<Notification title="❌ Ekran paylaşımı başlatılamadı" type="danger" />, {
placement: 'top-end',
placement: 'bottom-end',
})
}
}

View file

@ -20,11 +20,11 @@ function BranchSeedContent({ id, name }: { id: string; name: string }) {
if (data.success) {
toast.push(<Notification title="Seed işlemi başarılı" type="success" />, {
placement: 'top-end',
placement: 'bottom-end',
})
} else {
toast.push(<Notification title="Seed işlemi başarısız" type="danger" />, {
placement: 'top-end',
placement: 'bottom-end',
})
}
} catch (error) {
@ -36,7 +36,7 @@ function BranchSeedContent({ id, name }: { id: string; name: string }) {
details: [],
})
toast.push(<Notification title="Seed işlemi sırasında hata oluştu" type="danger" />, {
placement: 'top-end',
placement: 'bottom-end',
})
} finally {
setIsLoading(false)

View file

@ -78,7 +78,7 @@ function ComponentCodeLayout() {
Bileşen başarıyla kaydedildi.
</Notification>,
{
placement: 'top-end',
placement: 'bottom-end',
},
)
}

View file

@ -105,12 +105,12 @@ const FormButtons = (props: {
{translate('::KayitSilindi')}
</Notification>,
{
placement: 'top-end',
placement: 'bottom-end',
},
)
} catch (error: any) {
toast.push(<Notification title={error.message} type="danger" />, {
placement: 'top-end',
placement: 'bottom-end',
})
}
}

View file

@ -1,4 +1,4 @@
import { DX_CLASSNAMES } from '@/constants/app.constant'
import { DX_CLASSNAMES, MULTIVALUE_DELIMITER } from '@/constants/app.constant'
import { executeEditorScript } from '@/utils/editorScriptRuntime'
import {
Form as FormDx,
@ -445,7 +445,7 @@ const FormDevExpress = (props: {
.flatMap((group) => flattenFormItems([group]))
.filter((formItem) => shouldRunEditorScriptOnContentReady(formItem.editorScript))
.map((formItem) => formItem.dataField)
.join('|')
.join(MULTIVALUE_DELIMITER)
if (!scriptFields) {
return

View file

@ -79,7 +79,7 @@ const useGridData = (props: {
}
} catch (error: any) {
toast.push(<Notification title={error.message} type="danger" />, {
placement: 'top-end',
placement: 'bottom-end',
})
} finally {
setLoading(false)
@ -113,7 +113,7 @@ const useGridData = (props: {
{translate('::ListForms.FormBilgileriKaydedildi')}
</Notification>,
{
placement: 'top-end',
placement: 'bottom-end',
},
)
} else {
@ -151,7 +151,7 @@ const useGridData = (props: {
{translate('::ListForms.FormBilgileriKaydedildi')}
</Notification>,
{
placement: 'top-end',
placement: 'bottom-end',
},
)
} else {
@ -160,7 +160,7 @@ const useGridData = (props: {
}
} catch (error: any) {
toast.push(<Notification title={error.message} type="danger" />, {
placement: 'top-end',
placement: 'bottom-end',
})
} finally {
setLoading(false)

View file

@ -15,7 +15,7 @@ import { AnnouncementCommentDto, AnnouncementDto } from '@/proxy/intranet/models
import useLocale from '@/utils/hooks/useLocale'
import { currentLocalDate } from '@/utils/dateUtils'
import Avatar from '@/components/ui/Avatar/Avatar'
import { AVATAR_URL } from '@/constants/app.constant'
import { AVATAR_URL, MULTIVALUE_DELIMITER } from '@/constants/app.constant'
import { intranetService } from '@/services/intranet.service'
import dayjs from 'dayjs'
import relativeTime from 'dayjs/plugin/relativeTime'
@ -121,7 +121,7 @@ function AnnouncementModalContent({ announcement, onClose, onLikeChange }: Annou
announcementUser.fullName ||
[announcementUser.name, announcementUser.surname].filter(Boolean).join(' ') ||
'-'
const images = announcement.imageUrl ? announcement.imageUrl.split('|').filter(Boolean) : []
const images = announcement.imageUrl ? announcement.imageUrl.split(MULTIVALUE_DELIMITER).filter(Boolean) : []
const attachments = Array.isArray(announcement.attachments) ? announcement.attachments : []
const category = announcement.category || 'general'

View file

@ -15,7 +15,7 @@ import { EventCommentDto, EventDto } from '@/proxy/intranet/models'
import useLocale from '@/utils/hooks/useLocale'
import { currentLocalDate } from '@/utils/dateUtils'
import Avatar from '@/components/ui/Avatar/Avatar'
import { AVATAR_URL } from '@/constants/app.constant'
import { AVATAR_URL, MULTIVALUE_DELIMITER } from '@/constants/app.constant'
import { intranetService } from '@/services/intranet.service'
import dayjs from 'dayjs'
import relativeTime from 'dayjs/plugin/relativeTime'
@ -34,7 +34,7 @@ interface EventModalProps {
function EventModalContent({ event, onClose, onLikeChange }: EventModalProps) {
const currentLocale = useLocale()
const photos = (event.photos || '').split('|').filter(Boolean)
const photos = (event.photos || '').split(MULTIVALUE_DELIMITER).filter(Boolean)
const { translate } = useLocalization()
const { isMaximized } = useDialogContext()

View file

@ -6,7 +6,7 @@ import useLocale from '@/utils/hooks/useLocale'
import { currentLocalDate } from '@/utils/dateUtils'
import { useLocalization } from '@/utils/hooks/useLocalization'
import { Avatar } from '@/components/ui'
import { AVATAR_URL } from '@/constants/app.constant'
import { AVATAR_URL, MULTIVALUE_DELIMITER } from '@/constants/app.constant'
import { imageSrc } from './widgetUtils'
import type { DashboardWidgetDefinition } from '../dashboardWidget'
@ -17,7 +17,7 @@ interface EventsProps {
const getFirstPhoto = (photos?: string): string | null => {
if (!photos) return null
const parts = photos.split('|').filter(Boolean)
const parts = photos.split(MULTIVALUE_DELIMITER).filter(Boolean)
return parts.length > 0 ? parts[0] : null
}

View file

@ -124,7 +124,7 @@ const ChartDrawer = ({
{translate('::App.Platform.ChartDrawer.ChartSaved')}
</Notification>,
{
placement: 'top-end',
placement: 'bottom-end',
},
)
onClose()
@ -134,7 +134,7 @@ const ChartDrawer = ({
{translate('::App.Platform.Error')}
<code>{error}</code>
</Notification>,
{ placement: 'top-end' },
{ placement: 'bottom-end' },
)
} finally {
setSubmitting(false)

View file

@ -345,7 +345,7 @@ const Grid = (props: GridProps) => {
{translate('::ListForms.ListForm.GridStateSaved')}
</Notification>,
{
placement: 'top-end',
placement: 'bottom-end',
},
)
})
@ -355,7 +355,7 @@ const Grid = (props: GridProps) => {
{translate('::ListForms.ListForm.GridStateSaveError')}
</Notification>,
{
placement: 'top-end',
placement: 'bottom-end',
},
)
throw err
@ -713,7 +713,7 @@ const Grid = (props: GridProps) => {
{e.error?.message}
</Notification>,
{
placement: 'top-end',
placement: 'bottom-end',
},
)
}, [])
@ -1414,7 +1414,7 @@ const Grid = (props: GridProps) => {
<Notification type="danger" duration={2500}>
{translate('::App.Common.ExportError') ?? 'Dışa aktarma sırasında hata oluştu.'}
</Notification>,
{ placement: 'top-end' },
{ placement: 'bottom-end' },
)
}
}
@ -1537,7 +1537,7 @@ const Grid = (props: GridProps) => {
</div>
))}
</Notification>,
{ placement: 'top-end' },
{ placement: 'bottom-end' },
)
}
gridRef.current?.instance()?.refresh()

View file

@ -87,7 +87,7 @@ const GridFilterDialogs = (props: {
{'Filter not found'}
</Notification>,
{
placement: 'top-end',
placement: 'bottom-end',
},
)
return
@ -104,7 +104,7 @@ const GridFilterDialogs = (props: {
{'Filter Saved'}
</Notification>,
{
placement: 'top-end',
placement: 'bottom-end',
},
)
@ -158,7 +158,7 @@ const GridFilterDialogs = (props: {
{'Filter Deleted'}
</Notification>,
{
placement: 'top-end',
placement: 'bottom-end',
},
)

View file

@ -1,5 +1,5 @@
import { Avatar, Button, Dialog, Notification, Spinner, Table, Tag, toast } from '@/components/ui'
import { AVATAR_URL } from '@/constants/app.constant'
import { AVATAR_URL, MULTIVALUE_DELIMITER } from '@/constants/app.constant'
import {
getPermissionGrantedUsers,
PermissionGrantedUsersDto,
@ -68,7 +68,7 @@ const PermissionGranted = ({
!permissionActionSuffixes.some((suffix) => permissionName.endsWith(`.${suffix}`)),
) ?? toRootPermissionName(normalizedPermissionNames[0])
)
}, [permissionNames.join('|')])
}, [permissionNames.join(MULTIVALUE_DELIMITER)])
useEffect(() => {
if (!isOpen) {
@ -97,7 +97,7 @@ const PermissionGranted = ({
<Notification type="danger" duration={3000}>
{translate('::ListForms.ListForm.GrantedUsersErrorLoading')}
</Notification>,
{ placement: 'top-end' },
{ placement: 'bottom-end' },
)
} finally {
setLoading(false)

View file

@ -166,7 +166,7 @@ const Pivot = (props: PivotProps) => {
<Notification type="success" duration={2000}>
{translate('::ListForms.ListForm.GridStateReset')}
</Notification>,
{ placement: 'top-end' },
{ placement: 'bottom-end' },
)
}
}, [listFormCode, storageKey, clearPivotFilters, translate])
@ -205,7 +205,7 @@ const Pivot = (props: PivotProps) => {
<Notification type="danger" duration={2500}>
{translate('::App.Common.ExportError') ?? 'Dışa aktarma sırasında hata oluştu.'}
</Notification>,
{ placement: 'top-end' },
{ placement: 'bottom-end' },
)
}
},
@ -259,7 +259,7 @@ const Pivot = (props: PivotProps) => {
<Notification type="success" duration={2000}>
{translate('::ListForms.ListForm.GridStateSaved')}
</Notification>,
{ placement: 'top-end' },
{ placement: 'bottom-end' },
)
})
.catch(() => {
@ -267,7 +267,7 @@ const Pivot = (props: PivotProps) => {
<Notification type="danger" duration={2500}>
{translate('::ListForms.ListForm.GridStateSaveError')}
</Notification>,
{ placement: 'top-end' },
{ placement: 'bottom-end' },
)
})
}, [customSaveState, translate])

View file

@ -335,7 +335,7 @@ const Tree = (props: TreeProps) => {
{translate('::ListForms.ListForm.GridStateSaved')}
</Notification>,
{
placement: 'top-end',
placement: 'bottom-end',
},
)
})
@ -345,7 +345,7 @@ const Tree = (props: TreeProps) => {
{translate('::ListForms.ListForm.GridStateSaveError')}
</Notification>,
{
placement: 'top-end',
placement: 'bottom-end',
},
)
throw err
@ -708,7 +708,7 @@ const Tree = (props: TreeProps) => {
{e.error?.message}
</Notification>,
{
placement: 'top-end',
placement: 'bottom-end',
},
)
}, [])
@ -1189,7 +1189,7 @@ const Tree = (props: TreeProps) => {
</div>
))}
</Notification>,
{ placement: 'top-end' },
{ placement: 'bottom-end' },
)
}
gridRef.current?.instance()?.refresh()

View file

@ -605,7 +605,7 @@ const useFilters = ({
{error.message}
</Notification>,
{
placement: 'top-end',
placement: 'bottom-end',
},
)
} finally {

View file

@ -36,7 +36,7 @@ const showWorkflowToastMessages = (results: WorkflowRunResultDto | WorkflowRunRe
</div>
))}
</Notification>,
{ placement: 'top-end' },
{ placement: 'bottom-end' },
)
}
@ -171,7 +171,7 @@ const useToolbar = ({
<Notification type="warning" duration={2000}>
{translate('::ListForms.ListForm.SelectRecord')}
</Notification>,
{ placement: 'top-end' },
{ placement: 'bottom-end' },
)
return
}
@ -186,7 +186,7 @@ const useToolbar = ({
<Notification type="warning" duration={2500}>
{translate('::WorkflowAlreadyStarted')}
</Notification>,
{ placement: 'top-end' },
{ placement: 'bottom-end' },
)
return
}
@ -203,7 +203,7 @@ const useToolbar = ({
error?.message ||
'Workflow baslatilamadi.'}
</Notification>,
{ placement: 'top-end' },
{ placement: 'bottom-end' },
)
}
},
@ -230,7 +230,7 @@ const useToolbar = ({
<Notification type="warning" duration={2000}>
{translate('::ListForms.ListForm.SelectRecord')}
</Notification>,
{ placement: 'top-end' },
{ placement: 'bottom-end' },
)
return
}
@ -251,7 +251,7 @@ const useToolbar = ({
<Notification type="warning" duration={2500}>
{translate('::SeciliKayitBekliyor')}
</Notification>,
{ placement: 'top-end' },
{ placement: 'bottom-end' },
)
return
}
@ -358,7 +358,7 @@ const useToolbar = ({
<Notification type="warning" duration={2000}>
{translate('::ListForms.ListForm.SelectRecord')}
</Notification>,
{ placement: 'top-end' },
{ placement: 'bottom-end' },
)
return
}
@ -404,7 +404,7 @@ const useToolbar = ({
error?.message ||
translate('::SilmeIslemiBasarisiz')}
</Notification>,
{ placement: 'top-end' },
{ placement: 'bottom-end' },
)
})
}}
@ -473,7 +473,7 @@ const useToolbar = ({
{translate('::TumKayitlarSilindi')}
</Notification>,
{
placement: 'top-end',
placement: 'bottom-end',
},
)
@ -751,7 +751,7 @@ function WorkflowApprovalDecisionDialog({
error?.message ||
'Workflow karari verilemedi.'}
</Notification>,
{ placement: 'top-end' },
{ placement: 'bottom-end' },
)
} finally {
setSubmitting(false)

View file

@ -250,7 +250,7 @@ export const MenuItemComponent: React.FC<MenuItemComponentProps> = ({
? translate('::KayitGuncellendi')
: translate('::KayitEklendi')}
</Notification>,
{ placement: 'top-end' },
{ placement: 'bottom-end' },
)
setIsModalOpen(false)
refetch()
@ -260,7 +260,7 @@ export const MenuItemComponent: React.FC<MenuItemComponentProps> = ({
<Notification title="Hata" type="danger">
{translate('::IslemBasarisiz')}
</Notification>,
{ placement: 'top-end' },
{ placement: 'bottom-end' },
)
} finally {
setSubmitting(false)

View file

@ -737,7 +737,7 @@ const About: FC = () => {
{translate('::ListForms.FormBilgileriKaydedildi')}
</Notification>,
{
placement: 'top-end',
placement: 'bottom-end',
},
)

View file

@ -881,7 +881,7 @@ const Home: React.FC = () => {
{translate('::ListForms.FormBilgileriKaydedildi')}
</Notification>,
{
placement: 'top-end',
placement: 'bottom-end',
},
)

View file

@ -863,7 +863,7 @@ const Services: React.FC = () => {
{translate('::ListForms.FormBilgileriKaydedildi')}
</Notification>,
{
placement: 'top-end',
placement: 'bottom-end',
},
)

View file

@ -13,7 +13,7 @@ import {
toast,
} from '@/components/ui'
import Notification from '@/components/ui/Notification'
import { APP_NAME } from '@/constants/app.constant'
import { APP_NAME, MULTIVALUE_DELIMITER } from '@/constants/app.constant'
import { MainGroupedSettingDto } from '@/proxy/settings/models'
import { getList, updateSettingValues } from '@/services/setting-ui.service'
import { useStoreActions, useStoreState } from '@/store'
@ -78,12 +78,12 @@ const Settings = () => {
type="success"
/>,
{
placement: 'top-end',
placement: 'bottom-end',
},
)
} else {
toast.push(<Notification title={resp?.error?.message} type="danger" />, {
placement: 'top-end',
placement: 'bottom-end',
})
}
//getConfig değiştiriliyor.
@ -172,7 +172,7 @@ const Settings = () => {
{subGroup.settings.map((setting) => (
<FormItem
key={setting.code}
label={translate('::' + setting.name) + ' (' + setting.providers?.replaceAll('|', ', ') + ')'}
label={translate('::' + setting.name) + ' (' + setting.providers?.replaceAll(MULTIVALUE_DELIMITER, ', ') + ')'}
extra={
<Tooltip title={translate('::' + setting.description)}>
<FaQuestionCircle className="text-lg cursor-pointer ml-1" />

View file

@ -208,7 +208,7 @@ export function MenuAddDialog({
})
onClose()
} catch (e: any) {
toast.push(<Notification title={e.message} type="danger" />, { placement: 'top-end' })
toast.push(<Notification title={e.message} type="danger" />, { placement: 'bottom-end' })
} finally {
setSaving(false)
}