2022-10-01 03:13:50 +02:00
|
|
|
// ignore_for_file: use_build_context_synchronously
|
|
|
|
|
2022-09-30 23:33:57 +02:00
|
|
|
import 'package:flutter/material.dart';
|
|
|
|
|
2023-10-29 02:19:00 +01:00
|
|
|
import 'package:adguard_home_manager/screens/logs/logs_list.dart';
|
2023-11-01 20:46:03 +01:00
|
|
|
import 'package:adguard_home_manager/screens/logs/details/log_details_screen.dart';
|
2022-09-30 23:33:57 +02:00
|
|
|
|
2023-11-26 05:21:35 +01:00
|
|
|
import 'package:adguard_home_manager/models/logs.dart';
|
|
|
|
|
2023-05-24 14:29:14 +02:00
|
|
|
class Logs extends StatefulWidget {
|
2022-09-30 23:33:57 +02:00
|
|
|
const Logs({Key? key}) : super(key: key);
|
|
|
|
|
|
|
|
@override
|
2023-05-24 14:29:14 +02:00
|
|
|
State<Logs> createState() => _LogsState();
|
2022-09-30 23:33:57 +02:00
|
|
|
}
|
|
|
|
|
2023-05-24 14:29:14 +02:00
|
|
|
class _LogsState extends State<Logs> {
|
2023-10-29 02:19:00 +01:00
|
|
|
Log? _selectedLog;
|
2022-09-30 23:33:57 +02:00
|
|
|
|
|
|
|
@override
|
|
|
|
Widget build(BuildContext context) {
|
2023-10-29 02:19:00 +01:00
|
|
|
return LayoutBuilder(
|
|
|
|
builder: (context, constraints) {
|
2024-01-16 18:25:47 +01:00
|
|
|
if (constraints.maxWidth > 800) {
|
2023-10-29 02:19:00 +01:00
|
|
|
return Material(
|
|
|
|
color: Colors.transparent,
|
|
|
|
child: Row(
|
|
|
|
children: [
|
|
|
|
Expanded(
|
|
|
|
flex: 2,
|
|
|
|
child: LogsListWidget(
|
|
|
|
twoColumns: true,
|
|
|
|
selectedLog: _selectedLog,
|
|
|
|
onLogSelected: (log) => setState(() => _selectedLog = log),
|
2023-09-04 23:32:55 +02:00
|
|
|
)
|
2023-09-13 01:17:19 +02:00
|
|
|
),
|
2023-10-29 02:19:00 +01:00
|
|
|
Expanded(
|
|
|
|
flex: 3,
|
|
|
|
child: _selectedLog != null
|
|
|
|
? LogDetailsScreen(
|
|
|
|
log: _selectedLog!,
|
|
|
|
dialog: false,
|
2023-09-04 23:32:55 +02:00
|
|
|
)
|
2023-10-29 02:19:00 +01:00
|
|
|
: const SizedBox()
|
|
|
|
)
|
|
|
|
],
|
2023-05-01 15:58:06 +02:00
|
|
|
),
|
2023-10-29 02:19:00 +01:00
|
|
|
);
|
|
|
|
}
|
|
|
|
else {
|
|
|
|
return LogsListWidget(
|
|
|
|
twoColumns: false,
|
|
|
|
selectedLog: _selectedLog,
|
|
|
|
onLogSelected: (log) => setState(() => _selectedLog = log),
|
|
|
|
);
|
|
|
|
}
|
|
|
|
},
|
|
|
|
);
|
2022-09-30 23:33:57 +02:00
|
|
|
}
|
|
|
|
}
|