diff --git a/app/src/main/java/com/example/android_hit/LoginActivity.kt b/app/src/main/java/com/example/android_hit/LoginActivity.kt
index 7b69bc279f72626a9c3db7ca424174fc2c4917f9..b0e6e364867b5065249cce710164ed0418cd942f 100644
--- a/app/src/main/java/com/example/android_hit/LoginActivity.kt
+++ b/app/src/main/java/com/example/android_hit/LoginActivity.kt
@@ -1,10 +1,11 @@
 package com.example.android_hit
 
+import android.app.AlertDialog
 import android.content.Intent
-import androidx.appcompat.app.AppCompatActivity
 import android.os.Bundle
 import android.view.View
 import android.widget.Button
+import androidx.appcompat.app.AppCompatActivity
 import androidx.fragment.app.FragmentManager
 import com.example.android_hit.utils.TokenManager
 
@@ -45,4 +46,19 @@ class LoginActivity : AppCompatActivity() {
         val intent = Intent(this, MainActivity::class.java)
         startActivity(intent)
     }
+
+    fun showNetworkDialog(): AlertDialog {
+        val alertDialogBuilder: AlertDialog.Builder = AlertDialog.Builder(this)
+        alertDialogBuilder.setTitle("No Internet Connection")
+        alertDialogBuilder.setMessage("Please check your internet connection")
+        alertDialogBuilder.setCancelable(false)
+
+        alertDialogBuilder.setPositiveButton("OK") { dialog, _ ->
+            dialog.dismiss()
+        }
+
+        val alertDialog: AlertDialog = alertDialogBuilder.create()
+        alertDialog.show()
+        return alertDialog
+    }
 }
\ No newline at end of file
diff --git a/app/src/main/java/com/example/android_hit/LoginFragment.kt b/app/src/main/java/com/example/android_hit/LoginFragment.kt
index b20d4e9a4f6d1429b885a8bc0596edd59e6f66d9..6427577f47c10230aaff45812a456890924d877c 100644
--- a/app/src/main/java/com/example/android_hit/LoginFragment.kt
+++ b/app/src/main/java/com/example/android_hit/LoginFragment.kt
@@ -3,15 +3,16 @@ package com.example.android_hit
 import android.annotation.SuppressLint
 import android.content.Context
 import android.content.Intent
+import android.net.ConnectivityManager
 import android.os.Bundle
 import android.util.Log
-import androidx.fragment.app.Fragment
 import android.view.LayoutInflater
 import android.view.View
 import android.view.ViewGroup
 import android.widget.Button
 import android.widget.EditText
 import android.widget.Toast
+import androidx.fragment.app.Fragment
 import com.example.android_hit.api.RetrofitClient
 import com.example.android_hit.data.LoginPayload
 import com.example.android_hit.data.LoginResponse
@@ -57,15 +58,20 @@ class LoginFragment : Fragment() {
             goToHome()
         }
 
-        loginButton.setOnClickListener {
-            val emailValue = emailInput.text.toString()
-            val passwordValue = passwordInput.text.toString()
-            val passEncrypt = cryptoManager.encrypt(passwordValue)
-            userPref.putEmail("EMAIL", emailValue)
-            userPref.putPassword("PASS", passEncrypt)
-            val data = LoginPayload(emailValue,passwordValue)
-            login(data)
 
+        loginButton.setOnClickListener {
+            val context = context
+            if (context != null && isNetworkAvailable(context)) {
+                val emailValue = emailInput.text.toString()
+                val passwordValue = passwordInput.text.toString()
+                val passEncrypt = cryptoManager.encrypt(passwordValue)
+                userPref.putEmail("EMAIL", emailValue)
+                userPref.putPassword("PASS", passEncrypt)
+                val data = LoginPayload(emailValue,passwordValue)
+                login(data)
+            } else {
+                (activity as? LoginActivity)?.showNetworkDialog()
+            }
         }
     }
 
