Skip to content

Instantly share code, notes, and snippets.

View MrNtlu's full-sized avatar
👨‍💻
Coding

Burak Fidan MrNtlu

👨‍💻
Coding
View GitHub Profile
@MrNtlu
MrNtlu / gist:0977be4483cff435498b3316e64dda2b
Last active November 10, 2023 14:54
MuslimDx Flutter Research
## Flutter iOS & Android
State Management: Riverpod
- https://riverpod.dev/docs/from_provider/provider_vs_riverpod
- https://www.youtube.com/watch?v=BJtQ0dfI-RA&ab_channel=Flutter
- https://www.youtube.com/watch?v=UyepBhIY5Bo&ab_channel=HeyFlutter%E2%80%A4com
- https://www.youtube.com/watch?v=Zp7VKVhirmw&ab_channel=ResoCoder
Language: Dart
### Things to Search
var mInterstitialAd: InterstitialAd? = null
fun loadInterstitial(context: Context) {
InterstitialAd.load(
context,
"ca-app-pub-3940256099942544/1033173712", //Change this with your own AdUnitID!
AdRequest.Builder().build(),
object : InterstitialAdLoadCallback() {
override fun onAdFailedToLoad(adError: LoadAdError) {
mInterstitialAd = null
@MrNtlu
MrNtlu / MainFragment.kt
Created December 28, 2022 14:18
Token Auth Main Fragment
@AndroidEntryPoint
class MainFragment : Fragment() {
private val viewModel: MainViewModel by viewModels()
private val tokenViewModel: TokenViewModel by activityViewModels()
private lateinit var navController: NavController
private var token: String? = null
override fun onCreateView(
inflater: LayoutInflater, container: ViewGroup?,
@MrNtlu
MrNtlu / LoginFragment.kt
Created December 28, 2022 14:12
Token Auth Login Fragment
@AndroidEntryPoint
class LoginFragment : Fragment() {
private val viewModel: AuthViewModel by viewModels()
private val tokenViewModel: TokenViewModel by activityViewModels()
private lateinit var navController: NavController
override fun onCreateView(
inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?
@MrNtlu
MrNtlu / SingletonModule.kt
Created December 28, 2022 13:15
Token Auth SingletonModule
val Context.dataStore: DataStore<Preferences> by preferencesDataStore(name = "data_store")
@Module
@InstallIn(SingletonComponent::class)
class SingletonModule {
@Singleton
@Provides
fun provideTokenManager(@ApplicationContext context: Context): TokenManager = TokenManager(context)
LazyColumn(state = lazyColumnListState) {
items(
items = articles,
key = { it.url },
) { article ->
Text(
modifier = Modifier
.height(75.dp),
text = article.title,
)
@HiltViewModel
class NewsManuelPagingViewModel @Inject constructor(
private val repository: NewsManuelPagingRepository,
): ViewModel() {
val newsList = mutableStateListOf<Article>()
private var page by mutableStateOf(1)
var canPaginate by mutableStateOf(false)
var listState by mutableStateOf(ListState.IDLE)
@Composable
fun PagingListScreen() {
val viewModel = hiltViewModel<NewsViewModel>()
val articles = viewModel.getBreakingNews().collectAsLazyPagingItems()
LazyColumn {
items(
items = articles,
key = { it.url }
@Composable
fun ExampleScreen(
sharedViewModel: SharedViewModel,
) {
val context = LocalContext.current
val listState = rememberLazyListState()
val expandedFabState = remember {
derivedStateOf {
listState.firstVisibleItemIndex == 0
}
@MrNtlu
MrNtlu / FAB.kt
Last active December 12, 2022 14:02
Column(
horizontalAlignment = Alignment.End,
verticalArrangement = Arrangement.Center,
) {
SmallFloatingActionButton(
onClick = { sharedViewModel.smallFabOnClick.value.invoke() },
containerColor = colors.secondaryVariant,
shape = RoundedCornerShape(12.dp),
) {
Icon(