mirror of
https://github.com/R0m1k3/xtremflow.git
synced 2026-10-24 07:28:05 +02:00
feat(design): Projector Noir theme - tungsten amber on film-black
Full visual refonte replacing the generic neon-blue glass look: - palette: warm film-black surface ladder, tungsten amber primary, warm taupe secondary, verdigris teal tertiary; semantic and category colors retuned to match (coral live, gold movies) - typography: Syne (display/headlines) + Instrument Sans (body/UI) replace Space Grotesk/Inter/Outfit across all screens - glassmorphism tokens warmed (amber inner glow, warm-white borders) - web player theme.css + index.html loader mirror the new tokens - hardcoded Colors.blue* in streaming settings and recordings tabs now use AppColors tokens - DESIGN_SYSTEM.md updated to v3.0 Projector Noir Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
1 parent
9595afcc99
commit
e332895d7d
33 files changed
+392
-397
No files matched your search
@@ -1,4 +1,4 @@
|
||||
import 'dart:async';
|
||||
import 'dart:async';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
||||
import 'package:google_fonts/google_fonts.dart';
|
||||
@@ -219,7 +219,7 @@ class _MoviesTabState extends ConsumerState<MoviesTab> {
|
||||
children: [
|
||||
Text(
|
||||
'Movies',
|
||||
style: GoogleFonts.spaceGrotesk(
|
||||
style: GoogleFonts.syne(
|
||||
fontSize: 24,
|
||||
fontWeight: FontWeight.w700,
|
||||
color: AppColors.onSurface,
|
||||
@@ -251,14 +251,14 @@ class _MoviesTabState extends ConsumerState<MoviesTab> {
|
||||
Expanded(
|
||||
child: TextField(
|
||||
controller: _searchController,
|
||||
style: GoogleFonts.inter(
|
||||
style: GoogleFonts.instrumentSans(
|
||||
fontSize: 14,
|
||||
color: AppColors.onSurface,
|
||||
),
|
||||
decoration: InputDecoration(
|
||||
hintText: 'Search movies...',
|
||||
hintStyle:
|
||||
GoogleFonts.inter(color: AppColors.outline),
|
||||
GoogleFonts.instrumentSans(color: AppColors.outline),
|
||||
border: InputBorder.none,
|
||||
isDense: true,
|
||||
contentPadding:
|
||||
@@ -311,7 +311,7 @@ class _MoviesTabState extends ConsumerState<MoviesTab> {
|
||||
title: m.name,
|
||||
imageUrl: _getProxiedImageUrl(m.streamIcon),
|
||||
subtitle: m.rating != null
|
||||
? '${_formatRating(m.rating)} ★'
|
||||
? '${_formatRating(m.rating)} ★'
|
||||
: null,
|
||||
onPlay: () => _playMovie(m),
|
||||
onTap: () => _playMovie(m),
|
||||
@@ -426,7 +426,7 @@ class _MoviesTabState extends ConsumerState<MoviesTab> {
|
||||
const SizedBox(width: 4),
|
||||
Text(
|
||||
_formatRating(movie.rating)!,
|
||||
style: GoogleFonts.inter(
|
||||
style: GoogleFonts.instrumentSans(
|
||||
fontSize: 10,
|
||||
fontWeight: FontWeight.bold,
|
||||
color: AppColors.onSurface,
|
||||
@@ -448,7 +448,7 @@ class _MoviesTabState extends ConsumerState<MoviesTab> {
|
||||
children: [
|
||||
Text(
|
||||
movie.name,
|
||||
style: GoogleFonts.inter(
|
||||
style: GoogleFonts.instrumentSans(
|
||||
color: AppColors.onSurface,
|
||||
fontSize: 13,
|
||||
fontWeight: FontWeight.w600,
|
||||
@@ -467,7 +467,7 @@ class _MoviesTabState extends ConsumerState<MoviesTab> {
|
||||
padding: const EdgeInsets.only(top: 4),
|
||||
child: Text(
|
||||
'WATCHED',
|
||||
style: GoogleFonts.inter(
|
||||
style: GoogleFonts.instrumentSans(
|
||||
color: AppColors.primary,
|
||||
fontSize: 10,
|
||||
fontWeight: FontWeight.bold,
|
||||
|
||||
Reference in new issue
Block a user