@bigbinary/neeto-molecules 4.0.117 → 4.0.118

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. package/dist/AuditLogs.js +86 -28
  2. package/dist/AuditLogs.js.map +1 -1
  3. package/dist/cjs/AuditLogs.js +83 -25
  4. package/dist/cjs/AuditLogs.js.map +1 -1
  5. package/package.json +1 -1
  6. package/src/translations/ar.json +2 -2
  7. package/src/translations/bg.json +2 -2
  8. package/src/translations/ca.json +2 -2
  9. package/src/translations/cs.json +2 -2
  10. package/src/translations/da.json +2 -2
  11. package/src/translations/de.json +2 -2
  12. package/src/translations/en.json +2 -2
  13. package/src/translations/es-MX.json +2 -2
  14. package/src/translations/es.json +2 -2
  15. package/src/translations/et.json +2 -2
  16. package/src/translations/fi.json +2 -2
  17. package/src/translations/fil.json +2 -2
  18. package/src/translations/fr.json +2 -2
  19. package/src/translations/he.json +2 -2
  20. package/src/translations/hi.json +2 -2
  21. package/src/translations/hr.json +2 -2
  22. package/src/translations/id.json +2 -2
  23. package/src/translations/it.json +2 -2
  24. package/src/translations/ja.json +2 -2
  25. package/src/translations/ko.json +2 -2
  26. package/src/translations/nl.json +2 -2
  27. package/src/translations/pl.json +2 -2
  28. package/src/translations/pt-BR.json +2 -2
  29. package/src/translations/pt.json +2 -2
  30. package/src/translations/ro.json +2 -2
  31. package/src/translations/ru.json +2 -2
  32. package/src/translations/sk.json +2 -2
  33. package/src/translations/sl.json +2 -2
  34. package/src/translations/sv.json +2 -2
  35. package/src/translations/th.json +2 -2
  36. package/src/translations/tr.json +2 -2
  37. package/src/translations/uk.json +2 -2
  38. package/src/translations/vi.json +2 -2
  39. package/src/translations/zh-CN.json +2 -2
  40. package/src/translations/zh-TW.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"AuditLogs.js","sources":["../../src/components/AuditLogs/constants.js","../../src/components/AuditLogs/Trans.jsx","../../src/components/AuditLogs/utils.jsx","../../src/components/AuditLogs/Card.jsx","../../src/components/AuditLogs/api.js","../../src/components/AuditLogs/useAuditLogsApi.js","../../src/components/AuditLogs/index.jsx"],"sourcesContent":["import {\n User,\n UserAdd,\n UserCircle,\n UserRemove,\n UserSettings,\n CustomDomain,\n} from \"neetoicons\";\nimport { GoogleCalendar, Zoom, Stripe, StripeTypeface } from \"neetoicons/misc\";\n\nexport const AUDIT_LOGS_QUERY_KEY = \"audit-logs\";\n\nexport const ACTIONS = {\n INVITED_USERS: \"invitedUsers\",\n USER_SIGNED_UP: \"userSignedUp\",\n UPDATED_USER: \"updatedUser\",\n BULK_UPDATE_USERS: \"bulkUpdateUsers\",\n UPDATED_USER_PROFILE: \"updatedUserProfile\",\n CREATED_ROLE: \"createdRole\",\n UPDATED_ROLE: \"updatedRole\",\n DELETED_ROLE: \"deletedRole\",\n CONNECTED_GOOGLE_CALENDER: \"connectedGoogleCalendar\",\n DISCONNECTED_GOOGLE_CALENDER: \"disconnectedGoogleCalendar\",\n CONNECTED_STRIPE_ACCOUNT: \"connectedStripeAccount\",\n DISCONNECTED_STRIPE_ACCOUNT: \"disconnectedStripeAccount\",\n CONNECTED_ZOOM_INTEGRATION: \"connectedZoomIntegration\",\n DISCONNECTED_ZOOM_INTEGRATION: \"disconnectedZoomIntegration\",\n CONNECTED_CUSTOM_DOMAIN: \"connectedCustomDomain\",\n};\n\nexport const ADDITIONAL_DETAILS_KEYS = {\n ACTION: \"action\",\n PERFORMED_BY: \"performedBy\",\n PERFORMED_AT: \"performedAt\",\n PRODUCT: \"product\",\n};\n\nexport const AUDIT_ICON_MAP = {\n [ACTIONS.INVITED_USERS]: UserCircle,\n [ACTIONS.USER_SIGNED_UP]: UserAdd,\n [ACTIONS.UPDATED_USER]: User,\n [ACTIONS.BULK_UPDATE_USERS]: User,\n [ACTIONS.UPDATED_USER_PROFILE]: UserSettings,\n [ACTIONS.CREATED_ROLE]: UserAdd,\n [ACTIONS.UPDATED_ROLE]: UserSettings,\n [ACTIONS.DELETED_ROLE]: UserRemove,\n [ACTIONS.CONNECTED_GOOGLE_CALENDER]: GoogleCalendar,\n [ACTIONS.DISCONNECTED_GOOGLE_CALENDER]: GoogleCalendar,\n [ACTIONS.CONNECTED_STRIPE_ACCOUNT]: StripeTypeface,\n [ACTIONS.DISCONNECTED_STRIPE_ACCOUNT]: Stripe,\n [ACTIONS.CONNECTED_ZOOM_INTEGRATION]: Zoom,\n [ACTIONS.DISCONNECTED_ZOOM_INTEGRATION]: Zoom,\n [ACTIONS.CONNECTED_CUSTOM_DOMAIN]: CustomDomain,\n};\n\nexport const AUDIT_LOGS_PAGE_SIZE = 12;\n","import { globalProps } from \"neetocommons/initializers\";\nimport { Typography } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { Trans as ReactTrans } from \"react-i18next\";\n\nconst Trans = ({\n i18nKey,\n additionalValues = {},\n additionalComponents = {},\n}) => (\n <ReactTrans\n {...{ i18nKey }}\n components={{\n Code: (\n <Typography\n className=\"neeto-ui-rounded-md neeto-ui-bg-gray-100 p-1\"\n component=\"code\"\n style=\"body3\"\n />\n ),\n Semibold: (\n <Typography\n className=\"n inline-block text-sm font-medium\"\n component=\"p\"\n />\n ),\n ...additionalComponents,\n }}\n values={{\n productSuffix: globalProps.appName,\n ...additionalValues,\n }}\n />\n);\n\nTrans.propTypes = {\n i18nKey: PropTypes.string.isRequired,\n additionalValues: PropTypes.object,\n additionalComponents: PropTypes.objectOf(PropTypes.element),\n};\n\nexport default Trans;\n","import { snakeToCamelCase, isNotEmpty, isPresent, humanize } from \"neetocist\";\nimport { values } from \"ramda\";\n\nimport { ACTIONS } from \"./constants\";\nimport Trans from \"./Trans\";\n\nconst formatChangedFields = changes => {\n const fields = Object.keys(changes).map((field, index) => {\n const change = changes[field];\n let element;\n\n if (change && isPresent(change.from)) {\n element = (\n <span key={field}>\n <Trans\n i18nKey=\"neetoMolecules.auditLogs.text.updatedFieldsWithPreviousValue\"\n additionalValues={{\n field: humanize(field),\n from: change.from,\n to: change.to,\n }}\n />\n </span>\n );\n } else {\n element = (\n <span key={field}>\n <Trans\n additionalValues={{ field: humanize(field), to: change.to }}\n i18nKey=\"neetoMolecules.auditLogs.text.updatedFieldsWithNewValue\"\n />\n </span>\n );\n }\n\n return index > 0\n ? [<span key={`sep-${field}`}>, </span>, element]\n : element;\n });\n\n return fields.flat();\n};\n\nexport const transformAction = action =>\n snakeToCamelCase(action.replace(\"audit_logs.organization.\", \"\"));\n\nexport const constructAuditLogText = ({\n action,\n performedBy,\n emails = [],\n firstName,\n lastName,\n organizationRole,\n email,\n changes = {},\n status,\n message,\n errorMessage,\n addedPermissions,\n}) => {\n switch (action) {\n case ACTIONS.INVITED_USERS: {\n if (status === \"success\" && isNotEmpty(emails)) {\n const emailList = emails.join(\", \");\n\n return (\n <Trans\n additionalValues={{ performedBy, emailList }}\n i18nKey=\"neetoMolecules.auditLogs.text.invitedUsers\"\n />\n );\n }\n\n return (\n <Trans\n additionalValues={{ performedBy, errorMessage }}\n i18nKey=\"neetoMolecules.auditLogs.text.invitedUsersFailed\"\n />\n );\n }\n\n case ACTIONS.USER_SIGNED_UP: {\n const name = [firstName, lastName].filter(Boolean).join(\" \");\n const userIdentifier = name || organizationRole || email || \"User\";\n\n return (\n <Trans\n additionalValues={{ userIdentifier }}\n i18nKey=\"neetoMolecules.auditLogs.text.userSignedUp\"\n />\n );\n }\n\n case ACTIONS.UPDATED_USER: {\n const changedFields = formatChangedFields(changes);\n const affectedUser = email || \"user\";\n\n return (\n <Trans\n additionalComponents={{ ChangedFields: <>{changedFields}</> }}\n additionalValues={{ performedBy, affectedUser, changedFields }}\n i18nKey=\"neetoMolecules.auditLogs.text.updatedUser\"\n />\n );\n }\n\n case ACTIONS.BULK_UPDATE_USERS: {\n if (status === \"success\" && isNotEmpty(emails)) {\n const emailList = emails.join(\", \");\n\n return (\n <Trans\n additionalValues={{ performedBy, emailList, message }}\n i18nKey=\"neetoMolecules.auditLogs.text.bulkUpdateUsers\"\n />\n );\n }\n\n return (\n <Trans\n additionalValues={{ performedBy, errorMessage }}\n i18nKey=\"neetoMolecules.auditLogs.text.bulkUpdateUsersFailed\"\n />\n );\n }\n\n case ACTIONS.UPDATED_USER_PROFILE: {\n const changedFields = formatChangedFields(changes);\n\n return (\n <Trans\n additionalComponents={{ ChangedFields: <>{changedFields}</> }}\n additionalValues={{ performedBy }}\n i18nKey=\"neetoMolecules.auditLogs.text.updatedUserProfile\"\n />\n );\n }\n\n case ACTIONS.CREATED_ROLE: {\n const roleName = organizationRole || \"role\";\n\n return (\n <Trans\n additionalValues={{ performedBy, roleName }}\n i18nKey=\"neetoMolecules.auditLogs.text.createdRole\"\n />\n );\n }\n\n case ACTIONS.UPDATED_ROLE: {\n const roleName = organizationRole || \"role\";\n const permissionsArray = values(addedPermissions).map(permission =>\n humanize(permission.split(\".\")[1])\n );\n const addedPermissionsText = permissionsArray.join(\", \");\n\n return (\n // Disabling as we're using the same key for both singular and plural cases\n // eslint-disable-next-line @bigbinary/neeto/no-missing-localization\n <Trans\n i18nKey=\"neetoMolecules.auditLogs.text.updatedRole\"\n additionalValues={{\n performedBy,\n roleName,\n addedPermissionsText,\n count: permissionsArray.length,\n }}\n />\n );\n }\n\n case ACTIONS.CONNECTED_GOOGLE_CALENDER: {\n return (\n <Trans\n i18nKey=\"neetoMolecules.auditLogs.text.connectedGoogleCalender\"\n additionalValues={{\n performedBy,\n emailAddress: changes.emailAddress,\n }}\n />\n );\n }\n\n case ACTIONS.DISCONNECTED_GOOGLE_CALENDER: {\n return (\n <Trans\n additionalValues={{ performedBy }}\n i18nKey=\"neetoMolecules.auditLogs.text.disconnectedGoogleCalender\"\n />\n );\n }\n\n case ACTIONS.CONNECTED_STRIPE_ACCOUNT: {\n return (\n <Trans\n i18nKey=\"neetoMolecules.auditLogs.text.connectedStripeAccount\"\n additionalValues={{\n performedBy,\n stripeAccountId: changes.stripeAccountId,\n }}\n />\n );\n }\n\n case ACTIONS.DISCONNECTED_STRIPE_ACCOUNT: {\n return (\n <Trans\n additionalValues={{ performedBy }}\n i18nKey=\"neetoMolecules.auditLogs.text.disconnectedStripeAccount\"\n />\n );\n }\n\n case ACTIONS.CONNECTED_ZOOM_INTEGRATION: {\n return (\n <Trans\n i18nKey=\"neetoMolecules.auditLogs.text.connectedZoomAccount\"\n additionalValues={{\n performedBy,\n zoomAccountId: changes.zoomAccountId,\n }}\n />\n );\n }\n\n case ACTIONS.DISCONNECTED_ZOOM_INTEGRATION: {\n return (\n <Trans\n additionalValues={{ performedBy }}\n i18nKey=\"neetoMolecules.auditLogs.text.disconnectedZoomAccount\"\n />\n );\n }\n\n case ACTIONS.CONNECTED_CUSTOM_DOMAIN: {\n return (\n <Trans\n additionalValues={{ performedBy, hostname: changes.hostname }}\n i18nKey=\"neetoMolecules.auditLogs.text.connectedCustomDomain\"\n />\n );\n }\n\n case ACTIONS.DELETED_ROLE: {\n const roleName = organizationRole || \"role\";\n\n return (\n <Trans\n additionalValues={{ performedBy, roleName }}\n i18nKey=\"neetoMolecules.auditLogs.text.deletedRole\"\n />\n );\n }\n\n default: {\n return (\n <Trans\n additionalValues={{ performedBy }}\n i18nKey=\"neetoMolecules.auditLogs.text.performedAction\"\n />\n );\n }\n }\n};\n","import classnames from \"classnames\";\nimport { dateFormat } from \"neetocommons/utils\";\nimport { Typography } from \"neetoui\";\n\nimport { AUDIT_ICON_MAP } from \"./constants\";\nimport { constructAuditLogText, transformAction } from \"./utils\";\n\nconst Card = ({ auditLog, index, totalCount }) => {\n const { key, metadata, performer, updatedAt } = auditLog;\n\n const action = transformAction(key);\n const performedBy = performer?.name || \"\";\n const performedAt = dateFormat.dateTime(updatedAt);\n\n const auditText = constructAuditLogText({\n action,\n performedBy,\n ...metadata,\n });\n\n const Icon = AUDIT_ICON_MAP[action];\n\n return (\n <div\n data-cy=\"audit-log-card\"\n className={classnames(\n \"align-items-center neeto-ui-border-gray-200 flex w-full gap-x-4 border-b border-l border-r p-3\",\n {\n \"rounded-t-md border-t\": index === 0,\n \"rounded-b-md\": index === totalCount - 1,\n }\n )}\n >\n <div className=\"neeto-ui-rounded-full neeto-ui-bg-gray-100 flex size-10 flex-shrink-0 items-center justify-center\">\n <Icon className=\"neeto-ui-text-gray-600 flex-shrink-0\" size={22} />\n </div>\n <div className=\"flex flex-col gap-y-2\" data-cy=\"audit-log-content\">\n <Typography\n component=\"span\"\n data-cy=\"audit-log-text\"\n lineHeight=\"normal\"\n style=\"body2\"\n >\n {auditText}\n </Typography>\n <Typography\n className=\"neeto-ui-text-gray-500 m-0\"\n data-cy=\"audit-log-timestamp\"\n style=\"body3\"\n >\n {performedAt}\n </Typography>\n </div>\n </div>\n );\n};\n\nexport default Card;\n","import axios from \"axios\";\n\nconst fetchAuditLogs = params => axios.get(\"api/v1/audit_logs\", { params });\n\nconst auditLogsApi = { fetchAuditLogs };\n\nexport default auditLogsApi;\n","import { useQuery } from \"@tanstack/react-query\";\n\nimport auditLogsApi from \"./api\";\nimport { AUDIT_LOGS_QUERY_KEY } from \"./constants\";\n\nexport const useFetchAuditLogs = ({ params, options = {} }) =>\n useQuery({\n queryKey: [AUDIT_LOGS_QUERY_KEY, params],\n queryFn: () => auditLogsApi.fetchAuditLogs(params),\n ...options,\n });\n","import { isPresent } from \"neetocist\";\nimport { DEFAULT_PAGE_INDEX } from \"neetocommons/constants\";\nimport { useQueryParams } from \"neetocommons/react-utils\";\nimport { NoData, Spinner, Pagination } from \"neetoui\";\nimport propTypes from \"prop-types\";\nimport { useTranslation } from \"react-i18next\";\n\nimport Container from \"components/Container\";\nimport Header from \"components/Header\";\n\nimport Card from \"./Card\";\nimport { AUDIT_LOGS_PAGE_SIZE } from \"./constants\";\nimport { useFetchAuditLogs } from \"./useAuditLogsApi\";\n\nconst AuditLogs = ({ headerProps, noDataHelpText, noDataTitle }) => {\n const { t } = useTranslation();\n\n const { page = DEFAULT_PAGE_INDEX } = useQueryParams();\n\n const {\n data: { auditLogs = [], totalCount = 0 } = {},\n isLoading,\n isFetching,\n } = useFetchAuditLogs({ params: { page, pageSize: AUDIT_LOGS_PAGE_SIZE } });\n\n if (isLoading || isFetching) {\n return (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n );\n }\n\n return (\n <Container className=\"relative\">\n <Header title={t(\"neetoMolecules.auditLogs.title\")} {...headerProps} />\n {isPresent(auditLogs) ? (\n <div className=\"w-full\">\n {auditLogs.map((auditLog, index) => (\n <Card\n {...{ auditLog, index }}\n key={auditLog.id}\n totalCount={auditLogs.length}\n />\n ))}\n </div>\n ) : (\n <div className=\"flex h-full w-full items-center justify-center\">\n <NoData\n helpText={noDataHelpText}\n title={noDataTitle || t(\"neetoMolecules.auditLogs.noData\")}\n />\n </div>\n )}\n <Pagination\n className=\"neeto-ui-bg-white fixed bottom-5 right-6\"\n count={totalCount}\n pageNo={parseInt(page)}\n pageSize={AUDIT_LOGS_PAGE_SIZE}\n />\n </Container>\n );\n};\n\nAuditLogs.propTypes = {\n /**\n * Props to be passed to the `Header` component.\n */\n headerProps: propTypes.object,\n /**\n * Help text to be displayed to the `NoData` component when there are no audit logs.\n */\n noDataHelpText: propTypes.string,\n /**\n * Title to be passed to the `NoData` component when there are no audit logs.\n */\n noDataTitle: propTypes.string,\n};\n\nexport default AuditLogs;\n"],"names":["AUDIT_LOGS_QUERY_KEY","ACTIONS","INVITED_USERS","USER_SIGNED_UP","UPDATED_USER","BULK_UPDATE_USERS","UPDATED_USER_PROFILE","CREATED_ROLE","UPDATED_ROLE","DELETED_ROLE","CONNECTED_GOOGLE_CALENDER","DISCONNECTED_GOOGLE_CALENDER","CONNECTED_STRIPE_ACCOUNT","DISCONNECTED_STRIPE_ACCOUNT","CONNECTED_ZOOM_INTEGRATION","DISCONNECTED_ZOOM_INTEGRATION","CONNECTED_CUSTOM_DOMAIN","AUDIT_ICON_MAP","_AUDIT_ICON_MAP","_defineProperty","UserCircle","UserAdd","User","UserSettings","UserRemove","GoogleCalendar","StripeTypeface","Stripe","Zoom","CustomDomain","AUDIT_LOGS_PAGE_SIZE","Trans","_ref","i18nKey","_ref$additionalValues","additionalValues","_ref$additionalCompon","additionalComponents","_jsx","ReactTrans","components","_objectSpread","Code","Typography","className","component","style","Semibold","values","productSuffix","globalProps","appName","formatChangedFields","changes","fields","Object","keys","map","field","index","change","element","isPresent","from","children","humanize","to","concat","flat","transformAction","action","snakeToCamelCase","replace","constructAuditLogText","performedBy","_ref$emails","emails","firstName","lastName","organizationRole","email","_ref$changes","status","message","errorMessage","addedPermissions","isNotEmpty","emailList","join","name","filter","Boolean","userIdentifier","changedFields","affectedUser","ChangedFields","_Fragment","roleName","permissionsArray","permission","split","addedPermissionsText","count","length","emailAddress","stripeAccountId","zoomAccountId","hostname","Card","auditLog","totalCount","key","metadata","performer","updatedAt","performedAt","dateFormat","dateTime","auditText","Icon","_jsxs","classnames","size","lineHeight","fetchAuditLogs","params","axios","get","auditLogsApi","useFetchAuditLogs","_ref$options","options","useQuery","queryKey","queryFn","AuditLogs","headerProps","noDataHelpText","noDataTitle","_useTranslation","useTranslation","t","_useQueryParams","useQueryParams","_useQueryParams$page","page","DEFAULT_PAGE_INDEX","_useFetchAuditLogs","pageSize","_useFetchAuditLogs$da","data","_useFetchAuditLogs$da2","_useFetchAuditLogs$da3","auditLogs","_useFetchAuditLogs$da4","isLoading","isFetching","Spinner","Container","Header","title","_createElement","id","NoData","helpText","Pagination","pageNo","parseInt"],"mappings":"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"}
