Skip to content

Instantly share code, notes, and snippets.

View IhwanID's full-sized avatar

Ihwan IhwanID

View GitHub Profile
extension ViewController: UITableViewDataSource, UITableViewDelegate{
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 15
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = UITableViewCell()
cell.textLabel?.text = "Cell at \(indexPath.row+1)"
return cell
}
@IhwanID
IhwanID / custom_text_field.dart
Last active June 10, 2020 08:42
Custom Text Field with callback function
import 'package:flutter/material.dart';
class CustomTextField extends StatelessWidget {
final TextEditingController controller;
final String labelText;
final bool isObscureText;
final Function(String) onChanged;
CustomTextField(
{this.controller,
this.labelText,
@IhwanID
IhwanID / 1. main.dart
Last active June 10, 2020 08:42
Login Register Page in Flutter with separation widget
import 'package:flutter/material.dart';
import 'package:fluttercallback/common/action_button.dart';
import 'package:fluttercallback/common/custom_text_field.dart';
import 'package:fluttercallback/common/switch_button.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@IhwanID
IhwanID / main.dart
Created June 10, 2020 02:55
Simple Login Register Page in Flutter
import 'package:flutter/material.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
@IhwanID
IhwanID / loading.dart
Created April 26, 2020 14:45
Loading widget with message in flutter
import 'package:flutter/material.dart';
class Loading extends StatelessWidget {
final String msg;
Loading({this.msg});
@override
Widget build(BuildContext context) {
return Center(
@IhwanID
IhwanID / company_modal.dart
Created April 26, 2020 14:38
Flutter Modal with rounded
import 'package:flutter/material.dart';
import 'package:pinjollist/model/company.dart';
import 'package:url_launcher/url_launcher.dart';
class CompanyModal extends StatelessWidget {
final Company company;
CompanyModal({this.company});
@override
Widget build(BuildContext context) {
return Container(
import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:pinjollist/bloc/bloc.dart';
import 'package:pinjollist/commons/company_modal.dart';
import 'package:pinjollist/commons/loading.dart';
import 'package:pinjollist/model/company.dart';
class CompaniesScreen extends StatefulWidget {
@override
_CompaniesScreenState createState() => _CompaniesScreenState();
@IhwanID
IhwanID / main.dart
Created April 26, 2020 14:34
Bloc Provider
import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:pinjollist/bloc/bloc.dart';
import 'package:pinjollist/ui/companies_screen.dart';
void main() {
runApp(BlocProvider<CompanyBloc>(
create: (context) => CompanyBloc(),
child: MyApp(),
));
import 'dart:async';
import 'package:bloc/bloc.dart';
import 'package:pinjollist/model/company.dart';
import 'package:pinjollist/repository/repositories.dart';
import './bloc.dart';
class CompanyBloc extends Bloc<CompanyEvent, CompanyState> {
CompanyRepository repository = CompanyRepository();
@override
import 'package:equatable/equatable.dart';
import 'package:pinjollist/model/company.dart';
import 'package:meta/meta.dart';
abstract class CompanyState extends Equatable {
const CompanyState();
@override
List<Object> get props => [];
}