import streamlit as st import pandas as pd from loading_file import precomputed_df # Import pre-fetched dataset # Function to search for application numbers def search_application(application_number): if precomputed_df is None: st.error("Data not available. Please reload the app.") return # Ensure input is numeric only if not application_number.isdigit(): st.error("Invalid input! Please enter only numeric application numbers.") return application_number = str(application_number) result = precomputed_df[precomputed_df["Application Number"] == application_number] if not result.empty: st.success(f"Record found for Application Number: {application_number}") st.table(result) else: st.warning(f"No record found for Application Number: {application_number}") # Find nearest applications precomputed_df["Application Number"] = precomputed_df["Application Number"].astype(int) application_number = int(application_number) nearest_before = precomputed_df[precomputed_df["Application Number"] < application_number].max() nearest_after = precomputed_df[precomputed_df["Application Number"] > application_number].min() nearest_df = pd.DataFrame([ {"Nearest Application": "Before", "Application Number": nearest_before["Application Number"], "Decision": nearest_before["Decision"], "Difference": abs(nearest_before["Application Number"] - application_number)}, {"Nearest Application": "After", "Application Number": nearest_after["Application Number"], "Decision": nearest_after["Decision"], "Difference": abs(nearest_after["Application Number"] - application_number)} ]) st.write("Nearest Application Numbers:") st.table(nearest_df) # UI for searching application numbers st.title("Visa Application Status Checker") application_number = st.text_input("Enter Application Number:") if st.button("Search"): search_application(application_number)