Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions packages/next/src/elements/Nav/index.client.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,11 @@ export const DefaultNavClient: React.FC<{
id = `nav-global-${slug}`
}

if (type === EntityType.customView) {
href = formatAdminURL({ adminRoute, path: slug })
id = `nav-custom-view-${slug}`
}

const isActive =
pathname.startsWith(href) && ['/', undefined].includes(pathname[href.length])

Expand Down
20 changes: 18 additions & 2 deletions packages/next/src/elements/Nav/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ export const DefaultNav: React.FC<NavProps> = async (props) => {

const {
admin: {
components: { afterNavLinks, beforeNavLinks, logout },
components: { afterNavLinks, beforeNavLinks, logout, views },
},
collections,
globals,
Expand All @@ -66,11 +66,27 @@ export const DefaultNav: React.FC<NavProps> = async (props) => {
entity: global,
}) satisfies EntityToGroup,
),
...Object.values(views || {})
.filter(
({ path }) =>
// Include when visibleEntities.customViews is missing or includes the path
!visibleEntities.customViews || visibleEntities.customViews.includes(path),
)
.map(
(customView) =>
({
type: EntityType.customView,
entity: {
slug: customView.path,
admin: customView.admin,
labels: customView.labels,
},
}) satisfies EntityToGroup,
),
],
permissions,
i18n,
)

const navPreferences = await getNavPrefs(req)

