diff --git a/_locales/en/messages.json b/_locales/en/messages.json index 6d82d89..a313082 100644 --- a/_locales/en/messages.json +++ b/_locales/en/messages.json @@ -231,6 +231,9 @@ "go_to_timesheet": { "message": "Go to Timesheet" }, + "see_full_timesheet": { + "message": "See full Timesheet" + }, "go_to_subscriton_page": { "message": "Go to subscription page" }, diff --git a/package.json b/package.json index c95592b..e98a479 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "timecamp-chrome-extension", - "version": "2.85.2", + "version": "2.85.74", "description": "TimeCamp Google Chrome Time Tracking Extension", "main": "index.js", "scripts": { diff --git a/scripts-2.0/components/Billable/styles.scss b/scripts-2.0/components/Billable/styles.scss index 35258e8..34a0faf 100644 --- a/scripts-2.0/components/Billable/styles.scss +++ b/scripts-2.0/components/Billable/styles.scss @@ -45,7 +45,7 @@ height: 16px; border-radius: 100%; background: #fff; - display: block;; + display: block; } input:checked ~ .checkmark { diff --git a/scripts-2.0/components/ContextMenu/index.tsx b/scripts-2.0/components/ContextMenu/index.tsx index 76ee817..8dbd703 100644 --- a/scripts-2.0/components/ContextMenu/index.tsx +++ b/scripts-2.0/components/ContextMenu/index.tsx @@ -38,7 +38,7 @@ export interface ContextMenuInterface { note: string, billable: boolean, startTimerCallback: Function, - addTimeEntryCallback: Function, + addTimeEntryCallback?: Function, onCloseCallback: Function, billableInputVisibility: boolean|null, externalTaskId: string, @@ -91,6 +91,19 @@ const ContextMenu: React.FC = (props) => { const THIRTY_DAYS_IN_MILISEC = 2592000000; + const isTimeEntryInValid = + props.service === "chrome_plugin" && + props.addTimeEntryCallback && + !stopTime; + + const shouldShowAddEntryButton = + props.service !== "chrome_plugin" + ? false + : props.addTimeEntryCallback + ? true + : false; + + useEffect(() => { setNote(props.note); @@ -298,7 +311,7 @@ const ContextMenu: React.FC = (props) => { }; const addTimeEntry = (startTime, stopTime) => { - addTimeEntryCallback( + addTimeEntryCallback?.( taskId, note, service, @@ -336,6 +349,7 @@ const ContextMenu: React.FC = (props) => { setClearTriggerForTimePicker(!clearTriggerForTimePicker); setOpen(false); setTaskId(0); + onCloseCallback() }; const renderTagPicker = () => { @@ -382,6 +396,13 @@ const ContextMenu: React.FC = (props) => { .replace('*linkClose*', ''))); }; + const onStopTimeValueChange = (value) => { + if (value !== null) { + setWrongDatesErrorMessage(''); + } + setStopTime(value); + } + //data-elevation is fix for trello card modal (it close when click on context menu) return (
= (props) => { const now = dateTime.getNow(); setWrongDatesErrorMessage((now < value && stopTime === null) ? translate('Start time cannot be greater than now') : ''); }} - onStopTimeValueChange={(value) => { - if (value !== null) { - setWrongDatesErrorMessage(''); - } - setStopTime(value); - }} + onStopTimeValueChange={ props.addTimeEntryCallback? onStopTimeValueChange : undefined} /> { billableInputVisibility && - {setBillable(newBillable)}} - /> +
+ {setBillable(newBillable)}} + /> +
}