retro_form 0.0.3 copy "retro_form: ^0.0.3" to clipboard
retro_form: ^0.0.3 copied to clipboard

A Flutter plugin to implement dynamic form builder from Smartters

example/lib/main.dart

import 'dart:developer';

import 'package:flutter/material.dart';
import 'package:retro_form_example/pages/form_page.dart';
import 'package:retro_form_example/pages/home_page.dart';
import 'package:retro_form_example/pages/result_page.dart';

void main() {
  runApp(const MyApp());
}

class MyApp extends StatefulWidget {
  const MyApp({super.key});

  @override
  State<MyApp> createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {
  @override
  void initState() {
    super.initState();
  }

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      debugShowCheckedModeBanner: false,
      onGenerateRoute: (setting) {
        log("RESULT ${setting.name} ${setting.arguments}");
        if (setting.name == "/result") {
          return MaterialPageRoute(
            builder: (c) => ResultPage(setting.arguments),
          );
        }
        if (setting.name == "/form") {
          return MaterialPageRoute(
            builder: (c) => FormPage(setting.arguments as String),
          );
        }
        if (setting.name == "/") {
          return MaterialPageRoute(builder: (c) => HomePage());
        }
        return MaterialPageRoute(builder: (c) => SizedBox());
      },
      initialRoute: "/",
    );
  }
}