The communications platform that puts data protection first.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
Rocket.Chat/apps/meteor/client/sidebar/sections/BannerSection.tsx

26 lines
1010 B

import { useSessionStorage } from '@rocket.chat/fuselage-hooks';
import { useRole, useSetting } from '@rocket.chat/ui-contexts';
import AirGappedRestrictionBanner from './AirGappedRestrictionBanner/AirGappedRestrictionBanner';
import StatusDisabledBanner from './StatusDisabledBanner';
import { useAirGappedRestriction } from '../../hooks/useAirGappedRestriction';
const BannerSection = () => {
const [isRestricted, isWarning, remainingDays] = useAirGappedRestriction();
const isAdmin = useRole('admin');
const [bannerDismissed, setBannerDismissed] = useSessionStorage('presence_cap_notifier', false);
const presenceDisabled = useSetting('Presence_broadcast_disabled', false);
if ((isWarning || isRestricted) && isAdmin) {
return <AirGappedRestrictionBanner isRestricted={isRestricted} remainingDays={remainingDays} />;
}
if (presenceDisabled && !bannerDismissed) {
return <StatusDisabledBanner onDismiss={() => setBannerDismissed(true)} />;
}
return null;
};
export default BannerSection;