[
  {
    "id": "class:fhmi44:webplatformservice",
    "kind": "class",
    "fileId": "file:qt46oq:webplatformservice-cs",
    "path": "NexusReader.Web.Client/Services/WebPlatformService.cs",
    "canonicalName": "WebPlatformService",
    "shortLabel": "WebPlatformService",
    "longLabel": "WebPlatformService",
    "purpose": "Concrete Web platform implementation of IPlatformService for the Blazor Web client: exposes device context and a vibration API via JS interop, returning FluentResults for error propagation."
  },
  {
    "id": "method:ev8hjj:vibratesuccessasync",
    "kind": "method",
    "fileId": "file:qt46oq:webplatformservice-cs",
    "path": "NexusReader.Web.Client/Services/WebPlatformService.cs",
    "line": 16,
    "canonicalName": "VibrateSuccessAsync",
    "shortLabel": "VibrateSuccessAsync()",
    "longLabel": "VibrateSuccessAsync() -> Task<Result>",
    "signature": "() -> Task<Result>",
    "purpose": "Convenience method to trigger a short success vibration (100ms) by delegating to VibrateAsync."
  },
  {
    "id": "method:eown21:vibrateerrorasync",
    "kind": "method",
    "fileId": "file:qt46oq:webplatformservice-cs",
    "path": "NexusReader.Web.Client/Services/WebPlatformService.cs",
    "line": 17,
    "canonicalName": "VibrateErrorAsync",
    "shortLabel": "VibrateErrorAsync()",
    "longLabel": "VibrateErrorAsync() -> Task<Result>",
    "signature": "() -> Task<Result>",
    "purpose": "Convenience method to trigger a longer error vibration (300ms) by delegating to VibrateAsync."
  },
  {
    "id": "method:1lfokb3:vibrateasync",
    "kind": "method",
    "fileId": "file:qt46oq:webplatformservice-cs",
    "path": "NexusReader.Web.Client/Services/WebPlatformService.cs",
    "line": 19,
    "canonicalName": "VibrateAsync",
    "shortLabel": "VibrateAsync()",
    "longLabel": "VibrateAsync(milliseconds: int) -> Task<Result>",
    "signature": "(milliseconds: int) -> Task<Result>",
    "purpose": "Attempts to vibrate the user's device for the specified duration via JS interop, returning Ok on success or Fail with the exception message on error."
  },
  {
    "id": "method:fmgrt8:getdevicecontext",
    "kind": "method",
    "fileId": "file:qt46oq:webplatformservice-cs",
    "path": "NexusReader.Web.Client/Services/WebPlatformService.cs",
    "line": 32,
    "canonicalName": "GetDeviceContext",
    "shortLabel": "GetDeviceContext()",
    "longLabel": "GetDeviceContext() -> Result<DeviceContext>",
    "signature": "() -> Result<DeviceContext>",
    "purpose": "Provides a DeviceContext describing the running platform (hardcoded for browser/web) wrapped in a FluentResults Result."
  }
]