mirror of
https://github.com/Zetaphor/browser-recall.git
synced 2025-12-06 02:19:37 +00:00
Refactor to use crawl4ai, uv
This commit is contained in:
52
app/routers/ui.py
Normal file
52
app/routers/ui.py
Normal file
@@ -0,0 +1,52 @@
|
||||
from fastapi import APIRouter, Depends, Request
|
||||
from fastapi.templating import Jinja2Templates
|
||||
from sqlalchemy.orm import Session
|
||||
|
||||
from ..database import get_db, HistoryEntry, Bookmark
|
||||
from ..logging_config import setup_logger
|
||||
|
||||
logger = setup_logger(__name__)
|
||||
router = APIRouter(tags=["ui"])
|
||||
templates = Jinja2Templates(directory="app/templates")
|
||||
|
||||
@router.get("/")
|
||||
async def home(request: Request, db: Session = Depends(get_db)):
|
||||
try:
|
||||
# Get recent history entries
|
||||
entries = db.query(HistoryEntry)\
|
||||
.order_by(HistoryEntry.visit_time.desc())\
|
||||
.limit(50)\
|
||||
.all()
|
||||
return templates.TemplateResponse(
|
||||
"index.html",
|
||||
{"request": request, "entries": entries}
|
||||
)
|
||||
except Exception as e:
|
||||
logger.error(f"Error loading home page: {e}", exc_info=True)
|
||||
# Optionally return an error template
|
||||
return templates.TemplateResponse("error.html", {"request": request, "detail": "Could not load history"})
|
||||
|
||||
|
||||
@router.get("/search")
|
||||
async def search_page(request: Request):
|
||||
return templates.TemplateResponse(
|
||||
"search.html",
|
||||
{"request": request}
|
||||
)
|
||||
|
||||
|
||||
@router.get("/bookmarks")
|
||||
async def bookmarks_page(request: Request, db: Session = Depends(get_db)):
|
||||
try:
|
||||
bookmarks = db.query(Bookmark)\
|
||||
.order_by(Bookmark.added_time.desc())\
|
||||
.limit(50)\
|
||||
.all()
|
||||
return templates.TemplateResponse(
|
||||
"bookmarks.html",
|
||||
{"request": request, "bookmarks": bookmarks}
|
||||
)
|
||||
except Exception as e:
|
||||
logger.error(f"Error loading bookmarks page: {e}", exc_info=True)
|
||||
# Optionally return an error template
|
||||
return templates.TemplateResponse("error.html", {"request": request, "detail": "Could not load bookmarks"})
|
||||
Reference in New Issue
Block a user