from frontend.layout import create_main_interface from frontend.leaderboard import refresh_leaderboard from frontend.submission import handle_submission from backend.auto_refresh import DailyRefresh # Create the main interface with callbacks demo, leaderboard_table = create_main_interface( refresh_callback=refresh_leaderboard, submit_callback=handle_submission ) # Set up daily auto-refresh (refreshes at 2 AM daily) auto_refresher = DailyRefresh(refresh_leaderboard, refresh_hour=2) if __name__ == "__main__": # Start auto-refresh auto_refresher.start() # Launch the app demo.launch()