import pandas as pd
from .base import BaseAnalysis
from flask import render_template_string

class GenerateStatistics(BaseAnalysis):
    name = "Test Statistics (Placeholder)"
    description = "Generates activity statistics grouped by hour."

    def execute(self, df: pd.DataFrame):
        df["hour"] = df["timestamp"].dt.hour
        statistics = df.groupby("hour").size().reset_index(name="count")

        # Convert statistics DataFrame to HTML
        table_html = statistics.to_html(classes="table table-bordered table-striped")

        # Wrap it in Bootstrap styling
        html_content = render_template_string(
            """
            <div class="card mt-3">
                <div class="card-header">
                    <h4>Activity Statistics</h4>
                </div>
                <div class="card-body">
                    {{ table_html | safe }}
                </div>
            </div>
            """,
            table_html=table_html
        )
        
        return html_content