diff --git a/assets/profile.jpg b/assets/profile.jpg new file mode 100755 index 0000000..7b4569b Binary files /dev/null and b/assets/profile.jpg differ diff --git a/lib/pages/landing_page.dart b/lib/pages/landing_page.dart index c45fe07..7c1f54c 100644 --- a/lib/pages/landing_page.dart +++ b/lib/pages/landing_page.dart @@ -2,6 +2,7 @@ import 'package:flutter/material.dart'; import 'package:resume/services/breakpoints.dart'; import 'package:resume/services/content_provider.dart'; import 'package:resume/widgets/content_widget.dart'; +import 'package:resume/widgets/profile.dart'; class LandingPage extends StatefulWidget { const LandingPage({super.key}); @@ -60,6 +61,18 @@ class _LandingPageState extends State { : SingleChildScrollView( child: Stack( children: [ + Align( + alignment: Alignment.topLeft, + child: SizedBox( + width: (MediaQuery.of(context).size.width - + _getPageWidth()) / + 2, + child: const Padding( + padding: EdgeInsets.symmetric(horizontal: 50), + child: Profile(), + ), + ), + ), Align( alignment: Alignment.topRight, child: SizedBox( diff --git a/lib/widgets/content_widget.dart b/lib/widgets/content_widget.dart index d8da350..ffa4026 100644 --- a/lib/widgets/content_widget.dart +++ b/lib/widgets/content_widget.dart @@ -18,7 +18,7 @@ class ContentBox extends StatelessWidget { Widget build(BuildContext context) { return Card( child: Padding( - padding: EdgeInsets.all(20), + padding: const EdgeInsets.all(20), child: Column( mainAxisSize: MainAxisSize.max, crossAxisAlignment: CrossAxisAlignment.start, diff --git a/lib/widgets/profile.dart b/lib/widgets/profile.dart new file mode 100644 index 0000000..8e646bc --- /dev/null +++ b/lib/widgets/profile.dart @@ -0,0 +1,40 @@ +import 'package:flutter/material.dart'; + +class Profile extends StatelessWidget { + const Profile({super.key}); + + @override + Widget build(BuildContext context) { + return Card( + child: Padding( + padding: const EdgeInsets.all(20), + child: Column( + children: [ + Container( + constraints: const BoxConstraints(maxWidth: 200), + child: ClipRRect( + borderRadius: BorderRadius.circular(180), + child: Image.asset('assets/profile.jpg'), + ), + ), + const Padding(padding: EdgeInsets.symmetric(vertical: 5)), + Text( + 'Marco Skupin', + style: Theme.of(context).textTheme.displayMedium, + ), + const Padding(padding: EdgeInsets.symmetric(vertical: 5)), + Text( + 'Master of Science', + style: Theme.of(context).textTheme.titleLarge, + ), + const Padding(padding: EdgeInsets.symmetric(vertical: 5)), + Text( + 'marco@skup.in', + style: Theme.of(context).textTheme.bodyLarge, + ), + ], + ), + ), + ); + } +} diff --git a/pubspec.yaml b/pubspec.yaml index 7b1213d..ea36f32 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -22,4 +22,5 @@ flutter: uses-material-design: true assets: - - assets/content.json \ No newline at end of file + - assets/content.json + - assets/profile.jpg \ No newline at end of file