Skip to content

Commit

Permalink
Fix hardware back button (#266)
Browse files Browse the repository at this point in the history
* fix hardware back button

* dummy commit to allign clickup CU-8678q8811

* fix back press in home
  • Loading branch information
M1CH373 authored Dec 9, 2023
1 parent 8d823ab commit 0f32ac9
Showing 1 changed file with 23 additions and 12 deletions.
35 changes: 23 additions & 12 deletions src/components/Home/News/NewsBottomSheet.tsx
Original file line number Diff line number Diff line change
@@ -1,26 +1,26 @@
import { FC, useEffect, useState, useRef, useContext } from "react"
import { StyleSheet, View } from "react-native"
import BottomSheet, {
BottomSheetScrollView,
BottomSheetScrollViewMethods,
} from "@gorhom/bottom-sheet"
import { FC, useContext, useEffect, useRef, useState } from "react"
import { BackHandler, StyleSheet, View } from "react-native"

import { Article } from "api/collections/articles"
import { CardWithGradient } from "components/CardWithGradient"
import { NavBar } from "components/NavBar"
import {
NewsPreferencesContext,
Preference,
TagWithData,
} from "contexts/newsPreferences"
import { NewsTagsGrid } from "./NewsTagsGrid"
import { CardWithGradient } from "components/CardWithGradient"
import { NavBar } from "components/NavBar"
import { usePalette } from "utils/colors"
import { useNavigation } from "navigation/NavigationTypes"
import { getUsableScreenHeight } from "utils/layout"
import { newsSheetEventEmitter } from "utils/events"
import { NewsBottomSheetHandle } from "./NewsBottomSheetHandle"
import { getArticleParams, getDifferentLanguageNotice } from "utils/articles"
import { usePalette } from "utils/colors"
import { newsSheetEventEmitter } from "utils/events"
import { useCurrentLanguage } from "utils/language"
import { getUsableScreenHeight } from "utils/layout"
import { NewsBottomSheetHandle } from "./NewsBottomSheetHandle"
import { NewsTagsGrid } from "./NewsTagsGrid"

interface NewsBottomSheetProps {
/**
Expand Down Expand Up @@ -84,12 +84,23 @@ export const NewsBottomSheet: FC<NewsBottomSheetProps> = props => {

useEffect(() => {
// Set up the event listener to close the NewsBottomSheet
// when the home button in the NavBar is clicked
// when the home button in the NavBar or hardware button are clicked
const listener = newsSheetEventEmitter.addListener("should_close", () => {
setIsNewsClosed(true)
})
return () => listener.remove?.()
}, [])
const backHandler = BackHandler.addEventListener(
"hardwareBackPress",
() => {
setIsNewsClosed(true)
return !isNewsClosed
}
)

return () => {
listener.remove?.()
backHandler.remove?.()
}
}, [isNewsClosed])

return (
<BottomSheet
Expand Down

0 comments on commit 0f32ac9

Please sign in to comment.