This commit is contained in:
edde746
2025-12-19 13:33:22 +01:00
parent e11ebca370
commit 2f3774db3d
3 changed files with 22 additions and 96 deletions
+6
View File
@@ -11,6 +11,8 @@ PODS:
- WebRTC-SDK (= 137.7151.04)
- gamepads_ios (0.1.1):
- Flutter
- in_app_review (2.0.0):
- Flutter
- os_media_controls (0.0.1):
- Flutter
- package_info_plus (0.4.5):
@@ -66,6 +68,7 @@ DEPENDENCIES:
- Flutter (from `Flutter`)
- flutter_webrtc (from `.symlinks/plugins/flutter_webrtc/ios`)
- gamepads_ios (from `.symlinks/plugins/gamepads_ios/ios`)
- in_app_review (from `.symlinks/plugins/in_app_review/ios`)
- os_media_controls (from `.symlinks/plugins/os_media_controls/ios`)
- package_info_plus (from `.symlinks/plugins/package_info_plus/ios`)
- path_provider_foundation (from `.symlinks/plugins/path_provider_foundation/darwin`)
@@ -95,6 +98,8 @@ EXTERNAL SOURCES:
:path: ".symlinks/plugins/flutter_webrtc/ios"
gamepads_ios:
:path: ".symlinks/plugins/gamepads_ios/ios"
in_app_review:
:path: ".symlinks/plugins/in_app_review/ios"
os_media_controls:
:path: ".symlinks/plugins/os_media_controls/ios"
package_info_plus:
@@ -123,6 +128,7 @@ SPEC CHECKSUMS:
Flutter: cabc95a1d2626b1b06e7179b784ebcf0c0cde467
flutter_webrtc: c3e21fc0dcd9d8eb246ae4d5256fcbeb2f5ecd22
gamepads_ios: c75c6d31377d275b0effb9174c619e2705678c09
in_app_review: 7dd1ea365263f834b8464673f9df72c80c17c937
os_media_controls: 86dceab6245a5325af90fc0fdebe243c42d789b4
package_info_plus: af8e2ca6888548050f16fa2f1938db7b5a5df499
path_provider_foundation: bb55f6dbba17d0dccd6737fe6f7f34fbd0376880
@@ -1,96 +0,0 @@
import 'package:flutter/material.dart';
import 'package:plezy/widgets/app_icon.dart';
/// A single metric row for display in the performance card.
class PerformanceMetric {
final String label;
final String value;
const PerformanceMetric({required this.label, required this.value});
}
/// A card widget displaying a group of performance metrics.
///
/// Used in the performance overlay to show video, audio, performance,
/// and buffer statistics.
class PerformanceCard extends StatelessWidget {
final IconData icon;
final String title;
final List<PerformanceMetric> metrics;
const PerformanceCard({
super.key,
required this.icon,
required this.title,
required this.metrics,
});
@override
Widget build(BuildContext context) {
return Container(
padding: const EdgeInsets.all(12),
decoration: BoxDecoration(
color: Colors.black.withValues(alpha: 0.7),
borderRadius: BorderRadius.circular(8),
boxShadow: [
BoxShadow(
color: Colors.black.withValues(alpha: 0.3),
blurRadius: 4,
),
],
),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
mainAxisSize: MainAxisSize.min,
children: [
// Header row with icon and title
Row(
mainAxisSize: MainAxisSize.min,
children: [
AppIcon(icon, fill: 1, color: Colors.white70, size: 16),
const SizedBox(width: 8),
Text(
title,
style: const TextStyle(
color: Colors.white,
fontSize: 12,
fontWeight: FontWeight.w600,
),
),
],
),
const SizedBox(height: 8),
// Metrics
...metrics.map(_buildMetricRow),
],
),
);
}
Widget _buildMetricRow(PerformanceMetric metric) {
return Padding(
padding: const EdgeInsets.only(bottom: 4),
child: Row(
mainAxisSize: MainAxisSize.min,
children: [
Text(
'${metric.label}: ',
style: const TextStyle(
color: Colors.white60,
fontSize: 11,
),
),
Text(
metric.value,
style: const TextStyle(
color: Colors.white,
fontSize: 11,
fontWeight: FontWeight.w500,
fontFamily: 'monospace',
),
),
],
),
);
}
}
+16
View File
@@ -648,6 +648,22 @@ packages:
url: "https://pub.dev"
source: hosted
version: "4.5.4"
in_app_review:
dependency: "direct main"
description:
name: in_app_review
sha256: ab26ac54dbd802896af78c670b265eaeab7ecddd6af4d0751e9604b60574817f
url: "https://pub.dev"
source: hosted
version: "2.0.11"
in_app_review_platform_interface:
dependency: transitive
description:
name: in_app_review_platform_interface
sha256: fed2c755f2125caa9ae10495a3c163aa7fab5af3585a9c62ef4a6920c5b45f10
url: "https://pub.dev"
source: hosted
version: "2.0.5"
io:
dependency: transitive
description: