@lifi/widget 3.18.4 → 3.19.0-beta.0
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.
- package/README.md +2 -1
- package/dist/esm/AppDrawer.js +7 -6
- package/dist/esm/AppDrawer.js.map +1 -1
- package/dist/esm/components/ActiveTransactions/ActiveTransactionItem.js +5 -3
- package/dist/esm/components/ActiveTransactions/ActiveTransactionItem.js.map +1 -1
- package/dist/esm/components/Avatar/AccountAvatar.js +1 -1
- package/dist/esm/components/Avatar/AccountAvatar.js.map +1 -1
- package/dist/esm/components/BottomSheet/BottomSheet.js +2 -2
- package/dist/esm/components/BottomSheet/BottomSheet.js.map +1 -1
- package/dist/esm/components/Card/CardIconButton.d.ts +1 -1
- package/dist/esm/components/Dialog.d.ts +10 -2
- package/dist/esm/components/Dialog.js +10 -10
- package/dist/esm/components/Dialog.js.map +1 -1
- package/dist/esm/components/Header/BackButton.js +1 -1
- package/dist/esm/components/Header/BackButton.js.map +1 -1
- package/dist/esm/components/Header/CloseDrawerButton.js +1 -1
- package/dist/esm/components/Header/CloseDrawerButton.js.map +1 -1
- package/dist/esm/components/Header/DisconnectIconButton.js +1 -1
- package/dist/esm/components/Header/DisconnectIconButton.js.map +1 -1
- package/dist/esm/components/Header/SettingsButton.js +1 -1
- package/dist/esm/components/Header/SettingsButton.js.map +1 -1
- package/dist/esm/components/Header/TransactionHistoryButton.js +1 -1
- package/dist/esm/components/Header/TransactionHistoryButton.js.map +1 -1
- package/dist/esm/components/Header/WalletHeader.js +2 -1
- package/dist/esm/components/Header/WalletHeader.js.map +1 -1
- package/dist/esm/components/Header/WalletMenu.js +3 -1
- package/dist/esm/components/Header/WalletMenu.js.map +1 -1
- package/dist/esm/components/Messages/AccountNotDeployedMessage.js +1 -1
- package/dist/esm/components/Messages/AccountNotDeployedMessage.js.map +1 -1
- package/dist/esm/components/Messages/FundsSufficiencyMessage.js +1 -1
- package/dist/esm/components/Messages/FundsSufficiencyMessage.js.map +1 -1
- package/dist/esm/components/Messages/GasRefuelMessage.js +1 -1
- package/dist/esm/components/Messages/GasRefuelMessage.js.map +1 -1
- package/dist/esm/components/Messages/GasSufficiencyMessage.js +1 -1
- package/dist/esm/components/Messages/GasSufficiencyMessage.js.map +1 -1
- package/dist/esm/components/Messages/ToAddressRequiredMessage.js +1 -1
- package/dist/esm/components/Messages/ToAddressRequiredMessage.js.map +1 -1
- package/dist/esm/components/NotFound.js +1 -1
- package/dist/esm/components/NotFound.js.map +1 -1
- package/dist/esm/components/ReverseTokensButton/ReverseTokensButton.js +2 -1
- package/dist/esm/components/ReverseTokensButton/ReverseTokensButton.js.map +1 -1
- package/dist/esm/components/RouteCard/RouteCard.js +2 -1
- package/dist/esm/components/RouteCard/RouteCard.js.map +1 -1
- package/dist/esm/components/RouteCard/RouteCardEssentials.js +2 -1
- package/dist/esm/components/RouteCard/RouteCardEssentials.js.map +1 -1
- package/dist/esm/components/RouteCard/RouteCardEssentialsExpanded.js +1 -1
- package/dist/esm/components/RouteCard/RouteCardEssentialsExpanded.js.map +1 -1
- package/dist/esm/components/RouteCard/RouteNotFoundCard.js +1 -1
- package/dist/esm/components/RouteCard/RouteNotFoundCard.js.map +1 -1
- package/dist/esm/components/Routes/Routes.js +1 -1
- package/dist/esm/components/Routes/Routes.js.map +1 -1
- package/dist/esm/components/Search/SearchInput.js +1 -1
- package/dist/esm/components/Search/SearchInput.js.map +1 -1
- package/dist/esm/components/Search/SearchNotFound.js +1 -1
- package/dist/esm/components/Search/SearchNotFound.js.map +1 -1
- package/dist/esm/components/SendToWallet/SendToWalletButton.js +1 -1
- package/dist/esm/components/SendToWallet/SendToWalletButton.js.map +1 -1
- package/dist/esm/components/SendToWallet/SendToWalletExpandButton.js +1 -1
- package/dist/esm/components/SendToWallet/SendToWalletExpandButton.js.map +1 -1
- package/dist/esm/components/Step/CircularProgress.js +4 -1
- package/dist/esm/components/Step/CircularProgress.js.map +1 -1
- package/dist/esm/components/Step/DestinationWalletAddress.js +2 -1
- package/dist/esm/components/Step/DestinationWalletAddress.js.map +1 -1
- package/dist/esm/components/Step/StepProcess.js +1 -1
- package/dist/esm/components/Step/StepProcess.js.map +1 -1
- package/dist/esm/components/StepActions/StepActions.js +3 -1
- package/dist/esm/components/StepActions/StepActions.js.map +1 -1
- package/dist/esm/components/Tabs/Tabs.style.d.ts +1 -1
- package/dist/esm/components/Timer/StepTimer.js +69 -31
- package/dist/esm/components/Timer/StepTimer.js.map +1 -1
- package/dist/esm/components/Timer/TimerContent.js +1 -1
- package/dist/esm/components/Timer/TimerContent.js.map +1 -1
- package/dist/esm/components/TokenList/TokenList.style.d.ts +2 -2
- package/dist/esm/components/TokenList/TokenListItem.js +1 -1
- package/dist/esm/components/TokenList/TokenListItem.js.map +1 -1
- package/dist/esm/components/TokenList/types.d.ts +3 -3
- package/dist/esm/components/TransactionDetails.js +3 -1
- package/dist/esm/components/TransactionDetails.js.map +1 -1
- package/dist/esm/config/version.d.ts +1 -1
- package/dist/esm/config/version.js +1 -1
- package/dist/esm/config/version.js.map +1 -1
- package/dist/esm/hooks/timer/time.d.ts +19 -0
- package/dist/esm/hooks/timer/time.js +25 -0
- package/dist/esm/hooks/timer/time.js.map +1 -0
- package/dist/esm/hooks/timer/useInterval.d.ts +1 -1
- package/dist/esm/hooks/timer/useInterval.js +3 -3
- package/dist/esm/hooks/timer/useInterval.js.map +1 -1
- package/dist/esm/hooks/timer/useTimer.d.ts +10 -10
- package/dist/esm/hooks/timer/useTimer.js +31 -24
- package/dist/esm/hooks/timer/useTimer.js.map +1 -1
- package/dist/esm/hooks/timer/validate.d.ts +2 -0
- package/dist/esm/hooks/timer/validate.js +15 -0
- package/dist/esm/hooks/timer/validate.js.map +1 -0
- package/dist/esm/hooks/useSetContentHeight.d.ts +2 -2
- package/dist/esm/hooks/useSetContentHeight.js.map +1 -1
- package/dist/esm/i18n/bn.json +35 -17
- package/dist/esm/i18n/de.json +36 -18
- package/dist/esm/i18n/es.json +65 -47
- package/dist/esm/i18n/fr.json +40 -22
- package/dist/esm/i18n/hi.json +27 -9
- package/dist/esm/i18n/id.json +68 -50
- package/dist/esm/i18n/it.json +36 -18
- package/dist/esm/i18n/ja.json +40 -22
- package/dist/esm/i18n/ko.json +38 -20
- package/dist/esm/i18n/pt.json +42 -24
- package/dist/esm/i18n/th.json +40 -22
- package/dist/esm/i18n/tr.json +52 -34
- package/dist/esm/i18n/uk.json +43 -25
- package/dist/esm/i18n/vi.json +40 -22
- package/dist/esm/i18n/zh.json +43 -25
- package/dist/esm/pages/ActiveTransactionsPage/ActiveTransactionsEmpty.js +1 -1
- package/dist/esm/pages/ActiveTransactionsPage/ActiveTransactionsEmpty.js.map +1 -1
- package/dist/esm/pages/ActiveTransactionsPage/ActiveTransactionsPage.js +1 -1
- package/dist/esm/pages/ActiveTransactionsPage/ActiveTransactionsPage.js.map +1 -1
- package/dist/esm/pages/LanguagesPage.js +1 -1
- package/dist/esm/pages/LanguagesPage.js.map +1 -1
- package/dist/esm/pages/SelectEnabledToolsPage.js +4 -1
- package/dist/esm/pages/SelectEnabledToolsPage.js.map +1 -1
- package/dist/esm/pages/SendToWallet/BookmarkAddressSheet.js +3 -1
- package/dist/esm/pages/SendToWallet/BookmarkAddressSheet.js.map +1 -1
- package/dist/esm/pages/SendToWallet/BookmarksPage.js +5 -1
- package/dist/esm/pages/SendToWallet/BookmarksPage.js.map +1 -1
- package/dist/esm/pages/SendToWallet/ConfirmAddressSheet.js +2 -1
- package/dist/esm/pages/SendToWallet/ConfirmAddressSheet.js.map +1 -1
- package/dist/esm/pages/SendToWallet/ConnectedWalletsPage.js +4 -1
- package/dist/esm/pages/SendToWallet/ConnectedWalletsPage.js.map +1 -1
- package/dist/esm/pages/SendToWallet/RecentWalletsPage.js +6 -1
- package/dist/esm/pages/SendToWallet/RecentWalletsPage.js.map +1 -1
- package/dist/esm/pages/SendToWallet/SendToConfiguredWalletPage.js +3 -1
- package/dist/esm/pages/SendToWallet/SendToConfiguredWalletPage.js.map +1 -1
- package/dist/esm/pages/SendToWallet/SendToWalletPage.js +4 -1
- package/dist/esm/pages/SendToWallet/SendToWalletPage.js.map +1 -1
- package/dist/esm/pages/SettingsPage/BridgeAndExchangeSettings.js +2 -1
- package/dist/esm/pages/SettingsPage/BridgeAndExchangeSettings.js.map +1 -1
- package/dist/esm/pages/SettingsPage/GasPriceSettings.js +1 -1
- package/dist/esm/pages/SettingsPage/GasPriceSettings.js.map +1 -1
- package/dist/esm/pages/SettingsPage/LanguageSetting.js +1 -1
- package/dist/esm/pages/SettingsPage/LanguageSetting.js.map +1 -1
- package/dist/esm/pages/SettingsPage/ResetSettingsButton.js +1 -1
- package/dist/esm/pages/SettingsPage/ResetSettingsButton.js.map +1 -1
- package/dist/esm/pages/SettingsPage/RoutePrioritySettings.js +1 -1
- package/dist/esm/pages/SettingsPage/RoutePrioritySettings.js.map +1 -1
- package/dist/esm/pages/SettingsPage/SlippageSettings/SlippageSettings.js +2 -1
- package/dist/esm/pages/SettingsPage/SlippageSettings/SlippageSettings.js.map +1 -1
- package/dist/esm/pages/SettingsPage/ThemeSettings.js +3 -1
- package/dist/esm/pages/SettingsPage/ThemeSettings.js.map +1 -1
- package/dist/esm/pages/TransactionDetailsPage/TransferIdCard.js +2 -1
- package/dist/esm/pages/TransactionDetailsPage/TransferIdCard.js.map +1 -1
- package/dist/esm/pages/TransactionHistoryPage/TransactionHistoryEmpty.js +1 -1
- package/dist/esm/pages/TransactionHistoryPage/TransactionHistoryEmpty.js.map +1 -1
- package/dist/esm/pages/TransactionPage/ConfirmToAddressSheet.js +2 -1
- package/dist/esm/pages/TransactionPage/ConfirmToAddressSheet.js.map +1 -1
- package/dist/esm/pages/TransactionPage/ExchangeRateBottomSheet.js +1 -1
- package/dist/esm/pages/TransactionPage/ExchangeRateBottomSheet.js.map +1 -1
- package/dist/esm/pages/TransactionPage/StatusBottomSheet.js +4 -1
- package/dist/esm/pages/TransactionPage/StatusBottomSheet.js.map +1 -1
- package/dist/esm/pages/TransactionPage/TokenValueBottomSheet.js +1 -1
- package/dist/esm/pages/TransactionPage/TokenValueBottomSheet.js.map +1 -1
- package/dist/esm/pages/TransactionPage/TransactionPage.js +1 -1
- package/dist/esm/pages/TransactionPage/TransactionPage.js.map +1 -1
- package/dist/esm/types/widget.d.ts +4 -4
- package/dist/esm/types/widget.js.map +1 -1
- package/package.json +8 -8
- package/package.json.tmp +7 -7
- package/src/AppDrawer.tsx +9 -7
- package/src/components/ActiveTransactions/ActiveTransactionItem.tsx +5 -3
- package/src/components/Avatar/AccountAvatar.tsx +1 -1
- package/src/components/BottomSheet/BottomSheet.tsx +1 -2
- package/src/components/Dialog.tsx +10 -12
- package/src/components/Header/BackButton.tsx +1 -1
- package/src/components/Header/CloseDrawerButton.tsx +1 -1
- package/src/components/Header/DisconnectIconButton.tsx +1 -1
- package/src/components/Header/SettingsButton.tsx +1 -1
- package/src/components/Header/TransactionHistoryButton.tsx +1 -1
- package/src/components/Header/WalletHeader.tsx +2 -1
- package/src/components/Header/WalletMenu.tsx +3 -5
- package/src/components/Messages/AccountNotDeployedMessage.tsx +1 -1
- package/src/components/Messages/FundsSufficiencyMessage.tsx +1 -1
- package/src/components/Messages/GasRefuelMessage.tsx +1 -1
- package/src/components/Messages/GasSufficiencyMessage.tsx +1 -1
- package/src/components/Messages/ToAddressRequiredMessage.tsx +1 -1
- package/src/components/NotFound.tsx +1 -1
- package/src/components/ReverseTokensButton/ReverseTokensButton.tsx +2 -1
- package/src/components/RouteCard/RouteCard.tsx +2 -1
- package/src/components/RouteCard/RouteCardEssentials.tsx +2 -1
- package/src/components/RouteCard/RouteCardEssentialsExpanded.tsx +1 -1
- package/src/components/RouteCard/RouteNotFoundCard.tsx +1 -1
- package/src/components/Routes/Routes.tsx +1 -1
- package/src/components/Search/SearchInput.tsx +1 -1
- package/src/components/Search/SearchNotFound.tsx +1 -1
- package/src/components/SendToWallet/SendToWalletButton.tsx +1 -1
- package/src/components/SendToWallet/SendToWalletExpandButton.tsx +1 -1
- package/src/components/Step/CircularProgress.tsx +4 -6
- package/src/components/Step/DestinationWalletAddress.tsx +2 -1
- package/src/components/Step/StepProcess.tsx +1 -1
- package/src/components/StepActions/StepActions.tsx +3 -1
- package/src/components/Timer/StepTimer.tsx +97 -38
- package/src/components/Timer/TimerContent.tsx +1 -1
- package/src/components/TokenList/TokenListItem.tsx +1 -1
- package/src/components/TokenList/types.ts +3 -3
- package/src/components/TransactionDetails.tsx +3 -5
- package/src/config/version.ts +1 -1
- package/src/hooks/timer/time.ts +49 -0
- package/src/hooks/timer/useInterval.ts +4 -4
- package/src/hooks/timer/useTimer.ts +49 -35
- package/src/hooks/timer/validate.ts +15 -0
- package/src/hooks/useSetContentHeight.ts +2 -2
- package/src/i18n/bn.json +35 -17
- package/src/i18n/de.json +36 -18
- package/src/i18n/es.json +65 -47
- package/src/i18n/fr.json +40 -22
- package/src/i18n/hi.json +27 -9
- package/src/i18n/id.json +68 -50
- package/src/i18n/it.json +36 -18
- package/src/i18n/ja.json +40 -22
- package/src/i18n/ko.json +38 -20
- package/src/i18n/pt.json +42 -24
- package/src/i18n/th.json +40 -22
- package/src/i18n/tr.json +52 -34
- package/src/i18n/uk.json +43 -25
- package/src/i18n/vi.json +40 -22
- package/src/i18n/zh.json +43 -25
- package/src/pages/ActiveTransactionsPage/ActiveTransactionsEmpty.tsx +1 -1
- package/src/pages/ActiveTransactionsPage/ActiveTransactionsPage.tsx +1 -1
- package/src/pages/LanguagesPage.tsx +1 -1
- package/src/pages/SelectEnabledToolsPage.tsx +4 -6
- package/src/pages/SendToWallet/BookmarkAddressSheet.tsx +6 -8
- package/src/pages/SendToWallet/BookmarksPage.tsx +5 -7
- package/src/pages/SendToWallet/ConfirmAddressSheet.tsx +4 -3
- package/src/pages/SendToWallet/ConnectedWalletsPage.tsx +4 -6
- package/src/pages/SendToWallet/RecentWalletsPage.tsx +6 -8
- package/src/pages/SendToWallet/SendToConfiguredWalletPage.tsx +3 -5
- package/src/pages/SendToWallet/SendToWalletPage.tsx +4 -6
- package/src/pages/SettingsPage/BridgeAndExchangeSettings.tsx +2 -1
- package/src/pages/SettingsPage/GasPriceSettings.tsx +1 -1
- package/src/pages/SettingsPage/LanguageSetting.tsx +1 -1
- package/src/pages/SettingsPage/ResetSettingsButton.tsx +1 -1
- package/src/pages/SettingsPage/RoutePrioritySettings.tsx +1 -1
- package/src/pages/SettingsPage/SlippageSettings/SlippageSettings.tsx +2 -1
- package/src/pages/SettingsPage/ThemeSettings.tsx +3 -1
- package/src/pages/TransactionDetailsPage/TransferIdCard.tsx +2 -1
- package/src/pages/TransactionHistoryPage/TransactionHistoryEmpty.tsx +1 -1
- package/src/pages/TransactionPage/ConfirmToAddressSheet.tsx +4 -3
- package/src/pages/TransactionPage/ExchangeRateBottomSheet.tsx +5 -7
- package/src/pages/TransactionPage/StatusBottomSheet.tsx +4 -6
- package/src/pages/TransactionPage/TokenValueBottomSheet.tsx +3 -3
- package/src/pages/TransactionPage/TransactionPage.tsx +1 -1
- package/src/types/widget.ts +4 -9
- package/dist/esm/components/Timer/RouteTimer.d.ts +0 -4
- package/dist/esm/components/Timer/RouteTimer.js +0 -23
- package/dist/esm/components/Timer/RouteTimer.js.map +0 -1
- package/dist/esm/hooks/timer/useStopwatch.d.ts +0 -16
- package/dist/esm/hooks/timer/useStopwatch.js +0 -41
- package/dist/esm/hooks/timer/useStopwatch.js.map +0 -1
- package/dist/esm/hooks/timer/utils.d.ts +0 -12
- package/dist/esm/hooks/timer/utils.js +0 -55
- package/dist/esm/hooks/timer/utils.js.map +0 -1
- package/src/components/Timer/RouteTimer.tsx +0 -33
- package/src/hooks/timer/useStopwatch.ts +0 -65
- package/src/hooks/timer/utils.ts +0 -64
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
import { useCallback, useState } from 'react';
|
|
2
|
-
import { useInterval } from './useInterval.js';
|
|
3
|
-
import { getSecondsFromPrevTime, getTimeFromSeconds } from './utils.js';
|
|
4
|
-
const DEFAULT_DELAY = 1000;
|
|
5
|
-
// This implementation was taken from the common js project - https://www.npmjs.com/package/react-timer-hook
|
|
6
|
-
// modified to work in the Widget codebase with Typescript
|
|
7
|
-
export function useStopwatch({ autoStart, offsetTimestamp, }) {
|
|
8
|
-
const [passedSeconds, setPassedSeconds] = useState(getSecondsFromPrevTime(offsetTimestamp, true) || 0);
|
|
9
|
-
const [prevTime, setPrevTime] = useState(new Date());
|
|
10
|
-
const [seconds, setSeconds] = useState(passedSeconds + getSecondsFromPrevTime(prevTime, true));
|
|
11
|
-
const [isRunning, setIsRunning] = useState(autoStart);
|
|
12
|
-
const start = useCallback(() => {
|
|
13
|
-
const newPrevTime = new Date();
|
|
14
|
-
setPrevTime(newPrevTime);
|
|
15
|
-
setIsRunning(true);
|
|
16
|
-
setSeconds(passedSeconds + getSecondsFromPrevTime(newPrevTime, true));
|
|
17
|
-
}, [passedSeconds]);
|
|
18
|
-
const pause = useCallback(() => {
|
|
19
|
-
setPassedSeconds(seconds);
|
|
20
|
-
setIsRunning(false);
|
|
21
|
-
}, [seconds]);
|
|
22
|
-
const reset = useCallback((offset = offsetTimestamp, newAutoStart = true) => {
|
|
23
|
-
const newPassedSeconds = getSecondsFromPrevTime(offset, true) || 0;
|
|
24
|
-
const newPrevTime = new Date();
|
|
25
|
-
setPrevTime(newPrevTime);
|
|
26
|
-
setPassedSeconds(newPassedSeconds);
|
|
27
|
-
setIsRunning(newAutoStart);
|
|
28
|
-
setSeconds(newPassedSeconds + getSecondsFromPrevTime(newPrevTime, true));
|
|
29
|
-
}, [offsetTimestamp]);
|
|
30
|
-
useInterval(() => {
|
|
31
|
-
setSeconds(passedSeconds + getSecondsFromPrevTime(prevTime, true));
|
|
32
|
-
}, isRunning ? DEFAULT_DELAY : 0);
|
|
33
|
-
return {
|
|
34
|
-
...getTimeFromSeconds(seconds),
|
|
35
|
-
start,
|
|
36
|
-
pause,
|
|
37
|
-
reset,
|
|
38
|
-
isRunning,
|
|
39
|
-
};
|
|
40
|
-
}
|
|
41
|
-
//# sourceMappingURL=useStopwatch.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useStopwatch.js","sourceRoot":"","sources":["../../../../src/hooks/timer/useStopwatch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC9C,OAAO,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAEvE,MAAM,aAAa,GAAG,IAAI,CAAA;AAO1B,4GAA4G;AAC5G,0DAA0D;AAC1D,MAAM,UAAU,YAAY,CAAC,EAC3B,SAAS,EACT,eAAe,GACG;IAClB,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAChD,sBAAsB,CAAC,eAAe,EAAE,IAAI,CAAC,IAAI,CAAC,CACnD,CAAA;IACD,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,IAAI,IAAI,EAAE,CAAC,CAAA;IACpD,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CACpC,aAAa,GAAG,sBAAsB,CAAC,QAAQ,EAAE,IAAI,CAAC,CACvD,CAAA;IACD,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAA;IAErD,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE;QAC7B,MAAM,WAAW,GAAG,IAAI,IAAI,EAAE,CAAA;QAC9B,WAAW,CAAC,WAAW,CAAC,CAAA;QACxB,YAAY,CAAC,IAAI,CAAC,CAAA;QAClB,UAAU,CAAC,aAAa,GAAG,sBAAsB,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,CAAA;IACvE,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAA;IAEnB,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE;QAC7B,gBAAgB,CAAC,OAAO,CAAC,CAAA;QACzB,YAAY,CAAC,KAAK,CAAC,CAAA;IACrB,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAA;IAEb,MAAM,KAAK,GAAG,WAAW,CACvB,CAAC,MAAM,GAAG,eAAe,EAAE,YAAY,GAAG,IAAI,EAAE,EAAE;QAChD,MAAM,gBAAgB,GAAG,sBAAsB,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAA;QAClE,MAAM,WAAW,GAAG,IAAI,IAAI,EAAE,CAAA;QAC9B,WAAW,CAAC,WAAW,CAAC,CAAA;QACxB,gBAAgB,CAAC,gBAAgB,CAAC,CAAA;QAClC,YAAY,CAAC,YAAY,CAAC,CAAA;QAC1B,UAAU,CAAC,gBAAgB,GAAG,sBAAsB,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,CAAA;IAC1E,CAAC,EACD,CAAC,eAAe,CAAC,CAClB,CAAA;IAED,WAAW,CACT,GAAG,EAAE;QACH,UAAU,CAAC,aAAa,GAAG,sBAAsB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAA;IACpE,CAAC,EACD,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAC9B,CAAA;IAED,OAAO;QACL,GAAG,kBAAkB,CAAC,OAAO,CAAC;QAC9B,KAAK;QACL,KAAK;QACL,KAAK;QACL,SAAS;KACV,CAAA;AACH,CAAC"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
export declare function getTimeFromSeconds(secs: number): {
|
|
2
|
-
totalSeconds: number;
|
|
3
|
-
seconds: number;
|
|
4
|
-
minutes: number;
|
|
5
|
-
hours: number;
|
|
6
|
-
days: number;
|
|
7
|
-
};
|
|
8
|
-
export declare function getSecondsFromExpiry(expiry: Date, shouldRound?: boolean): number;
|
|
9
|
-
export declare function getSecondsFromPrevTime(prevTime: Date, shouldRound?: boolean): number;
|
|
10
|
-
export declare function validateExpiryTimestamp(expiryTimestamp: Date): boolean;
|
|
11
|
-
export declare function validateOnExpire(onExpire: () => void): boolean;
|
|
12
|
-
export declare function getDelayFromExpiryTimestamp(expiryTimestamp: Date, defaultDelay: number): number;
|
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
export function getTimeFromSeconds(secs) {
|
|
2
|
-
const totalSeconds = Math.ceil(secs);
|
|
3
|
-
const days = Math.floor(totalSeconds / (60 * 60 * 24));
|
|
4
|
-
const hours = Math.floor((totalSeconds % (60 * 60 * 24)) / (60 * 60));
|
|
5
|
-
const minutes = Math.floor((totalSeconds % (60 * 60)) / 60);
|
|
6
|
-
const seconds = Math.floor(totalSeconds % 60);
|
|
7
|
-
return {
|
|
8
|
-
totalSeconds,
|
|
9
|
-
seconds,
|
|
10
|
-
minutes,
|
|
11
|
-
hours,
|
|
12
|
-
days,
|
|
13
|
-
};
|
|
14
|
-
}
|
|
15
|
-
export function getSecondsFromExpiry(expiry, shouldRound) {
|
|
16
|
-
const now = new Date().getTime();
|
|
17
|
-
const milliSecondsDistance = expiry.getTime() - now;
|
|
18
|
-
if (milliSecondsDistance > 0) {
|
|
19
|
-
const val = milliSecondsDistance / 1000;
|
|
20
|
-
return shouldRound ? Math.round(val) : val;
|
|
21
|
-
}
|
|
22
|
-
return 0;
|
|
23
|
-
}
|
|
24
|
-
export function getSecondsFromPrevTime(prevTime, shouldRound) {
|
|
25
|
-
const now = new Date().getTime();
|
|
26
|
-
const milliSecondsDistance = now - prevTime.getTime();
|
|
27
|
-
if (milliSecondsDistance > 0) {
|
|
28
|
-
const val = milliSecondsDistance / 1000;
|
|
29
|
-
return shouldRound ? Math.round(val) : val;
|
|
30
|
-
}
|
|
31
|
-
return 0;
|
|
32
|
-
}
|
|
33
|
-
export function validateExpiryTimestamp(expiryTimestamp) {
|
|
34
|
-
const isValid = new Date(expiryTimestamp).getTime() > 0;
|
|
35
|
-
if (!isValid) {
|
|
36
|
-
console.warn('useTimer Invalid expiryTimestamp settings', expiryTimestamp);
|
|
37
|
-
}
|
|
38
|
-
return isValid;
|
|
39
|
-
}
|
|
40
|
-
export function validateOnExpire(onExpire) {
|
|
41
|
-
const isValid = onExpire && typeof onExpire === 'function';
|
|
42
|
-
if (onExpire && !isValid) {
|
|
43
|
-
console.warn('useTimer Invalid onExpire settings function', onExpire);
|
|
44
|
-
}
|
|
45
|
-
return isValid;
|
|
46
|
-
}
|
|
47
|
-
export function getDelayFromExpiryTimestamp(expiryTimestamp, defaultDelay) {
|
|
48
|
-
if (!validateExpiryTimestamp(expiryTimestamp)) {
|
|
49
|
-
return 0;
|
|
50
|
-
}
|
|
51
|
-
const seconds = getSecondsFromExpiry(expiryTimestamp);
|
|
52
|
-
const extraMilliSeconds = Math.floor((seconds - Math.floor(seconds)) * 1000);
|
|
53
|
-
return extraMilliSeconds > 0 ? extraMilliSeconds : defaultDelay;
|
|
54
|
-
}
|
|
55
|
-
//# sourceMappingURL=utils.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/hooks/timer/utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import type { RouteExtended } from '@lifi/sdk'
|
|
2
|
-
|
|
3
|
-
import { useStopwatch } from '../../hooks/timer/useStopwatch.js'
|
|
4
|
-
import { useSettings } from '../../stores/settings/useSettings.js'
|
|
5
|
-
import { formatTimer } from '../../utils/timer.js'
|
|
6
|
-
import { TimerContent } from './TimerContent.js'
|
|
7
|
-
|
|
8
|
-
export const RouteTimer: React.FC<{
|
|
9
|
-
route: RouteExtended
|
|
10
|
-
}> = ({ route }) => {
|
|
11
|
-
const firstActiveStep = route?.steps.find((step) => step.execution)
|
|
12
|
-
const firstActiveProcess = firstActiveStep?.execution?.process.at(0)
|
|
13
|
-
|
|
14
|
-
const startTime = new Date(firstActiveProcess?.startedAt ?? Date.now())
|
|
15
|
-
const { seconds, minutes, days, hours } = useStopwatch({
|
|
16
|
-
autoStart: true,
|
|
17
|
-
offsetTimestamp: startTime,
|
|
18
|
-
})
|
|
19
|
-
|
|
20
|
-
const { language } = useSettings(['language'])
|
|
21
|
-
|
|
22
|
-
return (
|
|
23
|
-
<TimerContent>
|
|
24
|
-
{formatTimer({
|
|
25
|
-
days,
|
|
26
|
-
hours,
|
|
27
|
-
seconds,
|
|
28
|
-
minutes,
|
|
29
|
-
locale: language,
|
|
30
|
-
})}
|
|
31
|
-
</TimerContent>
|
|
32
|
-
)
|
|
33
|
-
}
|
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
import { useCallback, useState } from 'react'
|
|
2
|
-
import { useInterval } from './useInterval.js'
|
|
3
|
-
import { getSecondsFromPrevTime, getTimeFromSeconds } from './utils.js'
|
|
4
|
-
|
|
5
|
-
const DEFAULT_DELAY = 1000
|
|
6
|
-
|
|
7
|
-
interface UseStopwatchProps {
|
|
8
|
-
offsetTimestamp: Date
|
|
9
|
-
autoStart?: boolean
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
// This implementation was taken from the common js project - https://www.npmjs.com/package/react-timer-hook
|
|
13
|
-
// modified to work in the Widget codebase with Typescript
|
|
14
|
-
export function useStopwatch({
|
|
15
|
-
autoStart,
|
|
16
|
-
offsetTimestamp,
|
|
17
|
-
}: UseStopwatchProps) {
|
|
18
|
-
const [passedSeconds, setPassedSeconds] = useState(
|
|
19
|
-
getSecondsFromPrevTime(offsetTimestamp, true) || 0
|
|
20
|
-
)
|
|
21
|
-
const [prevTime, setPrevTime] = useState(new Date())
|
|
22
|
-
const [seconds, setSeconds] = useState(
|
|
23
|
-
passedSeconds + getSecondsFromPrevTime(prevTime, true)
|
|
24
|
-
)
|
|
25
|
-
const [isRunning, setIsRunning] = useState(autoStart)
|
|
26
|
-
|
|
27
|
-
const start = useCallback(() => {
|
|
28
|
-
const newPrevTime = new Date()
|
|
29
|
-
setPrevTime(newPrevTime)
|
|
30
|
-
setIsRunning(true)
|
|
31
|
-
setSeconds(passedSeconds + getSecondsFromPrevTime(newPrevTime, true))
|
|
32
|
-
}, [passedSeconds])
|
|
33
|
-
|
|
34
|
-
const pause = useCallback(() => {
|
|
35
|
-
setPassedSeconds(seconds)
|
|
36
|
-
setIsRunning(false)
|
|
37
|
-
}, [seconds])
|
|
38
|
-
|
|
39
|
-
const reset = useCallback(
|
|
40
|
-
(offset = offsetTimestamp, newAutoStart = true) => {
|
|
41
|
-
const newPassedSeconds = getSecondsFromPrevTime(offset, true) || 0
|
|
42
|
-
const newPrevTime = new Date()
|
|
43
|
-
setPrevTime(newPrevTime)
|
|
44
|
-
setPassedSeconds(newPassedSeconds)
|
|
45
|
-
setIsRunning(newAutoStart)
|
|
46
|
-
setSeconds(newPassedSeconds + getSecondsFromPrevTime(newPrevTime, true))
|
|
47
|
-
},
|
|
48
|
-
[offsetTimestamp]
|
|
49
|
-
)
|
|
50
|
-
|
|
51
|
-
useInterval(
|
|
52
|
-
() => {
|
|
53
|
-
setSeconds(passedSeconds + getSecondsFromPrevTime(prevTime, true))
|
|
54
|
-
},
|
|
55
|
-
isRunning ? DEFAULT_DELAY : 0
|
|
56
|
-
)
|
|
57
|
-
|
|
58
|
-
return {
|
|
59
|
-
...getTimeFromSeconds(seconds),
|
|
60
|
-
start,
|
|
61
|
-
pause,
|
|
62
|
-
reset,
|
|
63
|
-
isRunning,
|
|
64
|
-
}
|
|
65
|
-
}
|
package/src/hooks/timer/utils.ts
DELETED
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
export function getTimeFromSeconds(secs: number) {
|
|
2
|
-
const totalSeconds = Math.ceil(secs)
|
|
3
|
-
const days = Math.floor(totalSeconds / (60 * 60 * 24))
|
|
4
|
-
const hours = Math.floor((totalSeconds % (60 * 60 * 24)) / (60 * 60))
|
|
5
|
-
const minutes = Math.floor((totalSeconds % (60 * 60)) / 60)
|
|
6
|
-
const seconds = Math.floor(totalSeconds % 60)
|
|
7
|
-
|
|
8
|
-
return {
|
|
9
|
-
totalSeconds,
|
|
10
|
-
seconds,
|
|
11
|
-
minutes,
|
|
12
|
-
hours,
|
|
13
|
-
days,
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
export function getSecondsFromExpiry(expiry: Date, shouldRound?: boolean) {
|
|
18
|
-
const now = new Date().getTime()
|
|
19
|
-
const milliSecondsDistance = expiry.getTime() - now
|
|
20
|
-
if (milliSecondsDistance > 0) {
|
|
21
|
-
const val = milliSecondsDistance / 1000
|
|
22
|
-
return shouldRound ? Math.round(val) : val
|
|
23
|
-
}
|
|
24
|
-
return 0
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
export function getSecondsFromPrevTime(prevTime: Date, shouldRound?: boolean) {
|
|
28
|
-
const now = new Date().getTime()
|
|
29
|
-
const milliSecondsDistance = now - prevTime.getTime()
|
|
30
|
-
if (milliSecondsDistance > 0) {
|
|
31
|
-
const val = milliSecondsDistance / 1000
|
|
32
|
-
return shouldRound ? Math.round(val) : val
|
|
33
|
-
}
|
|
34
|
-
return 0
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
export function validateExpiryTimestamp(expiryTimestamp: Date) {
|
|
38
|
-
const isValid = new Date(expiryTimestamp).getTime() > 0
|
|
39
|
-
if (!isValid) {
|
|
40
|
-
console.warn('useTimer Invalid expiryTimestamp settings', expiryTimestamp)
|
|
41
|
-
}
|
|
42
|
-
return isValid
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
export function validateOnExpire(onExpire: () => void) {
|
|
46
|
-
const isValid = onExpire && typeof onExpire === 'function'
|
|
47
|
-
if (onExpire && !isValid) {
|
|
48
|
-
console.warn('useTimer Invalid onExpire settings function', onExpire)
|
|
49
|
-
}
|
|
50
|
-
return isValid
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
export function getDelayFromExpiryTimestamp(
|
|
54
|
-
expiryTimestamp: Date,
|
|
55
|
-
defaultDelay: number
|
|
56
|
-
) {
|
|
57
|
-
if (!validateExpiryTimestamp(expiryTimestamp)) {
|
|
58
|
-
return 0
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
const seconds = getSecondsFromExpiry(expiryTimestamp)
|
|
62
|
-
const extraMilliSeconds = Math.floor((seconds - Math.floor(seconds)) * 1000)
|
|
63
|
-
return extraMilliSeconds > 0 ? extraMilliSeconds : defaultDelay
|
|
64
|
-
}
|