Files
tatlock-ui/lib/features/media_room/router.dart
T
Jeroen SchweitzerandClaude Opus 4.5 c3f6d27a52
Build and Push / release (push) Successful in 3s
Build and Push / build (push) Successful in 3m7s
chore: release v1.4.0
- Decentralized Room Registry pattern
- Each room registers itself with central registry
- Dynamic navigation tabs and settings dropdown
- New Media Room and Parlor feature folders
- Permission-based room filtering support

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-05 15:46:44 +01:00

39 lines
1.1 KiB
Dart

import 'package:flutter/material.dart';
import 'package:go_router/go_router.dart';
import 'package:tatlock_ui/features/media_room/presentation/pages/media_room_page.dart';
import 'package:tatlock_ui/routing/app_router.dart';
import 'package:tatlock_ui/routing/room_registry.dart';
/// Route paths for Media Room.
abstract class MediaRoomRoutes {
static const base = '/media-room';
}
/// Media Room room definition.
final mediaRoomRoom = RoomDefinition(
id: 'media-room',
label: 'Media Room',
icon: Icons.movie_outlined,
selectedIcon: Icons.movie,
defaultRoute: MediaRoomRoutes.base,
routes: mediaRoomRoutes,
// No permissions required - accessible to all authenticated users
);
/// Register Media Room with the room registry.
void registerMediaRoom() {
roomRegistry.register(mediaRoomRoom);
}
/// Media Room routes for go_router.
List<RouteBase> mediaRoomRoutes() {
return [
GoRoute(
path: MediaRoomRoutes.base,
name: 'mediaRoom',
pageBuilder: (context, state) =>
noTransitionPage(context, state, const MediaRoomPage()),
),
];
}