Files
streamyfin/plugins/withAndroidAlertColors.ts

51 lines
1.2 KiB
TypeScript

import {
type ConfigPlugin,
withAndroidColors,
withAndroidColorsNight,
} from "expo/config-plugins";
interface ColorResourceItem {
$: { name: string };
_: string;
}
const withAndroidAlertColors: ConfigPlugin = (config) => {
const setColor = (
colorsList: ColorResourceItem[],
name: string,
value: string,
) => {
const existingColor = colorsList.find(
(item) => item.$ && item.$.name === name,
);
if (existingColor) {
existingColor._ = value;
} else {
colorsList.push({
$: { name },
_: value,
});
}
};
config = withAndroidColors(config, (config) => {
const colors = config.modResults;
const colorsList = (colors.resources.color ?? []) as ColorResourceItem[];
setColor(colorsList, "colorPrimary", "#000000");
colors.resources.color = colorsList;
return config;
});
config = withAndroidColorsNight(config, (config) => {
const colors = config.modResults;
const colorsList = (colors.resources.color ?? []) as ColorResourceItem[];
setColor(colorsList, "colorPrimary", "#FFFFFF");
colors.resources.color = colorsList;
return config;
});
return config;
};
export default withAndroidAlertColors;