1
+ {"version":3,"file":"AuditLogs.js","sources":["../../src/components/AuditLogs/constants.js","../../src/components/AuditLogs/Trans.jsx","../../src/components/AuditLogs/utils.jsx","../../src/components/AuditLogs/Card.jsx","../../src/components/AuditLogs/api.js","../../src/components/AuditLogs/useAuditLogsApi.js","../../src/components/AuditLogs/useCountriesApi.js","../../src/components/AuditLogs/index.jsx"],"sourcesContent":["import {\n User,\n UserAdd,\n UserCircle,\n UserRemove,\n UserSettings,\n CustomDomain,\n} from \"neetoicons\";\nimport { GoogleCalendar, Zoom, Stripe, StripeTypeface } from \"neetoicons/misc\";\n\nexport const AUDIT_LOGS_QUERY_KEY = \"audit-logs\";\nexport const COUNTRIES_LIST_QUERY_KEY = \"countries-list\"; // Same key as that used in \"neeto-team-members\" for cache reuse.\n\nexport const ACTIONS = {\n INVITED_USERS: \"invitedUsers\",\n USER_SIGNED_UP: \"userSignedUp\",\n UPDATED_USER: \"updatedUser\",\n BULK_UPDATE_USERS: \"bulkUpdateUsers\",\n UPDATED_USER_PROFILE: \"updatedUserProfile\",\n CREATED_ROLE: \"createdRole\",\n UPDATED_ROLE: \"updatedRole\",\n DELETED_ROLE: \"deletedRole\",\n CONNECTED_GOOGLE_CALENDER: \"connectedGoogleCalendar\",\n DISCONNECTED_GOOGLE_CALENDER: \"disconnectedGoogleCalendar\",\n CONNECTED_STRIPE_ACCOUNT: \"connectedStripeAccount\",\n DISCONNECTED_STRIPE_ACCOUNT: \"disconnectedStripeAccount\",\n CONNECTED_ZOOM_INTEGRATION: \"connectedZoomIntegration\",\n DISCONNECTED_ZOOM_INTEGRATION: \"disconnectedZoomIntegration\",\n CONNECTED_CUSTOM_DOMAIN: \"connectedCustomDomain\",\n};\n\nexport const ADDITIONAL_DETAILS_KEYS = {\n ACTION: \"action\",\n PERFORMED_BY: \"performedBy\",\n PERFORMED_AT: \"performedAt\",\n PRODUCT: \"product\",\n};\n\nexport const AUDIT_ICON_MAP = {\n [ACTIONS.INVITED_USERS]: UserCircle,\n [ACTIONS.USER_SIGNED_UP]: UserAdd,\n [ACTIONS.UPDATED_USER]: User,\n [ACTIONS.BULK_UPDATE_USERS]: User,\n [ACTIONS.UPDATED_USER_PROFILE]: UserSettings,\n [ACTIONS.CREATED_ROLE]: UserAdd,\n [ACTIONS.UPDATED_ROLE]: UserSettings,\n [ACTIONS.DELETED_ROLE]: UserRemove,\n [ACTIONS.CONNECTED_GOOGLE_CALENDER]: GoogleCalendar,\n [ACTIONS.DISCONNECTED_GOOGLE_CALENDER]: GoogleCalendar,\n [ACTIONS.CONNECTED_STRIPE_ACCOUNT]: StripeTypeface,\n [ACTIONS.DISCONNECTED_STRIPE_ACCOUNT]: Stripe,\n [ACTIONS.CONNECTED_ZOOM_INTEGRATION]: Zoom,\n [ACTIONS.DISCONNECTED_ZOOM_INTEGRATION]: Zoom,\n [ACTIONS.CONNECTED_CUSTOM_DOMAIN]: CustomDomain,\n};\n\nexport const AUDIT_LOGS_PAGE_SIZE = 12;\n","import { globalProps } from \"neetocommons/initializers\";\nimport { Typography } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { Trans as ReactTrans } from \"react-i18next\";\n\nconst Trans = ({\n i18nKey,\n additionalValues = {},\n additionalComponents = {},\n}) => (\n <ReactTrans\n {...{ i18nKey }}\n components={{\n Code: (\n <Typography\n className=\"neeto-ui-rounded-md neeto-ui-bg-gray-100 p-1\"\n component=\"code\"\n style=\"body3\"\n />\n ),\n Semibold: (\n <Typography\n className=\"n inline-block text-sm font-medium\"\n component=\"p\"\n />\n ),\n ...additionalComponents,\n }}\n values={{\n productSuffix: globalProps.appName,\n ...additionalValues,\n }}\n />\n);\n\nTrans.propTypes = {\n i18nKey: PropTypes.string.isRequired,\n additionalValues: PropTypes.object,\n additionalComponents: PropTypes.objectOf(PropTypes.element),\n};\n\nexport default Trans;\n","import {\n snakeToCamelCase,\n isNotEmpty,\n isPresent,\n humanize,\n findBy,\n} from \"neetocist\";\nimport { LANGUAGE_OPTIONS } from \"neetocommons/constants\";\nimport { identity, indexBy, prop, values } from \"ramda\";\n\nimport { ACTIONS } from \"./constants\";\nimport Trans from \"./Trans\";\n\nconst createFieldValueFormatter = ({ field, countriesMap }) => {\n switch (field) {\n case \"language\":\n return value => findBy({ value }, LANGUAGE_OPTIONS)?.label || value;\n case \"countryIdentifier\":\n return value => countriesMap[value]?.name || value;\n default:\n return identity;\n }\n};\n\nconst formatChangedFields = ({ changes, countriesMap }) => {\n const fields = Object.keys(changes).map((field, index) => {\n const change = changes[field];\n const valueFormatter = createFieldValueFormatter({ field, countriesMap });\n let element;\n\n if (change && isPresent(change.from)) {\n element = (\n <span key={field}>\n <Trans\n i18nKey=\"neetoMolecules.auditLogs.text.updatedFieldsWithPreviousValue\"\n additionalValues={{\n field: humanize(field),\n from: valueFormatter(change.from),\n to: valueFormatter(change.to),\n }}\n />\n </span>\n );\n } else {\n element = (\n <span key={field}>\n <Trans\n i18nKey=\"neetoMolecules.auditLogs.text.updatedFieldsWithNewValue\"\n additionalValues={{\n field: humanize(field),\n to: valueFormatter(change.to),\n }}\n />\n </span>\n );\n }\n\n return index > 0\n ? [<span key={`sep-${field}`}>, </span>, element]\n : element;\n });\n\n return fields.flat();\n};\n\nexport const transformAction = action =>\n snakeToCamelCase(action.replace(\"audit_logs.organization.\", \"\"));\n\nexport const constructAuditLogText = ({\n countriesMap = {},\n action,\n performedBy,\n emails = [],\n firstName,\n lastName,\n organizationRole,\n email,\n changes = {},\n status,\n message,\n errorMessage,\n addedPermissions,\n}) => {\n switch (action) {\n case ACTIONS.INVITED_USERS: {\n if (status === \"success\" && isNotEmpty(emails)) {\n const emailList = emails.join(\", \");\n\n return (\n <Trans\n additionalValues={{ performedBy, emailList }}\n i18nKey=\"neetoMolecules.auditLogs.text.invitedUsers\"\n />\n );\n }\n\n return (\n <Trans\n additionalValues={{ performedBy, errorMessage }}\n i18nKey=\"neetoMolecules.auditLogs.text.invitedUsersFailed\"\n />\n );\n }\n\n case ACTIONS.USER_SIGNED_UP: {\n const name = [firstName, lastName].filter(Boolean).join(\" \");\n const userIdentifier = name || organizationRole || email || \"User\";\n\n return (\n <Trans\n additionalValues={{ userIdentifier }}\n i18nKey=\"neetoMolecules.auditLogs.text.userSignedUp\"\n />\n );\n }\n\n case ACTIONS.UPDATED_USER: {\n const changedFields = formatChangedFields({ changes, countriesMap });\n const affectedUser = email || \"user\";\n\n return (\n <Trans\n additionalComponents={{ ChangedFields: <>{changedFields}</> }}\n additionalValues={{ performedBy, affectedUser, changedFields }}\n i18nKey=\"neetoMolecules.auditLogs.text.updatedUser\"\n />\n );\n }\n\n case ACTIONS.BULK_UPDATE_USERS: {\n if (status === \"success\" && isNotEmpty(emails)) {\n const emailList = emails.join(\", \");\n\n return (\n <Trans\n additionalValues={{ performedBy, emailList, message }}\n i18nKey=\"neetoMolecules.auditLogs.text.bulkUpdateUsers\"\n />\n );\n }\n\n return (\n <Trans\n additionalValues={{ performedBy, errorMessage }}\n i18nKey=\"neetoMolecules.auditLogs.text.bulkUpdateUsersFailed\"\n />\n );\n }\n\n case ACTIONS.UPDATED_USER_PROFILE: {\n const changedFields = formatChangedFields({ changes, countriesMap });\n\n return (\n <Trans\n additionalComponents={{ ChangedFields: <>{changedFields}</> }}\n additionalValues={{ performedBy }}\n i18nKey=\"neetoMolecules.auditLogs.text.updatedUserProfile\"\n />\n );\n }\n\n case ACTIONS.CREATED_ROLE: {\n const roleName = organizationRole || \"role\";\n\n return (\n <Trans\n additionalValues={{ performedBy, roleName }}\n i18nKey=\"neetoMolecules.auditLogs.text.createdRole\"\n />\n );\n }\n\n case ACTIONS.UPDATED_ROLE: {\n const roleName = organizationRole || \"role\";\n const permissionsArray = values(addedPermissions).map(permission =>\n humanize(permission.split(\".\")[1])\n );\n const addedPermissionsText = permissionsArray.join(\", \");\n\n return (\n // Disabling as we're using the same key for both singular and plural cases\n // eslint-disable-next-line @bigbinary/neeto/no-missing-localization\n <Trans\n i18nKey=\"neetoMolecules.auditLogs.text.updatedRole\"\n additionalValues={{\n performedBy,\n roleName,\n addedPermissionsText,\n count: permissionsArray.length,\n }}\n />\n );\n }\n\n case ACTIONS.CONNECTED_GOOGLE_CALENDER: {\n return (\n <Trans\n i18nKey=\"neetoMolecules.auditLogs.text.connectedGoogleCalender\"\n additionalValues={{\n performedBy,\n emailAddress: changes.emailAddress,\n }}\n />\n );\n }\n\n case ACTIONS.DISCONNECTED_GOOGLE_CALENDER: {\n return (\n <Trans\n additionalValues={{ performedBy }}\n i18nKey=\"neetoMolecules.auditLogs.text.disconnectedGoogleCalender\"\n />\n );\n }\n\n case ACTIONS.CONNECTED_STRIPE_ACCOUNT: {\n return (\n <Trans\n i18nKey=\"neetoMolecules.auditLogs.text.connectedStripeAccount\"\n additionalValues={{\n performedBy,\n stripeAccountId: changes.stripeAccountId,\n }}\n />\n );\n }\n\n case ACTIONS.DISCONNECTED_STRIPE_ACCOUNT: {\n return (\n <Trans\n additionalValues={{ performedBy }}\n i18nKey=\"neetoMolecules.auditLogs.text.disconnectedStripeAccount\"\n />\n );\n }\n\n case ACTIONS.CONNECTED_ZOOM_INTEGRATION: {\n return (\n <Trans\n i18nKey=\"neetoMolecules.auditLogs.text.connectedZoomAccount\"\n additionalValues={{\n performedBy,\n zoomAccountId: changes.zoomAccountId,\n }}\n />\n );\n }\n\n case ACTIONS.DISCONNECTED_ZOOM_INTEGRATION: {\n return (\n <Trans\n additionalValues={{ performedBy }}\n i18nKey=\"neetoMolecules.auditLogs.text.disconnectedZoomAccount\"\n />\n );\n }\n\n case ACTIONS.CONNECTED_CUSTOM_DOMAIN: {\n return (\n <Trans\n additionalValues={{ performedBy, hostname: changes.hostname }}\n i18nKey=\"neetoMolecules.auditLogs.text.connectedCustomDomain\"\n />\n );\n }\n\n case ACTIONS.DELETED_ROLE: {\n const roleName = organizationRole || \"role\";\n\n return (\n <Trans\n additionalValues={{ performedBy, roleName }}\n i18nKey=\"neetoMolecules.auditLogs.text.deletedRole\"\n />\n );\n }\n\n default: {\n return (\n <Trans\n additionalValues={{ performedBy }}\n i18nKey=\"neetoMolecules.auditLogs.text.performedAction\"\n />\n );\n }\n }\n};\n\nexport const indexById = indexBy(prop(\"id\"));\n","import classnames from \"classnames\";\nimport { dateFormat } from \"neetocommons/utils\";\nimport { Typography } from \"neetoui\";\n\nimport { AUDIT_ICON_MAP } from \"./constants\";\nimport { constructAuditLogText, transformAction } from \"./utils\";\n\nconst Card = ({ auditLog, countriesMap, index, totalCount }) => {\n const { key, metadata, performer, updatedAt } = auditLog;\n\n const action = transformAction(key);\n const performedBy = performer?.name || \"\";\n const performedAt = dateFormat.dateTime(updatedAt);\n\n const auditText = constructAuditLogText({\n countriesMap,\n action,\n performedBy,\n ...metadata,\n });\n\n const Icon = AUDIT_ICON_MAP[action];\n\n return (\n <div\n data-cy=\"audit-log-card\"\n className={classnames(\n \"align-items-center neeto-ui-border-gray-200 flex w-full gap-x-4 border-b border-l border-r p-3\",\n {\n \"rounded-t-md border-t\": index === 0,\n \"rounded-b-md\": index === totalCount - 1,\n }\n )}\n >\n <div className=\"neeto-ui-rounded-full neeto-ui-bg-gray-100 flex size-10 flex-shrink-0 items-center justify-center\">\n <Icon className=\"neeto-ui-text-gray-600 flex-shrink-0\" size={22} />\n </div>\n <div className=\"flex flex-col gap-y-2\" data-cy=\"audit-log-content\">\n <Typography\n component=\"span\"\n data-cy=\"audit-log-text\"\n lineHeight=\"normal\"\n style=\"body2\"\n >\n {auditText}\n </Typography>\n <Typography\n className=\"neeto-ui-text-gray-500 m-0\"\n data-cy=\"audit-log-timestamp\"\n style=\"body3\"\n >\n {performedAt}\n </Typography>\n </div>\n </div>\n );\n};\n\nexport default Card;\n","import axios from \"axios\";\n\nconst fetchAuditLogs = params => axios.get(\"api/v1/audit_logs\", { params });\nconst fetchCountries = () => axios.get(\"neeto_team_members/profile/countries\");\n\nconst auditLogsApi = { fetchAuditLogs, fetchCountries };\n\nexport default auditLogsApi;\n","import { useQuery } from \"@tanstack/react-query\";\n\nimport auditLogsApi from \"./api\";\nimport { AUDIT_LOGS_QUERY_KEY } from \"./constants\";\n\nexport const useFetchAuditLogs = ({ params, options = {} }) =>\n useQuery({\n queryKey: [AUDIT_LOGS_QUERY_KEY, params],\n queryFn: () => auditLogsApi.fetchAuditLogs(params),\n ...options,\n });\n","import { useQuery } from \"@tanstack/react-query\";\nimport { DEFAULT_STALE_TIME } from \"neetocommons/constants\";\n\nimport auditLogsApi from \"./api\";\nimport { COUNTRIES_LIST_QUERY_KEY } from \"./constants\";\n\nexport const useFetchCountries = () =>\n useQuery({\n queryKey: [COUNTRIES_LIST_QUERY_KEY],\n queryFn: auditLogsApi.fetchCountries,\n staleTime: DEFAULT_STALE_TIME,\n });\n","import { useMemo } from \"react\";\n\nimport { isPresent } from \"neetocist\";\nimport { DEFAULT_PAGE_INDEX } from \"neetocommons/constants\";\nimport { useQueryParams } from \"neetocommons/react-utils\";\nimport { NoData, Spinner, Pagination } from \"neetoui\";\nimport propTypes from \"prop-types\";\nimport { useTranslation } from \"react-i18next\";\n\nimport Container from \"components/Container\";\nimport Header from \"components/Header\";\n\nimport Card from \"./Card\";\nimport { AUDIT_LOGS_PAGE_SIZE } from \"./constants\";\nimport { useFetchAuditLogs } from \"./useAuditLogsApi\";\nimport { useFetchCountries } from \"./useCountriesApi\";\nimport { indexById } from \"./utils\";\n\nconst AuditLogs = ({ headerProps, noDataHelpText, noDataTitle }) => {\n const { t } = useTranslation();\n\n const { page = DEFAULT_PAGE_INDEX } = useQueryParams();\n\n const {\n data: { auditLogs = [], totalCount = 0 } = {},\n isLoading,\n isFetching,\n } = useFetchAuditLogs({ params: { page, pageSize: AUDIT_LOGS_PAGE_SIZE } });\n\n const { data: countriesData } = useFetchCountries();\n const countriesList = countriesData?.countries;\n const countriesMap = useMemo(\n () => (countriesList ? indexById(countriesList) : {}),\n [countriesList]\n );\n\n if (isLoading || isFetching) {\n return (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n );\n }\n\n return (\n <Container className=\"relative\">\n <Header title={t(\"neetoMolecules.auditLogs.title\")} {...headerProps} />\n {isPresent(auditLogs) ? (\n <div className=\"w-full\">\n {auditLogs.map((auditLog, index) => (\n <Card\n {...{ auditLog, countriesMap, index }}\n key={auditLog.id}\n totalCount={auditLogs.length}\n />\n ))}\n </div>\n ) : (\n <div className=\"flex h-full w-full items-center justify-center\">\n <NoData\n helpText={noDataHelpText}\n title={noDataTitle || t(\"neetoMolecules.auditLogs.noData\")}\n />\n </div>\n )}\n <Pagination\n className=\"neeto-ui-bg-white fixed bottom-5 right-6\"\n count={totalCount}\n pageNo={parseInt(page)}\n pageSize={AUDIT_LOGS_PAGE_SIZE}\n />\n </Container>\n );\n};\n\nAuditLogs.propTypes = {\n /**\n * Props to be passed to the `Header` component.\n */\n headerProps: propTypes.object,\n /**\n * Help text to be displayed to the `NoData` component when there are no audit logs.\n */\n noDataHelpText: propTypes.string,\n /**\n * Title to be passed to the `NoData` component when there are no audit logs.\n */\n noDataTitle: propTypes.string,\n};\n\nexport default AuditLogs;\n"],"names":["AUDIT_LOGS_QUERY_KEY","COUNTRIES_LIST_QUERY_KEY","ACTIONS","INVITED_USERS","USER_SIGNED_UP","UPDATED_USER","BULK_UPDATE_USERS","UPDATED_USER_PROFILE","CREATED_ROLE","UPDATED_ROLE","DELETED_ROLE","CONNECTED_GOOGLE_CALENDER","DISCONNECTED_GOOGLE_CALENDER","CONNECTED_STRIPE_ACCOUNT","DISCONNECTED_STRIPE_ACCOUNT","CONNECTED_ZOOM_INTEGRATION","DISCONNECTED_ZOOM_INTEGRATION","CONNECTED_CUSTOM_DOMAIN","AUDIT_ICON_MAP","_AUDIT_ICON_MAP","_defineProperty","UserCircle","UserAdd","User","UserSettings","UserRemove","GoogleCalendar","StripeTypeface","Stripe","Zoom","CustomDomain","AUDIT_LOGS_PAGE_SIZE","Trans","_ref","i18nKey","_ref$additionalValues","additionalValues","_ref$additionalCompon","additionalComponents","_jsx","ReactTrans","components","_objectSpread","Code","Typography","className","component","style","Semibold","values","productSuffix","globalProps","appName","createFieldValueFormatter","field","countriesMap","value","_findBy","findBy","LANGUAGE_OPTIONS","label","_countriesMap$value","name","identity","formatChangedFields","_ref2","changes","fields","Object","keys","map","index","change","valueFormatter","element","isPresent","from","children","humanize","to","concat","flat","transformAction","action","snakeToCamelCase","replace","constructAuditLogText","_ref3","_ref3$countriesMap","performedBy","_ref3$emails","emails","firstName","lastName","organizationRole","email","_ref3$changes","status","message","errorMessage","addedPermissions","isNotEmpty","emailList","join","filter","Boolean","userIdentifier","changedFields","affectedUser","ChangedFields","_Fragment","roleName","permissionsArray","permission","split","addedPermissionsText","count","length","emailAddress","stripeAccountId","zoomAccountId","hostname","indexById","indexBy","prop","Card","auditLog","totalCount","key","metadata","performer","updatedAt","performedAt","dateFormat","dateTime","auditText","Icon","_jsxs","classnames","size","lineHeight","fetchAuditLogs","params","axios","get","fetchCountries","auditLogsApi","useFetchAuditLogs","_ref$options","options","useQuery","queryKey","queryFn","useFetchCountries","staleTime","DEFAULT_STALE_TIME","AuditLogs","headerProps","noDataHelpText","noDataTitle","_useTranslation","useTranslation","t","_useQueryParams","useQueryParams","_useQueryParams$page","page","DEFAULT_PAGE_INDEX","_useFetchAuditLogs","pageSize","_useFetchAuditLogs$da","data","_useFetchAuditLogs$da2","_useFetchAuditLogs$da3","auditLogs","_useFetchAuditLogs$da4","isLoading","isFetching","_useFetchCountries","countriesData","countriesList","countries","useMemo","Spinner","Container","Header","title","_createElement","id","NoData","helpText","Pagination","pageNo","parseInt"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bigbinary/neeto-molecules",
3
- "version": "4.0.117",
3
+ "version": "4.0.118",
4
4
  "description": "A package of reusable molecular components for neeto products.",
5
5
  "repository": "git@github.com:bigbinary/neeto-molecules.git",
6
6
  "author": "Amaljith K <amaljith.k@bigbinary.com>",
@@ -521,8 +521,8 @@
521
521
  "updatedRole_one": "{{performedBy, anyCase}} <Semibold>حدث</Semibold> <Code>{{roleName}}</Code> دورًا مع <Code>{{addedPermissionsText}}</Code> الإذن في {{productSuffix, anyCase}}",
522
522
  "deletedRole": "{{performedBy, anyCase}} <Semibold>حذف</Semibold> <Code>{{roleName}}</Code> دورًا في {{productSuffix, anyCase}}",
523
523
  "performedAction": "{{performedBy, anyCase}} <Semibold>أجرى</Semibold> إجراءً في {{productSuffix, anyCase}}",
524
- "updatedFieldsWithPreviousValue": "<Semibold>{{field}}</Semibold>: من <Code>{{from}}</Code> إلى <Code>{{to}}</Code>",
525
- "updatedFieldsWithNewValue": "<Semibold>{{field}}</Semibold>: إلى <Code>{{to}}</Code>",
524
+ "updatedFieldsWithPreviousValue": "<Semibold>{{field}}</Semibold>: من <Code>{{from, anyCase}}</Code> إلى <Code>{{to, anyCase}}</Code>",
525
+ "updatedFieldsWithNewValue": "<Semibold>{{field}}</Semibold>: إلى <Code>{{to, anyCase}}</Code>",
526
526
  "connectedGoogleCalender": "{{performedBy, anyCase}} <Semibold>اتصلت بـ Google Calendar</Semibold> باستخدام الحساب <Code>{{emailAddress}}</Code> في {{productSuffix, anyCase}}",
527
527
  "disconnectedGoogleCalender": "{{performedBy, anyCase}} <Semibold>فصل تكامل Google Calendar</Semibold> في {{productSuffix, anyCase}}",
528
528
  "connectedStripeAccount": "{{performedBy, anyCase}} <Semibold>اتصلت بتكامل Stripe</Semibold> مع معرف الحساب: <Code>{{stripeAccountId}}</Code> في {{productSuffix, anyCase}}",
@@ -538,8 +538,8 @@
538
538
  "updatedRole_one": "{{performedBy, anyCase}} <Semibold>актуализира</Semibold> <Code>{{roleName}}</Code> роля с <Code>{{addedPermissionsText}}</Code> право на {{productSuffix, anyCase}}",
539
539
  "deletedRole": "{{performedBy, anyCase}} <Semibold>изтри</Semibold> <Code>{{roleName}}</Code> роля на {{productSuffix, anyCase}}",
540
540
  "performedAction": "{{performedBy, anyCase}} <Semibold>изпълни</Semibold> действие на {{productSuffix, anyCase}}",
541
- "updatedFieldsWithPreviousValue": "<Semibold>{{field}}</Semibold>: от <Code>{{from}}</Code> до <Code>{{to}}</Code>",
542
- "updatedFieldsWithNewValue": "<Semibold>{{field}}</Semibold>: до <Code>{{to}}</Code>",
541
+ "updatedFieldsWithPreviousValue": "<Semibold>{{field}}</Semibold>: от <Code>{{from, anyCase}}</Code> до <Code>{{to, anyCase}}</Code>",
542
+ "updatedFieldsWithNewValue": "<Semibold>{{field}}</Semibold>: до <Code>{{to, anyCase}}</Code>",
543
543
  "connectedGoogleCalender": "{{performedBy, anyCase}} <Semibold>се свърза с Google Calendar</Semibold>, използвайки акаунт <Code>{{emailAddress}}</Code> на {{productSuffix, anyCase}}",
544
544
  "disconnectedGoogleCalender": "{{performedBy, anyCase}} <Semibold>прекъсна свързването на Google Calendar</Semibold> на {{productSuffix, anyCase}}",
545
545
  "connectedStripeAccount": "{{performedBy, anyCase}} <Semibold>свърза с Stripe интеграция</Semibold> с ID на акаунт: <Code>{{stripeAccountId}}</Code> на {{productSuffix, anyCase}}",
@@ -521,8 +521,8 @@
521
521
  "updatedRole_one": "{{performedBy, anyCase}} <Semibold>ha actualitzat</Semibold> <Code>{{roleName}}</Code> rol amb <Code>{{addedPermissionsText}}</Code> permís a {{productSuffix, anyCase}}",
522
522
  "deletedRole": "{{performedBy, anyCase}} <Semibold>ha eliminat</Semibold> <Code>{{roleName}}</Code> rol a {{productSuffix, anyCase}}",
523
523
  "performedAction": "{{performedBy, anyCase}} <Semibold>ha realitzat</Semibold> una acció a {{productSuffix, anyCase}}",
524
- "updatedFieldsWithPreviousValue": "<Semibold>{{field}}</Semibold>: de <Code>{{from}}</Code> a <Code>{{to}}</Code>",
525
- "updatedFieldsWithNewValue": "<Semibold>{{field}}</Semibold>: a <Code>{{to}}</Code>",
524
+ "updatedFieldsWithPreviousValue": "<Semibold>{{field}}</Semibold>: de <Code>{{from, anyCase}}</Code> a <Code>{{to, anyCase}}</Code>",
525
+ "updatedFieldsWithNewValue": "<Semibold>{{field}}</Semibold>: a <Code>{{to, anyCase}}</Code>",
526
526
  "connectedGoogleCalender": "{{performedBy, anyCase}} <Semibold>ha connectat a Google Calendar</Semibold> utilitzant el compte <Code>{{emailAddress}}</Code> a {{productSuffix, anyCase}}",
527
527
  "disconnectedGoogleCalender": "{{performedBy, anyCase}} <Semibold>ha desconnectat la integració de Google Calendar</Semibold> a {{productSuffix, anyCase}}",
528
528
  "connectedStripeAccount": "{{performedBy, anyCase}} <Semibold>ha connectat a la integració de Stripe</Semibold> amb ID del compte: <Code>{{stripeAccountId}}</Code> a {{productSuffix, anyCase}}",
@@ -521,8 +521,8 @@
521
521
  "updatedRole_one": "{{performedBy, anyCase}} <Semibold>aktualizoval</Semibold> <Code>{{roleName}}</Code> roli s <Code>{{addedPermissionsText}}</Code> oprávněním na {{productSuffix, anyCase}}",
522
522
  "deletedRole": "{{performedBy, anyCase}} <Semibold>odstranil</Semibold> <Code>{{roleName}}</Code> roli na {{productSuffix, anyCase}}",
523
523
  "performedAction": "{{performedBy, anyCase}} <Semibold> provedl</Semibold> akci na {{productSuffix, anyCase}}",
524
- "updatedFieldsWithPreviousValue": "<Semibold>{{field}}</Semibold>: z <Code>{{from}}</Code> na <Code>{{to}}</Code>",
525
- "updatedFieldsWithNewValue": "<Semibold>{{field}}</Semibold>: na <Code>{{to}}</Code>",
524
+ "updatedFieldsWithPreviousValue": "<Semibold>{{field}}</Semibold>: z <Code>{{from, anyCase}}</Code> na <Code>{{to, anyCase}}</Code>",
525
+ "updatedFieldsWithNewValue": "<Semibold>{{field}}</Semibold>: na <Code>{{to, anyCase}}</Code>",
526
526
  "connectedGoogleCalender": "{{performedBy, anyCase}} <Semibold> se připojil k Google Kalendáři</Semibold> pomocí účtu <Code>{{emailAddress}}</Code> na {{productSuffix, anyCase}}",
527
527
  "disconnectedGoogleCalender": "{{performedBy, anyCase}} <Semibold>odstranil integraci Google Kalendáře</Semibold> na {{productSuffix, anyCase}}",
528
528
  "connectedStripeAccount": "{{performedBy, anyCase}} <Semibold> se připojil k integraci Stripe</Semibold> s ID účtu: <Code>{{stripeAccountId}}</Code> na {{productSuffix, anyCase}}",
@@ -521,8 +521,8 @@
521
521
  "updatedRole_one": "{{performedBy, anyCase}} <Semibold>opdaterede</Semibold> <Code>{{roleName}}</Code> rolle med <Code>{{addedPermissionsText}}</Code> rettighed på {{productSuffix, anyCase}}",
522
522
  "deletedRole": "{{performedBy, anyCase}} <Semibold>oglemt</Semibold> <Code>{{roleName}}</Code> rolle på {{productSuffix, anyCase}}",
523
523
  "performedAction": "{{performedBy, anyCase}} <Semibold>udførte</Semibold> en handling på {{productSuffix, anyCase}}",
524
- "updatedFieldsWithPreviousValue": "<Semibold>{{field}}</Semibold>: fra <Code>{{from}}</Code> til <Code>{{to}}</Code>",
525
- "updatedFieldsWithNewValue": "<Semibold>{{field}}</Semibold>: til <Code>{{to}}</Code>",
524
+ "updatedFieldsWithPreviousValue": "<Semibold>{{field}}</Semibold>: fra <Code>{{from, anyCase}}</Code> til <Code>{{to, anyCase}}</Code>",
525
+ "updatedFieldsWithNewValue": "<Semibold>{{field}}</Semibold>: til <Code>{{to, anyCase}}</Code>",
526
526
  "connectedGoogleCalender": "{{performedBy, anyCase}} <Semibold>forbandt til Google Calendar</Semibold> ved hjælp af konto <Code>{{emailAddress}}</Code> på {{productSuffix, anyCase}}",
527
527
  "disconnectedGoogleCalender": "{{performedBy, anyCase}} <Semibold>afbrød Google Calendar integration</Semibold> på {{productSuffix, anyCase}}",
528
528
  "connectedStripeAccount": "{{performedBy, anyCase}} <Semibold>forbandt til Stripe integration</Semibold> med konto-ID: <Code>{{stripeAccountId}}</Code> på {{productSuffix, anyCase}}",
@@ -364,8 +364,8 @@
364
364
  "updatedRole_one": "{{performedBy, anyCase}} <Semibold>hat aktualisiert</Semibold> <Code>{{roleName}}</Code> Rolle mit <Code>{{addedPermissionsText}}</Code> Berechtigung auf {{productSuffix, anyCase}}",
365
365
  "deletedRole": "{{performedBy, anyCase}} <Semibold>hat gelöscht</Semibold> <Code>{{roleName}}</Code> Rolle auf {{productSuffix, anyCase}}",
366
366
  "performedAction": "{{performedBy, anyCase}} <Semibold>hat eine Aktion ausgeführt</Semibold> auf {{productSuffix, anyCase}}",
367
- "updatedFieldsWithPreviousValue": "<Semibold>{{field}}</Semibold>: von <Code>{{from}}</Code> zu <Code>{{to}}</Code>",
368
- "updatedFieldsWithNewValue": "<Semibold>{{field}}</Semibold>: zu <Code>{{to}}</Code>",
367
+ "updatedFieldsWithPreviousValue": "<Semibold>{{field}}</Semibold>: von <Code>{{from, anyCase}}</Code> zu <Code>{{to, anyCase}}</Code>",
368
+ "updatedFieldsWithNewValue": "<Semibold>{{field}}</Semibold>: zu <Code>{{to, anyCase}}</Code>",
369
369
  "connectedGoogleCalender": "{{performedBy, anyCase}} <Semibold>hat sich mit Google Kalender verbunden</Semibold> mit Konto <Code>{{emailAddress}}</Code> auf {{productSuffix, anyCase}}",
370
370
  "disconnectedGoogleCalender": "{{performedBy, anyCase}} <Semibold>hat die Google Kalender-Integration getrennt</Semibold> auf {{productSuffix, anyCase}}",
371
371
  "connectedStripeAccount": "{{performedBy, anyCase}} <Semibold>hat sich mit der Stripe-Integration verbunden</Semibold> mit Konto-ID: <Code>{{stripeAccountId}}</Code> auf {{productSuffix, anyCase}}",
@@ -341,8 +341,8 @@
341
341
  "updatedRole_one": "{{performedBy, anyCase}} <Semibold>updated</Semibold> <Code>{{roleName}}</Code> role with <Code>{{addedPermissionsText}}</Code> permission on {{productSuffix, anyCase}}",
342
342
  "deletedRole": "{{performedBy, anyCase}} <Semibold>deleted</Semibold> <Code>{{roleName}}</Code> role on {{productSuffix, anyCase}}",
343
343
  "performedAction": "{{performedBy, anyCase}} <Semibold>performed</Semibold> an action on {{productSuffix, anyCase}}",
344
- "updatedFieldsWithPreviousValue": "<Semibold>{{field}}</Semibold>: from <Code>{{from}}</Code> to <Code>{{to}}</Code>",
345
- "updatedFieldsWithNewValue": "<Semibold>{{field}}</Semibold>: to <Code>{{to}}</Code>",
344
+ "updatedFieldsWithPreviousValue": "<Semibold>{{field}}</Semibold>: from <Code>{{from, anyCase}}</Code> to <Code>{{to, anyCase}}</Code>",
345
+ "updatedFieldsWithNewValue": "<Semibold>{{field}}</Semibold>: to <Code>{{to, anyCase}}</Code>",
346
346
  "connectedGoogleCalender": "{{performedBy, anyCase}} <Semibold>connected to Google Calendar</Semibold> using account <Code>{{emailAddress}}</Code> on {{productSuffix, anyCase}}",
347
347
  "disconnectedGoogleCalender": "{{performedBy, anyCase}} <Semibold>disconnected Google Calendar integration</Semibold> on {{productSuffix, anyCase}}",
348
348
  "connectedStripeAccount": "{{performedBy, anyCase}} <Semibold>connected to Stripe integration</Semibold> with account ID: <Code>{{stripeAccountId}}</Code> on {{productSuffix, anyCase}}",
@@ -521,8 +521,8 @@
521
521
  "updatedRole_one": "{{performedBy, anyCase}} <Semibold>actualizó</Semibold> <Code>{{roleName}}</Code> rol con <Code>{{addedPermissionsText}}</Code> permiso en {{productSuffix, anyCase}}",
522
522
  "deletedRole": "{{performedBy, anyCase}} <Semibold>eliminó</Semibold> <Code>{{roleName}}</Code> rol en {{productSuffix, anyCase}}",
523
523
  "performedAction": "{{performedBy, anyCase}} <Semibold>realizó</Semibold> una acción en {{productSuffix, anyCase}}",
524
- "updatedFieldsWithPreviousValue": "<Semibold>{{field}}</Semibold>: de <Code>{{from}}</Code> a <Code>{{to}}</Code>",
525
- "updatedFieldsWithNewValue": "<Semibold>{{field}}</Semibold>: a <Code>{{to}}</Code>",
524
+ "updatedFieldsWithPreviousValue": "<Semibold>{{field}}</Semibold>: de <Code>{{from, anyCase}}</Code> a <Code>{{to, anyCase}}</Code>",
525
+ "updatedFieldsWithNewValue": "<Semibold>{{field}}</Semibold>: a <Code>{{to, anyCase}}</Code>",
526
526
  "connectedGoogleCalender": "{{performedBy, anyCase}} <Semibold>conectó a Google Calendar</Semibold> usando la cuenta <Code>{{emailAddress}}</Code> en {{productSuffix, anyCase}}",
527
527
  "disconnectedGoogleCalender": "{{performedBy, anyCase}} <Semibold>desconectó la integración de Google Calendar</Semibold> en {{productSuffix, anyCase}}",
528
528
  "connectedStripeAccount": "{{performedBy, anyCase}} <Semibold>conectó a la integración de Stripe</Semibold> con ID de cuenta: <Code>{{stripeAccountId}}</Code> en {{productSuffix, anyCase}}",
@@ -364,8 +364,8 @@
364
364
  "updatedRole_one": "{{performedBy, anyCase}} <Semibold>actualizó</Semibold> <Code>{{roleName}}</Code> rol con <Code>{{addedPermissionsText}}</Code> permiso en {{productSuffix, anyCase}}",
365
365
  "deletedRole": "{{performedBy, anyCase}} <Semibold>eliminó</Semibold> <Code>{{roleName}}</Code> rol en {{productSuffix, anyCase}}",
366
366
  "performedAction": "{{performedBy, anyCase}} <Semibold>realizó</Semibold> una acción en {{productSuffix, anyCase}}",
367
- "updatedFieldsWithPreviousValue": "<Semibold>{{field}}</Semibold>: de <Code>{{from}}</Code> a <Code>{{to}}</Code>",
368
- "updatedFieldsWithNewValue": "<Semibold>{{field}}</Semibold>: a <Code>{{to}}</Code>",
367
+ "updatedFieldsWithPreviousValue": "<Semibold>{{field}}<\\/Semibold>: de <Code>{{from, anyCase}}<\\/Code> a <Code>{{to, anyCase}}<\\/Code>",
368
+ "updatedFieldsWithNewValue": "<Semibold>{{field}}<\\/Semibold>: a <Code>{{to, anyCase}}<\\/Code>",
369
369
  "connectedGoogleCalender": "{{performedBy, anyCase}} <Semibold>conectó a Google Calendar</Semibold> usando la cuenta <Code>{{emailAddress}}</Code> en {{productSuffix, anyCase}}",
370
370
  "disconnectedGoogleCalender": "{{performedBy, anyCase}} <Semibold>desconectó la integración de Google Calendar</Semibold> en {{productSuffix, anyCase}}",
371
371
  "connectedStripeAccount": "{{performedBy, anyCase}} <Semibold>conectó a la integración de Stripe</Semibold> con ID de cuenta: <Code>{{stripeAccountId}}</Code> en {{productSuffix, anyCase}}",
@@ -521,8 +521,8 @@
521
521
  "updatedRole_one": "{{performedBy, anyCase}} <Semibold>uuendatud</Semibold> <Code>{{roleName}}</Code> rolli <Code>{{addedPermissionsText}}</Code> õigusega {{productSuffix, anyCase}}",
522
522
  "deletedRole": "{{performedBy, anyCase}} <Semibold>eemaldatud</Semibold> <Code>{{roleName}}</Code> rolli {{productSuffix, anyCase}}",
523
523
  "performedAction": "{{performedBy, anyCase}} <Semibold>teostas</Semibold> tegu {{productSuffix, anyCase}}",
524
- "updatedFieldsWithPreviousValue": "<Semibold>{{field}}</Semibold>: alates <Code>{{from}}</Code> kuni <Code>{{to}}</Code>",
525
- "updatedFieldsWithNewValue": "<Semibold>{{field}}</Semibold>: kuni <Code>{{to}}</Code>",
524
+ "updatedFieldsWithPreviousValue": "<Semibold>{{field}}<\\/Semibold>: muutus <Code>{{from, anyCase}}<\\/Code> -> <Code>{{to, anyCase}}<\\/Code>",
525
+ "updatedFieldsWithNewValue": "<Semibold>{{field}}<\\/Semibold>: uus väärtus <Code>{{to, anyCase}}<\\/Code>",
526
526
  "connectedGoogleCalender": "{{performedBy, anyCase}} <Semibold>ühendas Google Calendariga</Semibold> kasutades konto <Code>{{emailAddress}}</Code> {{productSuffix, anyCase}}",
527
527
  "disconnectedGoogleCalender": "{{performedBy, anyCase}} <Semibold>ühendus Google Calendar'i integratsioon katkestatud</Semibold> {{productSuffix, anyCase}}",
528
528
  "connectedStripeAccount": "{{performedBy, anyCase}} <Semibold>ühendas Stripe integratsiooniga</Semibold> konto ID-ga: <Code>{{stripeAccountId}}</Code> {{productSuffix, anyCase}}",
@@ -521,8 +521,8 @@
521
521
  "updatedRole_one": "{{performedBy, anyCase}} <Semibold>päivytti</Semibold> <Code>{{roleName}}</Code> roolin <Code>{{addedPermissionsText}}</Code> oikeudella {{productSuffix, anyCase}}",
522
522
  "deletedRole": "{{performedBy, anyCase}} <Semibold>poisti</Semibold> <Code>{{roleName}}</Code> roolin {{productSuffix, anyCase}}",
523
523
  "performedAction": "{{performedBy, anyCase}} <Semibold>tehty</Semibold> toiminto {{productSuffix, anyCase}}",
524
- "updatedFieldsWithPreviousValue": "<Semibold>{{field}}</Semibold>: <Code>{{from}}</Code> <Code>{{to}}</Code>",
525
- "updatedFieldsWithNewValue": "<Semibold>{{field}}</Semibold>: <Code>{{to}}</Code>",
524
+ "updatedFieldsWithPreviousValue": "<Semibold>{{field}}</Semibold>: from <Code>{{from, anyCase}}</Code> to <Code>{{to, anyCase}}</Code>",
525
+ "updatedFieldsWithNewValue": "<Semibold>{{field}}</Semibold>: to <Code>{{to, anyCase}}</Code>",
526
526
  "connectedGoogleCalender": "{{performedBy, anyCase}} <Semibold>yhteydet Google Kalenteriin</Semibold> käyttäen tiliä <Code>{{emailAddress}}</Code> {{productSuffix, anyCase}}",
527
527
  "disconnectedGoogleCalender": "{{performedBy, anyCase}} <Semibold>poistettiin Google Kalenteri-integraatio</Semibold> {{productSuffix, anyCase}}",
528
528
  "connectedStripeAccount": "{{performedBy, anyCase}} <Semibold>yhteydet Stripe-integraatioon</Semibold> tilitunnuksella: <Code>{{stripeAccountId}}</Code> {{productSuffix, anyCase}}",
@@ -521,8 +521,8 @@
521
521
  "updatedRole_one": "{{performedBy, anyCase}} <Semibold> in-update </Semibold> <Code>{{roleName}}</Code> na tungkulin na may <Code>{{addedPermissionsText}}</Code> na pahintulot sa {{productSuffix, anyCase}}",
522
522
  "deletedRole": "{{performedBy, anyCase}} <Semibold> tinanggal </Semibold> <Code>{{roleName}}</Code> na tungkulin sa {{productSuffix, anyCase}}",
523
523
  "performedAction": "{{performedBy, anyCase}} <Semibold> nagsagawa ng </Semibold> isang aksyon sa {{productSuffix, anyCase}}",
524
- "updatedFieldsWithPreviousValue": "<Semibold>{{field}}</Semibold>: mula sa <Code>{{from}}</Code> hanggang <Code>{{to}}</Code>",
525
- "updatedFieldsWithNewValue": "<Semibold>{{field}}</Semibold>: sa <Code>{{to}}</Code>",
524
+ "updatedFieldsWithPreviousValue": "<Semibold>{{field}}</Semibold>: mula sa <Code>{{from, anyCase}}</Code> patungo sa <Code>{{to, anyCase}}</Code>",
525
+ "updatedFieldsWithNewValue": "<Semibold>{{field}}</Semibold>: patungo sa <Code>{{to, anyCase}}</Code>",
526
526
  "connectedGoogleCalender": "{{performedBy, anyCase}} <Semibold> nakonekta sa Google Calendar </Semibold> gamit ang account <Code>{{emailAddress}}</Code> sa {{productSuffix, anyCase}}",
527
527
  "disconnectedGoogleCalender": "{{performedBy, anyCase}} <Semibold> nilagdaan ang koneksyon sa Google Calendar </Semibold> sa {{productSuffix, anyCase}}",
528
528
  "connectedStripeAccount": "{{performedBy, anyCase}} <Semibold> nakonekta sa Stripe na integrasyon </Semibold> na may account ID: <Code>{{stripeAccountId}}</Code> sa {{productSuffix, anyCase}}",
@@ -364,8 +364,8 @@
364
364
  "updatedRole_one": "{{performedBy, anyCase}} <Semibold> a mis à jour</Semibold> <Code>{{roleName}}</Code> rôle avec <Code>{{addedPermissionsText}}</Code> permission sur {{productSuffix, anyCase}}",
365
365
  "deletedRole": "{{performedBy, anyCase}} <Semibold> a supprimé</Semibold> <Code>{{roleName}}</Code> rôle sur {{productSuffix, anyCase}}",
366
366
  "performedAction": "{{performedBy, anyCase}} <Semibold> a effectué</Semibold> une action sur {{productSuffix, anyCase}}",
367
- "updatedFieldsWithPreviousValue": "<Semibold>{{field}}</Semibold>: de <Code>{{from}}</Code> à <Code>{{to}}</Code>",
368
- "updatedFieldsWithNewValue": "<Semibold>{{field}}</Semibold>: à <Code>{{to}}</Code>",
367
+ "updatedFieldsWithPreviousValue": "<Semibold>{{field}}</Semibold>: de <Code>{{from, anyCase}}</Code> à <Code>{{to, anyCase}}</Code>",
368
+ "updatedFieldsWithNewValue": "<Semibold>{{field}}</Semibold>: à <Code>{{to, anyCase}}</Code>",
369
369
  "connectedGoogleCalender": "{{performedBy, anyCase}} <Semibold> a connecté au Google Calendar</Semibold> en utilisant le compte <Code>{{emailAddress}}</Code> sur {{productSuffix, anyCase}}",
370
370
  "disconnectedGoogleCalender": "{{performedBy, anyCase}} <Semibold> a déconnecté l'intégration Google Calendar</Semibold> sur {{productSuffix, anyCase}}",
371
371
  "connectedStripeAccount": "{{performedBy, anyCase}} <Semibold> a connecté à l'intégration Stripe</Semibold> avec l'ID de compte : <Code>{{stripeAccountId}}</Code> sur {{productSuffix, anyCase}}",
@@ -341,8 +341,8 @@
341
341
  "updatedRole_one": "{{performedBy, anyCase}} <Semibold>עדכן</Semibold> תפקיד <Code>{{roleName}}</Code> עם <Code>{{addedPermissionsText}}</Code> הרשאה ב{{productSuffix, anyCase}}",
342
342
  "deletedRole": "{{performedBy, anyCase}} <Semibold>מחק</Semibold> תפקיד <Code>{{roleName}}</Code> ב{{productSuffix, anyCase}}",
343
343
  "performedAction": "{{performedBy, anyCase}} <Semibold>ביצע</Semibold> פעולה ב{{productSuffix, anyCase}}",
344
- "updatedFieldsWithPreviousValue": "<Semibold>{{field}}</Semibold>: מ<Code>{{from}}</Code> ל<Code>{{to}}</Code>",
345
- "updatedFieldsWithNewValue": "<Semibold>{{field}}</Semibold>: ל<Code>{{to}}</Code>",
344
+ "updatedFieldsWithPreviousValue": "<Semibold>{{field}}<\\/Semibold>: מ<Code>{{from, anyCase}}<\\/Code> ל<Code>{{to, anyCase}}<\\/Code>",
345
+ "updatedFieldsWithNewValue": "<Semibold>{{field}}<\\/Semibold>: ל<Code>{{to, anyCase}}<\\/Code>",
346
346
  "connectedGoogleCalender": "{{performedBy, anyCase}} <Semibold>מחובר ל-Google Calendar</Semibold> באמצעות חשבון <Code>{{emailAddress}}</Code> ב{{productSuffix, anyCase}}",
347
347
  "disconnectedGoogleCalender": "{{performedBy, anyCase}} <Semibold>ניתק את האינטגרציה של Google Calendar</Semibold> ב{{productSuffix, anyCase}}",
348
348
  "connectedStripeAccount": "{{performedBy, anyCase}} <Semibold>מחובר לאינטגרציה של Stripe</Semibold> עם מזהה חשבון: <Code>{{stripeAccountId}}</Code> ב{{productSuffix, anyCase}}",
@@ -538,8 +538,8 @@
538
538
  "updatedRole_one": "{{performedBy, anyCase}} <Semibold>updated</Semibold> <Code>{{roleName}}</Code> भूमिका में <Code>{{addedPermissionsText}}</Code> अनुमति के साथ {{productSuffix, anyCase}}",
539
539
  "deletedRole": "{{performedBy, anyCase}} <Semibold>deleted</Semibold> <Code>{{roleName}}</Code> भूमिका पर {{productSuffix, anyCase}}",
540
540
  "performedAction": "{{performedBy, anyCase}} <Semibold>performed</Semibold> एक क्रिया {{productSuffix, anyCase}} पर",
541
- "updatedFieldsWithPreviousValue": "<Semibold>{{field}}</Semibold>: से <Code>{{from}}</Code> तक <Code>{{to}}</Code>",
542
- "updatedFieldsWithNewValue": "<Semibold>{{field}}</Semibold>: तक <Code>{{to}}</Code>",
541
+ "updatedFieldsWithPreviousValue": "<Semibold>{{field}}<\\Semibold>: से <Code>{{from, anyCase}}<\\Code> तक <Code>{{to, anyCase}}<\\Code>",
542
+ "updatedFieldsWithNewValue": "<Semibold>{{field}}<\\Semibold>: तक <Code>{{to, anyCase}}<\\Code>",
543
543
  "connectedGoogleCalender": "{{performedBy, anyCase}} <Semibold>connected to Google Calendar</Semibold> खाते का उपयोग करके <Code>{{emailAddress}}</Code> पर {{productSuffix, anyCase}}",
544
544
  "disconnectedGoogleCalender": "{{performedBy, anyCase}} <Semibold>disconnected Google Calendar एकीकरण</Semibold> पर {{productSuffix, anyCase}}",
545
545
  "connectedStripeAccount": "{{performedBy, anyCase}} <Semibold>connected to Stripe integration</Semibold> खाता ID के साथ: <Code>{{stripeAccountId}}</Code> पर {{productSuffix, anyCase}}",
@@ -521,8 +521,8 @@
521
521
  "updatedRole_one": "{{performedBy, anyCase}} <Semibold>je ažurirao</Semibold> <Code>{{roleName}}</Code> ulogu s <Code>{{addedPermissionsText}}</Code> dozvolom na {{productSuffix, anyCase}}",
522
522
  "deletedRole": "{{performedBy, anyCase}} <Semibold>je obrisao</Semibold> <Code>{{roleName}}</Code> ulogu na {{productSuffix, anyCase}}",
523
523
  "performedAction": "{{performedBy, anyCase}} <Semibold>je izvršio</Semibold> radnju na {{productSuffix, anyCase}}",
524
- "updatedFieldsWithPreviousValue": "<Semibold>{{field}}</Semibold>: od <Code>{{from}}</Code> do <Code>{{to}}</Code>",
525
- "updatedFieldsWithNewValue": "<Semibold>{{field}}</Semibold>: do <Code>{{to}}</Code>",
524
+ "updatedFieldsWithPreviousValue": "<Semibold>{{field}}</Semibold>: od <Code>{{from, anyCase}}</Code> do <Code>{{to, anyCase}}</Code>",
525
+ "updatedFieldsWithNewValue": "<Semibold>{{field}}</Semibold>: do <Code>{{to, anyCase}}</Code>",
526
526
  "connectedGoogleCalender": "{{performedBy, anyCase}} <Semibold>je povezao s Google kalendarom</Semibold> koristeći račun <Code>{{emailAddress}}</Code> na {{productSuffix, anyCase}}",
527
527
  "disconnectedGoogleCalender": "{{performedBy, anyCase}} <Semibold>je isključio Google Calendar integraciju</Semibold> na {{productSuffix, anyCase}}",
528
528
  "connectedStripeAccount": "{{performedBy, anyCase}} <Semibold>je povezao sa Stripe integracijom</Semibold> s ID-om računa: <Code>{{stripeAccountId}}</Code> na {{productSuffix, anyCase}}",
@@ -521,8 +521,8 @@
521
521
  "updatedRole_one": "{{performedBy, anyCase}} <Semibold> telah memperbarui </Semibold> <Code>{{roleName}}</Code> peran dengan <Code>{{addedPermissionsText}}</Code> izin di {{productSuffix, anyCase}}",
522
522
  "deletedRole": "{{performedBy, anyCase}} <Semibold> telah menghapus </Semibold> <Code>{{roleName}}</Code> peran di {{productSuffix, anyCase}}",
523
523
  "performedAction": "{{performedBy, anyCase}} <Semibold> telah melakukan </Semibold> tindakan di {{productSuffix, anyCase}}",
524
- "updatedFieldsWithPreviousValue": "<Semibold>{{field}}</Semibold>: dari <Code>{{from}}</Code> ke <Code>{{to}}</Code>",
525
- "updatedFieldsWithNewValue": "<Semibold>{{field}}</Semibold>: ke <Code>{{to}}</Code>",
524
+ "updatedFieldsWithPreviousValue": "<Semibold>{{field}}</Semibold>: dari <Code>{{from, anyCase}}</Code> ke <Code>{{to, anyCase}}</Code>",
525
+ "updatedFieldsWithNewValue": "<Semibold>{{field}}</Semibold>: ke <Code>{{to, anyCase}}</Code>",
526
526
  "connectedGoogleCalender": "{{performedBy, anyCase}} <Semibold> telah terhubung ke Google Calendar</Semibold> menggunakan akun <Code>{{emailAddress}}</Code> di {{productSuffix, anyCase}}",
527
527
  "disconnectedGoogleCalender": "{{performedBy, anyCase}} <Semibold> telah memutuskan integrasi Google Calendar</Semibold> di {{productSuffix, anyCase}}",
528
528
  "connectedStripeAccount": "{{performedBy, anyCase}} <Semibold> telah terhubung ke integrasi Stripe</Semibold> dengan ID akun: <Code>{{stripeAccountId}}</Code> di {{productSuffix, anyCase}}",
@@ -521,8 +521,8 @@
521
521
  "updatedRole_one": "{{performedBy, anyCase}} <Semibold>ha aggiornato</Semibold> <Code>{{roleName}}</Code> ruolo con <Code>{{addedPermissionsText}}</Code> permesso su {{productSuffix, anyCase}}",
522
522
  "deletedRole": "{{performedBy, anyCase}} <Semibold>ha eliminato</Semibold> <Code>{{roleName}}</Code> ruolo su {{productSuffix, anyCase}}",
523
523
  "performedAction": "{{performedBy, anyCase}} <Semibold>ha eseguito</Semibold> un'azione su {{productSuffix, anyCase}}",
524
- "updatedFieldsWithPreviousValue": "<Semibold>{{field}}</Semibold>: da <Code>{{from}}</Code> a <Code>{{to}}</Code>",
525
- "updatedFieldsWithNewValue": "<Semibold>{{field}}</Semibold>: a <Code>{{to}}</Code>",
524
+ "updatedFieldsWithPreviousValue": "<Semibold>{{field}}</Semibold>: da <Code>{{from, anyCase}}</Code> a <Code>{{to, anyCase}}</Code>",
525
+ "updatedFieldsWithNewValue": "<Semibold>{{field}}</Semibold>: a <Code>{{to, anyCase}}</Code>",
526
526
  "connectedGoogleCalender": "{{performedBy, anyCase}} <Semibold>ha collegato Google Calendar</Semibold> utilizzando l'account <Code>{{emailAddress}}</Code> su {{productSuffix, anyCase}}",
527
527
  "disconnectedGoogleCalender": "{{performedBy, anyCase}} <Semibold>ha disconnesso l'integrazione di Google Calendar</Semibold> su {{productSuffix, anyCase}}",
528
528
  "connectedStripeAccount": "{{performedBy, anyCase}} <Semibold>ha collegato l'integrazione di Stripe</Semibold> con ID account: <Code>{{stripeAccountId}}</Code> su {{productSuffix, anyCase}}",
@@ -521,8 +521,8 @@
521
521
  "updatedRole_one": "{{performedBy, anyCase}} <Semibold>更新しました</Semibold> <Code>{{roleName}}</Code> ロールに <Code>{{addedPermissionsText}}</Code> 権限を与えました {{productSuffix, anyCase}}",
522
522
  "deletedRole": "{{performedBy, anyCase}} <Semibold>削除しました</Semibold> <Code>{{roleName}}</Code> ロール {{productSuffix, anyCase}}",
523
523
  "performedAction": "{{performedBy, anyCase}} <Semibold>実行しました</Semibold> アクションを {{productSuffix, anyCase}}",
524
- "updatedFieldsWithPreviousValue": "<Semibold>{{field}}</Semibold>: <Code>{{from}}</Code> から <Code>{{to}}</Code> まで",
525
- "updatedFieldsWithNewValue": "<Semibold>{{field}}</Semibold>: <Code>{{to}}</Code> まで",
524
+ "updatedFieldsWithPreviousValue": "<Semibold>{{field}}</Semibold>: <Code>{{from, anyCase}}</Code> から <Code>{{to, anyCase}}</Code> ",
525
+ "updatedFieldsWithNewValue": "<Semibold>{{field}}</Semibold>: <Code>{{to, anyCase}}</Code> ",
526
526
  "connectedGoogleCalender": "{{performedBy, anyCase}} <Semibold>Google カレンダーに接続しました</Semibold> アカウント <Code>{{emailAddress}}</Code> {{productSuffix, anyCase}}",
527
527
  "disconnectedGoogleCalender": "{{performedBy, anyCase}} <Semibold>Google カレンダーの統合を切断しました</Semibold> {{productSuffix, anyCase}}",
528
528
  "connectedStripeAccount": "{{performedBy, anyCase}} <Semibold>Stripe 統合に接続しました</Semibold> アカウント ID: <Code>{{stripeAccountId}}</Code> {{productSuffix, anyCase}}",
@@ -521,8 +521,8 @@
521
521
  "updatedRole_one": "{{performedBy, anyCase}} <Semibold>업데이트했습니다</Semibold> <Code>{{roleName}}</Code> 역할을 <Code>{{addedPermissionsText}}</Code> 권한으로 {{productSuffix, anyCase}}에서",
522
522
  "deletedRole": "{{performedBy, anyCase}} <Semibold>삭제했습니다</Semibold> <Code>{{roleName}}</Code> 역할을 {{productSuffix, anyCase}}에서",
523
523
  "performedAction": "{{performedBy, anyCase}} <Semibold>행동을 수행했습니다</Semibold> {{productSuffix, anyCase}}에서",
524
- "updatedFieldsWithPreviousValue": "<Semibold>{{field}}</Semibold>: <Code>{{from}}</Code>에서 <Code>{{to}}</Code>로",
525
- "updatedFieldsWithNewValue": "<Semibold>{{field}}</Semibold>: <Code>{{to}}</Code>로",
524
+ "updatedFieldsWithPreviousValue": "<Semibold>{{field}}</Semibold>: <Code>{{from, anyCase}}</Code> <strong>에서</strong> <Code>{{to, anyCase}}</Code>로",
525
+ "updatedFieldsWithNewValue": "<Semibold>{{field}}</Semibold>: <Code>{{to, anyCase}}</Code>로",
526
526
  "connectedGoogleCalender": "{{performedBy, anyCase}} <Semibold>Google Calendar에 연결했습니다</Semibold> 계정을 사용하여 <Code>{{emailAddress}}</Code>에서 {{productSuffix, anyCase}}",
527
527
  "disconnectedGoogleCalender": "{{performedBy, anyCase}} <Semibold>Google Calendar 통합을 끊었습니다</Semibold> {{productSuffix, anyCase}}에서",
528
528
  "connectedStripeAccount": "{{performedBy, anyCase}} <Semibold>Stripe 통합에 연결했습니다</Semibold> 계정 ID: <Code>{{stripeAccountId}}</Code>에서 {{productSuffix, anyCase}}",
@@ -364,8 +364,8 @@
364
364
  "updatedRole_one": "{{performedBy, anyCase}} <Semibold>heeft bijgewerkt</Semibold> <Code>{{roleName}}</Code> rol met <Code>{{addedPermissionsText}}</Code> recht op {{productSuffix, anyCase}}",
365
365
  "deletedRole": "{{performedBy, anyCase}} <Semibold>heeft verwijderd</Semibold> <Code>{{roleName}}</Code> rol op {{productSuffix, anyCase}}",
366
366
  "performedAction": "{{performedBy, anyCase}} <Semibold>heeft een actie uitgevoerd</Semibold> op {{productSuffix, anyCase}}",
367
- "updatedFieldsWithPreviousValue": "<Semibold>{{field}}</Semibold>: van <Code>{{from}}</Code> naar <Code>{{to}}</Code>",
368
- "updatedFieldsWithNewValue": "<Semibold>{{field}}</Semibold>: naar <Code>{{to}}</Code>",
367
+ "updatedFieldsWithPreviousValue": "<Semibold>{{field}}</Semibold>: van <Code>{{from, anyCase}}</Code> naar <Code>{{to, anyCase}}</Code>",
368
+ "updatedFieldsWithNewValue": "<Semibold>{{field}}</Semibold>: naar <Code>{{to, anyCase}}</Code>",
369
369
  "connectedGoogleCalender": "{{performedBy, anyCase}} <Semibold>verbonden met Google Calendar</Semibold> met account <Code>{{emailAddress}}</Code> op {{productSuffix, anyCase}}",
370
370
  "disconnectedGoogleCalender": "{{performedBy, anyCase}} <Semibold>verbroken Google Calendar integratie</Semibold> op {{productSuffix, anyCase}}",
371
371
  "connectedStripeAccount": "{{performedBy, anyCase}} <Semibold>verbonden met Stripe integratie</Semibold> met account ID: <Code>{{stripeAccountId}}</Code> op {{productSuffix, anyCase}}",
@@ -364,8 +364,8 @@
364
364
  "updatedRole_one": "{{performedBy, anyCase}} <Semibold>aktualizował</Semibold> <Code>{{roleName}}</Code> rolę z <Code>{{addedPermissionsText}}</Code> uprawnieniem na {{productSuffix, anyCase}}",
365
365
  "deletedRole": "{{performedBy, anyCase}} <Semibold>deletował</Semibold> <Code>{{roleName}}</Code> rolę na {{productSuffix, anyCase}}",
366
366
  "performedAction": "{{performedBy, anyCase}} <Semibold>wykonał</Semibold> akcję na {{productSuffix, anyCase}}",
367
- "updatedFieldsWithPreviousValue": "<Semibold>{{field}}</Semibold>: z <Code>{{from}}</Code> do <Code>{{to}}</Code>",
368
- "updatedFieldsWithNewValue": "<Semibold>{{field}}</Semibold>: do <Code>{{to}}</Code>",
367
+ "updatedFieldsWithPreviousValue": "<Semibold>{{field}}</Semibold>: z <Code>{{from, anyCase}}</Code> na <Code>{{to, anyCase}}</Code>",
368
+ "updatedFieldsWithNewValue": "<Semibold>{{field}}</Semibold>: na <Code>{{to, anyCase}}</Code>",
369
369
  "connectedGoogleCalender": "{{performedBy, anyCase}} <Semibold>podłączył do Google Calendar</Semibold> za pomocą konta <Code>{{emailAddress}}</Code> na {{productSuffix, anyCase}}",
370
370
  "disconnectedGoogleCalender": "{{performedBy, anyCase}} <Semibold>edłączył integrację Google Calendar</Semibold> na {{productSuffix, anyCase}}",
371
371
  "connectedStripeAccount": "{{performedBy, anyCase}} <Semibold>podłączył integrację Stripe</Semibold> z ID konta: <Code>{{stripeAccountId}}</Code> na {{productSuffix, anyCase}}",
@@ -521,8 +521,8 @@
521
521
  "updatedRole_one": "{{performedBy, anyCase}} <Semibold>atualizou</Semibold> <Code>{{roleName}}</Code> função com <Code>{{addedPermissionsText}}</Code> permissão em {{productSuffix, anyCase}}",
522
522
  "deletedRole": "{{performedBy, anyCase}} <Semibold> deletou</Semibold> <Code>{{roleName}}</Code> função em {{productSuffix, anyCase}}",
523
523
  "performedAction": "{{performedBy, anyCase}} <Semibold>executou</Semibold> uma ação em {{productSuffix, anyCase}}",
524
- "updatedFieldsWithPreviousValue": "<Semibold>{{field}}</Semibold>: de <Code>{{from}}</Code> para <Code>{{to}}</Code>",
525
- "updatedFieldsWithNewValue": "<Semibold>{{field}}</Semibold>: para <Code>{{to}}</Code>",
524
+ "updatedFieldsWithPreviousValue": "<Semibold>{{field}}</Semibold>: de <Code>{{from, anyCase}}</Code> para <Code>{{to, anyCase}}</Code>",
525
+ "updatedFieldsWithNewValue": "<Semibold>{{field}}</Semibold>: para <Code>{{to, anyCase}}</Code>",
526
526
  "connectedGoogleCalender": "{{performedBy, anyCase}} <Semibold>conectou ao Google Calendar</Semibold> usando a conta <Code>{{emailAddress}}</Code> em {{productSuffix, anyCase}}",
527
527
  "disconnectedGoogleCalender": "{{performedBy, anyCase}} <Semibold>desconectou a integração do Google Calendar</Semibold> em {{productSuffix, anyCase}}",
528
528
  "connectedStripeAccount": "{{performedBy, anyCase}} <Semibold>conectou à integração do Stripe</Semibold> com ID da conta: <Code>{{stripeAccountId}}</Code> em {{productSuffix, anyCase}}",
@@ -364,8 +364,8 @@
364
364
  "updatedRole_one": "{{performedBy, anyCase}} <Semibold>atualizou</Semibold> <Code>{{roleName}}</Code> função com <Code>{{addedPermissionsText}}</Code> permissão no {{productSuffix, anyCase}}",
365
365
  "deletedRole": "{{performedBy, anyCase}} <Semibold>excluiu</Semibold> <Code>{{roleName}}</Code> função no {{productSuffix, anyCase}}",
366
366
  "performedAction": "{{performedBy, anyCase}} <Semibold>executou</Semibold> uma ação no {{productSuffix, anyCase}}",
367
- "updatedFieldsWithPreviousValue": "<Semibold>{{field}}</Semibold>: de <Code>{{from}}</Code> para <Code>{{to}}</Code>",
368
- "updatedFieldsWithNewValue": "<Semibold>{{field}}</Semibold>: para <Code>{{to}}</Code>",
367
+ "updatedFieldsWithPreviousValue": "<Semibold>{{field}}</Semibold>: de <Code>{{from, anyCase}}</Code> para <Code>{{to, anyCase}}</Code>",
368
+ "updatedFieldsWithNewValue": "<Semibold>{{field}}</Semibold>: para <Code>{{to, anyCase}}</Code>",
369
369
  "connectedGoogleCalender": "{{performedBy, anyCase}} <Semibold>conectado ao Google Calendar</Semibold> usando a conta <Code>{{emailAddress}}</Code> no {{productSuffix, anyCase}}",
370
370
  "disconnectedGoogleCalender": "{{performedBy, anyCase}} <Semibold>desconectou a integração do Google Calendar</Semibold> no {{productSuffix, anyCase}}",
371
371
  "connectedStripeAccount": "{{performedBy, anyCase}} <Semibold>conectado à integração do Stripe</Semibold> com ID da conta: <Code>{{stripeAccountId}}</Code> no {{productSuffix, anyCase}}",
@@ -521,8 +521,8 @@
521
521
  "updatedRole_one": "{{performedBy, anyCase}} <Semibold>actualizat</Semibold> <Code>{{roleName}}</Code> rol cu <Code>{{addedPermissionsText}}</Code> permisiune pe {{productSuffix, anyCase}}",
522
522
  "deletedRole": "{{performedBy, anyCase}} <Semibold>deleted</Semibold> <Code>{{roleName}}</Code> rol pe {{productSuffix, anyCase}}",
523
523
  "performedAction": "{{performedBy, anyCase}} <Semibold>efectuat</Semibold> o acțiune pe {{productSuffix, anyCase}}",
524
- "updatedFieldsWithPreviousValue": "<Semibold>{{field}}</Semibold>: de la <Code>{{from}}</Code> la <Code>{{to}}</Code>",
525
- "updatedFieldsWithNewValue": "<Semibold>{{field}}</Semibold>: la <Code>{{to}}</Code>",
524
+ "updatedFieldsWithPreviousValue": "<Semibold>{{field}}</Semibold>: de la <Code>{{from, anyCase}}</Code> la <Code>{{to, anyCase}}</Code>",
525
+ "updatedFieldsWithNewValue": "<Semibold>{{field}}</Semibold>: la <Code>{{to, anyCase}}</Code>",
526
526
  "connectedGoogleCalender": "{{performedBy, anyCase}} <Semibold>conectat la Google Calendar</Semibold> folosind contul <Code>{{emailAddress}}</Code> pe {{productSuffix, anyCase}}",
527
527
  "disconnectedGoogleCalender": "{{performedBy, anyCase}} <Semibold>deconectat integrarea Google Calendar</Semibold> pe {{productSuffix, anyCase}}",
528
528
  "connectedStripeAccount": "{{performedBy, anyCase}} <Semibold>conectat la integrarea Stripe</Semibold> cu ID-ul contului: <Code>{{stripeAccountId}}</Code> pe {{productSuffix, anyCase}}",
@@ -515,8 +515,8 @@
515
515
  "updatedRole_one": "{{performedBy, anyCase}} <Semibold>обновил</Semibold> <Code>{{roleName}}</Code> роль с <Code>{{addedPermissionsText}}</Code> правом на {{productSuffix, anyCase}}",
516
516
  "deletedRole": "{{performedBy, anyCase}} <Semibold>удалил</Semibold> <Code>{{roleName}}</Code> роль на {{productSuffix, anyCase}}",
517
517
  "performedAction": "{{performedBy, anyCase}} <Semibold>выполнил</Semibold> действие на {{productSuffix, anyCase}}",
518
- "updatedFieldsWithPreviousValue": "<Semibold>{{field}}</Semibold>: с <Code>{{from}}</Code> на <Code>{{to}}</Code>",
519
- "updatedFieldsWithNewValue": "<Semibold>{{field}}</Semibold>: на <Code>{{to}}</Code>",
518
+ "updatedFieldsWithPreviousValue": "<Semibold>{{field}}</Semibold>: из <Code>{{from, anyCase}}</Code> в <Code>{{to, anyCase}}</Code>",
519
+ "updatedFieldsWithNewValue": "<Semibold>{{field}}</Semibold>: в <Code>{{to, anyCase}}</Code>",
520
520
  "connectedGoogleCalender": "{{performedBy, anyCase}} <Semibold>соединился с Google Календарем</Semibold> используя аккаунт <Code>{{emailAddress}}</Code> на {{productSuffix, anyCase}}",
521
521
  "disconnectedGoogleCalender": "{{performedBy, anyCase}} <Semibold>отключил интеграцию Google Календаря</Semibold> на {{productSuffix, anyCase}}",
522
522
  "connectedStripeAccount": "{{performedBy, anyCase}} <Semibold>соединился с интеграцией Stripe</Semibold> с ID аккаунта: <Code>{{stripeAccountId}}</Code> на {{productSuffix, anyCase}}",
@@ -521,8 +521,8 @@
521
521
  "updatedRole_one": "{{performedBy, anyCase}} <Semibold>aktualizoval</Semibold> <Code>{{roleName}}</Code> rolu s <Code>{{addedPermissionsText}}</Code> oprávnením na {{productSuffix, anyCase}}",
522
522
  "deletedRole": "{{performedBy, anyCase}} <Semibold>odstránil</Semibold> <Code>{{roleName}}</Code> rolu na {{productSuffix, anyCase}}",
523
523
  "performedAction": "{{performedBy, anyCase}} <Semibold>vykonal</Semibold> akciu na {{productSuffix, anyCase}}",
524
- "updatedFieldsWithPreviousValue": "<Semibold>{{field}}</Semibold>: z <Code>{{from}}</Code> na <Code>{{to}}</Code>",
525
- "updatedFieldsWithNewValue": "<Semibold>{{field}}</Semibold>: na <Code>{{to}}</Code>",
524
+ "updatedFieldsWithPreviousValue": "<Semibold>{{field}}</Semibold>: z <Code>{{from, anyCase}}</Code> na <Code>{{to, anyCase}}</Code>",
525
+ "updatedFieldsWithNewValue": "<Semibold>{{field}}</Semibold>: na <Code>{{to, anyCase}}</Code>",
526
526
  "connectedGoogleCalender": "{{performedBy, anyCase}} <Semibold>pripojil sa k Google Kalendáru</Semibold> pomocou účtu <Code>{{emailAddress}}</Code> na {{productSuffix, anyCase}}",
527
527
  "disconnectedGoogleCalender": "{{performedBy, anyCase}} <Semibold>odpojil Google Kalendár</Semibold> na {{productSuffix, anyCase}}",
528
528
  "connectedStripeAccount": "{{performedBy, anyCase}} <Semibold>pripojil sa k Stripe integrácii</Semibold> s ID účtu: <Code>{{stripeAccountId}}</Code> na {{productSuffix, anyCase}}",