Merge pull request #3 from kphanipavan/test

Pretty date and gh link
This commit is contained in:
Phani Pavan Kambhampati
2024-11-14 09:58:10 +05:30
committed by GitHub
7 changed files with 55 additions and 24 deletions

BIN
assets/gh.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

View File

@@ -24,7 +24,7 @@ const String dataLink =
enum DataStatus { Loaded, Loading, NotFound } enum DataStatus { Loaded, Loading, NotFound }
Widget newNoMenuWidget = Center( Widget newNoMenuWidget = Center(
child: Column(children: [ child: Column(mainAxisAlignment: MainAxisAlignment.center, children: [
const Text("Menu not available for this session", const Text("Menu not available for this session",
style: TextStyle(fontSize: 20, fontStyle: FontStyle.italic)), style: TextStyle(fontSize: 20, fontStyle: FontStyle.italic)),
RichText( RichText(
@@ -36,6 +36,8 @@ Widget newNoMenuWidget = Center(
], ],
style: TextStyle(fontSize: 20, fontStyle: FontStyle.italic), style: TextStyle(fontSize: 20, fontStyle: FontStyle.italic),
), ),
) ),
], mainAxisAlignment: MainAxisAlignment.center), ]),
); );
Uri ghURI = Uri.parse("https://github.com/kphanipavan/IIITB_Menu");

View File

