formExample function

Future<void> formExample()

Example 4: Form submissions

Implementation

Future<void> formExample() async {
  print('\n=== Form Submissions Example ===');

  final backend = QuicUIFirebase();
  await backend.initialize();

  // Submit a form
  try {
    final submission = await backend.submitForm(
      screenId: 'contact-screen',
      formId: 'contact-form',
      data: {
        'name': 'John Doe',
        'email': 'john@example.com',
        'message': 'This is a test message',
        'subscribe': true,
      },
      metadata: {
        'source': 'mobile',
        'timestamp': DateTime.now().toIso8601String(),
      },
    );

    print('Form submitted: ${submission.id}');
    print('  DeviceId: ${submission.deviceId}');
    print('  SubmittedAt: ${submission.submittedAt}');
  } catch (e) {
    print('Form submission error: $e');
  }

  // Retrieve submissions
  try {
    final submissions = await backend.getFormSubmissions(
      'contact-screen',
      limit: 10,
    );

    print('Recent submissions: ${submissions.length}');
    for (final submission in submissions) {
      print('  - ${submission.data['name']} '
          '(${submission.deviceId}) '
          '- Read: ${submission.read}');
    }
  } catch (e) {
    print('Error retrieving submissions: $e');
  }
}