<commit_before>import React, { Component } from "react";
import { View, Text, StyleSheet, Image, Linking } from "react-native";
import { FontAwesome } from "@expo/vector-icons";

export default class MastoRowNotificationfollow extends Component {
    constructor(props) {
        super(props);
        this.props = {
            id:props.id,
            type:props.type,
            user: props.user,
            image: props.image,
            username:"@"+props.username,
            acct: "@"+props.acct
        };
    }
    render() {
        return (
            <View>
                <View style={styles.container}>
                    <Image source={{ uri: this.props.image }} style={styles.photo} />
                    <View style={styles.textarea}>
                        <Text style={styles.text} ellipsizeMode='tail' numberOfLines={1}>
                            <Text style={styles.name}>
                                {this.props.user}
                            </Text>
                        </Text>
                        <Text style={styles.text} ellipsizeMode='tail' numberOfLines={1}>
                            <FontAwesome name={"user-plus"} size={16} />
                            <Text style={styles.username}>
                                {" "+this.props.username}
                            </Text>
                        </Text>
                        <Text style={styles.text} ellipsizeMode='tail' numberOfLines={1}>
                            <Text style={styles.acct}>
                                {this.props.acct}
                            </Text>
                        </Text>
                    </View>
                </View>
            </View>
        );
    }
    async openUrl(url) {
        try {
            let supported = await Linking.canOpenURL(url);
            if (supported) {
                await Linking.openURL(url);
            } else {
                console.log("not supported url");
            }
        } catch (e) {
            console.error("Linking error", e);
        }
    }
}
<commit_msg>Add proptypes<commit_after>import React, { Component } from "react";
import { View, Text, StyleSheet, Image, Linking } from "react-native";
import { FontAwesome } from "@expo/vector-icons";
import PropTypes from "prop-types";

export default class MastoRowNotificationfollow extends Component {
    static propTypes = {
        id: PropTypes.string,
        type: PropTypes.string,
        user: PropTypes.string,
        image: PropTypes.string,
        username: PropTypes.string,
        acct: PropTypes.string,
    }
    render() {
        return (
            <View>
                <View style={styles.container}>
                    <Image source={{ uri: this.props.image }} style={styles.photo} />
                    <View style={styles.textarea}>
                        <Text style={styles.text} ellipsizeMode='tail' numberOfLines={1}>
                            <Text style={styles.name}>
                                {this.props.user}
                            </Text>
                        </Text>
                        <Text style={styles.text} ellipsizeMode='tail' numberOfLines={1}>
                            <FontAwesome name={"user-plus"} size={16} />
                            <Text style={styles.username}>
                                {" " + this.props.username}
                            </Text>
                        </Text>
                        <Text style={styles.text} ellipsizeMode='tail' numberOfLines={1}>
                            <Text style={styles.acct}>
                                {this.props.acct}
                            </Text>
                        </Text>
                    </View>
                </View>
            </View>
        );
    }
    async openUrl(url) {
        try {
            let supported = await Linking.canOpenURL(url);
            if (supported) {
                await Linking.openURL(url);
            } else {
                console.log("not supported url");
            }
        } catch (e) {
            console.error("Linking error", e);
        }
    }
}

{'fraction_non_alphanumeric': 0.11682355780835144, 'fraction_numerical': 0.0024137098720733766, 'mean_word_length': 1.1583333333333334, 'pattern_counts': {'":': 0, '<': 43, '<?xml version=': 0, '>': 43, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 2, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5821783', 'n_tokens_mistral': 1040, 'n_tokens_neox': 1014, 'n_words': 207}