- Register ACTION_SEND IntentFilter for image/* in AndroidManifest - Kotlin MethodChannel bridge: extract image URI, original filename, resolve to file - Flutter bottom sheet UI: thumbnail preview, note input (200 char), submit/cancel - Upload service: multipart POST, Bearer auth, 10MB limit, offline cache, exponential backoff retry - Configurable server URL and API token via SharedPreferences - Minimal home screen with usage instructions Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
24 lines
487 B
Dart
24 lines
487 B
Dart
import 'package:flutter/material.dart';
|
|
|
|
import 'screens/home_screen.dart';
|
|
|
|
void main() {
|
|
runApp(const SnapLedgerApp());
|
|
}
|
|
|
|
class SnapLedgerApp extends StatelessWidget {
|
|
const SnapLedgerApp({super.key});
|
|
|
|
@override
|
|
Widget build(BuildContext context) {
|
|
return MaterialApp(
|
|
title: 'SnapLedger',
|
|
theme: ThemeData(
|
|
colorScheme: ColorScheme.fromSeed(seedColor: Colors.indigo),
|
|
useMaterial3: true,
|
|
),
|
|
home: const HomeScreen(),
|
|
);
|
|
}
|
|
}
|