hjawwad456 commited on
Commit
170358b
·
1 Parent(s): 72e90db

add firebase sdk

Browse files
Files changed (1) hide show
  1. app.py +74 -2
app.py CHANGED
@@ -336,7 +336,6 @@ class TranscriptProcessor:
336
  """Return the raw transcript data."""
337
  return self.transcript_data
338
 
339
-
340
  def setup_openai_key() -> None:
341
  """Set up OpenAI API key from file."""
342
  try:
@@ -907,12 +906,85 @@ def create_chat_interface():
907
  return 'Iframe handler initialized';
908
  }
909
  """
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
910
 
911
  with gr.Blocks(
912
  fill_height=True,
913
  fill_width=True,
914
  css=css,
915
- js=js,
916
  theme=gr.themes.Default(
917
  font=[gr.themes.GoogleFont("Inconsolata"), "Arial", "sans-serif"]
918
  ),
 
336
  """Return the raw transcript data."""
337
  return self.transcript_data
338
 
 
339
  def setup_openai_key() -> None:
340
  """Set up OpenAI API key from file."""
341
  try:
 
906
  return 'Iframe handler initialized';
907
  }
908
  """
909
+ head = f"""
910
+ <script defer src="https://www.gstatic.com/firebasejs/11.1.0/firebase-firestore.js"></script>
911
+ <script type="module">
912
+ // Import the functions you need from the SDKs you need
913
+ import {{ initializeApp }} from "https://www.gstatic.com/firebasejs/11.1.0/firebase-app.js";
914
+ import {{ getDatabase, ref, set }} from "https://www.gstatic.com/firebasejs/11.1.0/firebase-database.js";
915
+ // TODO: Add SDKs for Firebase products that you want to use
916
+ // https://firebase.google.com/docs/web/setup#available-libraries
917
+
918
+ // Your web app's Firebase configuration
919
+ // For Firebase JS SDK v7.20.0 and later, measurementId is optional
920
+ const firebaseConfig = {{
921
+ apiKey: "{os.getenv('FIREBASE_API_KEY')}",
922
+ authDomain: "{os.getenv('FIREBASE_AUTH_DOMAIN')}",
923
+ databaseURL: "{os.getenv('FIREBASE_DATABASE_URL')}",
924
+ projectId: "{os.getenv('FIREBASE_PROJECT_ID')}",
925
+ storageBucket: "{os.getenv('FIREBASE_STORAGE_BUCKET')}",
926
+ messagingSenderId: "{os.getenv('FIREBASE_MESSAGING_SENDER_ID')}",
927
+ appId: "{os.getenv('FIREBASE_APP_ID')}",
928
+ measurementId: "{os.getenv('FIREBASE_MEASUREMENT_ID')}"
929
+ }};
930
+
931
+ // Initialize Firebase
932
+ const app = initializeApp(firebaseConfig);
933
+ const realtimeDB = getDatabase(app);
934
+ const rollAccount = "roll-dev-account";
935
+ const COLLECTIONS = {{
936
+ COLLAB_EDIT_LINK: "collab_link_handler",
937
+ }};
938
+
939
+ // Event listener for click
940
+ document.addEventListener('click', function (event) {{
941
+ var link = event.target.closest('a');
942
+ if (link && link.href) {{
943
+
944
+ // Parse the URL to extract 'st' and 'et'
945
+ const url = new URL(link.href);
946
+ const startTime = url.searchParams.get('st');
947
+ const endTime = url.searchParams.get('et');
948
+ const userId = url.searchParams.get('uid') || "";
949
+
950
+ if (startTime || endTime) {{
951
+ let components = url.pathname.split("/");
952
+ let callId = components[2];
953
+ let recordingSessionId = components[3];
954
+
955
+ let data = {{
956
+ startTime: parseInt(startTime, 10),
957
+ endTime: parseInt(endTime, 10),
958
+ }};
959
+
960
+ console.log("Data to save:", data);
961
+
962
+ // Firebase reference
963
+ let reference = ref(
964
+ realtimeDB,
965
+ `${{rollAccount}}/${{COLLECTIONS.COLLAB_EDIT_LINK}}/${{userId}}/${{callId}}/${{recordingSessionId}}`
966
+ );
967
+
968
+ set(reference, data)
969
+ .then(() => {{
970
+ console.log("Data saved successfully:", data);
971
+ }})
972
+ .catch((error) => {{
973
+ console.error("Error saving data:", error);
974
+ }});
975
+ }}
976
+
977
+ event.preventDefault(); // Prevent default behavior
978
+ }}
979
+ }});
980
+ </script>
981
+ """
982
 
983
  with gr.Blocks(
984
  fill_height=True,
985
  fill_width=True,
986
  css=css,
987
+ head=head,
988
  theme=gr.themes.Default(
989
  font=[gr.themes.GoogleFont("Inconsolata"), "Arial", "sans-serif"]
990
  ),