summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOrangerot <purple@orangerot.dev>2024-12-22 17:41:14 +0100
committerOrangerot <purple@orangerot.dev>2024-12-22 17:41:14 +0100
commit9aaf00e6275616f4ff3086b0fb4ae98c2036c4fb (patch)
tree23f454309f364c664c145c859f9a8866e32e0b26
parentc979904f95c2451fed5bba5d83fe9a7244c39ae3 (diff)
feat: level layout
-rw-r--r--lib/level.dart61
-rw-r--r--lib/level_selection.dart10
2 files changed, 67 insertions, 4 deletions
diff --git a/lib/level.dart b/lib/level.dart
new file mode 100644
index 0000000..c92658b
--- /dev/null
+++ b/lib/level.dart
@@ -0,0 +1,61 @@
+import 'package:flutter/material.dart';
+
+class Level extends StatelessWidget {
+ const Level({super.key});
+ @override
+ Widget build(BuildContext context) {
+ return Scaffold(
+ appBar: AppBar(
+ leading: Icon(Icons.pause),
+ title: Text('Level 1'),
+ actions: [
+ IconButton(
+ icon: Icon(Icons.close),
+ onPressed: () => Navigator.pop(context))
+ ],
+ ),
+ body: Stack(children: [
+ Arrow( position: -100.0,),
+ Arrow( position: 00.0,),
+ Arrow( position: 100.0,),
+ Arrow( position: 200.0,),
+ Positioned(
+ top: 50,
+ width: MediaQuery.of(context).size.width,
+ left: 0,
+ child: Text(
+ "Great!",
+ textScaler: TextScaler.linear(4),
+ textAlign: TextAlign.center,
+ ),
+ ),
+ Positioned(
+ left: MediaQuery.of(context).size.width / 2 - 50,
+ bottom: 50,
+ child: Container(
+ width: 100,
+ height: 100,
+ decoration: BoxDecoration(
+ shape: BoxShape.circle,
+ // color: Colors.blue,
+ border: Border.all(color: Colors.black, width: 10)),
+ ),
+ ),
+ ]));
+ }
+}
+
+class Arrow extends StatelessWidget {
+ final double position;
+
+ const Arrow({super.key, required this.position});
+
+ @override
+ Widget build(BuildContext context) {
+ return Positioned(
+ left: MediaQuery.of(context).size.width / 2 - 25, // Center the arrow
+ top: position,
+ child: Icon(size: 100, Icons.arrow_forward),
+ );
+ }
+}
diff --git a/lib/level_selection.dart b/lib/level_selection.dart
index c63c8c3..a5a9c32 100644
--- a/lib/level_selection.dart
+++ b/lib/level_selection.dart
@@ -1,5 +1,7 @@
import 'package:flutter/material.dart';
+import 'level.dart';
+
class LevelSelection extends StatelessWidget {
final List<String> _musicList = [
"https://www.soundhelix.com/examples/mp3/SoundHelix-Song-1.mp3",
@@ -26,13 +28,13 @@ class LevelSelection extends StatelessWidget {
trailing: Icon(Icons.play_arrow),
title: Text('Track ${index + 1}'),
subtitle: Text('3:45'),
+ onTap: () => Navigator.push(context,
+ MaterialPageRoute(builder: (BuildContext context) => Level())),
);
},
),
- floatingActionButton: FloatingActionButton(
- onPressed: () => {},
- child: Icon(Icons.add)
- ),
+ floatingActionButton:
+ FloatingActionButton(onPressed: () => {}, child: Icon(Icons.add)),
);
}
}