Skip to content

Instantly share code, notes, and snippets.

View demirdev's full-sized avatar

Mehmet Demir demirdev

View GitHub Profile
@demirdev
demirdev / nested_scroll_view_with_tabbarview_scroll_sync_issue.dart
Last active February 5, 2024 07:16
nested_scroll_view_with_tabbarview_scroll_sync_issue.dart
import 'package:flutter/material.dart';
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'NestedScroll View with TabBarView',
home: PostsPage(),
@demirdev
demirdev / nested-scroll-tabbars.dart
Created January 23, 2024 15:17
nested-scroll-tabbars.dart
import 'package:flutter/material.dart';
const Color darkBlue = Color.fromARGB(255, 18, 32, 47);
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
@demirdev
demirdev / gist:d62a4b75a217cf463ba8d4190f2294e6
Created October 17, 2023 15:37
quran_translations.dart
library quran_translations;
import 'dart:convert';
import 'dart:io';
import 'package:quran_translations/data/translations_from_github.dart';
import 'package:quran_translations/db/quran_translations_db.dart';
import 'package:quran_translations/model/translation.dart';
import 'package:quran_translations/model/translator.dart';
# This file contains the fastlane.tools configuration
# You can find the documentation at https://docs.fastlane.tools
#
# For a list of all available actions, check out
#
# https://docs.fastlane.tools/actions
#
# For a list of all available plugins, check out
#
# https://docs.fastlane.tools/plugins/available-plugins
cd metadata;
find . -iname "release_notes.txt" | while read line
do
cp "./en-US/release_notes.txt" $line
done
find . | rename 's/abc/xyz/g' *
@demirdev
demirdev / pinch_to_scale_value.dart
Last active January 3, 2023 08:58
pinch to scale double values, for example change text size with fingers
import 'package:flutter/material.dart';
// learned from: https://copyprogramming.com/howto/flutter-gesturedetector-how-to-pinch-in-out-or-zoom-in-out-text-using-two-fingers
class PinchToScaleValue extends StatefulWidget {
final Widget child;
PinchToScaleValue(
{Key? key,
required this.child,
import 'package:flutter/material.dart';
import 'package:flutter_dart_extensions/flutter_dart_extensions.dart';
class DoubleBackForExit extends StatelessWidget {
final Widget child;
DoubleBackForExit({Key? key, required this.child}) : super(key: key);
DateTime? latestBackTappedTime;
#!/bin/bash
simId=$(flutter devices|grep simulator|cut -d"•" -f2|tr " " "\0")
appDir="$HOME/Library/Developer/CoreSimulator/Devices/$simId/data/Containers/Data/Application"
#echo $appDir
appId=$(ls -alrt $appDir|tail -2|head -1)
mobileAppDir=$(echo $appId|rev|cut -d" " -f1|rev)
documentsDir="$appDir/$mobileAppDir/Documents"
lastFileName=$(ls -alrt $documentsDir|tail -2|head -2|rev|cut -d" " -f1|cut -d" " -f1|rev)
#echo $documentsDir
import 'dart:convert';
extension PrettyJson on Object? {
String get prettyJson => const JsonEncoder.withIndent(
' ',
).convert(this);
}
/// Usage
///