fr_mvvm_user 1.0.0 copy "fr_mvvm_user: ^1.0.0" to clipboard
fr_mvvm_user: ^1.0.0 copied to clipboard

FlowR-MVVM: User

example/lib/main.dart

import 'package:flowr/flowr_mvvm.dart';
import 'package:flutter/material.dart';
import 'package:fr_mvvm_user/fr_mvvm_user.dart';

class MyUserModel extends UserModel {
  final String name;

  const MyUserModel({super.userId, this.name = '', super.token});

  @override
  String toString() => 'MyUserModel(name: $name; ${super.toString()})';
}

class MyUserViewModel extends IUserViewModel<MyUserModel> {
  @override
  final MyUserModel initValue;

  MyUserViewModel({this.initValue = const MyUserModel(userId: 'user0')});
}

void main() {
  runApp(
    FrProvider(
      (context) => MyUserViewModel(),
      child: MaterialApp(
        home: Scaffold(
          body: Center(
            child: FrUserDropdownView<MyUserViewModel, UserModel>(
              options: [
                const MyUserModel(userId: 'user1', name: 'test', token: 'abc'),
                const MyUserModel(userId: 'user2'),
              ],
            ),
          ),
        ),
      ),
    ),
  );
}