diff --git a/app/javascript/v3/components/Form/InitialsAvatar.vue b/app/javascript/v3/components/Form/InitialsAvatar.vue index c58b89cdc..ccfc6a513 100644 --- a/app/javascript/v3/components/Form/InitialsAvatar.vue +++ b/app/javascript/v3/components/Form/InitialsAvatar.vue @@ -5,13 +5,13 @@ :style="style" aria-hidden="true" > - {{ userInitial }} + {{ initial }} diff --git a/app/javascript/v3/components/Form/Input.vue b/app/javascript/v3/components/Form/Input.vue index 5133dd7d3..a0e0bf6e0 100644 --- a/app/javascript/v3/components/Form/Input.vue +++ b/app/javascript/v3/components/Form/Input.vue @@ -26,7 +26,7 @@ 'px-3 py-2 mb-0': spacing === 'compact', 'pl-9': icon, }" - disabled + :disabled="disabled" class="block w-full h-10 ltr:pl-3 ltr:pr-2 rtl:pl-2 rtl:pr-3 py-2.5 !border-none shadow-sm appearance-none reset-base rounded-xl outline outline-1 focus:outline-1 text-ash-900 placeholder:text-ash-200 sm:text-sm sm:leading-6" @input="onInput" @blur="$emit('blur')" diff --git a/app/javascript/v3/helpers/CommonHelper.js b/app/javascript/v3/helpers/CommonHelper.js index cdd913769..a4b55bdd5 100644 --- a/app/javascript/v3/helpers/CommonHelper.js +++ b/app/javascript/v3/helpers/CommonHelper.js @@ -1,3 +1,9 @@ export const replaceRouteWithReload = url => { window.location = url; }; + +export const userInitial = name => { + const parts = name.split(/[ -]/).filter(Boolean); + let initials = parts.map(part => part[0].toUpperCase()).join(''); + return initials.slice(0, 2); +}; diff --git a/app/javascript/v3/helpers/specs/CommonHelper.spec.js b/app/javascript/v3/helpers/specs/CommonHelper.spec.js new file mode 100644 index 000000000..58d86006c --- /dev/null +++ b/app/javascript/v3/helpers/specs/CommonHelper.spec.js @@ -0,0 +1,10 @@ +import { userInitial } from '../CommonHelper'; + +describe('#userInitial', () => { + it('returns the initials of the user', () => { + expect(userInitial('John Doe')).toEqual('JD'); + expect(userInitial('John')).toEqual('J'); + expect(userInitial('John-Doe')).toEqual('JD'); + expect(userInitial('John Doe Smith')).toEqual('JD'); + }); +});