from dataclasses import dataclass
from typing import List

from src.internals.internal_types import PageProps
from src.types.account import Account, Notification, ServiceKey


@dataclass
class AccountPageProps(PageProps):
    account: Account
    notifications_count: int
    currentPage: str = "account"
    title: str = "Your account page"


@dataclass
class NotificationsProps(PageProps):
    notifications: List[Notification]
    currentPage: str = "account"


@dataclass
class ServiceKeysProps(PageProps):
    service_keys: List[ServiceKey]
    currentPage: str = "account"
    title: str = "Your service keys"
