mirror of
https://github.com/signalapp/Signal-Desktop.git
synced 2026-04-28 04:13:18 +01:00
Rename files
This commit is contained in:
38
ts/badges/getBadgeImageFileLocalPath.std.ts
Normal file
38
ts/badges/getBadgeImageFileLocalPath.std.ts
Normal file
@@ -0,0 +1,38 @@
|
||||
// Copyright 2021 Signal Messenger, LLC
|
||||
// SPDX-License-Identifier: AGPL-3.0-only
|
||||
|
||||
import lodash from 'lodash';
|
||||
import type { BadgeType } from './types.std.js';
|
||||
import { BadgeImageTheme } from './BadgeImageTheme.std.js';
|
||||
|
||||
const { find, findLast, first, last } = lodash;
|
||||
|
||||
export function getBadgeImageFileLocalPath(
|
||||
badge: Readonly<undefined | BadgeType>,
|
||||
size: number,
|
||||
theme: BadgeImageTheme
|
||||
): undefined | string {
|
||||
if (!badge) {
|
||||
return undefined;
|
||||
}
|
||||
|
||||
const localPathsForTheme: Array<undefined | string> = badge.images.map(
|
||||
image => image[theme]?.localPath
|
||||
);
|
||||
|
||||
if (theme === BadgeImageTheme.Transparent) {
|
||||
const search = size < 36 ? find : findLast;
|
||||
return search(localPathsForTheme, Boolean);
|
||||
}
|
||||
|
||||
if (size < 24) {
|
||||
return first(localPathsForTheme);
|
||||
}
|
||||
if (size < 36) {
|
||||
return localPathsForTheme[1];
|
||||
}
|
||||
if (size < 160) {
|
||||
return localPathsForTheme[2];
|
||||
}
|
||||
return last(localPathsForTheme) || localPathsForTheme[2];
|
||||
}
|
||||
Reference in New Issue
Block a user