ZontreckWebsite/lib/pages/Portfolio.dart
2024-05-17 17:40:04 -07:00

113 lines
3.7 KiB
Dart

import 'package:flutter/material.dart';
import 'package:footer/footer.dart';
import 'package:footer/footer_view.dart';
import 'package:zontreck/Constants.dart';
class PortfolioPage extends StatelessWidget {
const PortfolioPage({super.key});
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: const Text("Zontreck.com - Portfolio of Tara Piccari"),
backgroundColor: Constants.TITLEBAR_COLOR,
),
body: FooterView(
footer: Footer(
alignment: Alignment.center,
backgroundColor: ThemeData.dark().focusColor,
child:
const Text("${Constants.COPYRIGHT}\n${Constants.VERSION}")),
children: [
Padding(
padding: const EdgeInsets.all(8),
child: SingleChildScrollView(
child: Row(
children: [
PortfolioEntry(
title: const ListTile(title: Text("Cards of Utter Nonsense")),
body: const Text(
"A product I created for Second Life, but may port to the mobile phone at some point"),
onTap: () {
Navigator.pushNamed(context, "/portfolio/coun");
},
),
PortfolioEntry(
title: const Text("Zontreck.com"),
body: const Text(
("This website, which is written entirely in Flutter, with some supporting API files in PHP")),
onTap: () {}),
PortfolioEntry(
title: const Text("Minecraft Modding"),
body: const Text(
"These mods are all written in Java. The various mods I currently maintain, previously maintained, or have contributed to are: Thresholds, Aria's Essentials, LibZontreck, Let's Do Beachparty, WatchMyDurability"),
onTap: () {})
],
),
),
),
]));
}
}
class PortfolioEntry extends StatelessWidget {
final Widget title;
final Widget body;
final Function() onTap;
const PortfolioEntry(
{super.key, required this.title, required this.body, required this.onTap});
@override
Widget build(BuildContext context) {
return Card(
color: Constants.PORTFOLIO_CARD_COLOR,
elevation: 8,
child: InkWell(
onTap: onTap,
child: Padding(
padding: const EdgeInsets.all(8),
child: SizedBox(
width: 225,
height: 325,
child: Column(
children: [
title,
const Divider(
thickness: 4,
),
body
],
),
),
),
),
);
}
}
class CardsOfUtterNonsense extends StatelessWidget {
const CardsOfUtterNonsense({super.key});
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: const Text("Portfolio Entry - Cards of Utter Nonsense"),
backgroundColor: Constants.TITLEBAR_COLOR,
),
body: const Padding(
padding: EdgeInsets.all(8),
child: SingleChildScrollView(
child: Column(
children: [
Text(
"Cards of Utter Nonsense is primarily written in Linden Scripting Language (LSL). It depends upon a MariaDB backend and PHP. The game uses a Heads Up Display (HUD), which is written in Flutter/Dart.")
],
),
),
),
);
}
}