Skip to main content
Version: 0.1

Feedback Screen

FeedbacksScreen() is the main UI entry point. It renders a complete feedback board inside your Compose hierarchy.

Signature​

@Composable
fun FeedbacksScreen(
modifier: Modifier = Modifier,
onDismiss: () -> Unit,
)
ParameterTypeDescription
modifierModifierCompose modifier for sizing/padding
onDismiss() -> UnitCalled when user navigates back from the root screen

Screens​

The composable manages its own internal navigation with three screens:

1. Feedback List​

  • Shows feedback items in a vertical list with pull-to-refresh
  • All tab - every feedback item
  • Mine tab - feedback created by the current user
  • FAB to create new feedback
  • Vote buttons on each item

2. Feedback Details​

  • Full feedback description
  • Threaded comments section
  • Vote on the feedback
  • Edit/delete own feedback (when status allows)
  • Reply to existing comments

3. Feedback Editor​

  • Create new feedback (title + description)
  • Edit existing feedback (pre-populated fields)
  • Validation before submit

Back navigation is automatic:

  • Editor → Details / List
  • Details → List
  • List → onDismiss fires

The onDismiss lambda is only called when the user presses back on the root list screen. Your app handles this by popping its own navigation stack.

State handling​

The screen handles loading, error, and empty states internally. No extra UI work needed.