diff --git a/public/TrayToolbarIcon.png b/public/TrayToolbarIcon.png new file mode 100644 index 00000000..ed4d6293 Binary files /dev/null and b/public/TrayToolbarIcon.png differ diff --git a/public/TrayToolbarIcon20x20.png b/public/TrayToolbarIcon20x20.png deleted file mode 100644 index d8fe6b50..00000000 Binary files a/public/TrayToolbarIcon20x20.png and /dev/null differ diff --git a/public/TrayToolbarIconBlack.png b/public/TrayToolbarIconBlack.png new file mode 100644 index 00000000..39b71119 Binary files /dev/null and b/public/TrayToolbarIconBlack.png differ diff --git a/public/TrayToolbarIconWhite.png b/public/TrayToolbarIconWhite.png new file mode 100644 index 00000000..52a5822b Binary files /dev/null and b/public/TrayToolbarIconWhite.png differ diff --git a/src/main/classes/controllers/TrayController.ts b/src/main/classes/controllers/TrayController.ts index 9375aa17..6f6536a6 100644 --- a/src/main/classes/controllers/TrayController.ts +++ b/src/main/classes/controllers/TrayController.ts @@ -1,5 +1,5 @@ -import { Menu, MenuItem, MenuItemConstructorOptions, Tray, app } from 'electron' -import { join } from 'path' +import { Menu, MenuItem, MenuItemConstructorOptions, Tray, app, nativeImage } from 'electron' +import path, { join } from 'path' import { AccountController } from './AccountController' import { LoginController } from './LoginController' import { NethLinkController } from './NethLinkController' @@ -14,8 +14,22 @@ export class TrayController { static instance: TrayController constructor() { TrayController.instance = this + let image - this.tray = new Tray(join(__dirname, '../../public/TrayToolbarIcon20x20.png')) + //TODO Controllare con il process + if (process.platform === 'win32' || process.platform === 'linux') { + image = nativeImage.createFromPath( + path.join(__dirname, '../../public/TrayToolbarIconWhite.png') + ).resize({ width: 18, height: 18 }); + } else { + image = nativeImage.createFromPath( + path.join(__dirname, '../../public/TrayToolbarIconBlack.png') + ).resize({ width: 18, height: 18 }); + } + + + + this.tray = new Tray(image) this.tray.setIgnoreDoubleClickEvents(true) this.tray.on('click', () => { if (this.enableClick) { diff --git a/src/renderer/src/components/AddToPhonebookBox.tsx b/src/renderer/src/components/AddToPhonebookBox.tsx index f41c59e3..469ddcb8 100644 --- a/src/renderer/src/components/AddToPhonebookBox.tsx +++ b/src/renderer/src/components/AddToPhonebookBox.tsx @@ -27,9 +27,18 @@ export function AddToPhonebookBox({ const submitButtonRef = useRef(null) const baseSchema = z.object({ privacy: z.string(), - extension: z.string().trim().regex(/^[0-9*#+]*$/, 'This is not a phone number'), - workphone: z.string().trim().regex(/^[0-9*#+]*$/, 'This is not a phone number'), - cellphone: z.string().trim().regex(/^[0-9*#+]*$/, 'This is not a phone number'), + extension: z + .string() + .trim() + .regex(/^[0-9*#+]*$/, 'This is not a phone number'), + workphone: z + .string() + .trim() + .regex(/^[0-9*#+]*$/, 'This is not a phone number'), + cellphone: z + .string() + .trim() + .regex(/^[0-9*#+]*$/, 'This is not a phone number'), workemail: z.string(), notes: z.string() }) @@ -61,6 +70,7 @@ export function AddToPhonebookBox({ register, watch, handleSubmit, + setFocus, setValue, reset, trigger, @@ -92,30 +102,33 @@ export function AddToPhonebookBox({ } useEffect(() => { - reset() setValue('privacy', 'public') setValue('type', 'person') if (searchText !== undefined) { if (validatePhoneNumber(searchText)) { setValue('extension', searchText) + setTimeout(() => setFocus('name'), 10) } else { setValue('name', searchText) + setTimeout(() => setFocus('extension'), 10) } } //Caso in cui ho selezionato da create in MISSEDCALL if (selectedCompany) { setValue('company', selectedCompany) + setTimeout(() => setFocus('extension'), 10) } if (selectedNumber) { setValue('extension', selectedNumber) + setTimeout(() => setFocus('name'), 10) } }, []) function handleSave(data: ContactType) { //NETHVOICE usa il valore '-' quando si inserisce una company che e' priva di nome //data.name === '' puo' essere vera solo nel caso in cui si inserisce una company - setIsLoading(true); + setIsLoading(true) //Aggiunto un timeout per fare vedere lo spinner in quanto la chiamata e' troppo veloce setTimeout(() => { if (watchType === 'company') { @@ -130,22 +143,24 @@ export function AddToPhonebookBox({ setIsLoading(false) reset() }) - }, 300); + }, 300) } return (
-
-

{t('Phonebook.Add to Phonebook')}

+
+

+ {t('Phonebook.Add to Phonebook')} +

{ e.preventDefault() handleSubmit(onSubmitForm)(e) }} > -