buypeeb-mobile/lib/main.dart

90 lines
2.5 KiB
Dart

// Buypeeb - A simple Yahoo! Auctions tracker for Buyee users with mobile devices.
// I'm mostly making this just to learn Flutter.
// Copyright (C) 2020 Lynnesbian
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program. If not, see <https://www.gnu.org/licenses/>.
import 'package:flutter/material.dart';
import 'package:sprintf/sprintf.dart';
import 'yahoo_auctions_item.dart';
import 'dart:math';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
// This widget is the root of your application.
@override
Widget build(BuildContext context) {
return MaterialApp(
title: "Buypeeb",
theme: ThemeData(
primarySwatch: Colors.orange,
),
home: MainPage(),
);
}
}
class MainPage extends StatefulWidget {
@override
_MainPageState createState() => _MainPageState();
}
class _MainPageState extends State<MainPage> {
final _items = <YahooAuctionsItem>[];
final _rng = new Random();
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(title: Text("Buypeeb"), actions: [
IconButton(
icon: Icon(Icons.search),
onPressed: () => null,
tooltip: "Search",
),
IconButton(
icon: Icon(Icons.list),
onPressed: () => null,
tooltip: "Filter",
),
IconButton(
icon: Icon(Icons.settings),
onPressed: () => null,
tooltip: "Settings",
)
]),
body: _buildAuctionListings(),
);
}
Widget _buildAuctionListings() {
return ListView.builder(
padding: EdgeInsets.all(16.0),
itemBuilder: (context, i) {
if (i.isOdd) return Divider();
final newItem = YahooAuctionsItem(id: "Henlo", name: "Hi Pempa!", price: _rng.nextInt(5000) + 500);
_items.add(newItem);
return ListTile(title: Text(newItem.name),
subtitle: Text(sprintf("¥%d (≈\$%2.2f)", [newItem.price, newItem.getLocalPrice()])));
},
);
}
}