# Code coverage report for atlas-mobile-ts/src/components/Profile/ProfileSections/ProfilePrefs.tsx

# All files / atlas-mobile-ts/src/components/Profile/ProfileSections ProfilePrefs.tsx

0% Statements 0/16
100% Branches 0/0
0% Functions 0/5
0% Lines 0/15

Press n or j to go to the next uncovered block, b, p or k for the previous block.

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47

     ﻿/* Copyright (C) Click & Push Accessibility, Inc - All Rights Reserved
     * Unauthorized copying of this file, via any medium is strictly prohibited
     * Proprietary and confidential
     * Written and maintained by the Click & Push Development team
     * <dev@clicknpush.ca>, January 2022
     */

    import React, { useEffect, useState } from "react"
    import { Button, Switch, Text, TouchableOpacity, View } from "react-native"
    import Collapsible from "react-native-collapsible"
    import { GlobalStyles } from "../../../utils/GlobalUtils"
    import { Separator } from "../../Separator"
    import { ProfileSectionStyles } from "../Styles/ProfileSections.styles"
    import { ProfileSection } from "./ProfileSection"
    import { ProfileSectionHeader } from "./ProfileSectionHeader"

    interface PrefsInformationProps {
        openPrefs: () => void
        prefsCollapsed: boolean
        toggleTipsAsync: () => void
        showTips: boolean
    }

    export const ProfilePrefs: React.FC<PrefsInformationProps> = ({openPrefs, prefsCollapsed, toggleTipsAsync, showTips}) => {
        const [localTipsEnabled, toggleLocalTips] = useState<boolean>(false)

        useEffect(() => {
            const changeTipsStateOnToggle = () => {
                toggleLocalTips(showTips)
            }
            changeTipsStateOnToggle()
        }, [showTips])

        const toggleTips = async () => {
            toggleLocalTips(!showTips)
            await toggleTipsAsync();
        }

        return (
            <ProfileSection isCollapsed={prefsCollapsed} collapseToggleMethod={openPrefs} title="Preferences">
                <View style={GlobalStyles.itemRowContainer}>
                    <Text>Startup tips:</Text>
                    <Switch value={localTipsEnabled} onValueChange={async () => toggleTips()} />
                </View>
            </ProfileSection>
        )
    }