@@ -157,6 +157,10 @@ class GlobalModel extends ChangeNotifier {
return DateFormat("dd-MM-yyyy").format(this.currentDate); return DateFormat("dd-MM-yyyy").format(this.currentDate);
} }
String get prettyDate {
return DateFormat("EEE, MMM d").format(this.currentDate);
}
void incrDate() { void incrDate() {
this.currentDate = this.currentDate.add(const Duration(days: 1)); this.currentDate = this.currentDate.add(const Duration(days: 1));
this.isMenuAvailable(); this.isMenuAvailable();

View File

@@ -1,4 +1,6 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import "package:iiitb_menu/constants.dart";
import "package:url_launcher/url_launcher.dart";
class AboutPage extends StatelessWidget { class AboutPage extends StatelessWidget {
const AboutPage({Key? key}) : super(key: key); const AboutPage({Key? key}) : super(key: key);
@@ -7,13 +9,15 @@ class AboutPage extends StatelessWidget {
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Scaffold( return Scaffold(
appBar: AppBar(title: const Text("About")), appBar: AppBar(title: const Text("About")),
body: const Column( body: Column(
children: [ children: [
Padding( const Flexible(
padding: EdgeInsets.only(left: 100, right: 100, top: 50), child: Padding(
child: Image(image: AssetImage("assets/plate.png")), padding: EdgeInsets.only(left: 100, right: 100, top: 50),
child: Image(image: AssetImage("assets/plate.png")),
),
), ),
Center( const Center(
child: Text( child: Text(
"IIIT Bangalore's Unofficial Menu App", "IIIT Bangalore's Unofficial Menu App",
textAlign: TextAlign.center, textAlign: TextAlign.center,
@@ -22,13 +26,21 @@ class AboutPage extends StatelessWidget {
), ),
), ),
), ),
Center( const Center(
child: Text("Proud Ass Web 1.0 App built with Flutter"), child: Text("Proud Ass Web 1.0 App built with Flutter"),
), ),
Center( const Center(
child: Text( child: Text(
"Menu updates every other Tuesday or when FoodComm does it."), "Menu updates every other Tuesday or when FoodComm does it."),
) ),
InkWell(
child:
const Image(image: AssetImage("assets/gh.png"), height: 20),
onTap: () async {
if (await canLaunchUrl(ghURI)) {
launchUrl(ghURI);
}
}),
], ],
), ),
); );

View File

@@ -30,8 +30,8 @@ class HomePage extends StatelessWidget {
child: ListView( child: ListView(
children: [ children: [
ListTile( ListTile(
leading: Icon(Icons.arrow_back), leading: const Icon(Icons.arrow_back),
title: Text("Menu"), title: const Text("Menu"),
onTap: () { onTap: () {
Navigator.pop(context); Navigator.pop(context);
}), }),
@@ -69,7 +69,7 @@ class HomePage extends StatelessWidget {
title: Text(data.menuTime), title: Text(data.menuTime),
bottom: TabBar( bottom: TabBar(
controller: cont, controller: cont,
// splashFactory: InkSplash.splashFactory, splashFactory: NoSplash.splashFactory,
// indicator: const UnderlineTabIndicator( // indicator: const UnderlineTabIndicator(
// insets: EdgeInsets.fromLTRB(10, 3, 10, 3)), // insets: EdgeInsets.fromLTRB(10, 3, 10, 3)),
onTap: (int index) { onTap: (int index) {
@@ -87,9 +87,14 @@ class HomePage extends StatelessWidget {
onTap: () { onTap: () {
data.updateCall(); data.updateCall();
}, },
child: Icon(data.menuAvailable == DataStatus.Loading child: Padding(
? Icons.downloading_rounded padding: const EdgeInsets.symmetric(horizontal: 10.0),
: Icons.update_rounded), child: Center(
child: Icon(data.menuAvailable == DataStatus.Loading
? Icons.downloading_rounded
: Icons.update_rounded),
),
),
), ),
InkWell( InkWell(
splashFactory: NoSplash.splashFactory, splashFactory: NoSplash.splashFactory,
@@ -98,9 +103,11 @@ class HomePage extends StatelessWidget {
}, },
child: const Padding( child: const Padding(
padding: EdgeInsets.symmetric(horizontal: 10), padding: EdgeInsets.symmetric(horizontal: 10),
child: Icon( child: Center(
Icons.keyboard_arrow_left_rounded, child: Icon(
size: 30, Icons.keyboard_arrow_left_rounded,
size: 30,
),
), ),
)), )),
InkWell( InkWell(
@@ -121,7 +128,7 @@ class HomePage extends StatelessWidget {
data.setDateToADay(); data.setDateToADay();
}, },
child: Center( child: Center(
child: Text(data.date), child: Text(data.prettyDate),
), ),
), ),
InkWell( InkWell(
@@ -131,9 +138,11 @@ class HomePage extends StatelessWidget {
}, },
child: const Padding( child: const Padding(
padding: EdgeInsets.symmetric(horizontal: 10), padding: EdgeInsets.symmetric(horizontal: 10),
child: Icon( child: Center(
Icons.keyboard_arrow_right_rounded, child: Icon(
size: 30, Icons.keyboard_arrow_right_rounded,
size: 30,
),
), ),
)), )),
], ],

View File

@@ -8,9 +8,11 @@ import Foundation
import path_provider_foundation import path_provider_foundation
import share_plus import share_plus
import shared_preferences_foundation import shared_preferences_foundation
import url_launcher_macos
func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) { func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) {
PathProviderPlugin.register(with: registry.registrar(forPlugin: "PathProviderPlugin")) PathProviderPlugin.register(with: registry.registrar(forPlugin: "PathProviderPlugin"))
SharePlusMacosPlugin.register(with: registry.registrar(forPlugin: "SharePlusMacosPlugin")) SharePlusMacosPlugin.register(with: registry.registrar(forPlugin: "SharePlusMacosPlugin"))
SharedPreferencesPlugin.register(with: registry.registrar(forPlugin: "SharedPreferencesPlugin")) SharedPreferencesPlugin.register(with: registry.registrar(forPlugin: "SharedPreferencesPlugin"))
UrlLauncherPlugin.register(with: registry.registrar(forPlugin: "UrlLauncherPlugin"))
} }

View File

@@ -43,6 +43,7 @@ dependencies:
# localstorage: ^4.0.1+4 # localstorage: ^4.0.1+4
shared_preferences: ^2.2.0 shared_preferences: ^2.2.0
share_plus: ^10.1.1 share_plus: ^10.1.1
url_launcher: ^6.3.1
# sembast: # sembast:
dev_dependencies: dev_dependencies:
@@ -69,6 +70,7 @@ flutter:
# To add assets to your application, add an assets section, like this: # To add assets to your application, add an assets section, like this:
assets: assets:
- assets/plate.png - assets/plate.png
- assets/gh.png
# - images/a_dot_ham.jpeg # - images/a_dot_ham.jpeg
# An image asset can refer to one or more resolution-specific "variants", see # An image asset can refer to one or more resolution-specific "variants", see