albertonline.org docs
Apps

tv-account

Telia Play account management — VAS activation, device management, help/support portal.

Overview

tv-account is the Telia Play account management app. It provides Value-Added Service (VAS) activation flows, device management (view logged-in devices, sign out remote devices), and a help/support portal.

Built on Next.js 16 (App Router, Turbopack) and deployed via Openship at https://tv-account.albertonline.org.

Stack

  • Next.js 16 (App Router, Turbopack) + React 19
  • Effect v4 services from @repo/telia-core (auth, log, statistics, BOM)
  • @repo/telia-graphql client for account data
  • Tailwind CSS + @repo/design-system components
  • Vitest (unit tests)

Develop

pnpm -F tv-account dev      # http://localhost:3008 (Turbopack)
pnpm -F tv-account build
pnpm -F tv-account test
pnpm -F tv-account check-types

Features

VAS Activation

The /activate/[serviceName] route implements a polling state machine:

  1. Fetch VAS info from the engagement gateway
  2. If PREPARED with an activation URL → redirect to it
  3. If ACTIVE/SUSPENDED/TERMINATED → show the matching state view
  4. Otherwise keep polling until timeout (10s)

Pure logic is extracted into src/lib/activate-logic.ts (unit-tested) and the UI component is src/components/activate-view.tsx.

Device Management

The /devices page shows all logged-in devices for the account, distinguishing the current device from others. Device data is fetched via DevicesDataService (Effect v4 service wrapping the login-gateway REST API).

Help

The /help page provides support articles and contact links.

Deploy

Deployed via Openship (Docker container behind Caddy). Project ID: proj_8jhn6Gpvti5J4upL. The Dockerfile builds a Next.js standalone image with @repo/telia-core Effect v4 services wired into the runtime.

See the root README for monorepo-wide commands.

On this page