1. 03.07.2025 9 коммитов
    • Radch-enko's avatar
      Refactor: modularize fast booking feature and relocate DeleteBookingUseCase
      · 29c75771
      Radch-enko создал
      - Moved `DeleteBookingUseCase` to `core/domain` module for better reuse across features.
      - Extracted `FastEvent` logic into a new `fastBooking` module with dedicated DI setup and updated dependencies.
      - Renamed `FastEventComponent` to `FastBookingComponent` for improved clarity and consistency.
      - Updated references and file paths for `FastEvent` to align with the new `fastBooking` module.
      - Adjusted Gradle and DI configurations to support the modularized `fastBooking` feature.
      29c75771
    • Radch-enko's avatar
      Refactor: modularize booking editor and domain logic
      · 4f99cc15
      Radch-enko создал
      - Moved `CreateBookingUseCase` and `UpdateBookingUseCase` to the `core/domain` module for better cross-module reusability.
      - Extracted `BookingEditor` logic into a new `bookingEditor` module with di setup and updated dependencies.
      - Replaced `UpdateEventComponent` with `BookingEditorComponent` across the main module to streamline event management.
      - Consolidated shared UI components into the `core/ui` module to avoid duplication.
      - Updated Gradle files and DI modules for consistent dependency management.
      - Improved naming and organization of string resources for booking-related views.
      4f99cc15
    • Radch-enko's avatar
      Enhance slot rendering and update event logic
      · 040a3209
      Radch-enko создал
      - Added key-based item rendering in `RoomInfoLeftPanel` for efficient slot updates.
      - Introduced `animateItem` modifier for smoother slot animations.
      - Refactored `updateEvent` logic to utilize a dedicated `IO` coroutine scope for better thread handling.
      040a3209
    • Radch-enko's avatar
      Refactor: replace `Instant` with `LocalDateTime` for improved date management...
      · afbce0a0
      Radch-enko создал
      Refactor: replace `Instant` with `LocalDateTime` for improved date management and interface consistency
      
      - Updated all references of `Instant` to `LocalDateTime` in the `Main` module and associated components.
      - Removed unused intents (`OnUpdate`, `OnResetSelectDate`) in `MainComponent`.
      - Enhanced date handling logic with new `currentDate` state and validation to prevent past date selections.
      - Refactored `DateTimeView` structure with reusable composable functions for better readability.
      - Improved date transition animations and formatting in `DateTimeView`.
      afbce0a0
    • Radch-enko's avatar
      Fix: enable button state check on organizer selection in `UpdateEventComponent`
      · b6f63f82
      Radch-enko создал
      - Added `checkEnableButton` call to ensure button state updates dynamically after organizer selection.
      b6f63f82
    • Radch-enko's avatar
      Refactor: improve null safety, optimize dropdown handling, and enhance UI alignment
      · c297b7ba
      Radch-enko создал
      - Added null safety checks in `MainComponent` to prevent potential crashes during room selection.
      - Replaced `ExposedDropdownMenuBox` with a custom `DropdownMenu` implementation for streamlined organizer selection.
      - Adjusted dropdown menu width dynamically based on `TextField` size.
      - Fixed UI inconsistencies in `EventDurationView` by using `stringResource` for all string references.
      - Updated `UpdateEventComponent` to expand dropdown automatically when filtering organizers.
      c297b7ba
    • Radch-enko's avatar
      Refactor: improve null safety, optimize dropdown handling, and enhance UI alignment
      · c05e62ed
      Radch-enko создал
      - Added null safety checks in `MainComponent` to prevent potential crashes during room selection.
      - Replaced `ExposedDropdownMenuBox` with a custom `DropdownMenu` implementation for streamlined organizer selection.
      - Adjusted dropdown menu width dynamically based on `TextField` size.
      - Fixed UI inconsistencies in `EventDurationView` by using `stringResource` for all string references.
      - Updated `UpdateEventComponent` to expand dropdown automatically when filtering organizers.
      c05e62ed
    • Radch-enko's avatar
      Refactor: enhance HTTP request handling, update slot management logic, and improve DI consistency
      · fe570ceb
      Radch-enko создал
      - Updated `HttpRequestUtil`: Added fallback for empty response bodies and support for `SuccessResponse` in HTTP status codes `201` and `204`.
      - Improved `SlotComponent`: Refactored slot update logic into a reusable `updateSlots` function.
      - Modified DI setup: Changed `Collector` to `single` scope and passed it to API implementations (`BookingApiImpl`, `UserApiImpl`, `WorkspaceApiImpl`).
      - Cleaned up redundant initialization in `MainComponent` and `UpdateEventComponent` with improved coroutine scope usage and updated state handling.
      fe570ceb
    • Radch-enko's avatar
      Feature: add update event functionality and refactor event management in Main module
      · cfa103e8
      Radch-enko создал
      - Implemented `UpdateEventComponent` with structured state and intent handling for updating events.
      - Added `UpdateBookingUseCase` and `DeleteBookingUseCase` for managing booking changes.
      - Introduced mapper utilities (`EventInfoMapper`, `UpdateEventComponentStateToEventInfoMapper`) for transforming state and domain models.
      - Enhanced `MainComponent` with `onDeleteEvent`, `onBooking`, and `onUpdateEvent` logic.
      - Integrated `Calf-UI` library for improved date picker functionality.
      - Replaced `EpicDatePicker` with `AdaptiveDatePicker` for streamlined UI.
      - Refactored Gradle dependencies and removed unused `epic-calendar-compose` library.
      - Updated `BusyRoomInfoComponent` to use `toFormattedString` for better time display.
      - Added reusable `FailureSelectRoomView` for handling room selection errors.
      cfa103e8
  2. 01.07.2025 4 коммита
    • Radch-enko's avatar
      Feature: add fast booking functionality and improve modal navigation
      · 837136b0
      Radch-enko создал
      - Introduced `FastEventComponent` with state management, modal navigation, and room selection logic.
      - Added `CreateFastBookingUseCase` and `RemoveFastBookingUseCase` for handling fast bookings.
      - Implemented reusable UI components: `SuccessFastSelectRoomView`, `FailureFastSelectRoomView`, and `FreeBookingButtonView`.
      - Enhanced string resources and vector drawables to support booking confirmation and failure states.
      - Updated Gradle build scripts with required dependencies and ensured compatibility with the main module.
      - Refined domain utilities (`cropSeconds`) for improved timestamp precision.
      837136b0
    • Radch-enko's avatar
      Remove `RoomInfo` and `SelectRoom` modules and integrate functionality into `Main` module
      · 09696242
      Radch-enko создал
      - Deleted `RoomInfo` and `SelectRoom` feature modules along with associated `build.gradle.kts` files.
      - Merged reusable logic and resources from `RoomInfo` and `SelectRoom` into `Main` feature.
      - Introduced `FreeUpRoomUseCase` and modularized modal navigation support in `MainComponent`.
      - Moved and refactored string resources from deleted modules to `Main`.
      - Enhanced `Main` module with new modal components (`FreeSelectRoomComponent`, `FastEventComponent`, `UpdateEventComponent`).
      - Updated DI setup with additional use cases and dependencies for `MainScreenModule`.
      - Adjusted Gradle build files and removed entries for deleted modules in `settings.gradle.kts` and `composeApp`.
      09696242
    • Radch-enko's avatar
      Refactor: update slot management integration and enhance UI consistency
      · 7b387e87
      Radch-enko создал
      - Replaced `slotState` with `SlotComponent` for more structured state handling.
      - Integrated `collectAsState` for slot state observation in `RoomInfoLeftPanel`.
      - Improved `SlotView` with clickable slot and delete slot intents.
      - Adjusted padding and background modifiers for better UI alignment.
      - Fixed `updateSelectDate` logic to handle both increment and decrement date changes.
      7b387e87
    • Radch-enko's avatar
      Refactor: restructure Main feature and enhance slot management
      · d7906007
      Radch-enko создал
      - Removed old `MainComponent` and `MainScreenView` implementations.
      - Added modular `presentation`, `domain`, and `uiComponent` packages to `Main` feature for better separation of concerns.
      - Introduced reusable slot-related components: `CommonSlotView`, `DeletedSlotView`, `LoadingSlotView`.
      - Created `SlotUiMapper` and domain use cases: `GetSlotsByRoomUseCase`, `GetRoomIndexUseCase`.
      - Simplified `OfficeTime` utility functions and enhanced slot calculation logic.
      - Updated DI with `mainScreenModule` for better dependency management.
      d7906007
  3. 30.06.2025 2 коммита
    • Radch-enko's avatar
      Refactor: remove unused theme files and add new settings management
      · 46dd101d
      Radch-enko создал
      - Deleted redundant theme files (`Color.kt`, `Theme.kt`, `Theme.android.kt`).
      - Introduced `SettingsComponent` and related UI elements (`GridRooms`, `CardRoom`) for room management.
      - Added vector drawable resources for icons: `arrow_to_right`, `tv`, `allert`, and `power_socket`.
      - Enhanced Gradle build scripts with new dependencies (`settings`, `slf4j-android`) and packaging configurations.
      - Integrated new API key management via `BuildKonfig`.
      - Updated `MainComponent` to handle empty settings gracefully and improved modal window navigation.
      46dd101d
    • Radch-enko's avatar
      Feature: implement MainScreenView and enhance core UI functionality
      · 80853b0a
      Radch-enko создал
      - Added `MainScreenView` with support for room selection, fast booking, and event cancellation.
      - Introduced `Intent`, `State`, and `Label` sealed interfaces for structured state management.
      - Implemented `MainComponent` to handle intents, manage state, and fetch room data.
      - Integrated `epic-calendar-compose` library for date and time selection.
      - Added vector drawable resources for UI elements (e.g., arrow, calendar, loader).
      - Updated Gradle build script to include compose resource generation and necessary dependencies.
      - Enhanced multilanguage support with Russian string resources for booking and room UI elements.
      80853b0a
  4. 26.06.2025 2 коммита
    • Radch-enko's avatar
      Feature: add Settings module and integrate basic navigation for tablet clients
      · 21094dd6
      Radch-enko создал
      - Introduced `Settings` feature module with corresponding components and screens.
      - Implemented navigation between `Main` and `Settings` screens using `RootComponent`.
      - Updated dependencies to include `Decompose` and `Essenty` libraries for state management.
      - Enhanced `App` setup to accept root navigation for streamlined screen handling.
      - Improved Gradle build scripts to include the new module and required dependencies.
      21094dd6
    • Radch-enko's avatar
      Feature: add SelectRoom and RoomInfo modules with improved dependency management
      · 75c9469b
      Radch-enko создал
      - Introduced `RoomInfo` and `SelectRoom` feature modules for tablet clients.
      - Updated `libs.versions.toml` with `kotlinx-datetime` and `decompose` dependencies.
      - Configured reusable dependency management for `datetime` and `decompose` in feature modules.
      - Improved iOS project setup with updated Xcode scheme and corrected `BookingApp` configurations.
      - Enhanced Gradle build scripts for modularization and consistency across tablet features.
      75c9469b
  5. 25.06.2025 1 коммит
    • Radch-enko's avatar
      Refactor: modularize build logic and streamline dependency management
      · e5573217
      Radch-enko создал
      - Moved Gradle build scripts into `build-logic` for better organization.
      - Introduced reusable Kotlin Multiplatform plugin configurations for `library`, `ui`, and `data` modules.
      - Updated dependency management by integrating a centralized version catalog (`libs.versions.toml`).
      - Added and configured tablet clients: `core:ui`, `core:domain`, `core:data`, and `feature:main`.
      - Improved Gradle setup for Android and iOS compatibility with shared resources and multiplatform dependencies.
      e5573217