diff --git a/app/soapbox/components/media_gallery.js b/app/soapbox/components/media_gallery.js index 0fc7dcb67..845b68db2 100644 --- a/app/soapbox/components/media_gallery.js +++ b/app/soapbox/components/media_gallery.js @@ -6,6 +6,7 @@ import { is } from 'immutable'; import IconButton from './icon_button'; import { defineMessages, injectIntl, FormattedMessage } from 'react-intl'; import { isIOS } from '../is_mobile'; +import { truncateFilename } from 'soapbox/utils/media'; import classNames from 'classnames'; import { decode } from 'blurhash'; import { isPanoramic, isPortrait, isNonConformingRatio, minimumAspectRatio, maximumAspectRatio } from '../utils/media_aspect_ratio'; @@ -14,6 +15,8 @@ import { getSettings } from 'soapbox/actions/settings'; import Icon from 'soapbox/components/icon'; import StillImage from 'soapbox/components/still_image'; +const MAX_FILENAME_LENGTH = 45; + const messages = defineMessages({ toggle_visible: { id: 'media_gallery.toggle_visible', defaultMessage: 'Toggle visibility' }, }); @@ -142,19 +145,8 @@ class Item extends React.PureComponent { let thumbnail = ''; - const MAX_FILENAME_LENGTH = 45; - const getCroppedFilename = () => { - const remoteURL = attachment.get('remote_url'); - const filenameLastIndex = remoteURL.lastIndexOf('/'); - const filename = remoteURL.substr(filenameLastIndex + 1); - if (filename.length <= MAX_FILENAME_LENGTH) - return filename; - else - return filename.substr(0, MAX_FILENAME_LENGTH/2) + '...' + filename.substr(filename.length - MAX_FILENAME_LENGTH/2); - }; - if (attachment.get('type') === 'unknown') { - const filename = getCroppedFilename(); + const filename = truncateFilename(attachment.get('remote_url'), MAX_FILENAME_LENGTH); return (