// Copyright 2020 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // https://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. import 'package:flutter/material.dart'; import 'package:github/github.dart'; import 'package:window_to_front/window_to_front.dart'; import 'github_oauth_credentials.dart'; import 'src/github_login.dart'; import 'src/github_summary.dart'; void main() { runApp(const MyApp()); } class MyApp extends StatelessWidget { const MyApp({super.key}); @override Widget build(BuildContext context) { return MaterialApp( title: 'GitHub Client', theme: ThemeData( colorScheme: ColorScheme.fromSeed(seedColor: Colors.deepPurple), visualDensity: VisualDensity.adaptivePlatformDensity, ), home: const MyHomePage(title: 'GitHub Client'), ); } } class MyHomePage extends StatelessWidget { const MyHomePage({super.key, required this.title}); final String title; @override Widget build(BuildContext context) { return GithubLoginWidget( builder: (context, httpClient) { WindowToFront.activate(); return Scaffold( appBar: AppBar(title: Text(title), elevation: 2), body: GitHubSummary( gitHub: _getGitHub(httpClient.credentials.accessToken), ), ); }, githubClientId: githubClientId, githubClientSecret: githubClientSecret, githubScopes: githubScopes, ); } } GitHub _getGitHub(String accessToken) { return GitHub(auth: Authentication.withToken(accessToken)); }