2024-04-30 23:38:49 +08:00
|
|
|
import 'package:fl_clash/enum/enum.dart';
|
|
|
|
|
import 'package:flutter/material.dart';
|
|
|
|
|
import 'package:freezed_annotation/freezed_annotation.dart';
|
|
|
|
|
|
|
|
|
|
part 'generated/navigation.freezed.dart';
|
|
|
|
|
|
|
|
|
|
@freezed
|
|
|
|
|
class NavigationItem with _$NavigationItem {
|
|
|
|
|
const factory NavigationItem({
|
|
|
|
|
required Icon icon,
|
|
|
|
|
required String label,
|
|
|
|
|
final String? description,
|
|
|
|
|
required Widget fragment,
|
2024-06-03 18:02:05 +08:00
|
|
|
@Default(true) bool keep,
|
2024-04-30 23:38:49 +08:00
|
|
|
String? path,
|
|
|
|
|
@Default([NavigationItemMode.mobile, NavigationItemMode.desktop])
|
|
|
|
|
List<NavigationItemMode> modes,
|
|
|
|
|
}) = _NavigationItem;
|
|
|
|
|
}
|