from fastapi import FastAPI
from fastapi.requests import Request
from fastapi.templating import Jinja2Templates
from Calculator import Calculator

app = FastAPI()
templates = Jinja2Templates(directory="templates")
calc = Calculator()

@app.get("/icon")

@app.get("/")
async def root(request: Request):
    expression = request.query_params.get("expression", "")
    context = { "request": request }
    if expression:
        result = calc(expression)
        context = { "request": request, "expression": expression, "result": result}
    return templates.TemplateResponse("index.html", context)