const LogoutComponent = RenderServerComponent({
Expand Down
5 changes: 5 additions & 0 deletions packages/next/src/utilities/getVisibleEntities.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,11 @@ export function getVisibleEntities({ req }: { req: PayloadRequest }): VisibleEnt
!isEntityHidden({ hidden, user: req.user }) ? slug : null,
)
.filter(Boolean),
customViews: Object.values(req.payload.config.admin?.components?.views || {})
.map(({ admin, path }) =>
!isEntityHidden({ hidden: admin?.hidden, user: req.user }) ? path : null,
)
.filter(Boolean),
globals: req.payload.config.globals
.map(({ slug, admin: { hidden } }) =>
!isEntityHidden({ hidden, user: req.user }) ? slug : null,
Expand Down
1 change: 1 addition & 0 deletions packages/payload/src/admin/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -666,6 +666,7 @@ export type {
AdminViewServerProps,
AdminViewServerPropsOnly,
InitPageResult,
SanitizedCustomViewConfig,
ServerPropsFromView,
ViewDescriptionClientProps,
ViewDescriptionServerProps,
Expand Down
22 changes: 21 additions & 1 deletion packages/payload/src/admin/views/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,20 @@ import type { ClientTranslationsObject } from '@payloadcms/translations'

import type { SanitizedPermissions } from '../../auth/index.js'
import type { ImportMap } from '../../bin/generateImportMap/index.js'
import type { SanitizedCollectionConfig } from '../../collections/config/types.js'
import type {
CollectionAdminOptions,
SanitizedCollectionConfig,
} from '../../collections/config/types.js'
import type { ClientConfig } from '../../config/client.js'
import type {
CustomComponent,
LabelFunction,
Locale,
MetaConfig,
PayloadComponent,
SanitizedConfig,
ServerProps,
StaticLabel,
} from '../../config/types.js'
import type { SanitizedGlobalConfig } from '../../globals/config/types.js'
import type { PayloadRequest } from '../../types/index.js'
Expand All @@ -19,9 +24,17 @@ import type { Data, StaticDescription } from '../types.js'
import type { DocumentSubViewTypes } from './document.js'

export type AdminViewConfig = {
admin?: {
group?: CollectionAdminOptions['group']
hidden?: CollectionAdminOptions['hidden']
}
Component: PayloadComponent
/** Whether the path should be matched exactly or as a prefix */
exact?: boolean
labels?: {
plural?: LabelFunction | StaticLabel
singular?: LabelFunction | StaticLabel
}
meta?: MetaConfig
/**
* Any valid URL path or array of paths that [`path-to-regexp`](https://www.npmjs.com/package/path-to-regex) understands. Must begin with a forward slash (`/`).
Expand All @@ -31,6 +44,12 @@ export type AdminViewConfig = {
strict?: boolean
}

export type SanitizedCustomViewConfig = {
admin: AdminViewConfig['admin']
labels: AdminViewConfig['labels']
slug: AdminViewConfig['path']
}

export type AdminViewClientProps = {
browseByFolderSlugs?: SanitizedCollectionConfig['slug'][]
clientConfig: ClientConfig
Expand Down Expand Up @@ -68,6 +87,7 @@ export type AdminViewComponent = PayloadComponent<AdminViewServerProps>

export type VisibleEntities = {
collections: SanitizedCollectionConfig['slug'][]
customViews: SanitizedCustomViewConfig['slug'][]
globals: SanitizedGlobalConfig['slug'][]
}

Expand Down
2 changes: 1 addition & 1 deletion packages/payload/src/utilities/formatAdminURL.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import type { Config } from '../config/types.js'
export const formatAdminURL = (args: {
adminRoute: NonNullable<Config['routes']>['admin']
basePath?: string
path: '' | `/${string}` | null | undefined
path: `/${string}` | null | string | undefined
serverURL?: Config['serverURL']
}): string => {
const { adminRoute, basePath = '', path: pathFromArgs, serverURL } = args
Expand Down
1 change: 1 addition & 0 deletions packages/translations/src/clientKeys.ts
Original file line number Diff line number Diff line change
Expand Up @@ -180,6 +180,7 @@ export const clientTranslationKeys = createClientTranslationKeys([
'general:close',
'general:collapse',
'general:collections',
'general:customViews',
'general:confirmMove',
'general:yes',
'general:no',
Expand Down
1 change: 1 addition & 0 deletions packages/translations/src/languages/ar.ts
Original file line number Diff line number Diff line change
Expand Up @@ -269,6 +269,7 @@ export const arTranslations: DefaultTranslationsObject = {
currentlyEditing:
'يقوم حاليًا بتحرير هذا المستند. إذا توليت، سيتم منعه من الاستمرار في التحرير وقد يفقد التغييرات غير المحفوظة.',
custom: 'مخصص',
customViews: 'العروض المخصصة',
dark: 'غامق',
dashboard: 'لوحة التّحكّم',
delete: 'حذف',
Expand Down
1 change: 1 addition & 0 deletions packages/translations/src/languages/az.ts
Original file line number Diff line number Diff line change
Expand Up @@ -281,6 +281,7 @@ export const azTranslations: DefaultTranslationsObject = {
currentlyEditing:
'hazırda bu sənədi redaktə edir. Siz öhdəliyi götürsəniz, redaktəni davam etdirməkdən bloklanacaqlar və qeydə alınmamış dəyişiklikləri itirə bilərlər.',
custom: 'Xüsusi',
customViews: 'Fərdi Görünüşlər',
dark: 'Tünd',
dashboard: 'Panel',
delete: 'Sil',
Expand Down
1 change: 1 addition & 0 deletions packages/translations/src/languages/bg.ts
Original file line number Diff line number Diff line change
Expand Up @@ -278,6 +278,7 @@ export const bgTranslations: DefaultTranslationsObject = {
currentlyEditing:
'в момента редактира този документ. Ако поемете управлението, те ще бъдат блокирани от продължаване на редактирането и може да загубят незаписаните промени.',
custom: 'Персонализиран',
customViews: 'Персонализирани Изгледи',
dark: 'Тъмна',
dashboard: 'Табло',
delete: 'Изтрий',
Expand Down
1 change: 1 addition & 0 deletions packages/translations/src/languages/bnBd.ts
Original file line number Diff line number Diff line change
Expand Up @@ -283,6 +283,7 @@ export const bnBdTranslations: DefaultTranslationsObject = {
currentlyEditing:
'বর্তমানে এই ডকুমেন্টটি সম্পাদনা করছেন। আপনি যদি দায়িত্ব নেন, তাহলে তারা সম্পাদনা করা থেকে ব্লক হয়ে যাবে এবং সংরক্ষণ না করা পরিবর্তনগুলি হারাতে পারে।',
custom: 'কাস্টম',
customViews: 'কাস্টম ভিউ',
dark: 'ডার্ক',
dashboard: 'ড্যাশবোর্ড',
delete: 'মুছুন',
Expand Down
1 change: 1 addition & 0 deletions packages/translations/src/languages/bnIn.ts
Original file line number Diff line number Diff line change
Expand Up @@ -282,6 +282,7 @@ export const bnInTranslations: DefaultTranslationsObject = {
currentlyEditing:
'বর্তমানে এই ডকুমেন্টটি সম্পাদনা করছেন। আপনি যদি দায়িত্ব নেন, তাহলে তারা সম্পাদনা করা থেকে ব্লক হয়ে যাবে এবং সংরক্ষণ না করা পরিবর্তনগুলি হারাতে পারে।',
custom: 'কাস্টম',
customViews: 'কাস্টম ভিউ',
dark: 'ডার্ক',
dashboard: 'ড্যাশবোর্ড',
delete: 'মুছুন',
Expand Down
1 change: 1 addition & 0 deletions packages/translations/src/languages/ca.ts
Original file line number Diff line number Diff line change
Expand Up @@ -280,6 +280,7 @@ export const caTranslations: DefaultTranslationsObject = {
currentlyEditing:
'esta editant actualment aquest document. Si prens el control, es bloquejarà per continuar editant i potser perdrà els canvis no desats.',
custom: 'Personalitzat',
customViews: 'Vistes Personalitzades',
dark: 'Fosc',
dashboard: 'Tauler',
delete: 'Eliminar',
Expand Down
1 change: 1 addition & 0 deletions packages/translations/src/languages/cs.ts
Original file line number Diff line number Diff line change
Expand Up @@ -277,6 +277,7 @@ export const csTranslations: DefaultTranslationsObject = {
currentlyEditing:
'právě upravuje tento dokument. Pokud převezmete kontrolu, budou zablokováni v pokračování úprav a mohou také přijít o neuložené změny.',
custom: 'Vlastní',
customViews: 'Vlastní Zobrazení',
dark: 'Tmavý',
dashboard: 'Nástěnka',
delete: 'Odstranit',
Expand Down
1 change: 1 addition & 0 deletions packages/translations/src/languages/da.ts
Original file line number Diff line number Diff line change
Expand Up @@ -277,6 +277,7 @@ export const daTranslations: DefaultTranslationsObject = {
creatingNewLabel: 'Opretter ny {{label}}',
currentlyEditing: 'Du redigerer i øjeblikket',
custom: 'Tilpasset',
customViews: 'Brugerdefinerede Visninger',
dark: 'Mørk',
dashboard: 'Dashboard',
delete: 'Slet',
Expand Down
1 change: 1 addition & 0 deletions packages/translations/src/languages/de.ts
Original file line number Diff line number Diff line change
Expand Up @@ -288,6 +288,7 @@ export const deTranslations: DefaultTranslationsObject = {
currentlyEditing:
'bearbeitet gerade dieses Dokument. Wenn du übernimmst, wird die Bearbeitung blockiert und nicht gespeicherte Änderungen können verloren gehen.',
custom: 'Benutzerdefiniert',
customViews: 'Benutzerdefinierte Ansichten',
dark: 'Dunkel',
dashboard: 'Übersicht',
delete: 'Löschen',
Expand Down
1 change: 1 addition & 0 deletions packages/translations/src/languages/en.ts
Original file line number Diff line number Diff line change
Expand Up @@ -282,6 +282,7 @@ export const enTranslations = {
currentlyEditing:
'is currently editing this document. If you take over, they will be blocked from continuing to edit, and may also lose unsaved changes.',
custom: 'Custom',
customViews: 'Custom Views',
dark: 'Dark',
dashboard: 'Dashboard',
delete: 'Delete',
Expand Down
1 change: 1 addition & 0 deletions packages/translations/src/languages/es.ts
Original file line number Diff line number Diff line change
Expand Up @@ -284,6 +284,7 @@ export const esTranslations: DefaultTranslationsObject = {
currentlyEditing:
'está editando este documento. Si tomas el control, se le impedirá continuar editando y podría perder los cambios no guardados.',
custom: 'Personalizado',
customViews: 'Vistas Personalizadas',
dark: 'Oscuro',
dashboard: 'Panel de Control',
delete: 'Eliminar',
Expand Down
1 change: 1 addition & 0 deletions packages/translations/src/languages/et.ts
Original file line number Diff line number Diff line change
Expand Up @@ -276,6 +276,7 @@ export const etTranslations: DefaultTranslationsObject = {
currentlyEditing:
'muudab praegu seda dokumenti. Kui võtate üle, blokeeritakse neil muutmise jätkamine ja nad võivad kaotada salvestamata muudatused.',
custom: 'Kohandatud',
customViews: 'Kohandatud Vaated',
dark: 'Tume',
dashboard: 'Töölaud',
delete: 'Kustuta',
Expand Down
1 change: 1 addition & 0 deletions packages/translations/src/languages/fa.ts
Original file line number Diff line number Diff line change
Expand Up @@ -275,6 +275,7 @@ export const faTranslations: DefaultTranslationsObject = {
currentlyEditing:
'در حال حاضر در حال ویرایش این سند است. اگر شما مسئولیت را به عهده بگیرید، از ادامه ویرایش مسدود خواهد شد و ممکن است تغییرات ذخیره نشده را از دست بدهند.',
custom: 'سفارشی',
customViews: 'نماهای سفارشی',
dark: 'تاریک',
dashboard: 'پیشخوان',
delete: 'حذف',
Expand Down
1 change: 1 addition & 0 deletions packages/translations/src/languages/fr.ts
Original file line number Diff line number Diff line change
Expand Up @@ -289,6 +289,7 @@ export const frTranslations: DefaultTranslationsObject = {
currentlyEditing:
'est en train de modifier ce document. Si vous prenez le contrôle, ils seront bloqués pour continuer à modifier et pourraient également perdre les modifications non enregistrées.',
custom: 'Personnalisé',
customViews: 'Vues Personnalisées',
dark: 'Sombre',
dashboard: 'Tableau de bord',
delete: 'Supprimer',
Expand Down
1 change: 1 addition & 0 deletions packages/translations/src/languages/he.ts
Original file line number Diff line number Diff line change
Expand Up @@ -269,6 +269,7 @@ export const heTranslations: DefaultTranslationsObject = {
currentlyEditing:
'עורך כעת את המסמך הזה. אם תשתלט, הם ייחסמו מהמשך העריכה וייתכן שגם יאבדו שינויים שלא נשמרו.',
custom: 'מותאם אישית',
customViews: 'תצוגות מותאמות אישית',
dark: 'כהה',
dashboard: 'לוח מחוונים',
delete: 'מחיקה',
Expand Down
1 change: 1 addition & 0 deletions packages/translations/src/languages/hr.ts
Original file line number Diff line number Diff line change
Expand Up @@ -279,6 +279,7 @@ export const hrTranslations: DefaultTranslationsObject = {
currentlyEditing:
'trenutno uređuje ovaj dokument. Ako preuzmete, bit će im onemogućeno daljnje uređivanje i mogu izgubiti nespremljene promjene.',
custom: 'Prilagođen',
customViews: 'Prilagođeni Prikazi',
dark: 'Tamno',
dashboard: 'Nadzorna ploča',
delete: 'Izbriši',
Expand Down
1 change: 1 addition & 0 deletions packages/translations/src/languages/hu.ts
Original file line number Diff line number Diff line change
Expand Up @@ -283,6 +283,7 @@ export const huTranslations: DefaultTranslationsObject = {
currentlyEditing:
'jelenleg szerkeszti ezt a dokumentumot. Ha átveszed, nem tudja folytatni a szerkesztést, és elveszítheti a mentetlen módosításokat.',
custom: 'Egyéni',
customViews: 'Egyéni Nézetek',
dark: 'Sötét',
dashboard: 'Irányítópult',
delete: 'Törlés',
Expand Down
1 change: 1 addition & 0 deletions packages/translations/src/languages/hy.ts
Original file line number Diff line number Diff line change
Expand Up @@ -280,6 +280,7 @@ export const hyTranslations: DefaultTranslationsObject = {
currentlyEditing:
'ներկայումս խմբագրում է այս փաստաթուղթը։ Եթե Դուք ստանձնեք վերահսկողությունը, նա չի կարողանա շարունակել խմբագրումը և կարող է կորցնել չպահպանված փոփոխությունները։',
custom: 'Հատուկ',
customViews: 'Հատուկ Տեսքեր',
dark: 'Մուգ',
dashboard: 'Վահանակ',
delete: 'Ջնջել',
Expand Down
1 change: 1 addition & 0 deletions packages/translations/src/languages/id.ts
Original file line number Diff line number Diff line change
Expand Up @@ -283,6 +283,7 @@ export const idTranslations = {
currentlyEditing:
'sedang mengedit dokumen ini. Jika Anda mengambil alih, mereka akan diblokir untuk melanjutkan pengeditan, dan mungkin juga kehilangan perubahan yang belum disimpan.',
custom: 'Kustom',
customViews: 'Tampilan Khusus',
dark: 'Gelap',
dashboard: 'Dasbor',
delete: 'Hapus',
Expand Down
1 change: 1 addition & 0 deletions packages/translations/src/languages/is.ts
Original file line number Diff line number Diff line change
Expand Up @@ -279,6 +279,7 @@ export const isTranslations = {
currentlyEditing:
'er núna að breyta þessu skjali. Ef þú tekur yfir munu þeir verða hindraðir frá því að halda áfram að breyta og gætu líka misst óvistaðar breytingar.',
custom: 'Sérsniðið',
customViews: 'Sérsniðnar Skoðanir',
dark: 'Dökkt',
dashboard: 'Stjórnborð',
delete: 'Eyða',
Expand Down
1 change: 1 addition & 0 deletions packages/translations/src/languages/it.ts
Original file line number Diff line number Diff line change
Expand Up @@ -282,6 +282,7 @@ export const itTranslations: DefaultTranslationsObject = {
currentlyEditing:
'sta attualmente modificando questo documento. Se prendi il controllo, verranno bloccati dal continuare a modificare e potrebbero anche perdere le modifiche non salvate.',
custom: 'Personalizzato',
customViews: 'Viste Personalizzate',
dark: 'Scuro',
dashboard: 'Dashboard',
delete: 'Elimina',
Expand Down
1 change: 1 addition & 0 deletions packages/translations/src/languages/ja.ts
Original file line number Diff line number Diff line change
Expand Up @@ -281,6 +281,7 @@ export const jaTranslations: DefaultTranslationsObject = {
currentlyEditing:
'このドキュメントを編集中です。あなたが引き継ぐと、編集を続けることができなくなり、未保存の変更が失われる可能性があります。',
custom: 'カスタム',
customViews: 'カスタムビュー',
dark: 'ダークモード',
dashboard: 'ダッシュボード',
delete: '削除',
Expand Down
1 change: 1 addition & 0 deletions packages/translations/src/languages/ko.ts
Original file line number Diff line number Diff line change
Expand Up @@ -276,6 +276,7 @@ export const koTranslations: DefaultTranslationsObject = {
currentlyEditing:
'현재 이 문서를 편집 중입니다. 당신이 인수하면, 편집을 계속할 수 없게 되고, 저장되지 않은 변경 사항이 손실될 수 있습니다.',
custom: '사용자 정의',
customViews: '사용자 정의 뷰',
dark: '다크',
dashboard: '대시보드',
delete: '삭제',
Expand Down
1 change: 1 addition & 0 deletions packages/translations/src/languages/lt.ts
Original file line number Diff line number Diff line change
Expand Up @@ -282,6 +282,7 @@ export const ltTranslations: DefaultTranslationsObject = {
currentlyEditing:
'šiuo metu redaguoja šį dokumentą. Jei perimsite, jie bus užblokuoti ir negalės toliau redaguoti, o taip pat gali prarasti neišsaugotus pakeitimus.',
custom: 'Paprastas',
customViews: 'Pasirinktiniai Rodiniai',
dark: 'Tamsus',
dashboard: 'Prietaisų skydelis',
delete: 'Ištrinti',
Expand Down
1 change: 1 addition & 0 deletions packages/translations/src/languages/lv.ts
Original file line number Diff line number Diff line change
Expand Up @@ -280,6 +280,7 @@ export const lvTranslations: DefaultTranslationsObject = {
currentlyEditing:
'pašlaik rediģē šo dokumentu. Ja pārņemsiet, viņi tiks bloķēti no turpmākas rediģēšanas un var zaudēt nesaglabātās izmaiņas.',
custom: 'Pielāgots',
customViews: 'Pielāgoti Skati',
dark: 'Tumšs',
dashboard: 'Panelis',
delete: 'Dzēst',
Expand Down
1 change: 1 addition & 0 deletions packages/translations/src/languages/my.ts
Original file line number Diff line number Diff line change
Expand Up @@ -281,6 +281,7 @@ export const myTranslations: DefaultTranslationsObject = {
currentlyEditing:
'ဒီစာရွက်စာတမ်းကိုလက်ရှိပြင်ဆင်နေသည်။ သင်ဤတာဝန်ကိုယူပါက၊ သူတို့သည်ဆက်လက်ပြင်ဆင်ခွင့်မရအောင်ပိတ်ထားမည်ဖြစ်ပြီး၊ မသိမ်းဆည်းရသေးသောပြင်ဆင်မှုများကိုလည်းဆုံးရှုံးနိုင်သည်။',
custom: 'ထုတ်ကုန် စိတ်ကြိုက်',
customViews: 'စိတ်ကြိုက်မြင်ကွင်းများ',
dark: 'အမှောင်',
dashboard: 'ပင်မစာမျက်နှာ',
delete: 'ဖျက်မည်။',
Expand Down
1 change: 1 addition & 0 deletions packages/translations/src/languages/nb.ts
Original file line number Diff line number Diff line change
Expand Up @@ -278,6 +278,7 @@ export const nbTranslations: DefaultTranslationsObject = {
currentlyEditing:
'redigerer for øyeblikket dette dokumentet. Hvis du tar over, blir de blokkert fra å fortsette å redigere, og de kan også miste ulagrede endringer.',
custom: 'Tilpasset',
customViews: 'Tilpassede Visninger',
dark: 'Mørk',
dashboard: 'Kontrollpanel',
delete: 'Slett',
Expand Down
1 change: 1 addition & 0 deletions packages/translations/src/languages/nl.ts
Original file line number Diff line number Diff line change
Expand Up @@ -286,6 +286,7 @@ export const nlTranslations: DefaultTranslationsObject = {
currentlyEditing:
'is momenteel dit document aan het bewerken. Als je het overneemt, wordt voorkomen dat ze doorgaan met bewerken en kunnen ze ook niet-opgeslagen wijzigingen verliezen.',
custom: 'Aangepast',
customViews: 'Aangepaste Weergaven',
dark: 'Donker',
dashboard: 'Dashboard',
delete: 'Verwijderen',
Expand Down
1 change: 1 addition & 0 deletions packages/translations/src/languages/pl.ts
Original file line number Diff line number Diff line change
Expand Up @@ -278,6 +278,7 @@ export const plTranslations: DefaultTranslationsObject = {
currentlyEditing:
'obecnie edytuje ten dokument. Jeśli przejmiesz kontrolę, zostaną zablokowani przed dalszą edycją i mogą również utracić niezapisane zmiany.',
custom: 'Niestandardowy',
customViews: 'Niestandardowe Widoki',
dark: 'Ciemny',
dashboard: 'Panel',
delete: 'Usuń',
Expand Down
1 change: 1 addition & 0 deletions packages/translations/src/languages/pt.ts
Original file line number Diff line number Diff line change
Expand Up @@ -280,6 +280,7 @@ export const ptTranslations: DefaultTranslationsObject = {
currentlyEditing:
'está editando este documento no momento. Se você assumir, eles serão impedidos de continuar editando e poderão perder alterações não salvas.',
custom: 'Personalizado',
customViews: 'Visualizações Personalizadas',
dark: 'Escuro',
dashboard: 'Painel de Controle',
delete: 'Excluir',
Expand Down
1 change: 1 addition & 0 deletions packages/translations/src/languages/ro.ts
Original file line number Diff line number Diff line change
Expand Up @@ -284,6 +284,7 @@ export const roTranslations: DefaultTranslationsObject = {
currentlyEditing:
'editează în prezent acest document. Dacă preiei controlul, vor fi blocați să continue editarea și ar putea pierde modificările nesalvate.',
custom: 'Personalizat',
customViews: 'Vizualizări Personalizate',
dark: 'Dark',
dashboard: 'Panoul de bord',
delete: 'Șterge',
Expand Down
Loading