tangled
alpha
login
or
join now
stream.place
/
streamplace
Live video on the AT Protocol
74
fork
atom
overview
issues
1
pulls
pipelines
top bar gone :0
Natalie Bridgers
4 months ago
40c32b3f
3d5dc6af
+26
-26
4 changed files
expand all
collapse all
unified
split
js
app
components
mobile
chat.tsx
player.tsx
ui.tsx
src
router.tsx
-2
js/app/components/mobile/chat.tsx
···
17
17
useSharedValue,
18
18
withSpring,
19
19
} from "react-native-reanimated";
20
20
-
import { useResponsiveLayout } from "./useResponsiveLayout";
21
20
22
21
import { useNavigation } from "@react-navigation/native";
23
22
import { usePDSAgent } from "@streamplace/components/src/streamplace-store/xrpc";
···
100
99
}
101
100
102
101
function ChatPanel() {
103
103
-
const { shouldShowChatSidePanel, safeAreaInsets } = useResponsiveLayout();
104
102
const { profile } = useLivestreamInfo();
105
103
const handle = useHandle();
106
104
+5
js/app/components/mobile/player.tsx
···
10
10
Text,
11
11
usePlayerDimensions,
12
12
usePlayerStore,
13
13
+
useSegmentDimensions,
13
14
View,
14
15
} from "@streamplace/components";
15
16
import { gap, h, pt, w } from "@streamplace/components/src/lib/theme/atoms";
···
161
162
screenWidth,
162
163
contentWidth,
163
164
availableHeight,
165
165
+
safeAreaInsets,
164
166
} = useResponsiveLayout({
165
167
sidebarWidth: sb.animatedWidth,
166
168
sidebarHidden: !sb.isActive,
···
169
171
170
172
// content info
171
173
const { width, height } = usePlayerDimensions();
174
174
+
175
175
+
const { isPlayerRatioGreater } = useSegmentDimensions();
172
176
173
177
// Calculate aspect ratio and determine if we're in desktop mode
174
178
const aspectRatio = width > 0 && height > 0 ? width / height : 16 / 9;
···
220
224
: {
221
225
flex: 1,
222
226
},
227
227
+
{ paddingTop: isPlayerRatioGreater ? safeAreaInsets.top : 0 },
223
228
]}
224
229
>
225
230
<PlayerInnerInner {...props}>
+20
-24
js/app/components/mobile/ui.tsx
···
150
150
>
151
151
<ChevronLeft color="white" />
152
152
</Pressable>
153
153
-
{shouldShowFloatingMetrics && (
154
154
-
<>
155
155
-
<Image
156
156
-
source={
157
157
-
profile?.did
158
158
-
? { url: avatars[profile?.did]?.avatar }
159
159
-
: require("assets/images/goose.png")
160
160
-
}
161
161
-
width={32}
162
162
-
height={32}
163
163
-
style={[
164
164
-
{
165
165
-
width: 36,
166
166
-
height: 36,
167
167
-
backgroundColor: "green",
168
168
-
},
169
169
-
{ borderRadius: 999 },
170
170
-
borders.width.thin,
171
171
-
borders.color.gray[700],
172
172
-
]}
173
173
-
/>
174
174
-
<Text>{profile?.handle}</Text>
175
175
-
</>
176
176
-
)}
153
153
+
<Image
154
154
+
source={
155
155
+
profile?.did
156
156
+
? { url: avatars[profile?.did]?.avatar }
157
157
+
: require("assets/images/goose.png")
158
158
+
}
159
159
+
width={32}
160
160
+
height={32}
161
161
+
style={[
162
162
+
{
163
163
+
width: 36,
164
164
+
height: 36,
165
165
+
backgroundColor: "green",
166
166
+
},
167
167
+
{ borderRadius: 999 },
168
168
+
borders.width.thin,
169
169
+
borders.color.gray[700],
170
170
+
]}
171
171
+
/>
172
172
+
<Text>{profile?.handle}</Text>
177
173
</View>
178
174
</View>
179
175
+1
js/app/src/router.tsx
···
656
656
options={{
657
657
headerTitle: "Stream",
658
658
title: "Streamplace Stream",
659
659
+
headerShown: false,
659
660
}}
660
661
/>
661
662
</Stack.Navigator>