✨ Features implemented: - Smart inventory tracking with Hive database - Barcode scanning with auto-populated product info - Multiple API fallbacks (Open Food Facts, UPCItemDB) - Smart expiration date predictions by category - Discord webhook notifications (persisted) - Custom sage leaf vector icon - Material Design 3 UI with sage green theme - Privacy Policy & Terms of Service - Local-first, privacy-focused architecture 🎨 UI/UX: - Home dashboard with inventory stats - Add Item screen with barcode integration - Inventory list with expiration indicators - Settings with persistent preferences - About section with legal docs 🔧 Technical: - Flutter 3.35.5 with Riverpod state management - Hive 2.2.3 for local database - Mobile scanner for barcode detection - Feature-first architecture 🤖 Generated with Claude Code (https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
30 lines
602 B
Dart
30 lines
602 B
Dart
import 'package:hive/hive.dart';
|
|
|
|
part 'app_settings.g.dart';
|
|
|
|
@HiveType(typeId: 3)
|
|
class AppSettings extends HiveObject {
|
|
@HiveField(0)
|
|
String? discordWebhookUrl;
|
|
|
|
@HiveField(1)
|
|
bool expirationAlertsEnabled;
|
|
|
|
@HiveField(2)
|
|
bool discordNotificationsEnabled;
|
|
|
|
@HiveField(3)
|
|
String defaultView; // 'grid' or 'list'
|
|
|
|
@HiveField(4)
|
|
String sortBy; // 'expiration', 'name', 'location'
|
|
|
|
AppSettings({
|
|
this.discordWebhookUrl,
|
|
this.expirationAlertsEnabled = true,
|
|
this.discordNotificationsEnabled = false,
|
|
this.defaultView = 'grid',
|
|
this.sortBy = 'expiration',
|
|
});
|
|
}
|