Web client for TypeType https://typetype.video
  • TypeScript 97.2%
  • CSS 2%
  • JavaScript 0.6%
  • HTML 0.1%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-09-22 13:58:26 +00:00
.github ci: route workflows to CI stack 2026-09-19 10:18:49 +02:00
apps/web fix: handle native SABR pause before autoplay races 2026-09-22 13:58:26 +00:00
scripts chore: replace Reddit community link with Lemmy 2026-09-08 14:39:39 +02:00
.dockerignore chore: add .dockerignore for monorepo Docker build 2026-03-12 08:31:05 +01:00
.gitignore feat: add community-ready interface localization 2026-08-24 15:52:42 +02:00
biome.json fix: exclude immutable brand SVGs from lint 2026-09-10 20:23:03 +02:00
bun.lock fix: consume MSE duration fix 2026-09-21 15:50:17 +00:00
bunfig.toml chore: run Vite tools under Bun 2026-06-04 16:32:58 +02:00
CONTRIBUTING.md docs: document project programming preferences 2026-07-15 19:22:46 +02:00
Dockerfile chore: align frontend builds and CI on Bun 1.4.2 2026-09-09 09:32:02 +02:00
knip.jsonc chore: fix knip failures in CI 2026-04-09 19:27:13 +02:00
LICENSE fix: fill in MIT license year and author 2026-03-13 06:08:58 +01:00
LOCALIZATION.md docs: add localization workflow and progress report 2026-08-28 00:02:26 +02:00
nginx.conf fix: make nginx service targets configurable 2026-09-08 08:33:54 +02:00
package.json chore: bump frontend to 1.8.2 2026-09-20 20:51:25 +00:00
README.md docs: move AI transparency notice 2026-09-18 10:57:05 +02:00
THIRD_PARTY_ASSETS.md feat: add portability project icons 2026-08-22 18:41:40 +02:00

TypeType

TypeType Frontend

The React web client for TypeType.

You want to know the current position of TypeType about AI ? Go check this.

Translation status

This repository contains the browser application and its nginx container. It owns the user interface, routing, settings, account flows, library views, and integration with the TypeType API and playback package.

If you want to install or update a complete TypeType instance, use the central TypeType repository and the self-hosting documentation.

Responsibilities

  • Responsive desktop and mobile interface
  • Search, channels, watch pages, playlists, subscriptions, and history
  • Account, administration, import, and instance settings flows
  • HTTP integration with TypeType-Server
  • Playback UI around @typetype/mse, Vidstack, DASH, and HLS providers
  • Theme, accessibility, and browser behavior

Playback engine internals belong in TypeType-Player. Extraction and user data belong in TypeType-Server.

Stack

Area Technology
UI React 19 and TypeScript
Build Vite 8
Routing and server state TanStack Router and TanStack Query
Local state Zustand
Styling Tailwind CSS 4
Playback shell Vidstack, @typetype/mse, dash.js, and hls.js
Tooling Bun, Biome, Knip, and Sherif

Development

Requirements:

bun install --frozen-lockfile
cp apps/web/.env.example apps/web/.env
bun run dev

The development server starts at http://localhost:5173 by default.

Variable Purpose
VITE_API_URL API URL embedded in the frontend
VITE_DEV_PROXY_TARGET API target used by the Vite development proxy

Project structure

Path Contents
apps/web/src/routes Application routes
apps/web/src/components Shared interface and player components
apps/web/src/hooks Query and behavior hooks
apps/web/src/lib API clients, helpers, and integration code
apps/web/src/settings Settings definitions and controls
apps/web/src/stores Client-side state stores
apps/web/tests Frontend tests

Checks

bun run check
bun run test
bun run knip
bun run sherif
bun run build

Translation contributors can use Weblate without editing code. The current catalog status can also be inspected locally with bun run localization:report -- --markdown. See LOCALIZATION.md for the source catalog, Weblate sync rules, and the contributor workflow.

Read CONTRIBUTING.md before opening a pull request. Bug reports and feature requests belong in the central issue tracker.

License

TypeType Frontend is licensed under the MIT License. TypeType is not affiliated with, authorized by, or endorsed by YouTube, Google, NicoNico, BiliBili, or their affiliates.