parass13 commited on
Commit
1a213dc
Β·
verified Β·
1 Parent(s): 7638afe

Update dashboard.py

Browse files
Files changed (1) hide show
  1. dashboard.py +5 -8
dashboard.py CHANGED
@@ -1,4 +1,4 @@
1
- import gradio as gr
2
  import re
3
  import bcrypt
4
  import numpy as np
@@ -13,7 +13,6 @@ import json
13
 
14
  from pages import about, community, user_guide
15
 
16
- # --- Config ---
17
  SUPABASE_URL = "https://fpbuhzbdtzwomjwytqul.supabase.co"
18
  SUPABASE_API_KEY = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6ImZwYnVoemJkdHp3b21qd3l0cXVsIiwicm9sZSI6ImFub24iLCJpYXQiOjE3NTE5NDk3NzYsImV4cCI6MjA2NzUyNTc3Nn0.oAa2TNNPQMyOGk63AOMZ7XKcwYvy5m-xoSWyvMZd6FY"
19
  SUPABASE_TABLE = "user_details"
@@ -24,14 +23,12 @@ headers = {
24
  "Content-Type": "application/json"
25
  }
26
 
27
- # --- Setup ---
28
  os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'
29
  warnings.filterwarnings("ignore")
30
  np.seterr(all='ignore')
31
 
32
  MODEL_PATH = "model_15_64.h5"
33
  if not os.path.exists(MODEL_PATH):
34
- print(f"Model file '{MODEL_PATH}' not found. Creating a dummy model for testing.")
35
  dummy_model = tf.keras.Sequential([
36
  tf.keras.layers.Input(shape=(128, 128, 3)),
37
  tf.keras.layers.Flatten(),
@@ -45,7 +42,6 @@ with warnings.catch_warnings():
45
  warnings.simplefilter("ignore")
46
  deepfake_model = tf.keras.models.load_model(MODEL_PATH)
47
 
48
- # --- Helpers ---
49
  def is_valid_email(email): return re.match(r"[^@]+@[^@]+\.[^@]+", email)
50
  def is_valid_phone(phone): return re.match(r"^[0-9]{10}$", phone)
51
 
@@ -94,7 +90,6 @@ def login_user(email, password):
94
  return bcrypt.checkpw(password.encode(), stored_hash.encode())
95
  return False
96
 
97
- # --- UI ---
98
  HOME_TAB_NAME = "🏠 Home"
99
  LOGIN_TAB_NAME = "πŸ” Login"
100
  DETECT_TAB_NAME = "πŸ§ͺ Detect Deepfake"
@@ -106,7 +101,7 @@ with gr.Blocks(theme=gr.themes.Soft(), title="VerifiAI - Deepfake Detector") as
106
  is_logged_in = gr.State(False)
107
  selected_tab = gr.State(HOME_TAB_NAME)
108
 
109
- with gr.Tabs() as tabs:
110
  with gr.Tab(HOME_TAB_NAME, visible=True) as home_tab:
111
  with gr.Row():
112
  with gr.Column():
@@ -206,7 +201,9 @@ with gr.Blocks(theme=gr.themes.Soft(), title="VerifiAI - Deepfake Detector") as
206
  predict_btn.click(fn=predict_image, inputs=image_input, outputs=result)
207
 
208
  demo.load(lambda: (False, HOME_TAB_NAME), None, [is_logged_in, selected_tab])
209
- selected_tab.change(fn=None, inputs=selected_tab, outputs=None, _js="(tab) => window.gradioApp().getElementById('tabs').querySelector(`[aria-label='${tab}']`).click()")
 
 
210
 
211
  if __name__ == "__main__":
212
  demo.launch()
 
1
+ import gradio
2
  import re
3
  import bcrypt
4
  import numpy as np
 
13
 
14
  from pages import about, community, user_guide
15
 
 
16
  SUPABASE_URL = "https://fpbuhzbdtzwomjwytqul.supabase.co"
17
  SUPABASE_API_KEY = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6ImZwYnVoemJkdHp3b21qd3l0cXVsIiwicm9sZSI6ImFub24iLCJpYXQiOjE3NTE5NDk3NzYsImV4cCI6MjA2NzUyNTc3Nn0.oAa2TNNPQMyOGk63AOMZ7XKcwYvy5m-xoSWyvMZd6FY"
18
  SUPABASE_TABLE = "user_details"
 
23
  "Content-Type": "application/json"
24
  }
25
 
 
26
  os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'
27
  warnings.filterwarnings("ignore")
28
  np.seterr(all='ignore')
29
 
30
  MODEL_PATH = "model_15_64.h5"
31
  if not os.path.exists(MODEL_PATH):
 
32
  dummy_model = tf.keras.Sequential([
33
  tf.keras.layers.Input(shape=(128, 128, 3)),
34
  tf.keras.layers.Flatten(),
 
42
  warnings.simplefilter("ignore")
43
  deepfake_model = tf.keras.models.load_model(MODEL_PATH)
44
 
 
45
  def is_valid_email(email): return re.match(r"[^@]+@[^@]+\.[^@]+", email)
46
  def is_valid_phone(phone): return re.match(r"^[0-9]{10}$", phone)
47
 
 
90
  return bcrypt.checkpw(password.encode(), stored_hash.encode())
91
  return False
92
 
 
93
  HOME_TAB_NAME = "🏠 Home"
94
  LOGIN_TAB_NAME = "πŸ” Login"
95
  DETECT_TAB_NAME = "πŸ§ͺ Detect Deepfake"
 
101
  is_logged_in = gr.State(False)
102
  selected_tab = gr.State(HOME_TAB_NAME)
103
 
104
+ with gr.Tabs(elem_id="tabs") as tabs:
105
  with gr.Tab(HOME_TAB_NAME, visible=True) as home_tab:
106
  with gr.Row():
107
  with gr.Column():
 
201
  predict_btn.click(fn=predict_image, inputs=image_input, outputs=result)
202
 
203
  demo.load(lambda: (False, HOME_TAB_NAME), None, [is_logged_in, selected_tab])
204
+
205
+ # βœ… Replaces buggy _js method
206
+ selected_tab.change(fn=lambda tab: gr.Tabs.update(selected=tab), inputs=selected_tab, outputs=tabs)
207
 
208
  if __name__ == "__main__":
209
  demo.launch()