@@ -131,6 +137,11 @@ class LoginFragment : Fragment() {
             }
         })
     }
+    fun isNetworkAvailable(context: Context): Boolean {
+        val connectivityManager = context.getSystemService(Context.CONNECTIVITY_SERVICE) as ConnectivityManager
+        val networkInfo = connectivityManager.activeNetworkInfo
+        return networkInfo != null && networkInfo.isConnected
+    }
 
 
 
diff --git a/app/src/main/java/com/example/android_hit/MainActivity.kt b/app/src/main/java/com/example/android_hit/MainActivity.kt
index 0488bc5beb7f0a33973780139a54a7a9261a31e9..23388d2b9bad5e0cd924afb55d58022b732b940a 100644
--- a/app/src/main/java/com/example/android_hit/MainActivity.kt
+++ b/app/src/main/java/com/example/android_hit/MainActivity.kt
@@ -3,11 +3,10 @@ package com.example.android_hit
 import android.app.AlertDialog
 import android.content.Intent
 import android.content.res.Configuration
-import androidx.appcompat.app.AppCompatActivity
 import android.os.Bundle
 import android.util.Log
-import android.view.View
 import android.widget.Toast
+import androidx.appcompat.app.AppCompatActivity
 import androidx.fragment.app.Fragment
 import com.example.android_hit.api.RetrofitClient
 import com.example.android_hit.data.LoginPayload
@@ -101,7 +100,7 @@ class MainActivity : AppCompatActivity() {
         }
 
     }
-    private fun showNetworkDialog(): AlertDialog {
+    fun showNetworkDialog(): AlertDialog {
         val alertDialogBuilder: AlertDialog.Builder = AlertDialog.Builder(this)
         alertDialogBuilder.setTitle("No Internet Connection")
         alertDialogBuilder.setMessage("Please check your internet connection")
diff --git a/app/src/main/java/com/example/android_hit/Scan.kt b/app/src/main/java/com/example/android_hit/Scan.kt
index 8b48862380805df7646b882e917dca9ef20b617c..7ed471b90393f1fac2eca9360668848c5e06930c 100644
--- a/app/src/main/java/com/example/android_hit/Scan.kt
+++ b/app/src/main/java/com/example/android_hit/Scan.kt
@@ -3,11 +3,13 @@ package com.example.android_hit
 import android.Manifest
 import android.app.Activity
 import android.app.AlertDialog
+import android.content.Context
 import android.content.DialogInterface
 import android.content.Intent
 import android.content.pm.PackageManager
 import android.graphics.Bitmap
 import android.graphics.ImageDecoder
+import android.net.ConnectivityManager
 import android.net.Uri
 import android.os.Build
 import android.os.Bundle
@@ -103,7 +105,10 @@ class Scan : Fragment() {
             val savedImageUri = saveImageToInternalStorage(pickedBitMap!!)
             pickedPhoto = savedImageUri
             Handler(Looper.getMainLooper()).postDelayed({
-                showConfirmationDialog()
+                if(isNetworkAvailable(requireContext())){
+                    showConfirmationDialog()
+                }
+
             }, 700)
 
         }
@@ -149,7 +154,10 @@ class Scan : Fragment() {
             ivPicture.setImageBitmap(bitmap)
             pickedBitMap = bitmap
             Handler(Looper.getMainLooper()).postDelayed({
-                showConfirmationDialog()
+                if(isNetworkAvailable(requireContext())){
+                    showConfirmationDialog()
+                    }
+
             }, 700)
         }
 
@@ -302,4 +310,10 @@ class Scan : Fragment() {
         alertDialog.show()
     }
 
+    fun isNetworkAvailable(context: Context): Boolean {
+        val connectivityManager = context.getSystemService(Context.CONNECTIVITY_SERVICE) as ConnectivityManager
+        val networkInfo = connectivityManager.activeNetworkInfo
+        return networkInfo != null && networkInfo.isConnected
+    }
+
 }
\ No newline at end of file