Summary: removing dead code Reviewed By: lblasa Differential Revision: D50495989 fbshipit-source-id: 769f853b50bf6ec48705dbcec03977ec6a5bffa3
57 lines
1.4 KiB
TypeScript
57 lines
1.4 KiB
TypeScript
/**
|
|
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
*
|
|
* This source code is licensed under the MIT license found in the
|
|
* LICENSE file in the root directory of this source tree.
|
|
*
|
|
* @format
|
|
*/
|
|
|
|
import {getRenderHostInstance} from 'flipper-frontend-core';
|
|
import {IconSize} from '../ui/components/Glyph';
|
|
|
|
const AVAILABLE_SIZES: IconSize[] = [8, 10, 12, 16, 18, 20, 24, 28, 32, 48];
|
|
|
|
export type Icon = {
|
|
name: string;
|
|
variant: 'outline' | 'filled';
|
|
size: IconSize;
|
|
};
|
|
|
|
function normalizeIcon(icon: Icon): Icon {
|
|
let requestedSize = icon.size as number;
|
|
if (!AVAILABLE_SIZES.includes(icon.size as any)) {
|
|
// find the next largest size
|
|
const possibleSize = AVAILABLE_SIZES.find((size) => {
|
|
return size > requestedSize;
|
|
});
|
|
|
|
// set to largest size if the real size is larger than what we have
|
|
if (possibleSize == null) {
|
|
requestedSize = Math.max(...AVAILABLE_SIZES);
|
|
} else {
|
|
requestedSize = possibleSize;
|
|
}
|
|
}
|
|
|
|
return {
|
|
...icon,
|
|
size: requestedSize as IconSize,
|
|
};
|
|
}
|
|
|
|
export function getPublicIconUrl({name, variant, size}: Icon) {
|
|
return `https://facebook.com/images/assets_DO_NOT_HARDCODE/facebook_icons/${name}_${variant}_${size}.png`;
|
|
}
|
|
|
|
export function getIconURL(icon: Icon) {
|
|
if (icon.name.indexOf('/') > -1) {
|
|
return icon.name;
|
|
}
|
|
|
|
icon = normalizeIcon(icon);
|
|
const baseUrl = getPublicIconUrl(icon);
|
|
|
|
return getRenderHostInstance().getLocalIconUrl?.(icon, baseUrl) ?? baseUrl;
|
|
}
|