yaru-tutorial-playground/my_yaru_app/lib/main.dart

73 lines
1.7 KiB
Dart

import 'package:flutter/material.dart';
import 'package:yaru/yaru.dart';
Future<void> main() async {
await YaruWindowTitleBar.ensureInitialized();
runApp(const MyApp());
}
class MyApp extends StatelessWidget {
const MyApp({super.key});
@override
Widget build(BuildContext context) {
return YaruTheme(builder: (context, yaru, child) {
return MaterialApp(
debugShowCheckedModeBanner: false,
theme: yaru.theme,
darkTheme: yaru.darkTheme,
home: _Home(),
);
});
}
}
class _Home extends StatelessWidget {
const _Home({
super.key,
});
@override
Widget build(BuildContext context) {
return Scaffold(
body: YaruMasterDetailPage(
length: 2,
appBar: const YaruWindowTitleBar(),
tileBuilder: (context, index, selected, availableWidth) {
if (index == 0) {
return const YaruMasterTile(
title: Text('Home'),
leading: Icon(YaruIcons.home),
);
} else {
return const YaruMasterTile(
title: Text('Video'),
leading: Icon(YaruIcons.video_filled),
);
}
},
pageBuilder: (context, index) {
if (index == 0) {
return const YaruDetailPage(
appBar: YaruWindowTitleBar(
title: Text('Home'),
),
body: Center(
child: Text('Hello Ubuntu'),
),
);
} else {
return const YaruDetailPage(
appBar: YaruWindowTitleBar(
title: Text('Video'),
),
body: Center(
child: Text('Hello Yaru'),
),
);
}
},
));
}
}