47 lines
2.2 KiB
Python
47 lines
2.2 KiB
Python
import streamlit as st
|
|
from streamlit.delta_generator import DeltaGenerator
|
|
|
|
from typing import Dict, List, Any
|
|
import re
|
|
|
|
from streamlit_constants import DASHBOARD_CONFIG_OBJECT_KEY
|
|
from utility_classes.dashboard_config_parser import DashboardConfig, ExportModulePair
|
|
from utility_classes.base_report_page import BaseReportPage
|
|
from components.neoserra_export_link_grabber import NeoserraExportLinkGrabber
|
|
|
|
class HomePage(BaseReportPage):
|
|
"""
|
|
Defines a landing page for the application to guide new users on how it works
|
|
"""
|
|
|
|
def __init__(self, **kwargs):
|
|
super().__init__("Home")
|
|
|
|
@staticmethod
|
|
def get_page_name():
|
|
"""
|
|
Retrieves the human-readable name of the admin panel for UI navigation.
|
|
|
|
:return: The static display name "Admin Panel".
|
|
:rtype: str
|
|
"""
|
|
return "Home"
|
|
|
|
def render_controls(self, container: DeltaGenerator) -> Dict[str, Any]:
|
|
return {}
|
|
|
|
def generate_figures(self, parameters: Dict[str, Any]):
|
|
return {}
|
|
|
|
def render_figures(self, container: DeltaGenerator, output_data: Dict[str, Any]):
|
|
container.write("This dashboard aggregates data from Neoserra into an easy to understand, and customizable interface."
|
|
"The available reports are listed on the sidebar on the left-hand side of the screen. If the list is missing, click the arrow icon on the top left of the screen to show the sidebar again.")
|
|
|
|
container.write("Each report has a set of options at the top that determine how the data is processed before being turned into visualizations.\n"
|
|
"Data is pulled directly from the Neoserra Export Module, each report displays its own source data, after user selected filters, at the bottom of the report page.")
|
|
|
|
container.write("Client data is protected by using client IDs instead of client names. Simply plug this ID into Neoserra's search bar to determine which client is referenced in the data.")
|
|
container.write("If you have any questions or suggestions for additional data to add to the dashboard, please submit to support@pasbdc.org")
|
|
|
|
def get_syncable_figure_keys(self) -> List[str]:
|
|
return [] |