import 'package:flutter/material.dart'; import 'package:hive/hive.dart'; class ThemeModeAdapter extends TypeAdapter { @override final int typeId = 41; @override ThemeMode read(BinaryReader reader) { switch (reader.readByte()) { case 0: return ThemeMode.system; case 1: return ThemeMode.light; case 2: return ThemeMode.dark; default: return ThemeMode.system; } } @override void write(BinaryWriter writer, ThemeMode obj) { switch (obj) { case ThemeMode.system: writer.writeByte(0); break; case ThemeMode.light: writer.writeByte(1); break; case ThemeMode.dark: writer.writeByte(2); break; } } @override int get hashCode => typeId.hashCode; @override bool operator ==(Object other) => identical(this, other) || other is ThemeModeAdapter && runtimeType == other.runtimeType && typeId == other.typeId; }