Page MenuHomePhabricator

D11857.id39855.diff
No OneTemporary

D11857.id39855.diff

diff --git a/native/community-settings/tag-farcaster-channel/tag-farcaster-channel-by-name.react.js b/native/community-settings/tag-farcaster-channel/tag-farcaster-channel-by-name.react.js
--- a/native/community-settings/tag-farcaster-channel/tag-farcaster-channel-by-name.react.js
+++ b/native/community-settings/tag-farcaster-channel/tag-farcaster-channel-by-name.react.js
@@ -1,9 +1,13 @@
// @flow
import * as React from 'react';
+import { View, Text } from 'react-native';
import type { TagFarcasterChannelNavigationProp } from './tag-farcaster-channel-navigator.react.js';
+import RegistrationButton from '../../account/registration/registration-button.react.js';
+import TextInput from '../../components/text-input.react.js';
import type { NavigationRoute } from '../../navigation/route-names.js';
+import { useStyles, useColors } from '../../themes/colors.js';
export type TagFarcasterChannelByNameParams = {
+communityID: string,
@@ -16,7 +20,81 @@
// eslint-disable-next-line no-unused-vars
function TagFarcasterChannelByName(prop: Props): React.Node {
- return null;
+ const styles = useStyles(unboundStyles);
+ const colors = useColors();
+
+ const [channelSelectionText, setChannelSelectionText] =
+ React.useState<string>('');
+
+ const onPressTagChannel = React.useCallback(async () => {
+ // TODO
+ }, []);
+
+ const submitButtonVariant =
+ channelSelectionText.length > 0 ? 'enabled' : 'disabled';
+
+ return (
+ <View style={styles.container}>
+ <Text style={styles.header}>CHANNEL NAME</Text>
+ <View style={styles.panelSectionContainer}>
+ <View style={styles.inputContainer}>
+ <TextInput
+ style={styles.input}
+ value={channelSelectionText}
+ onChangeText={setChannelSelectionText}
+ placeholder="Channel name"
+ placeholderTextColor={colors.panelForegroundTertiaryLabel}
+ autoCorrect={false}
+ autoCapitalize="none"
+ />
+ </View>
+ <View style={styles.buttonContainer}>
+ <RegistrationButton
+ onPress={onPressTagChannel}
+ label="Tag channel"
+ variant={submitButtonVariant}
+ />
+ </View>
+ </View>
+ </View>
+ );
}
+const unboundStyles = {
+ container: {
+ paddingTop: 24,
+ },
+ header: {
+ color: 'panelBackgroundLabel',
+ fontSize: 12,
+ fontWeight: '400',
+ paddingBottom: 4,
+ paddingHorizontal: 16,
+ },
+ panelSectionContainer: {
+ backgroundColor: 'panelForeground',
+ padding: 16,
+ borderBottomColor: 'panelSeparator',
+ borderBottomWidth: 1,
+ borderTopColor: 'panelSeparator',
+ borderTopWidth: 1,
+ },
+ inputContainer: {
+ flexDirection: 'row',
+ justifyContent: 'space-between',
+ paddingHorizontal: 16,
+ paddingVertical: 12,
+ borderWidth: 1,
+ borderColor: 'panelSecondaryForegroundBorder',
+ borderRadius: 8,
+ },
+ input: {
+ color: 'panelForegroundLabel',
+ fontSize: 16,
+ },
+ buttonContainer: {
+ marginTop: 16,
+ },
+};
+
export default TagFarcasterChannelByName;

File Metadata

Mime Type
text/plain
Expires
Tue, Nov 19, 12:29 PM (22 h, 5 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
2537708
Default Alt Text
D11857.id39855.diff (3 KB)

Event Timeline