Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

List all features that each viewer should have (zoom, open with the default app, next/previous file, ...). #9011

Open
Tracked by #8854
NicoTuxx opened this issue Nov 29, 2024 · 2 comments

Comments

@NicoTuxx
Copy link
Contributor

NicoTuxx commented Nov 29, 2024

File Viewer Specifications

Table of Contents

  1. File Viewers
  2. Sections
    1. Topbar
    2. Viewer
    3. Controls
  3. Features
    1. Features by section
      1. Topbar section
      2. Viewer section
      3. Controls section
    2. Features Usage by File Viewers
  4. Technical components
    1. Components to develop
      1. Generic Components (megashark-lib)
      2. Basic Components
      3. Specific Components
    2. Feature with respective components

File Viewers

  • 🎧 Audio Player
  • 📄 Word Document
  • 🏞️ Image
  • 📑 PDF
  • 📊 Spreadsheet
  • 📝 Text
  • 🎬 Video Player

Sections

Topbar

Contains file details and some global actions.

Viewer

Displays the content of the file being viewed.

  • 🎧 Audio: Audio illustration to fill the void
  • 📄 Word Document: "White page" style layout with vertical scroll management
  • 🏞️ Image: Image rendering
  • 📑 PDF: "White page" style layout with vertical scroll management
  • 📊 Spreadsheet: Spreadsheet style layout
  • 📝 Text: Code editor style layout
  • 🎬 Video: Video player without controls

Controls

Provides interactive elements to manipulate the file being viewed.

Features

Features by section

Topbar section

  • ⭐ File details
  • ⭐ Open with system

Viewer section

  • ⭐ Accurate rendering (fonts, tables, images, graphics…)
  • ⭐ Illustration to fill the void if no rendering
  • 🔵 Pages / Sheets Preview

Controls section

  • ⭐ Play / Pause
  • ⭐ Stream control
  • ⭐ Volume control
  • ⭐ Full screen mode
  • ⭐ Zoom
  • ⭐ Page navigation
  • ⭐ Sheet navigation
  • ⚪ Settings
  • ⚪ Playback speed (0.5x, 1.5x, 2x, etc.)
  • ⚪ Fast forward and rewind (-10s, +10s)
  • ⚪ Search
  • 🔵 Picture-in-Picture mode
  • 🔵 Quality selection
  • 🔵 Subtitle selection
  • 🔵 Audio language selection

Features Usage by File Viewers

Feature Audio Player Video Player Word Document Image PDF Spreadsheet Text
File Details ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
Open with system ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
Accurate file rendering ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
Viewer illustration ✔️
Play / Pause ✔️ ✔️
Stream control ✔️ ✔️
Volume control ✔️ ✔️
Full screen mode ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
Zoom ✔️ ✔️ ✔️ ✔️ ✔️
Page navigation ✔️ ✔️
Sheet navigation ✔️
Settings ✔️ ✔️
Playback speed ✔️ ✔️
Fast forward and rewind ✔️ ✔️
Search ✔️ ✔️ ✔️ ✔️
Pages / Sheets Preview ✔️ ✔️ ✔️
Picture-in-Picture mode ✔️
Quality selection ✔️
Subtitle selection ✔️
Audio language selection ✔️

Technical components

Components to develop

Generic Components (megashark-lib)

  • ⭐ MsSlider

Basic Components

  • ⭐ FileControls (current FileViewerActionBar)
  • ⭐ FileControlsInput
  • ⭐ FileControlsText
  • ⭐ FileControlsButton
  • ⭐ FileControlsDropdown
    • ⭐ FileControlsDropdownItem (Option or Toggle)
    • ⚪ FileControlsDropdownOptionList (an option must be able to update the list of options (like a submenu))

Specific Components

  • ⭐ FileControlsVolume
    • MsSlider
    • FileControlsButton (mute/unmute)
  • ⭐ FileControlsFlux
    • FileControlsText
    • MsSlider
    • FileControlsButton (fast forward)
  • ⭐ FileControlsZoom
    • FileControlsButton x2
    • FileControlsInput
  • ⭐ FileControlsPagination
    • FileControlsButton x2
    • FileControlsInput
  • ⚪ FileControlsSettings
    • FileControlsDropdown
    • FileControlsDropdownItem (Option or Toggle)
    • FileControlsDropdownOptionList
  • 🔵 FileViewerPreview

Features with respective components

Features Section Component Name
File Details Topbar simple text
Open with system Topbar simple button
Accurate file rendering Viewer specific viewer components
Viewer illustration Viewer specific viewer illustration
Play / Pause Controls FileControlsButton
Stream control Controls FileControlsFlux
Volume control Controls FileControlsVolume
Full screen mode Controls FileControlsButton
Zoom Controls FileControlsZoom
Page navigation Controls FileControlsPagination
Sheet navigation Controls FileControlsDropdown
Settings Controls FileControlsSettings
Playback speed Controls FileControlsDropdownOptionList
Fast forward and rewind Controls FileControlsButton
Search Controls FileControlsInput
Pages / Sheets Preview Viewer FileViewerPreview
Picture-in-Picture mode Controls FileControlsDropdownItem
Quality selection Controls FileControlsDropdownOptionList
Subtitle selection Controls FileControlsDropdownItem
Audio language selection Controls FileControlsDropdownOptionList
@NicoTuxx
Copy link
Contributor Author

Features to develop:

  • Topbar section - File details
  • Topbar section - Open with system
  • Viewer section - Accurate rendering (fonts, tables, images, graphics…)
  • Viewer Section - Illustration to fill the void if no rendering
    🔵 Pages / Sheets Preview
    Controls section
    ⭐ Play / Pause
    ⭐ Stream control
    ⭐ Volume control
    ⭐ Full screen mode
    ⭐ Zoom
    ⭐ Page navigation
    ⭐ Sheet navigation
    ⚪ Settings
    ⚪ Playback speed (0.5x, 1.5x, 2x, etc.)
    ⚪ Fast forward and rewind (-10s, +10s)
    ⚪ Search
    🔵 Picture-in-Picture mode
    🔵 Quality selection
    🔵 Subtitle selection
    🔵 Audio language selection

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant