fileViewer function

Widget? fileViewer(
  1. RoomClient client,
  2. String path, {
  3. CodePreviewEditorBuilder? codeEditorBuilder,
})

Implementation

Widget? fileViewer(RoomClient client, String path, {CodePreviewEditorBuilder? codeEditorBuilder}) {
  final kind = classifyFile(path);

  switch (kind) {
    case FileKind.thread:
      return ChatThread(path: path, room: client, includeLocalParticipant: client.localParticipant != null);
    case FileKind.lance:
      return const LanceViewer();
    case FileKind.pdf:
    case FileKind.code:
    case FileKind.markdown:
    case FileKind.tsv:
    case FileKind.custom:
      return FilePreview(room: client, path: path, codeEditorBuilder: codeEditorBuilder);
    case FileKind.image:
      return ImageViewer(room: client, path: path);
    case FileKind.video:
      return VideoViewer(room: client, path: path);
    case FileKind.audio:
      return AudioViewer(room: client, path: path);
    case FileKind.parquet:
      return ParquetViewer(client: client, path: path);
    case FileKind.office:
      return Center(child: Text("No preview available"));
    case FileKind.unknown:
      return null;
  }
}