mirror of
https://gitlab.com/moepoi/moepoi.dev.git
synced 2024-11-22 23:10:39 +01:00
118 lines
4 KiB
Dart
118 lines
4 KiB
Dart
import 'package:flutter/material.dart';
|
|
|
|
import 'package:moepoi_site/components/resume_experience.dart';
|
|
import 'package:moepoi_site/components/resume_education.dart';
|
|
import 'package:moepoi_site/components/resume_language.dart';
|
|
import 'package:moepoi_site/utils/utils.dart'
|
|
show
|
|
HideScrollGlow,
|
|
kDesktopBreakPoint,
|
|
kMobileBreakpoint,
|
|
kTabletBreakpoint;
|
|
|
|
class Resume extends StatefulWidget {
|
|
const Resume({Key? key}) : super(key: key);
|
|
|
|
@override
|
|
State<Resume> createState() => _ResumeState();
|
|
}
|
|
|
|
class _ResumeState extends State<Resume> {
|
|
@override
|
|
Widget build(BuildContext context) {
|
|
return Title(
|
|
title: 'Moe Poi | Resume',
|
|
color: const Color.fromARGB(255, 80, 192, 144),
|
|
child: Scaffold(
|
|
appBar: AppBar(
|
|
title: const Text(
|
|
'Resume',
|
|
style: TextStyle(
|
|
color: Colors.black,
|
|
fontWeight: FontWeight.w700,
|
|
fontSize: 40.0),
|
|
),
|
|
centerTitle: true,
|
|
backgroundColor: Colors.transparent,
|
|
elevation: 0.0,
|
|
automaticallyImplyLeading: false,
|
|
actions: [
|
|
Container(
|
|
margin: const EdgeInsets.only(right: 20),
|
|
child: IconButton(
|
|
icon: const Icon(
|
|
Icons.close,
|
|
color: Color.fromARGB(255, 80, 192, 144),
|
|
),
|
|
onPressed: () {
|
|
Navigator.pop(context);
|
|
},
|
|
),
|
|
),
|
|
],
|
|
),
|
|
body: LayoutBuilder(builder: (context, dimension) {
|
|
Widget desktop = ScrollConfiguration(
|
|
behavior: HideScrollGlow(),
|
|
child: ListView(shrinkWrap: true, children: [
|
|
const SizedBox(
|
|
height: 50.0,
|
|
),
|
|
SizedBox(
|
|
height: 500,
|
|
child: Row(
|
|
mainAxisAlignment: MainAxisAlignment.spaceEvenly,
|
|
children: [
|
|
const Flexible(
|
|
flex: 1,
|
|
child: ResumeExperience(),
|
|
),
|
|
Flexible(
|
|
flex: 1,
|
|
child: Column(
|
|
crossAxisAlignment: CrossAxisAlignment.start,
|
|
children: const [
|
|
Flexible(flex: 1, child: ResumeEducation()),
|
|
Flexible(flex: 1, child: ResumeLanguage()),
|
|
],
|
|
),
|
|
)
|
|
]))
|
|
]));
|
|
|
|
Widget mobile = ScrollConfiguration(
|
|
behavior: HideScrollGlow(),
|
|
child: Center(
|
|
child: ListView(
|
|
// crossAxisCount: 1,
|
|
padding: const EdgeInsets.all(15.0),
|
|
shrinkWrap: true,
|
|
// childAspectRatio: 0.8,
|
|
children: const [
|
|
ResumeExperience(),
|
|
SizedBox(
|
|
height: 30.0,
|
|
),
|
|
ResumeEducation(),
|
|
SizedBox(
|
|
height: 30.0,
|
|
),
|
|
ResumeLanguage(),
|
|
]),
|
|
));
|
|
|
|
if (dimension.maxWidth <= kMobileBreakpoint) {
|
|
return mobile;
|
|
} else if (dimension.maxWidth > kMobileBreakpoint &&
|
|
dimension.maxWidth <= kTabletBreakpoint) {
|
|
return desktop;
|
|
} else if (dimension.maxWidth > kTabletBreakpoint &&
|
|
dimension.maxWidth <= kDesktopBreakPoint) {
|
|
return desktop;
|
|
} else {
|
|
return desktop;
|
|
}
|
|
})),
|
|
);
|
|
}
|
|
}
|