fix(android): resolve build errors in terminal scaffold
Some checks failed
CI / ruff (push) Successful in 20s
CI / validate (push) Has been cancelled
CI / dependency-scanning (push) Has been cancelled
CI / docs (push) Has been cancelled
CI / deploy (push) Has been cancelled
CI / pytest (push) Has been cancelled

- Fix settings.gradle.kts: dependencyResolution → dependencyResolutionManagement
- Fix Hilt version: 2.54.1 (non-existent) → 2.51.1
- Fix LoyaltyApi.kt: remove decorative unicode comments causing
  "unclosed comment" errors, fix /api/v1/store/loyalty/* pattern
  in KDoc that Kotlin parsed as block comment start
- Add placeholder launcher icons (purple square, all densities)

App now builds and runs on Pixel Tablet emulator: Setup → PIN → Terminal.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-04-19 00:11:30 +02:00
parent e759282116
commit 457350908a
8 changed files with 12 additions and 18 deletions

View File

@@ -6,52 +6,45 @@ import retrofit2.http.*
/**
* Retrofit interface for the Orion Loyalty Store API.
*
* Mirrors the endpoints at /api/v1/store/loyalty/*.
* Mirrors the endpoints at /api/v1/store/loyalty/
* Auth via Bearer token (obtained during device setup).
*/
interface LoyaltyApi {
// ── Program ─────────────────────────────────────────────────────────
// Program
@GET("api/v1/store/loyalty/program")
suspend fun getProgram(): ProgramResponse
// ── Card Lookup ─────────────────────────────────────────────────────
// Card Lookup
@GET("api/v1/store/loyalty/cards/lookup")
suspend fun lookupCard(@Query("q") query: String): CardLookupResponse
@GET("api/v1/store/loyalty/cards/{cardId}")
suspend fun getCardDetail(@Path("cardId") cardId: Int): CardDetailResponse
// ── Enrollment ──────────────────────────────────────────────────────
// Enrollment
@POST("api/v1/store/loyalty/cards/enroll")
suspend fun enrollCustomer(@Body request: EnrollRequest): CardResponse
// ── Stamps ──────────────────────────────────────────────────────────
// Stamps
@POST("api/v1/store/loyalty/stamp")
suspend fun addStamp(@Body request: StampRequest): StampResponse
@POST("api/v1/store/loyalty/stamp/redeem")
suspend fun redeemStamps(@Body request: StampRedeemRequest): StampRedeemResponse
// ── Points ──────────────────────────────────────────────────────────
// Points
@POST("api/v1/store/loyalty/points/earn")
suspend fun earnPoints(@Body request: PointsEarnRequest): PointsEarnResponse
@POST("api/v1/store/loyalty/points/redeem")
suspend fun redeemPoints(@Body request: PointsRedeemRequest): PointsRedeemResponse
// ── PINs (for caching staff PINs locally) ───────────────────────────
// PINs (for caching staff PINs locally)
@GET("api/v1/store/loyalty/pins")
suspend fun listPins(): PinListResponse
// ── Auth ────────────────────────────────────────────────────────────
// Auth
@POST("api/v1/store/auth/login")
suspend fun login(@Body request: LoginRequest): LoginResponse
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 166 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 123 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 221 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 414 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 547 B

View File

@@ -34,7 +34,7 @@ room = "2.6.1"
workManager = "2.10.0"
# Dependency Injection
hilt = "2.54.1"
hilt = "2.51.1"
hiltNavigationCompose = "1.2.0"
# Camera & QR scanning

View File

@@ -6,8 +6,9 @@ pluginManagement {
}
}
dependencyResolution {
@Suppress("UnstableApiUsage")
@Suppress("UnstableApiUsage")
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
google()
mavenCentral()