callTitle function

Widget callTitle(
  1. CallController c
)

Returns a Widget building the title call information.

Implementation

Widget callTitle(CallController c) {
  return Obx(() {
    final bool isOutgoing =
        (c.outgoing || c.state.value == OngoingCallState.local) && !c.started;
    final bool isDialog = c.chat.value?.chat.value.isDialog == true;
    final bool withDots =
        c.state.value != OngoingCallState.active &&
        (c.state.value == OngoingCallState.joining || isOutgoing);

    final Map<String, dynamic> args = {'by': 'x'};
    if (!isOutgoing && !isDialog) {
      args['by'] = c.callerName;
    }

    final String state =
        c.state.value == OngoingCallState.active
            ? c.duration.value.toString().split('.').first.padLeft(8, '0')
            : c.state.value == OngoingCallState.joining
            ? 'label_call_joining'.l10n
            : isOutgoing
            ? isDialog
                ? 'label_call_calling'.l10n
                : 'label_call_connecting'.l10n
            : c.withVideo == true
            ? 'label_video_call'.l10nfmt(args)
            : 'label_audio_call'.l10nfmt(args);

    return CallTitle(
      title: c.chat.value?.title,
      state: state,
      withDots: withDots,
    );
  });
}