opt: pm share

Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me>
This commit is contained in:
bggRGjQaUbCoE
2025-04-28 11:38:02 +08:00
parent 51750a4ad5
commit 4d193a1f72
6 changed files with 56 additions and 38 deletions

View File

@@ -2,7 +2,7 @@ import 'package:PiliPlus/common/widgets/scroll_physics.dart';
import 'package:PiliPlus/pages/fan/index.dart';
import 'package:PiliPlus/pages/follow/child_view.dart';
import 'package:PiliPlus/pages/follow_search/view.dart';
import 'package:PiliPlus/pages/video/detail/share/view.dart' show UserModel;
import 'package:PiliPlus/pages/share/view.dart' show UserModel;
import 'package:PiliPlus/utils/storage.dart';
import 'package:flutter/material.dart';
import 'package:get/get.dart';

View File

@@ -4,7 +4,7 @@ import 'package:PiliPlus/common/widgets/network_img_layer.dart';
import 'package:PiliPlus/common/widgets/refresh_indicator.dart';
import 'package:PiliPlus/http/loading_state.dart';
import 'package:PiliPlus/models/fans/result.dart';
import 'package:PiliPlus/pages/video/detail/share/view.dart' show UserModel;
import 'package:PiliPlus/pages/share/view.dart' show UserModel;
import 'package:PiliPlus/utils/storage.dart';
import 'package:PiliPlus/utils/utils.dart';
import 'package:flutter/material.dart';

View File

@@ -6,7 +6,7 @@ import 'package:PiliPlus/models/follow/result.dart';
import 'package:PiliPlus/pages/follow/child_controller.dart';
import 'package:PiliPlus/pages/follow/controller.dart';
import 'package:PiliPlus/pages/follow/widgets/follow_item.dart';
import 'package:PiliPlus/pages/video/detail/share/view.dart' show UserModel;
import 'package:PiliPlus/pages/share/view.dart' show UserModel;
import 'package:PiliPlus/utils/utils.dart';
import 'package:flutter/material.dart';
import 'package:get/get.dart';

View File

@@ -1,4 +1,4 @@
import 'package:PiliPlus/pages/video/detail/share/view.dart' show UserModel;
import 'package:PiliPlus/pages/share/view.dart' show UserModel;
import 'package:PiliPlus/utils/request_utils.dart';
import 'package:flutter/material.dart';
import 'package:get/get.dart';

View File

@@ -1,7 +1,7 @@
import 'package:PiliPlus/common/widgets/icon_button.dart';
import 'package:PiliPlus/common/widgets/network_img_layer.dart';
import 'package:PiliPlus/common/widgets/self_sized_horizontal_list.dart';
import 'package:PiliPlus/pages/video/detail/contact/view.dart';
import 'package:PiliPlus/pages/contact/view.dart';
import 'package:PiliPlus/utils/extension.dart';
import 'package:PiliPlus/utils/request_utils.dart';
import 'package:flutter/material.dart';
@@ -76,7 +76,7 @@ class _SharePanelState extends State<SharePanel> {
return Padding(
padding: const EdgeInsets.all(12) +
MediaQuery.paddingOf(context) +
MediaQuery.of(context).viewInsets,
MediaQuery.viewInsetsOf(context),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
mainAxisSize: MainAxisSize.min,
@@ -112,37 +112,52 @@ class _SharePanelState extends State<SharePanel> {
behavior: HitTestBehavior.opaque,
child: SizedBox(
width: 65,
child: Column(
child: Stack(
clipBehavior: Clip.none,
alignment: Alignment.topCenter,
children: [
Container(
decoration: index == _selectedIndex
? BoxDecoration(
shape: BoxShape.circle,
border: Border.all(
width: 1.5,
color: Theme.of(context)
.colorScheme
.primary,
),
)
: null,
width: 50,
height: 50,
alignment: Alignment.center,
child: NetworkImgLayer(
width: 40,
height: 40,
src: _userList[index].avatar,
type: 'avatar',
Column(
children: [
Padding(
padding: const EdgeInsets.all(5),
child: NetworkImgLayer(
width: 40,
height: 40,
src: _userList[index].avatar,
type: 'avatar',
),
),
const SizedBox(height: 2),
Text(
_userList[index].name,
maxLines: 1,
overflow: TextOverflow.ellipsis,
style: TextStyle(fontSize: 12),
),
],
),
if (index == _selectedIndex)
Container(
width: 50,
height: 50,
decoration: BoxDecoration(
color: Theme.of(context)
.colorScheme
.primary
.withOpacity(0.3),
shape: BoxShape.circle,
border: Border.all(
width: 1.5,
color:
Theme.of(context).colorScheme.primary,
),
),
child: Icon(
Icons.check,
size: 20,
color: Colors.white,
),
),
),
const SizedBox(height: 2),
Text(
_userList[index].name,
maxLines: 1,
overflow: TextOverflow.ellipsis,
style: TextStyle(fontSize: 12),
),
],
),
),
@@ -207,12 +222,15 @@ class _SharePanelState extends State<SharePanel> {
child: TextField(
controller: _controller,
focusNode: _focusNode,
minLines: 1,
maxLines: 2,
textInputAction: TextInputAction.newline,
decoration: InputDecoration(
hintText: '说说你的想法吧...',
hintStyle: const TextStyle(fontSize: 14),
border: OutlineInputBorder(
borderSide: BorderSide.none,
borderRadius: BorderRadius.circular(25),
borderRadius: BorderRadius.circular(20),
),
filled: true,
isDense: true,