Revize 04928342
Přidáno uživatelem Schwobik před téměř 2 roky(ů)
src/pages/ItemViewPage.tsx | ||
---|---|---|
8 | 8 |
import { useWindowDimensions } from "react-native" |
9 | 9 |
import LoadingBox from "../components/loading/LoadingBox" |
10 | 10 |
import ItemTabBar from "../components/item/ItemTabBar" |
11 |
import { log } from "../logging/logger" |
|
12 |
import { DrawerScreenProps } from "@react-navigation/drawer" |
|
13 |
import { RootDrawerParamList } from "../components/Navigation" |
|
11 | 14 |
|
12 |
interface ItemViewProps { |
|
13 |
itemId: string, |
|
14 |
backPressed: any |
|
15 |
} |
|
16 | 15 |
|
17 |
const ItemViewPage = (props: ItemViewProps) => {
|
|
16 |
const ItemViewPage = ({route, navigation}: DrawerScreenProps<RootDrawerParamList, 'Item'>) => {
|
|
18 | 17 |
|
19 | 18 |
const layout = useWindowDimensions(); |
20 | 19 |
|
... | ... | |
34 | 33 |
|
35 | 34 |
// initial: load main item |
36 | 35 |
useEffect(() => { |
37 |
// TODO remove login from here |
|
38 |
dispatch(login({ username: "Viktorie", password: "Golem123." })); |
|
39 |
dispatch(getItem(props.itemId)); |
|
40 |
}, []); |
|
36 |
dispatch(getItem(route.params.itemId)) |
|
37 |
log.debug("ItemViewPage", "useEffect", "getItem", route.params.itemId) |
|
38 |
}, []) |
|
41 | 39 |
|
42 | 40 |
|
43 | 41 |
// concordances are loaded |
44 | 42 |
useEffect(() => { |
43 |
log.debug("ItemViewPage", "useEffect", "concordances", concordances) |
|
44 |
|
|
45 | 45 |
if (item && concordances && concordances.length > 0) { |
46 | 46 |
let concordanceRoutes = []; |
47 | 47 |
|
... | ... | |
63 | 63 |
|
64 | 64 |
// item changes |
65 | 65 |
useEffect(() => { |
66 |
log.debug("ItemViewPage", "useEffect", "item", item) |
|
67 |
|
|
66 | 68 |
if (!itemLoading && item && item.id) { |
67 | 69 |
if (index == 0) { |
68 | 70 |
dispatch(setConcordances(item.concordances)); |
... | ... | |
84 | 86 |
} |
85 | 87 |
} |
86 | 88 |
|
89 |
const onBackPressed = () => { |
|
90 |
log.debug("back pressed") |
|
91 |
navigation.goBack(); |
|
92 |
} |
|
93 |
|
|
87 | 94 |
return ( |
88 | 95 |
!concordances || concordances.length < 1 ? |
89 |
<LoadingBox text={`Loading item ${props.itemId}...`}></LoadingBox>
|
|
96 |
<LoadingBox text={`Loading item ${route.params.itemId}...`}/>
|
|
90 | 97 |
: |
91 | 98 |
<TabView |
92 | 99 |
renderTabBar={() => ItemTabBar({ |
... | ... | |
96 | 103 |
concordances: concordances, |
97 | 104 |
index: index, |
98 | 105 |
onIndexChange: handleIndexChanged, |
99 |
onBackPressed: props.backPressed,
|
|
106 |
onBackPressed: onBackPressed,
|
|
100 | 107 |
})} |
101 | 108 |
|
102 | 109 |
navigationState={{ index, routes }} |
Také k dispozici: Unified diff
mergování a úprava kompatibility. proklik na detail itemu
re #10489