feat: redesign UI with gamepad-style input monitor

Split the single-file Swift app into model, store, and view files
and rework the layout. The dongle card shows a status pill with an
adaptive info grid; controllers render as cards in an adaptive grid
that fills wider windows; each card uses a gamepad-style
visualization (D-pad, face buttons, stick pads, triggers) instead of
flat indicator rows. The window is now resizable and content reflows
instead of staying a fixed 420pt column.

Co-Authored-By: qwen3.8-27b@q3_k_xl: redesigned app UI and structure
This commit is contained in:
portersky
2026-08-29 14:47:41 +02:00
parent dfe7e8b87d
commit 4931bf5c18
8 changed files with 579 additions and 305 deletions
+7 -1
View File
@@ -6,7 +6,7 @@ if(NOT CMAKE_GENERATOR MATCHES "^(Ninja|Xcode)$")
endif()
cmake_minimum_required(VERSION 3.21)
project(xone_macos VERSION 0.1.20 LANGUAGES CXX Swift)
project(xone_macos VERSION 0.1.21 LANGUAGES CXX Swift)
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
@@ -93,6 +93,12 @@ target_link_libraries(xone_api PUBLIC xone_hid)
# ==============================================================================
add_executable(xone_app
"src/app/main.swift"
"src/app/XoneModels.swift"
"src/app/XoneStore.swift"
"src/app/ContentView.swift"
"src/app/DongleCardView.swift"
"src/app/ControllerCardView.swift"
"src/app/GamepadViews.swift"
)
target_include_directories(xone_app PRIVATE "${CMAKE_SOURCE_DIR}/include")
target_compile_definitions(xone_app PRIVATE ${BASE_DEFINITIONS})