This commit refactors the main application window into a `MainWindow`
class. This improves code organization and facilitates unit testing
of the UI.
- Created `MainWindow` class inheriting from `ctk.CTk`.
- Moved UI elements and logic into the `MainWindow` class.
- Modified methods to use the Database and PDFExporter classes.
- Implemented load_log_entries to refresh log entries
This commit centralizes the creation of common UI components into
`ui/components.py`, promoting code reuse and consistency.
- Created functions for creating labels, entries, buttons, combos,
and text boxes.
- Replaced direct widget creation in MainWindow with calls to
these functions.