Skip to content

Instantly share code, notes, and snippets.

View talamaska's full-sized avatar

Zlati Pehlivanov talamaska

View GitHub Profile
@talamaska
talamaska / app_lifecycle_aware.dart
Created January 31, 2024 15:22 — forked from dinko7/app_lifecycle_aware.dart
Android style app lifecycle awareness mixin for Flutter
import 'package:flutter/material.dart';
mixin AppLifecycleAware<T extends StatefulWidget> on State<T> {
late final AppLifecycleListener _listener;
@override
void initState() {
super.initState();
_listener = AppLifecycleListener(
onDetach: onDetach,

ssh-agent checker/launcher

about

A bash script for managing ssh-agent that I use for Ubuntu and OSX.

Started as a variation from this classic on Stack Overflow How to check if ssh-agent is already running and then adapted it to align with behaivor I want.

This version does the following:

  • checks for ssh agent forward (remote login) and if so does not setup ssh-agent or any keys
@talamaska
talamaska / chat_message_render_box.dart
Created April 27, 2023 12:58 — forked from craiglabenz/chat_message_render_box.dart
Demonstrates a custom RenderObject that draws chat messages like WhatsApp, where the `sentAt` timestamp is tucked into the last line if it fits
import 'dart:math';
import 'package:flutter/material.dart';
import 'package:flutter/rendering.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
import 'package:flutter/material.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
@talamaska
talamaska / main.dart
Created March 10, 2023 13:34 — forked from daveols/main.dart
Scrollable tabs within DraggableScrollableSheet
import 'package:flutter/material.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
@talamaska
talamaska / ListViewScrollController.dart
Created March 9, 2023 15:29 — forked from Andrious/ListViewScrollController.dart
ListView ScrollController Example
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
void main() {
runApp(MyApp(
items: List<String>.generate(10000, (i) => "Item $i"),
));
}
class MyApp extends StatefulWidget {
@talamaska
talamaska / go_router_nested_navigation.dart
Created February 10, 2023 17:43 — forked from bizz84/go_router_nested_navigation.dart
Example of GoRouter nested navigation using BottomNavigationBar
import 'package:flutter/material.dart';
import 'package:go_router/go_router.dart';
void main() => runApp(App());
class App extends StatelessWidget {
App({Key? key}) : super(key: key);
static const title = 'GoRouter Example: Nested Navigation';
@talamaska
talamaska / main.dart
Created February 8, 2022 13:53 — forked from rrousselGit/main.dart
Provider dartpad
import 'package:flutter/material.dart';
import 'dart:async';
import 'package:flutter/widgets.dart';
import 'package:flutter/foundation.dart';
import 'dart:collection';
import 'package:flutter/rendering.dart';
import 'package:flutter/scheduler.dart';
class Person with DiagnosticableTreeMixin {
Person({this.name, this.age});
@talamaska
talamaska / navigation_bloc.dart
Created December 18, 2021 16:13 — forked from ninogjoni/navigation_bloc.dart
Material You NavBar solution with bloc
import 'package:bloc/bloc.dart';
import 'package:equatable/equatable.dart';
import 'package:meta/meta.dart';
part 'navigation_event.dart';
part 'navigation_state.dart';
class NavigationBloc extends Bloc<NavigationEvent, NavigationState> {
NavigationBloc() : super(const NavMealSteate(1)) {
on<NavHomeEvent>(_onHome);
@talamaska
talamaska / main.dart
Created December 13, 2021 14:09 — forked from passsy/main.dart
Example of a stacked card list in flutter using Slivers
import 'dart:math';
import 'package:flutter/material.dart';
void main() {
runApp(Kata());
}
class Kata extends StatelessWidget {
@override