双端适配,web端的修改父容器和接口

This commit is contained in:
2026-03-29 02:34:13 +08:00
parent 3c071957ce
commit ebb0c003e3
16 changed files with 1419 additions and 226 deletions

View File

@@ -31,9 +31,12 @@ import {
type AppColors,
} from '../../theme';
import { useAuthStore } from '../../stores';
import { Avatar, Button, Text, ResponsiveContainer } from '../../components/common';
import { Avatar, Button, Text } from '../../components/common';
import { authService, uploadService } from '../../services';
import { useResponsive } from '../../hooks';
import { useResponsive, useResponsiveSpacing } from '../../hooks';
// 内容最大宽度
const CONTENT_MAX_WIDTH = 720;
function createEditProfileStyles(colors: AppColors) {
return StyleSheet.create({
@@ -210,6 +213,9 @@ function createEditProfileStyles(colors: AppColors) {
shadowOpacity: 0.05,
shadowRadius: 8,
elevation: 2,
maxWidth: CONTENT_MAX_WIDTH,
alignSelf: 'center',
width: '100%',
},
sectionTitle: {
marginBottom: spacing.lg,
@@ -357,6 +363,7 @@ export const EditProfileScreen: React.FC = () => {
const navigation = useNavigation();
const { currentUser, updateUser } = useAuthStore();
const { isWideScreen, isMobile, width } = useResponsive();
const responsivePadding = useResponsiveSpacing({ xs: 8, sm: 12, md: 16, lg: 24, xl: 32 });
const insets = useSafeAreaInsets();
const [nickname, setNickname] = useState(currentUser?.nickname || '');
@@ -793,23 +800,12 @@ export const EditProfileScreen: React.FC = () => {
behavior={Platform.OS === 'ios' ? 'padding' : 'height'}
style={styles.keyboardView}
>
{isWideScreen ? (
<ResponsiveContainer maxWidth={800}>
<ScrollView
contentContainerStyle={styles.scrollContent}
showsVerticalScrollIndicator={false}
>
{renderFormContent()}
</ScrollView>
</ResponsiveContainer>
) : (
<ScrollView
contentContainerStyle={styles.scrollContent}
showsVerticalScrollIndicator={false}
>
{renderFormContent()}
</ScrollView>
)}
<ScrollView
contentContainerStyle={[styles.scrollContent, { paddingHorizontal: responsivePadding }]}
showsVerticalScrollIndicator={false}
>
{renderFormContent()}
</ScrollView>
</KeyboardAvoidingView>
</SafeAreaView>
);