76 lines
1.6 KiB
Dart
76 lines
1.6 KiB
Dart
|
|
import 'package:flutter/material.dart';
|
||
|
|
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
||
|
|
|
||
|
|
class VideoBatchUploadBackButton extends StatelessWidget {
|
||
|
|
const VideoBatchUploadBackButton({
|
||
|
|
super.key,
|
||
|
|
required this.onTap,
|
||
|
|
this.iconSize = 19,
|
||
|
|
});
|
||
|
|
|
||
|
|
final VoidCallback onTap;
|
||
|
|
final double iconSize;
|
||
|
|
|
||
|
|
@override
|
||
|
|
Widget build(BuildContext context) {
|
||
|
|
return IconButton(
|
||
|
|
onPressed: onTap,
|
||
|
|
icon: Icon(
|
||
|
|
Icons.arrow_back_ios_new,
|
||
|
|
color: Colors.black,
|
||
|
|
size: iconSize,
|
||
|
|
),
|
||
|
|
);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
class VideoBatchUploadIconButton extends StatelessWidget {
|
||
|
|
const VideoBatchUploadIconButton({
|
||
|
|
super.key,
|
||
|
|
required this.onTap,
|
||
|
|
this.iconSize,
|
||
|
|
this.rightPadding,
|
||
|
|
});
|
||
|
|
|
||
|
|
final VoidCallback onTap;
|
||
|
|
final double? iconSize;
|
||
|
|
final double? rightPadding;
|
||
|
|
|
||
|
|
@override
|
||
|
|
Widget build(BuildContext context) {
|
||
|
|
return GestureDetector(
|
||
|
|
onTap: onTap,
|
||
|
|
child: Padding(
|
||
|
|
padding: EdgeInsets.only(right: rightPadding ?? 30.w),
|
||
|
|
child: Icon(
|
||
|
|
Icons.video_call_outlined,
|
||
|
|
size: iconSize ?? 50.sp,
|
||
|
|
color: const Color(0xFF1D1D21),
|
||
|
|
),
|
||
|
|
),
|
||
|
|
);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
class VideoBatchUploadEmptyPlaceholder extends StatelessWidget {
|
||
|
|
const VideoBatchUploadEmptyPlaceholder({
|
||
|
|
super.key,
|
||
|
|
this.title = '这个视频库里还没有视频',
|
||
|
|
});
|
||
|
|
|
||
|
|
final String title;
|
||
|
|
|
||
|
|
@override
|
||
|
|
Widget build(BuildContext context) {
|
||
|
|
return Center(
|
||
|
|
child: Text(
|
||
|
|
title,
|
||
|
|
style: TextStyle(
|
||
|
|
fontSize: 28.sp,
|
||
|
|
color: const Color(0xFF8D90A0),
|
||
|
|
),
|
||
|
|
),
|
||
|
|
);
|
||
|
|
}
|
||
|
|
}
|