mirror of
https://github.com/R0m1k3/xtremobile.git
synced 2026-10-15 19:27:41 +02:00
feat: Implement a web-based IPTV player with HLS/MPEG-TS support and Flutter communication.
This commit is contained in:
1 parent
2ca92d8425
commit
55acbbc135
28 files changed
+2075
-1448
No files matched your search
@@ -67,7 +67,7 @@ class _LoginScreenState extends ConsumerState<LoginScreen> {
|
||||
),
|
||||
),
|
||||
),
|
||||
|
||||
|
||||
// Main content
|
||||
Center(
|
||||
child: SingleChildScrollView(
|
||||
@@ -132,9 +132,12 @@ class _LoginScreenState extends ConsumerState<LoginScreen> {
|
||||
children: [
|
||||
Text(
|
||||
'Welcome Back',
|
||||
style: Theme.of(context).textTheme.headlineSmall?.copyWith(
|
||||
fontWeight: FontWeight.bold,
|
||||
),
|
||||
style: Theme.of(context)
|
||||
.textTheme
|
||||
.headlineSmall
|
||||
?.copyWith(
|
||||
fontWeight: FontWeight.bold,
|
||||
),
|
||||
textAlign: TextAlign.center,
|
||||
),
|
||||
const SizedBox(height: 32),
|
||||
@@ -143,21 +146,26 @@ class _LoginScreenState extends ConsumerState<LoginScreen> {
|
||||
style: const TextStyle(color: Colors.white),
|
||||
decoration: InputDecoration(
|
||||
labelText: 'Username',
|
||||
labelStyle: const TextStyle(color: Colors.white70),
|
||||
prefixIcon: const Icon(Icons.person_outline, color: Colors.white70),
|
||||
labelStyle:
|
||||
const TextStyle(color: Colors.white70),
|
||||
prefixIcon: const Icon(Icons.person_outline,
|
||||
color: Colors.white70),
|
||||
filled: true,
|
||||
fillColor: Colors.white.withOpacity(0.05),
|
||||
border: OutlineInputBorder(
|
||||
borderRadius: BorderRadius.circular(12),
|
||||
borderSide: BorderSide(color: Colors.white.withOpacity(0.1)),
|
||||
borderSide: BorderSide(
|
||||
color: Colors.white.withOpacity(0.1)),
|
||||
),
|
||||
enabledBorder: OutlineInputBorder(
|
||||
borderRadius: BorderRadius.circular(12),
|
||||
borderSide: BorderSide(color: Colors.white.withOpacity(0.1)),
|
||||
borderSide: BorderSide(
|
||||
color: Colors.white.withOpacity(0.1)),
|
||||
),
|
||||
focusedBorder: OutlineInputBorder(
|
||||
borderRadius: BorderRadius.circular(12),
|
||||
borderSide: const BorderSide(color: AppColors.primary),
|
||||
borderSide: const BorderSide(
|
||||
color: AppColors.primary),
|
||||
),
|
||||
),
|
||||
validator: (value) {
|
||||
@@ -176,21 +184,26 @@ class _LoginScreenState extends ConsumerState<LoginScreen> {
|
||||
style: const TextStyle(color: Colors.white),
|
||||
decoration: InputDecoration(
|
||||
labelText: 'Password',
|
||||
labelStyle: const TextStyle(color: Colors.white70),
|
||||
prefixIcon: const Icon(Icons.lock_outline, color: Colors.white70),
|
||||
labelStyle:
|
||||
const TextStyle(color: Colors.white70),
|
||||
prefixIcon: const Icon(Icons.lock_outline,
|
||||
color: Colors.white70),
|
||||
filled: true,
|
||||
fillColor: Colors.white.withOpacity(0.05),
|
||||
border: OutlineInputBorder(
|
||||
borderRadius: BorderRadius.circular(12),
|
||||
borderSide: BorderSide(color: Colors.white.withOpacity(0.1)),
|
||||
borderSide: BorderSide(
|
||||
color: Colors.white.withOpacity(0.1)),
|
||||
),
|
||||
enabledBorder: OutlineInputBorder(
|
||||
borderRadius: BorderRadius.circular(12),
|
||||
borderSide: BorderSide(color: Colors.white.withOpacity(0.1)),
|
||||
borderSide: BorderSide(
|
||||
color: Colors.white.withOpacity(0.1)),
|
||||
),
|
||||
focusedBorder: OutlineInputBorder(
|
||||
borderRadius: BorderRadius.circular(12),
|
||||
borderSide: const BorderSide(color: AppColors.primary),
|
||||
borderSide: const BorderSide(
|
||||
color: AppColors.primary),
|
||||
),
|
||||
suffixIcon: IconButton(
|
||||
icon: Icon(
|
||||
@@ -228,7 +241,7 @@ class _LoginScreenState extends ConsumerState<LoginScreen> {
|
||||
),
|
||||
child: Row(
|
||||
children: [
|
||||
Icon(
|
||||
const Icon(
|
||||
Icons.error_outline,
|
||||
color: AppColors.error,
|
||||
size: 20,
|
||||
@@ -277,6 +290,5 @@ class _LoginScreenState extends ConsumerState<LoginScreen> {
|
||||
],
|
||||
),
|
||||
);
|
||||
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user