ueman / feedback

A simple widget for getting better feedback.
https://pub.dev/packages/feedback
387 stars 93 forks source link

adds an exposed sheet contorller to the better feedback controller #239

Closed caseycrogers closed 11 months ago

caseycrogers commented 11 months ago

:scroll: Description

This PR exposes a DraggableScrollableController from FeedbackController. This was a PR I intended to do a long time ago, but it was blocking on a PR landing in flutter/flutter and that took so long that I forgot to get back to this ):

I have a handful of TODOs in other places that this PR unblocks, but I figured I'd do those in a follow up PR as they're much fussier and harder to land.

:bulb: Motivation and Context

This PR allows users of BetterFeedback to listen to the state of the feedback sheet and manually manipulate it. This is useful for things like:

  1. Manipulating the sheet from within your custom sheet content
  2. Driving animations from within your sheet

:green_heart: How did you test it?

:pencil: Checklist

:crystal_ball: Next steps

  1. Remove the public drag handle widget and automatically embed it in the user's sheet gated behind a bool in the feedback theme
  2. Replace sheetProgress in the places where it is used with a direct reference to the sheet controller (blocking on a PR to add double get progress to flutter/flutter https://github.com/flutter/flutter/pull/135366)
ueman commented 11 months ago

Awesome thanks!