Use severity colors

This commit is contained in:
viown
2025-06-28 00:55:18 +03:00
parent e929a21e37
commit aed6bebc55
3 changed files with 22 additions and 18 deletions
@@ -10,6 +10,8 @@ import Typography from '@mui/material/Typography';
import formatRelative from 'date-fns/formatRelative'; import formatRelative from 'date-fns/formatRelative';
import { getLocale } from 'utils/dateFnsLocale'; import { getLocale } from 'utils/dateFnsLocale';
import Stack from '@mui/material/Stack'; import Stack from '@mui/material/Stack';
import getLogLevelColor from '../utils/getLogLevelColor';
import { LogLevel } from '@jellyfin/sdk/lib/generated-client/models/log-level';
type IProps = { type IProps = {
item: ActivityLogEntry; item: ActivityLogEntry;
@@ -29,7 +31,7 @@ const ActivityListItem = ({ item, displayShortOverview }: IProps) => {
<ListItem disablePadding> <ListItem disablePadding>
<ListItemButton> <ListItemButton>
<ListItemAvatar> <ListItemAvatar>
<Avatar sx={{ bgcolor: 'primary.main' }}> <Avatar sx={{ bgcolor: getLogLevelColor(item.Severity || LogLevel.Information) + '.main' }}>
<Notifications sx={{ color: '#fff' }} /> <Notifications sx={{ color: '#fff' }} />
</Avatar> </Avatar>
</ListItemAvatar> </ListItemAvatar>
@@ -1,30 +1,17 @@
import { LogLevel } from '@jellyfin/sdk/lib/generated-client/models/log-level'; import { LogLevel } from '@jellyfin/sdk/lib/generated-client/models/log-level';
import Chip from '@mui/material/Chip'; import Chip from '@mui/material/Chip';
import React from 'react'; import React, { useMemo } from 'react';
import globalize from 'lib/globalize'; import globalize from 'lib/globalize';
import getLogLevelColor from '../utils/getLogLevelColor';
const LogLevelChip = ({ level }: { level: LogLevel }) => { const LogLevelChip = ({ level }: { level: LogLevel }) => {
let color: 'info' | 'warning' | 'error' | undefined; const levelText = useMemo(() => globalize.translate(`LogLevel.${level}`), [level]);
switch (level) {
case LogLevel.Information:
color = 'info';
break;
case LogLevel.Warning:
color = 'warning';
break;
case LogLevel.Error:
case LogLevel.Critical:
color = 'error';
break;
}
const levelText = globalize.translate(`LogLevel.${level}`);
return ( return (
<Chip <Chip
size='small' size='small'
color={color} color={getLogLevelColor(level)}
label={levelText} label={levelText}
title={levelText} title={levelText}
/> />
@@ -0,0 +1,15 @@
import { LogLevel } from '@jellyfin/sdk/lib/generated-client/models/log-level';
const getLogLevelColor = (level: LogLevel) => {
switch (level) {
case LogLevel.Information:
return 'info';
case LogLevel.Warning:
return 'warning';
case LogLevel.Error:
case LogLevel.Critical:
return 'error';
}
};
export default getLogLevelColor;