from flask import Flask, render_template, request, jsonify import os from dotenv import load_dotenv from chatbot import get_krishna_response from image_api import generate_krishna_image, generate_comic_strip from countdown import get_countdown try: from firebase_config import save_chat_message, get_chat_history firebase_enabled = True except ImportError: firebase_enabled = False # Load environment variables (Hugging Face Space secrets) load_dotenv() app = Flask(__name__) @app.route('/') def home(): return render_template('home.html') @app.route('/chat', methods=['GET', 'POST']) def chat(): if request.method == 'POST': user_input = request.form['message'] reply = get_krishna_response(user_input) if firebase_enabled: save_chat_message(user_input, reply) return jsonify({'reply': reply}) chat_history = get_chat_history() if firebase_enabled else [] return render_template('chat.html', chat_history=chat_history) @app.route('/message') def message(): return render_template('message.html') @app.route('/image', methods=['POST']) def image(): prompt = request.json['prompt'] image_url = generate_krishna_image(prompt) if image_url: return jsonify({'image_url': image_url}) return jsonify({'error': 'Failed to generate image'}), 500 @app.route('/comic', methods=['GET']) def comic(): comic_images = generate_comic_strip() return jsonify({'comic_images': comic_images}) @app.route('/countdown') def countdown(): days_left = get_countdown() return jsonify({'days': days_left}) if __name__ == '__main__': app.run(host='0.0.0.0', port=5000)