diff --git a/CONTRIBUTORS.md b/CONTRIBUTORS.md index 574212fc83..4ac70e9204 100644 --- a/CONTRIBUTORS.md +++ b/CONTRIBUTORS.md @@ -102,6 +102,7 @@ - [Free O'Toole](https://github.com/freeotoole) - [TheBosZ](https://github.com/thebosz) - [qm3jp](https://github.com/qm3jp) +- [johnnyg](https://github.com/johnnyg) ## Emby Contributors diff --git a/src/components/mediainfo/EndsAt.tsx b/src/components/mediainfo/EndsAt.tsx index 2f2f9f48a3..d8b61cd6f9 100644 --- a/src/components/mediainfo/EndsAt.tsx +++ b/src/components/mediainfo/EndsAt.tsx @@ -1,28 +1,26 @@ import React, { type FC } from 'react'; import classNames from 'classnames'; import Box from '@mui/material/Box'; -import datetime from 'scripts/datetime'; -import globalize from 'lib/globalize'; +import mediainfo from './mediainfo'; interface EndsAtProps { className?: string; - runTimeTicks: number + runTimeTicks: number; + positionTicks?: number; } -const EndsAt: FC = ({ runTimeTicks, className }) => { +const EndsAt: FC = ({ runTimeTicks, positionTicks, className }) => { const cssClass = classNames( 'mediaInfoItem', 'endsAt', className ); - const endTime = new Date().getTime() + (runTimeTicks / 10000); - const endDate = new Date(endTime); - const displayTime = datetime.getDisplayTime(endDate); + const displayTime = mediainfo.getEndsAtFromPosition(runTimeTicks, positionTicks, 1, true); return ( - {globalize.translate('EndsAtValue', displayTime)} + {displayTime} ); }; diff --git a/src/components/mediainfo/PrimaryMediaInfo.tsx b/src/components/mediainfo/PrimaryMediaInfo.tsx index 00bdaa7390..41b410a30e 100644 --- a/src/components/mediainfo/PrimaryMediaInfo.tsx +++ b/src/components/mediainfo/PrimaryMediaInfo.tsx @@ -71,6 +71,7 @@ const PrimaryMediaInfo: FC = ({ HasSubtitles, MediaType, RunTimeTicks, + PlaybackPositionTicks, CommunityRating, CriticRating } = item; @@ -107,7 +108,7 @@ const PrimaryMediaInfo: FC = ({ && MediaType === ItemMediaKind.Video && RunTimeTicks && !StartDate && ( - + )} {getMissingIndicator?.()} diff --git a/src/components/mediainfo/mediainfo.js b/src/components/mediainfo/mediainfo.js index 3b5b20756a..fa151ed6ff 100644 --- a/src/components/mediainfo/mediainfo.js +++ b/src/components/mediainfo/mediainfo.js @@ -321,11 +321,8 @@ export function getMediaInfoHtml(item, options = {}) { export function getEndsAt(item) { if (item.MediaType === 'Video' && item.RunTimeTicks && !item.StartDate) { - let endDate = new Date().getTime() + (item.RunTimeTicks / 10000); - endDate = new Date(endDate); - - const displayTime = datetime.getDisplayTime(endDate); - return globalize.translate('EndsAtValue', displayTime); + const positionTicks = item.UserData?.PlaybackPositionTicks; + return getEndsAtFromPosition(item.RunTimeTicks, positionTicks, 1, true); } return null;