// Copyright 2021-2022 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import * as React from 'react';
import { action } from '@storybook/addon-actions';
import { setupI18n } from '../../util/setupI18n';
import enMessages from '../../../_locales/en/messages.json';
import { CallMode } from '../../types/Calling';
import { CallingNotification } from './CallingNotification';
import type { CallingNotificationType } from '../../util/callingNotification';
const i18n = setupI18n('en', enMessages);
export default {
title: 'Components/Conversation/CallingNotification',
};
const getCommonProps = () => ({
conversationId: 'fake-conversation-id',
i18n,
isNextItemCallingNotification: false,
messageId: 'fake-message-id',
now: Date.now(),
returnToActiveCall: action('returnToActiveCall'),
startCallingLobby: action('startCallingLobby'),
});
/*
*/
export function AcceptedIncomingAudioCall(): JSX.Element {
return (
);
}
export function AcceptedIncomingVideoCall(): JSX.Element {
return (
);
}
export function DeclinedIncomingAudioCall(): JSX.Element {
return (
);
}
export function DeclinedIncomingVideoCall(): JSX.Element {
return (
);
}
export function AcceptedOutgoingAudioCall(): JSX.Element {
return (
);
}
export function AcceptedOutgoingVideoCall(): JSX.Element {
return (
);
}
export function DeclinedOutgoingAudioCall(): JSX.Element {
return (
);
}
export function DeclinedOutgoingVideoCall(): JSX.Element {
return (
);
}
export function TwoIncomingDirectCallsBackToBack(): JSX.Element {
const call1: CallingNotificationType = {
callMode: CallMode.Direct,
wasIncoming: true,
wasVideoCall: true,
wasDeclined: false,
acceptedTime: 1618894800000,
endedTime: 1618894800000,
};
const call2: CallingNotificationType = {
callMode: CallMode.Direct,
wasIncoming: true,
wasVideoCall: false,
wasDeclined: false,
endedTime: 1618894800000,
};
return (
<>
>
);
}
TwoIncomingDirectCallsBackToBack.story = {
name: 'Two incoming direct calls back-to-back',
};
export function TwoOutgoingDirectCallsBackToBack(): JSX.Element {
const call1: CallingNotificationType = {
callMode: CallMode.Direct,
wasIncoming: false,
wasVideoCall: true,
wasDeclined: false,
acceptedTime: 1618894800000,
endedTime: 1618894800000,
};
const call2: CallingNotificationType = {
callMode: CallMode.Direct,
wasIncoming: false,
wasVideoCall: false,
wasDeclined: false,
endedTime: 1618894800000,
};
return (
<>
>
);
}
TwoOutgoingDirectCallsBackToBack.story = {
name: 'Two outgoing direct calls back-to-back',
};
export function GroupCallByUnknown(): JSX.Element {
return (
);
}
export function GroupCallByYou(): JSX.Element {
return (
);
}
export function GroupCallBySomeone(): JSX.Element {
return (
);
}
export function GroupCallStartedBySomeoneWithALongName(): JSX.Element {
const longName = '😤🪐🦆'.repeat(50);
return (
);
}
GroupCallStartedBySomeoneWithALongName.story = {
name: 'Group call: started by someone with a long name',
};
export function GroupCallActiveCallFull(): JSX.Element {
return (
);
}
GroupCallActiveCallFull.story = {
name: 'Group call: active, call full',
};
export function GroupCallEnded(): JSX.Element {
return (
);
}
GroupCallEnded.story = {
name: 'Group call: ended',
};