Skip to content

Instantly share code, notes, and snippets.

View Dev-Owl's full-sized avatar
🦉

Christian Dev-Owl

🦉
View GitHub Profile
@Dev-Owl
Dev-Owl / http_logger.dart
Created March 18, 2024 15:34
Simple HTTP logger written in dart using shelf
import 'dart:io';
import 'package:intl/intl.dart';
import 'package:shelf/shelf.dart';
import 'package:shelf/shelf_io.dart' as shelf_io;
void main(List<String> arguments) async {
var port = 8088;
var ip = "172.16.200.22";
if (arguments.any((e) => e.startsWith('port='))) {
import 'package:flutter/widgets.dart';
extension ViewMode on Widget {
bool renderMobileMode(BuildContext context) {
return MediaQuery.of(context).size.width < 600;
}
}
@Dev-Owl
Dev-Owl / 0pillowHttp_stub.dart
Last active April 5, 2021 11:09
Platform code, ahead of time
import 'package:http/http.dart' as http;
http.Client getClient() {
throw UnimplementedError('Unsupported');
}
class CaladriusBootstrap extends StatelessWidget {
final BootCompleted bootCompleted;
const CaladriusBootstrap(this.bootCompleted, {Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
return BootStrap(
[
LoginBootStep(),
@Dev-Owl
Dev-Owl / bootsrap.dart
Created April 5, 2021 09:16
Boot your app
import 'package:caladrius/main.dart';
import 'package:flutter/material.dart';
import 'package:shared_preferences/shared_preferences.dart';
typedef BootCompleted = Widget Function();
class BootStrap extends StatefulWidget {
final List<BootstrapStep> steps;
final int currentIndex;
final BootCompleted bootCompleted;
@Dev-Owl
Dev-Owl / router.dart
Created April 5, 2021 08:28
Routing in Flutter
import 'package:caladrius/component/bootstrap/bootstrap.dart';
import 'package:caladrius/screens/corsHelp.dart';
import 'package:caladrius/screens/dashboard.dart';
import 'package:caladrius/component/bootstrap/CaladriusBootstrap.dart';
import 'package:caladrius/screens/database.dart';
import 'package:flutter/material.dart';
class AppRouter {
//Create a root that ensures a login/session
static PageRoute bootstrapRoute(BootCompleted call, RoutingData data) =>
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
debugShowCheckedModeBanner: false,
title: 'Caladrius',
initialRoute: 'dashboard',
onGenerateRoute: AppRouter.generateRoute,
theme: ThemeData(
@Dev-Owl
Dev-Owl / resultChart.dart
Created April 1, 2020 15:21
Chart for SIR Fluter
import 'package:flutter/material.dart';
import 'package:charts_flutter/flutter.dart';
import 'package:sirflutter/statistics.dart';
class ResultChart extends StatelessWidget {
final Map<int, Statistic> dayData;
ResultChart(this.dayData);
@override
Widget build(BuildContext context) {
@Dev-Owl
Dev-Owl / settings.dart
Created April 1, 2020 13:17
Settings drawer for SIR Flutter
import 'dart:math';
import 'package:flutter/material.dart';
import 'package:sirflutter/simulation_data.dart';
typedef SettingChangedCallback = void Function(SirSimulation data);
class Settings extends StatelessWidget {
final VoidCallback expandToggleTap;
final SettingChangedCallback settingChangedCallback;
@Dev-Owl
Dev-Owl / example.dart
Created December 19, 2019 12:40
settings for maze ball game
var prefs = await SharedPreferences.getInstance();
var savedHeight = prefs.getInt("maze_height") ?? 8;
var savedWidth = prefs.getInt("maze_width") ?? 8;
await prefs.setInt("maze_width", toInt(widthController.text,defaultValue: 8));
await prefs.setInt("maze_height", toInt(heightController.text,defaultValue: 8));