Skip to content

Replace sliding sheet dependency #176

@clragon

Description

@clragon

The app currently uses "sliding sheet" to display sheets for tag/wiki dialogs on mobile devices.
The package offers good support for breakpoints in dragging the sheet, which is an important part of the user experience.

However, its developer has deleted its repository and the package has been unmaintained for 4 years. As a bandaid fix, I have forked it, so that e1547 can continue to use this specific component in its UI without having to immediately look for a replacement.

This functionality is rather complex, and we will eventually have to find the aforementioned replacement.

I have looked into alternatives, and the following packages seem to offer something similar:

One important aspect of using sheets is that, on Desktop platforms, we do not wish to use them. A Dialog is the more appropriate UI component on wide screens with mouse navigation.

Ideally, we would have a single code flow that dynamically adjusts the UI based on which platform/screen width we are on. I have experimented with this on smooth_sheets, and taken part in a discussion there previously: fujidaiti/smooth_sheets#249.

A primitive variant of a widget that attempts to be both a sheet and a dialog can be found here: https://github.com/clragon/beakin/blob/73f6d1f47d147fb8bde738ebc423e698476a222e/lib/shared/widget/prompt.dart

It has some unresolved issues that I do not remember at the moment, but would need to be investigated, if we port this.

I have also explored a widget that switches between a fullscreen page and a dialog here: https://github.com/clragon/linksoap/blob/edd6616a2fd02ee6bde719500b6467f717c33668/lib/core/desktop_dialog.dart

Metadata

Metadata

Assignees

No one assigned

    Labels

    featureNew feature or improvementp3This will not be worked on until further notice

    Type

    No type

    Projects

    Status

    Todo

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions