Introduce LeaderboardSubmissionButton widget

Added a new LeaderboardSubmissionButton widget to facilitate user submissions to the leaderboard. The button is styled consistently with other application buttons and features an emoji trophy icon to indicate leaderboard submissions. It provides a mechanism for disabling submissions based on certain conditions.
pull/5352/head
hunteraraujo 2023-09-26 16:03:27 -07:00
parent 2605cd04d4
commit 79f96c8f91
1 changed files with 48 additions and 0 deletions
frontend/lib/views/task_queue

View File

@ -0,0 +1,48 @@
import 'package:auto_gpt_flutter_client/constants/app_colors.dart';
import 'package:flutter/material.dart';
class LeaderboardSubmissionButton extends StatelessWidget {
final VoidCallback? onPressed;
final bool isDisabled;
LeaderboardSubmissionButton(
{required this.onPressed, this.isDisabled = false});
@override
Widget build(BuildContext context) {
return SizedBox(
height: 50,
child: ElevatedButton(
style: ElevatedButton.styleFrom(
backgroundColor: isDisabled ? Colors.grey : AppColors.primaryLight,
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(8.0),
),
padding: const EdgeInsets.symmetric(horizontal: 16, vertical: 8),
elevation: 5.0,
),
onPressed: isDisabled ? null : onPressed,
child: const Row(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Text(
'Submit to leaderboard',
style: TextStyle(
color: Colors.white,
fontSize: 12.50,
fontFamily: 'Archivo',
fontWeight: FontWeight.w400,
),
),
SizedBox(width: 10),
Icon(
Icons.emoji_events,
color: Colors.white,
size: 24,
),
],
),
),
);
}
}