be-components 6.7.7 → 6.7.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/commonjs/Authenticator/index.js +1 -0
- package/lib/commonjs/Authenticator/index.js.map +1 -1
- package/lib/commonjs/Competition/components/CompetitionInfoCard.js +13 -0
- package/lib/commonjs/Competition/components/CompetitionInfoCard.js.map +1 -1
- package/lib/commonjs/Competition/components/CompetitionLeaderboard.js +1 -1
- package/lib/commonjs/Competition/components/CompetitionLeaderboard.js.map +1 -1
- package/lib/commonjs/Competition/index.js +26 -43
- package/lib/commonjs/Competition/index.js.map +1 -1
- package/lib/commonjs/CompetitionManager/api/index.js +57 -11
- package/lib/commonjs/CompetitionManager/api/index.js.map +1 -1
- package/lib/commonjs/CompetitionManager/components/AdminCompetitionList.js +406 -287
- package/lib/commonjs/CompetitionManager/components/AdminCompetitionList.js.map +1 -1
- package/lib/commonjs/CompetitionManager/components/AthleteSelector.js +11 -3
- package/lib/commonjs/CompetitionManager/components/AthleteSelector.js.map +1 -1
- package/lib/commonjs/CompetitionManager/components/CompanySelector.js +94 -0
- package/lib/commonjs/CompetitionManager/components/CompanySelector.js.map +1 -0
- package/lib/commonjs/CompetitionManager/components/CompetitionContestsForm.js +135 -107
- package/lib/commonjs/CompetitionManager/components/CompetitionContestsForm.js.map +1 -1
- package/lib/commonjs/CompetitionManager/components/CompetitionHeader.js +5 -5
- package/lib/commonjs/CompetitionManager/components/CompetitionHeader.js.map +1 -1
- package/lib/commonjs/CompetitionManager/components/CompetitionInfoForm.js +80 -34
- package/lib/commonjs/CompetitionManager/components/CompetitionInfoForm.js.map +1 -1
- package/lib/commonjs/CompetitionManager/components/CompetitionMatchMarketCard.js +12 -8
- package/lib/commonjs/CompetitionManager/components/CompetitionMatchMarketCard.js.map +1 -1
- package/lib/commonjs/CompetitionManager/components/CompetitionSettingsForm.js +36 -30
- package/lib/commonjs/CompetitionManager/components/CompetitionSettingsForm.js.map +1 -1
- package/lib/commonjs/CompetitionManager/components/ContestSelector.js +4 -2
- package/lib/commonjs/CompetitionManager/components/ContestSelector.js.map +1 -1
- package/lib/commonjs/CompetitionManager/components/ContestSettingsForm.js +37 -33
- package/lib/commonjs/CompetitionManager/components/ContestSettingsForm.js.map +1 -1
- package/lib/commonjs/CompetitionManager/components/GroupSelector.js +94 -0
- package/lib/commonjs/CompetitionManager/components/GroupSelector.js.map +1 -0
- package/lib/commonjs/CompetitionManager/components/MarketSelector.js +21 -12
- package/lib/commonjs/CompetitionManager/components/MarketSelector.js.map +1 -1
- package/lib/commonjs/CompetitionManager/components/PlayerSelector.js +4 -1
- package/lib/commonjs/CompetitionManager/components/PlayerSelector.js.map +1 -1
- package/lib/commonjs/CompetitionManager/index.js +44 -49
- package/lib/commonjs/CompetitionManager/index.js.map +1 -1
- package/lib/commonjs/Components/Toggle.js +2 -1
- package/lib/commonjs/Components/Toggle.js.map +1 -1
- package/lib/commonjs/CreateEngagement/api/index.js +192 -0
- package/lib/commonjs/CreateEngagement/api/index.js.map +1 -0
- package/lib/commonjs/CreateEngagement/index.js +1391 -0
- package/lib/commonjs/CreateEngagement/index.js.map +1 -0
- package/lib/commonjs/MarketComponents/api/index.js +51 -1
- package/lib/commonjs/MarketComponents/api/index.js.map +1 -1
- package/lib/commonjs/MarketComponents/components/LeagueSchedule.js +210 -0
- package/lib/commonjs/MarketComponents/components/LeagueSchedule.js.map +1 -0
- package/lib/commonjs/MarketComponents/components/OrderBookChart.js +13 -25
- package/lib/commonjs/MarketComponents/components/OrderBookChart.js.map +1 -1
- package/lib/commonjs/constants/useColors.js +1 -1
- package/lib/commonjs/constants/useColors.js.map +1 -1
- package/lib/commonjs/index.js +7 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/types.d.js.map +1 -1
- package/lib/module/Authenticator/index.js +1 -0
- package/lib/module/Authenticator/index.js.map +1 -1
- package/lib/module/Competition/components/CompetitionInfoCard.js +13 -0
- package/lib/module/Competition/components/CompetitionInfoCard.js.map +1 -1
- package/lib/module/Competition/components/CompetitionLeaderboard.js +1 -1
- package/lib/module/Competition/components/CompetitionLeaderboard.js.map +1 -1
- package/lib/module/Competition/index.js +26 -43
- package/lib/module/Competition/index.js.map +1 -1
- package/lib/module/CompetitionManager/api/index.js +57 -11
- package/lib/module/CompetitionManager/api/index.js.map +1 -1
- package/lib/module/CompetitionManager/components/AdminCompetitionList.js +391 -272
- package/lib/module/CompetitionManager/components/AdminCompetitionList.js.map +1 -1
- package/lib/module/CompetitionManager/components/AthleteSelector.js +11 -3
- package/lib/module/CompetitionManager/components/AthleteSelector.js.map +1 -1
- package/lib/module/CompetitionManager/components/CompanySelector.js +87 -0
- package/lib/module/CompetitionManager/components/CompanySelector.js.map +1 -0
- package/lib/module/CompetitionManager/components/CompetitionContestsForm.js +135 -107
- package/lib/module/CompetitionManager/components/CompetitionContestsForm.js.map +1 -1
- package/lib/module/CompetitionManager/components/CompetitionHeader.js +5 -5
- package/lib/module/CompetitionManager/components/CompetitionHeader.js.map +1 -1
- package/lib/module/CompetitionManager/components/CompetitionInfoForm.js +80 -34
- package/lib/module/CompetitionManager/components/CompetitionInfoForm.js.map +1 -1
- package/lib/module/CompetitionManager/components/CompetitionMatchMarketCard.js +12 -8
- package/lib/module/CompetitionManager/components/CompetitionMatchMarketCard.js.map +1 -1
- package/lib/module/CompetitionManager/components/CompetitionSettingsForm.js +36 -30
- package/lib/module/CompetitionManager/components/CompetitionSettingsForm.js.map +1 -1
- package/lib/module/CompetitionManager/components/ContestSelector.js +4 -2
- package/lib/module/CompetitionManager/components/ContestSelector.js.map +1 -1
- package/lib/module/CompetitionManager/components/ContestSettingsForm.js +37 -33
- package/lib/module/CompetitionManager/components/ContestSettingsForm.js.map +1 -1
- package/lib/module/CompetitionManager/components/GroupSelector.js +87 -0
- package/lib/module/CompetitionManager/components/GroupSelector.js.map +1 -0
- package/lib/module/CompetitionManager/components/MarketSelector.js +21 -12
- package/lib/module/CompetitionManager/components/MarketSelector.js.map +1 -1
- package/lib/module/CompetitionManager/components/PlayerSelector.js +4 -1
- package/lib/module/CompetitionManager/components/PlayerSelector.js.map +1 -1
- package/lib/module/CompetitionManager/index.js +45 -50
- package/lib/module/CompetitionManager/index.js.map +1 -1
- package/lib/module/Components/Toggle.js +2 -1
- package/lib/module/Components/Toggle.js.map +1 -1
- package/lib/module/CreateEngagement/api/index.js +186 -0
- package/lib/module/CreateEngagement/api/index.js.map +1 -0
- package/lib/module/CreateEngagement/index.js +1383 -0
- package/lib/module/CreateEngagement/index.js.map +1 -0
- package/lib/module/MarketComponents/api/index.js +51 -1
- package/lib/module/MarketComponents/api/index.js.map +1 -1
- package/lib/module/MarketComponents/components/LeagueSchedule.js +202 -0
- package/lib/module/MarketComponents/components/LeagueSchedule.js.map +1 -0
- package/lib/module/MarketComponents/components/OrderBookChart.js +13 -25
- package/lib/module/MarketComponents/components/OrderBookChart.js.map +1 -1
- package/lib/module/constants/useColors.js +1 -1
- package/lib/module/constants/useColors.js.map +1 -1
- package/lib/module/index.js +2 -1
- package/lib/module/index.js.map +1 -1
- package/lib/module/types.d.js.map +1 -1
- package/lib/typescript/lib/commonjs/Authenticator/index.d.ts.map +1 -1
- package/lib/typescript/lib/commonjs/Competition/components/CompetitionInfoCard.d.ts.map +1 -1
- package/lib/typescript/lib/commonjs/Competition/index.d.ts.map +1 -1
- package/lib/typescript/lib/commonjs/CompetitionManager/api/index.d.ts +9 -4
- package/lib/typescript/lib/commonjs/CompetitionManager/api/index.d.ts.map +1 -1
- package/lib/typescript/lib/commonjs/CompetitionManager/components/AdminCompetitionList.d.ts +4 -3
- package/lib/typescript/lib/commonjs/CompetitionManager/components/AdminCompetitionList.d.ts.map +1 -1
- package/lib/typescript/lib/commonjs/CompetitionManager/components/AthleteSelector.d.ts +3 -1
- package/lib/typescript/lib/commonjs/CompetitionManager/components/AthleteSelector.d.ts.map +1 -1
- package/lib/typescript/lib/commonjs/CompetitionManager/components/CompanySelector.d.ts +8 -0
- package/lib/typescript/lib/commonjs/CompetitionManager/components/CompanySelector.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/CompetitionManager/components/CompetitionContestsForm.d.ts +2 -2
- package/lib/typescript/lib/commonjs/CompetitionManager/components/CompetitionContestsForm.d.ts.map +1 -1
- package/lib/typescript/lib/commonjs/CompetitionManager/components/CompetitionHeader.d.ts +2 -1
- package/lib/typescript/lib/commonjs/CompetitionManager/components/CompetitionHeader.d.ts.map +1 -1
- package/lib/typescript/lib/commonjs/CompetitionManager/components/CompetitionInfoForm.d.ts +3 -2
- package/lib/typescript/lib/commonjs/CompetitionManager/components/CompetitionInfoForm.d.ts.map +1 -1
- package/lib/typescript/lib/commonjs/CompetitionManager/components/CompetitionMatchMarketCard.d.ts.map +1 -1
- package/lib/typescript/lib/commonjs/CompetitionManager/components/CompetitionSettingsForm.d.ts +1 -2
- package/lib/typescript/lib/commonjs/CompetitionManager/components/CompetitionSettingsForm.d.ts.map +1 -1
- package/lib/typescript/lib/commonjs/CompetitionManager/components/ContestSelector.d.ts.map +1 -1
- package/lib/typescript/lib/commonjs/CompetitionManager/components/ContestSettingsForm.d.ts +1 -2
- package/lib/typescript/lib/commonjs/CompetitionManager/components/ContestSettingsForm.d.ts.map +1 -1
- package/lib/typescript/lib/commonjs/CompetitionManager/components/GroupSelector.d.ts +8 -0
- package/lib/typescript/lib/commonjs/CompetitionManager/components/GroupSelector.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/CompetitionManager/components/MarketSelector.d.ts.map +1 -1
- package/lib/typescript/lib/commonjs/CompetitionManager/components/PlayerSelector.d.ts.map +1 -1
- package/lib/typescript/lib/commonjs/CompetitionManager/index.d.ts +4 -1
- package/lib/typescript/lib/commonjs/CompetitionManager/index.d.ts.map +1 -1
- package/lib/typescript/lib/commonjs/Components/Toggle.d.ts +2 -1
- package/lib/typescript/lib/commonjs/Components/Toggle.d.ts.map +1 -1
- package/lib/typescript/lib/commonjs/CreateEngagement/api/index.d.ts +39 -0
- package/lib/typescript/lib/commonjs/CreateEngagement/api/index.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/CreateEngagement/index.d.ts +18 -0
- package/lib/typescript/lib/commonjs/CreateEngagement/index.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/MarketComponents/api/index.d.ts +8 -0
- package/lib/typescript/lib/commonjs/MarketComponents/api/index.d.ts.map +1 -1
- package/lib/typescript/lib/commonjs/MarketComponents/components/LeagueSchedule.d.ts +8 -0
- package/lib/typescript/lib/commonjs/MarketComponents/components/LeagueSchedule.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/MarketComponents/components/OrderBookChart.d.ts.map +1 -1
- package/lib/typescript/lib/commonjs/index.d.ts +1 -0
- package/lib/typescript/lib/commonjs/index.d.ts.map +1 -1
- package/lib/typescript/lib/module/Authenticator/index.d.ts.map +1 -1
- package/lib/typescript/lib/module/Competition/components/CompetitionInfoCard.d.ts.map +1 -1
- package/lib/typescript/lib/module/Competition/index.d.ts.map +1 -1
- package/lib/typescript/lib/module/CompetitionManager/api/index.d.ts +9 -4
- package/lib/typescript/lib/module/CompetitionManager/api/index.d.ts.map +1 -1
- package/lib/typescript/lib/module/CompetitionManager/components/AdminCompetitionList.d.ts +5 -5
- package/lib/typescript/lib/module/CompetitionManager/components/AdminCompetitionList.d.ts.map +1 -1
- package/lib/typescript/lib/module/CompetitionManager/components/AthleteSelector.d.ts +3 -1
- package/lib/typescript/lib/module/CompetitionManager/components/AthleteSelector.d.ts.map +1 -1
- package/lib/typescript/lib/module/CompetitionManager/components/CompanySelector.d.ts +8 -0
- package/lib/typescript/lib/module/CompetitionManager/components/CompanySelector.d.ts.map +1 -0
- package/lib/typescript/lib/module/CompetitionManager/components/CompetitionContestsForm.d.ts +2 -2
- package/lib/typescript/lib/module/CompetitionManager/components/CompetitionContestsForm.d.ts.map +1 -1
- package/lib/typescript/lib/module/CompetitionManager/components/CompetitionHeader.d.ts +2 -1
- package/lib/typescript/lib/module/CompetitionManager/components/CompetitionHeader.d.ts.map +1 -1
- package/lib/typescript/lib/module/CompetitionManager/components/CompetitionInfoForm.d.ts +3 -2
- package/lib/typescript/lib/module/CompetitionManager/components/CompetitionInfoForm.d.ts.map +1 -1
- package/lib/typescript/lib/module/CompetitionManager/components/CompetitionMatchMarketCard.d.ts.map +1 -1
- package/lib/typescript/lib/module/CompetitionManager/components/CompetitionSettingsForm.d.ts +1 -2
- package/lib/typescript/lib/module/CompetitionManager/components/CompetitionSettingsForm.d.ts.map +1 -1
- package/lib/typescript/lib/module/CompetitionManager/components/ContestSelector.d.ts.map +1 -1
- package/lib/typescript/lib/module/CompetitionManager/components/ContestSettingsForm.d.ts +1 -2
- package/lib/typescript/lib/module/CompetitionManager/components/ContestSettingsForm.d.ts.map +1 -1
- package/lib/typescript/lib/module/CompetitionManager/components/GroupSelector.d.ts +8 -0
- package/lib/typescript/lib/module/CompetitionManager/components/GroupSelector.d.ts.map +1 -0
- package/lib/typescript/lib/module/CompetitionManager/components/MarketSelector.d.ts.map +1 -1
- package/lib/typescript/lib/module/CompetitionManager/components/PlayerSelector.d.ts.map +1 -1
- package/lib/typescript/lib/module/CompetitionManager/index.d.ts +4 -1
- package/lib/typescript/lib/module/CompetitionManager/index.d.ts.map +1 -1
- package/lib/typescript/lib/module/Components/Toggle.d.ts +2 -1
- package/lib/typescript/lib/module/Components/Toggle.d.ts.map +1 -1
- package/lib/typescript/lib/module/CreateEngagement/api/index.d.ts +38 -0
- package/lib/typescript/lib/module/CreateEngagement/api/index.d.ts.map +1 -0
- package/lib/typescript/lib/module/CreateEngagement/index.d.ts +18 -0
- package/lib/typescript/lib/module/CreateEngagement/index.d.ts.map +1 -0
- package/lib/typescript/lib/module/MarketComponents/api/index.d.ts +8 -0
- package/lib/typescript/lib/module/MarketComponents/api/index.d.ts.map +1 -1
- package/lib/typescript/lib/module/MarketComponents/components/LeagueSchedule.d.ts +8 -0
- package/lib/typescript/lib/module/MarketComponents/components/LeagueSchedule.d.ts.map +1 -0
- package/lib/typescript/lib/module/MarketComponents/components/OrderBookChart.d.ts.map +1 -1
- package/lib/typescript/lib/module/index.d.ts +2 -1
- package/lib/typescript/lib/module/index.d.ts.map +1 -1
- package/lib/typescript/src/Competition/components/CompetitionInfoCard.d.ts.map +1 -1
- package/lib/typescript/src/Competition/index.d.ts +1 -1
- package/lib/typescript/src/Competition/index.d.ts.map +1 -1
- package/lib/typescript/src/CompetitionManager/api/index.d.ts +13 -5
- package/lib/typescript/src/CompetitionManager/api/index.d.ts.map +1 -1
- package/lib/typescript/src/CompetitionManager/components/AdminCompetitionList.d.ts +5 -1
- package/lib/typescript/src/CompetitionManager/components/AdminCompetitionList.d.ts.map +1 -1
- package/lib/typescript/src/CompetitionManager/components/AthleteSelector.d.ts +4 -2
- package/lib/typescript/src/CompetitionManager/components/AthleteSelector.d.ts.map +1 -1
- package/lib/typescript/src/CompetitionManager/components/CompanySelector.d.ts +10 -0
- package/lib/typescript/src/CompetitionManager/components/CompanySelector.d.ts.map +1 -0
- package/lib/typescript/src/CompetitionManager/components/CompetitionContestsForm.d.ts +1 -2
- package/lib/typescript/src/CompetitionManager/components/CompetitionContestsForm.d.ts.map +1 -1
- package/lib/typescript/src/CompetitionManager/components/CompetitionHeader.d.ts +3 -1
- package/lib/typescript/src/CompetitionManager/components/CompetitionHeader.d.ts.map +1 -1
- package/lib/typescript/src/CompetitionManager/components/CompetitionInfoForm.d.ts +4 -3
- package/lib/typescript/src/CompetitionManager/components/CompetitionInfoForm.d.ts.map +1 -1
- package/lib/typescript/src/CompetitionManager/components/CompetitionMatchMarketCard.d.ts.map +1 -1
- package/lib/typescript/src/CompetitionManager/components/CompetitionSettingsForm.d.ts +1 -2
- package/lib/typescript/src/CompetitionManager/components/CompetitionSettingsForm.d.ts.map +1 -1
- package/lib/typescript/src/CompetitionManager/components/ContestSettingsForm.d.ts +1 -2
- package/lib/typescript/src/CompetitionManager/components/ContestSettingsForm.d.ts.map +1 -1
- package/lib/typescript/src/CompetitionManager/components/GroupSelector.d.ts +10 -0
- package/lib/typescript/src/CompetitionManager/components/GroupSelector.d.ts.map +1 -0
- package/lib/typescript/src/CompetitionManager/components/MarketSelector.d.ts.map +1 -1
- package/lib/typescript/src/CompetitionManager/index.d.ts +5 -1
- package/lib/typescript/src/CompetitionManager/index.d.ts.map +1 -1
- package/lib/typescript/src/Components/Toggle.d.ts +2 -1
- package/lib/typescript/src/Components/Toggle.d.ts.map +1 -1
- package/lib/typescript/src/CreateEngagement/api/index.d.ts +29 -0
- package/lib/typescript/src/CreateEngagement/api/index.d.ts.map +1 -0
- package/lib/typescript/src/CreateEngagement/index.d.ts +21 -0
- package/lib/typescript/src/CreateEngagement/index.d.ts.map +1 -0
- package/lib/typescript/src/MarketComponents/api/index.d.ts +8 -0
- package/lib/typescript/src/MarketComponents/api/index.d.ts.map +1 -1
- package/lib/typescript/src/MarketComponents/components/LeagueSchedule.d.ts +10 -0
- package/lib/typescript/src/MarketComponents/components/LeagueSchedule.d.ts.map +1 -0
- package/lib/typescript/src/MarketComponents/components/OrderBookChart.d.ts.map +1 -1
- package/lib/typescript/src/index.d.ts +2 -1
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/Authenticator/index.tsx +1 -1
- package/src/Competition/components/CompetitionInfoCard.tsx +4 -0
- package/src/Competition/components/CompetitionLeaderboard.tsx +1 -1
- package/src/Competition/index.tsx +16 -29
- package/src/CompetitionManager/api/index.ts +49 -6
- package/src/CompetitionManager/components/AdminCompetitionList.tsx +247 -176
- package/src/CompetitionManager/components/AthleteSelector.tsx +14 -5
- package/src/CompetitionManager/components/CompanySelector.tsx +58 -0
- package/src/CompetitionManager/components/CompetitionContestsForm.tsx +96 -84
- package/src/CompetitionManager/components/CompetitionHeader.tsx +5 -4
- package/src/CompetitionManager/components/CompetitionInfoForm.tsx +59 -29
- package/src/CompetitionManager/components/CompetitionMatchMarketCard.tsx +9 -14
- package/src/CompetitionManager/components/CompetitionSettingsForm.tsx +30 -36
- package/src/CompetitionManager/components/ContestSelector.tsx +2 -2
- package/src/CompetitionManager/components/ContestSettingsForm.tsx +24 -25
- package/src/CompetitionManager/components/GroupSelector.tsx +57 -0
- package/src/CompetitionManager/components/MarketSelector.tsx +14 -13
- package/src/CompetitionManager/components/PlayerSelector.tsx +1 -1
- package/src/CompetitionManager/index.tsx +49 -33
- package/src/Components/Toggle.tsx +3 -2
- package/src/CreateEngagement/api/index.ts +138 -0
- package/src/CreateEngagement/index.tsx +874 -0
- package/src/MarketComponents/api/index.ts +60 -1
- package/src/MarketComponents/components/LeagueSchedule.tsx +161 -0
- package/src/MarketComponents/components/OrderBookChart.tsx +9 -10
- package/src/constants/useColors.tsx +1 -1
- package/src/index.tsx +2 -0
- package/src/types.d.ts +8 -2
|
@@ -1,13 +1,17 @@
|
|
|
1
1
|
import React, { useEffect, useState } from "react"
|
|
2
|
-
import {
|
|
2
|
+
import { FlatList, Image, ActivityIndicator, type ViewStyle } from "react-native"
|
|
3
3
|
import { ManageCompetitionApi, ManageCompetitionHelpers } from "../api"
|
|
4
|
-
import
|
|
5
|
-
import { view_styles } from "../../constants/styles"
|
|
6
|
-
import { Button, Icons, Text } from "../../Components"
|
|
4
|
+
import { Icons, Toggle } from "../../Components"
|
|
7
5
|
import type { BracketCompetitionProps, CompetitionPlayerBracketProps, CompetitionPlayerProps, CompetitionProps, CompetitionRecordProps, CompetitionResultProps, CompetitionSeasonPlayerProps, CompetitionSeasonProps, CompetitionSeasonResultProps, PlayerBracketProps, SquaresCompetitionProps } from "../../types"
|
|
6
|
+
import { Button, Text, View } from "../../Components/Themed"
|
|
7
|
+
import { useColors } from "../../constants/useColors"
|
|
8
|
+
import Pagination from "../../Components/Pagination"
|
|
8
9
|
|
|
9
10
|
type AdminCompetitionListProps = {
|
|
10
11
|
width:number,
|
|
12
|
+
header_style?:ViewStyle,
|
|
13
|
+
footer_style?:ViewStyle,
|
|
14
|
+
float?:boolean,
|
|
11
15
|
height?:number,
|
|
12
16
|
onSelectCompetition:(competition:CompetitionProps) => void,
|
|
13
17
|
onSelectSquaresCompetition:(squares_competition:SquaresCompetitionProps) => void,
|
|
@@ -15,14 +19,20 @@ type AdminCompetitionListProps = {
|
|
|
15
19
|
onClose: () => void,
|
|
16
20
|
onCreateNew: (engagement_type:'competitions'|'brackets'|'squares') => void
|
|
17
21
|
}
|
|
18
|
-
|
|
19
|
-
const AdminCompetitionList = ({
|
|
22
|
+
const sections = ['header','toggle', 'active_past_toggle', 'pagination', 'loading', 'admin_competitions','competitions','admin_squares','squares', 'admin_brackets', 'brackets']
|
|
23
|
+
const AdminCompetitionList = ({ header_style, float, footer_style, onClose, onCreateNew, onSelectCompetition, onSelectBracketCompetition, onSelectSquaresCompetition }:AdminCompetitionListProps) => {
|
|
24
|
+
const Colors = useColors();
|
|
20
25
|
const [ list_data, setData ] = useState<{
|
|
21
26
|
loading: boolean,
|
|
22
27
|
active_engagement: 'competitions'|'squares'|'brackets'
|
|
23
28
|
active_tab:'active'|'closed',
|
|
24
29
|
offset:number,
|
|
30
|
+
show_admin_competitions:boolean,
|
|
31
|
+
show_admin_squares:boolean,
|
|
32
|
+
show_admin_brackets:boolean,
|
|
25
33
|
admin_competitions:CompetitionProps[],
|
|
34
|
+
admin_squares:SquaresCompetitionProps[],
|
|
35
|
+
admin_brackets:BracketCompetitionProps[],
|
|
26
36
|
competitions:CompetitionProps[],
|
|
27
37
|
competition_players:CompetitionPlayerProps[],
|
|
28
38
|
competition_records:CompetitionRecordProps[],
|
|
@@ -42,8 +52,13 @@ const AdminCompetitionList = ({ width, height, onClose, onCreateNew, onSelectCom
|
|
|
42
52
|
competitions: [],
|
|
43
53
|
competition_players:[],
|
|
44
54
|
competition_records:[],
|
|
55
|
+
show_admin_brackets: false,
|
|
56
|
+
show_admin_competitions: false,
|
|
57
|
+
show_admin_squares: false,
|
|
45
58
|
competition_results:[],
|
|
59
|
+
admin_brackets:[],
|
|
46
60
|
admin_competitions:[],
|
|
61
|
+
admin_squares:[],
|
|
47
62
|
competition_seasons: [],
|
|
48
63
|
competition_season_players:[],
|
|
49
64
|
competition_season_results:[],
|
|
@@ -52,7 +67,7 @@ const AdminCompetitionList = ({ width, height, onClose, onCreateNew, onSelectCom
|
|
|
52
67
|
player_brackets: [],
|
|
53
68
|
squares_competitions: []
|
|
54
69
|
})
|
|
55
|
-
const { offset, active_tab, active_engagement, loading, competitions, admin_competitions, competition_results, bracket_competitions, squares_competitions, competition_player_brackets } = list_data;
|
|
70
|
+
const { offset, active_tab, active_engagement, show_admin_brackets, show_admin_competitions, show_admin_squares, admin_squares, admin_brackets, loading, competitions, admin_competitions, competition_results, bracket_competitions, squares_competitions, competition_player_brackets } = list_data;
|
|
56
71
|
|
|
57
72
|
useEffect(() => {
|
|
58
73
|
ManageCompetitionApi.setEnvironment();
|
|
@@ -96,20 +111,24 @@ const AdminCompetitionList = ({ width, height, onClose, onCreateNew, onSelectCom
|
|
|
96
111
|
return
|
|
97
112
|
case 'brackets':
|
|
98
113
|
if(active_tab == 'active'){
|
|
114
|
+
const admin_bracks_active = await ManageCompetitionApi.getMyActiveAdminBracketCompetitions()
|
|
99
115
|
const b_resp = await ManageCompetitionApi.getMyActiveBracketCompetitions();
|
|
100
116
|
setData({
|
|
101
117
|
...list_data,
|
|
102
118
|
loading:false,
|
|
119
|
+
admin_brackets: admin_bracks_active,
|
|
103
120
|
bracket_competitions: b_resp.bracket_competitions,
|
|
104
121
|
player_brackets: b_resp.player_brackets,
|
|
105
122
|
competition_player_brackets: b_resp.competition_player_brackets,
|
|
106
123
|
offset
|
|
107
124
|
})
|
|
108
125
|
} else {
|
|
126
|
+
const admin_bracks_history = await ManageCompetitionApi.getMyHistoryAdminBracketCompetitions(offset);
|
|
109
127
|
const b_resp = await ManageCompetitionApi.getMyHistoryBracketCompetitions(offset);
|
|
110
128
|
setData({
|
|
111
129
|
...list_data,
|
|
112
130
|
loading:false,
|
|
131
|
+
admin_brackets: admin_bracks_history,
|
|
113
132
|
bracket_competitions: b_resp.bracket_competitions,
|
|
114
133
|
player_brackets: b_resp.player_brackets,
|
|
115
134
|
competition_player_brackets: b_resp.competition_player_brackets,
|
|
@@ -119,18 +138,22 @@ const AdminCompetitionList = ({ width, height, onClose, onCreateNew, onSelectCom
|
|
|
119
138
|
return
|
|
120
139
|
case 'squares':
|
|
121
140
|
if(active_tab == 'active'){
|
|
141
|
+
const active_admin_squares = await ManageCompetitionApi.getMyActiveAdminSquares();
|
|
122
142
|
const s_resp = await ManageCompetitionApi.getMyActiveSquaresCompetitions();
|
|
123
143
|
setData({
|
|
124
144
|
...list_data,
|
|
125
145
|
loading:false,
|
|
126
146
|
offset,
|
|
147
|
+
admin_squares: active_admin_squares,
|
|
127
148
|
squares_competitions: s_resp.squares_competitions
|
|
128
149
|
})
|
|
129
150
|
} else {
|
|
151
|
+
const past_admin_squares = await ManageCompetitionApi.getMyHistoryAdminSquares(offset);
|
|
130
152
|
const s_resp = await ManageCompetitionApi.getMyHistorySquaresCompetitions(offset);
|
|
131
153
|
setData({
|
|
132
154
|
...list_data,
|
|
133
155
|
loading:false,
|
|
156
|
+
admin_squares: past_admin_squares,
|
|
134
157
|
offset,
|
|
135
158
|
squares_competitions: s_resp.squares_competitions
|
|
136
159
|
})
|
|
@@ -144,56 +167,41 @@ const AdminCompetitionList = ({ width, height, onClose, onCreateNew, onSelectCom
|
|
|
144
167
|
const competition_result = competition_results.find(cr => cr.competition_id == data.item.competition_id);
|
|
145
168
|
const cl = data.item.market_type == 'FOR_MONEY' ? '$' : 'E'
|
|
146
169
|
return (
|
|
147
|
-
<
|
|
170
|
+
<Button style={{ flexDirection:'row', alignItems:'center', borderRadius:0, padding:15, borderBottomWidth:1, borderColor:Colors.borders.light }} onPress={() => onSelectCompetition(data.item)}>
|
|
148
171
|
<Image
|
|
149
172
|
source={{ uri: data.item.image?.url }}
|
|
150
173
|
style={{ height:30, width:30, borderRadius:4 }}
|
|
151
174
|
resizeMode="cover"
|
|
152
175
|
/>
|
|
153
176
|
<View style={{ flex:1, marginLeft:10 }}>
|
|
154
|
-
<Text theme="
|
|
155
|
-
<Text style={{ marginTop:3 }} theme="
|
|
177
|
+
<Text theme="h2">{data.item.competition_name}</Text>
|
|
178
|
+
<Text style={{ marginTop:3 }} theme="description">{data.item.competition_description}</Text>
|
|
156
179
|
</View>
|
|
157
180
|
{competition_result ?
|
|
158
181
|
<View style={{ marginRight:10, marginLeft:10, justifyContent:'center' }}>
|
|
159
|
-
<Text size={12}
|
|
160
|
-
<Text size={12}
|
|
182
|
+
<Text size={12}>{ManageCompetitionHelpers.formatPlace(competition_result.place)}</Text>
|
|
183
|
+
<Text size={12} style={{ marginTop:3 }}>{cl}{competition_result.winnings.toFixed(2)}</Text>
|
|
161
184
|
</View>
|
|
162
185
|
:<></>}
|
|
163
|
-
<Icons.ChevronIcon direction='right' size={8} color={Colors.
|
|
164
|
-
</
|
|
165
|
-
)
|
|
166
|
-
}
|
|
167
|
-
|
|
168
|
-
const renderAdminCompetitions = (data: { item:CompetitionProps, index:number }) => {
|
|
169
|
-
return (
|
|
170
|
-
<TouchableOpacity style={{ borderRadius:8, backgroundColor:Colors.shades.white, width: width / 3, borderWidth:1, borderColor:Colors.shades.shade600 }} onPress={() => onSelectCompetition(data.item)}>
|
|
171
|
-
<Image
|
|
172
|
-
source={{ uri: data.item.image?.url }}
|
|
173
|
-
style={{ height:width/3*0.5, width:width/3, borderRadius:4, borderBottomRightRadius:0, borderBottomLeftRadius:0 }}
|
|
174
|
-
resizeMode="cover"
|
|
175
|
-
/>
|
|
176
|
-
<View style={{ marginTop:5, padding:10 }}>
|
|
177
|
-
<Text size={14} textAlign="center" weight='bold'>{data.item.competition_name}</Text>
|
|
178
|
-
</View>
|
|
179
|
-
</TouchableOpacity>
|
|
186
|
+
<Icons.ChevronIcon direction='right' size={8} color={Colors.text.h1}/>
|
|
187
|
+
</Button>
|
|
180
188
|
)
|
|
181
189
|
}
|
|
182
190
|
|
|
183
191
|
const renderSquares = (data: { item:SquaresCompetitionProps, index:number }) => {
|
|
184
192
|
return (
|
|
185
|
-
<
|
|
193
|
+
<Button style={{ flexDirection:'row', alignItems:'center', borderRadius:0, padding:10, borderBottomWidth:1, borderColor:Colors.borders.light }} onPress={() => onSelectSquaresCompetition(data.item)}>
|
|
186
194
|
<Image
|
|
187
195
|
source={{ uri: data.item.image?.url }}
|
|
188
196
|
style={{ height:30, width:30, borderRadius:4 }}
|
|
189
197
|
resizeMode="cover"
|
|
190
198
|
/>
|
|
191
199
|
<View style={{ flex:1, marginLeft:10 }}>
|
|
192
|
-
<Text theme="
|
|
193
|
-
<Text style={{ marginTop:3 }} theme="
|
|
200
|
+
<Text theme="h2">{data.item.sq_comp_name}</Text>
|
|
201
|
+
<Text style={{ marginTop:3 }} theme="description">{data.item.sq_comp_description}</Text>
|
|
194
202
|
</View>
|
|
195
|
-
<Icons.ChevronIcon direction='right' size={8} color={Colors.
|
|
196
|
-
</
|
|
203
|
+
<Icons.ChevronIcon direction='right' size={8} color={Colors.text.h1}/>
|
|
204
|
+
</Button>
|
|
197
205
|
)
|
|
198
206
|
}
|
|
199
207
|
|
|
@@ -201,175 +209,238 @@ const AdminCompetitionList = ({ width, height, onClose, onCreateNew, onSelectCom
|
|
|
201
209
|
const competition_player_bracket = competition_player_brackets.find(cpb => cpb.bracket_competition_id == data.item.bracket_competition_id);
|
|
202
210
|
const cl = data.item.market_type == 'FOR_MONEY' ? '$' : 'E'
|
|
203
211
|
return (
|
|
204
|
-
<
|
|
212
|
+
<Button style={{ flexDirection:'row', alignItems:'center', borderRadius:0, padding:10, borderBottomWidth:1, borderColor:Colors.borders.light }} onPress={() => onSelectBracketCompetition(data.item)}>
|
|
205
213
|
<Image
|
|
206
214
|
source={{ uri: data.item.image?.url }}
|
|
207
215
|
style={{ height:30, width:30, borderRadius:4 }}
|
|
208
216
|
resizeMode="cover"
|
|
209
217
|
/>
|
|
210
218
|
<View style={{ flex:1, marginLeft:10 }}>
|
|
211
|
-
<Text theme="
|
|
212
|
-
<Text style={{ marginTop:3 }} theme="
|
|
219
|
+
<Text theme="h2">{data.item.competition_name}</Text>
|
|
220
|
+
<Text style={{ marginTop:3 }} theme="description">{data.item.competition_description}</Text>
|
|
213
221
|
</View>
|
|
214
222
|
{competition_player_bracket ?
|
|
215
223
|
<View style={{ marginRight:10, marginLeft:10, justifyContent:'center' }}>
|
|
216
|
-
<Text size={12}
|
|
217
|
-
<Text size={12}
|
|
224
|
+
<Text size={12}>{ManageCompetitionHelpers.formatPlace(competition_player_bracket.place)}</Text>
|
|
225
|
+
<Text size={12} style={{ marginTop:3 }}>{cl}{competition_player_bracket.winnings.toFixed(2)}</Text>
|
|
218
226
|
</View>
|
|
219
227
|
:<></>}
|
|
220
|
-
<Icons.ChevronIcon direction='right' size={8} color={Colors.
|
|
221
|
-
</
|
|
228
|
+
<Icons.ChevronIcon direction='right' size={8} color={Colors.text.h1}/>
|
|
229
|
+
</Button>
|
|
222
230
|
)
|
|
223
231
|
}
|
|
224
232
|
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
<
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
<Button
|
|
235
|
-
title="COMPETITIONS"
|
|
236
|
-
title_color={active_engagement == 'competitions' ? Colors.shades.white : Colors.brand.midnight}
|
|
237
|
-
backgroundColor={active_engagement == 'competitions' ? Colors.brand.midnight: Colors.shades.white}
|
|
238
|
-
title_weight={active_engagement == 'competitions' ? 'bold' : 'regular'}
|
|
239
|
-
borderRadius={0}
|
|
240
|
-
padding={10}
|
|
241
|
-
style={{ flex:1, borderTopLeftRadius:22, borderBottomLeftRadius:22 }}
|
|
242
|
-
onPress={() => setData({ ...list_data, active_engagement: 'competitions' })}
|
|
243
|
-
/>
|
|
244
|
-
<Button
|
|
245
|
-
title="SQUARES"
|
|
246
|
-
title_color={active_engagement == 'squares' ? Colors.shades.white : Colors.brand.midnight}
|
|
247
|
-
backgroundColor={active_engagement == 'squares' ? Colors.brand.midnight: Colors.shades.white}
|
|
248
|
-
title_weight={active_engagement == 'squares' ? 'bold' : 'regular'}
|
|
249
|
-
borderRadius={0}
|
|
250
|
-
padding={10}
|
|
251
|
-
style={{ flex:1 }}
|
|
252
|
-
onPress={() => setData({ ...list_data, active_engagement: 'squares' })}
|
|
253
|
-
/>
|
|
254
|
-
<Button
|
|
255
|
-
title="BRACKETS"
|
|
256
|
-
title_color={active_engagement == 'brackets' ? Colors.shades.white : Colors.brand.midnight}
|
|
257
|
-
backgroundColor={active_engagement == 'brackets' ? Colors.brand.midnight: Colors.shades.white}
|
|
258
|
-
title_weight={active_engagement == 'brackets' ? 'bold' : 'regular'}
|
|
259
|
-
borderRadius={0}
|
|
260
|
-
padding={10}
|
|
261
|
-
style={{ flex:1, borderTopRightRadius:22, borderBottomRightRadius:22 }}
|
|
262
|
-
onPress={() => setData({ ...list_data, active_engagement: 'brackets' })}
|
|
263
|
-
/>
|
|
264
|
-
</View>
|
|
265
|
-
<ScrollView style={{ ...view_styles.section_body, padding:0 }}>
|
|
266
|
-
|
|
267
|
-
<View style={{ ...view_styles.section_header, backgroundColor:Colors.shades.shade100 }}>
|
|
268
|
-
<View style={{ flex:1, marginRight:10 }}>
|
|
269
|
-
<Text theme="header">Showing {active_tab} {active_engagement}</Text>
|
|
270
|
-
<Text style={{ marginTop: 3}} theme="body">Use the toggle to the right to see active / closed engagements</Text>
|
|
271
|
-
</View>
|
|
272
|
-
<View style={{ flexDirection:'row' }}>
|
|
233
|
+
const renderSections = (data:{ item:string, index:number }) => {
|
|
234
|
+
switch(data.item){
|
|
235
|
+
case 'header':
|
|
236
|
+
return (
|
|
237
|
+
<View type='header' style={{ flexDirection:'row', alignItems:'center', padding:10, ...header_style }}>
|
|
238
|
+
<View transparent style={{ flex:1 }}>
|
|
239
|
+
<Text theme="h1">My Admin Engagements</Text>
|
|
240
|
+
<Text theme="description" style={{ marginTop:3 }}>Use the buttons below to see your active and past engagements (competitions, brackets, squares, etc)</Text>
|
|
241
|
+
</View>
|
|
273
242
|
<Button
|
|
274
|
-
title="
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
borderRadius={0}
|
|
279
|
-
style={{ borderTopLeftRadius:22, borderBottomLeftRadius:22 }}
|
|
280
|
-
padding={10}
|
|
281
|
-
onPress={() => setData({ ...list_data, active_tab: 'active' })}
|
|
243
|
+
title="X"
|
|
244
|
+
float
|
|
245
|
+
title_color={Colors.text.error}
|
|
246
|
+
onPress={() => onClose()}
|
|
282
247
|
/>
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
248
|
+
</View>
|
|
249
|
+
)
|
|
250
|
+
case 'toggle':
|
|
251
|
+
return (
|
|
252
|
+
<View style={{padding:10}}>
|
|
253
|
+
<Toggle
|
|
254
|
+
options={[
|
|
255
|
+
{ key: 'competitions', label:'Competitions' },
|
|
256
|
+
{ key: 'squares', label: 'Squares' },
|
|
257
|
+
{ key: 'brackets', label: 'Brackets' }
|
|
258
|
+
]}
|
|
259
|
+
selected_option={active_engagement}
|
|
260
|
+
onSelectOption={(o) => setData({ ...list_data, active_engagement: o as 'competitions'|'brackets'|'squares' })}
|
|
292
261
|
/>
|
|
293
262
|
</View>
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
{
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
263
|
+
)
|
|
264
|
+
case 'active_past_toggle':
|
|
265
|
+
return (
|
|
266
|
+
<View style={{ padding:10 }}>
|
|
267
|
+
<Toggle
|
|
268
|
+
options={[
|
|
269
|
+
{ key: 'closed', label:'Closed' },
|
|
270
|
+
{ key: 'active', label: 'Active' }
|
|
271
|
+
]}
|
|
272
|
+
selected_option={active_tab}
|
|
273
|
+
onSelectOption={(o) => setData({ ...list_data, active_tab: o as 'active'|'closed' })}
|
|
274
|
+
/>
|
|
275
|
+
</View>
|
|
276
|
+
)
|
|
277
|
+
case 'pagination':
|
|
278
|
+
if(active_tab != 'closed'){ return <></> }
|
|
279
|
+
return (
|
|
280
|
+
<View transparent>
|
|
281
|
+
<Pagination
|
|
282
|
+
offset={offset}
|
|
283
|
+
onNext={() => getDataFromServer(offset + 1)}
|
|
284
|
+
onPrevious={() => getDataFromServer(offset - 1)}
|
|
285
|
+
/>
|
|
286
|
+
</View>
|
|
287
|
+
)
|
|
288
|
+
case 'loading':
|
|
289
|
+
if(!loading){ return <></> }
|
|
290
|
+
return (
|
|
291
|
+
<View transparent>
|
|
292
|
+
<ActivityIndicator style={{ alignSelf:'center', padding:20 }} size='large' color={Colors.text.h1} />
|
|
293
|
+
</View>
|
|
294
|
+
)
|
|
295
|
+
case 'admin_competitions':
|
|
296
|
+
if(active_engagement != 'competitions'){ return <></> }
|
|
297
|
+
if(admin_competitions.length == 0){ return <></> }
|
|
298
|
+
return (
|
|
299
|
+
<View>
|
|
300
|
+
<View type='header' style={{ flexDirection:'row', alignItems:'center', padding:10 }}>
|
|
301
|
+
<View transparent style={{ flex:1 }}>
|
|
302
|
+
<Text theme="h1">Admin Competitions</Text>
|
|
303
|
+
<Text theme="description" style={{ marginTop:3 }}>Below are the competitions that you are the admin of</Text>
|
|
304
|
+
</View>
|
|
305
|
+
<Button transparent onPress={() => setData({ ...list_data, show_admin_competitions:!show_admin_competitions })}>
|
|
306
|
+
<Icons.ChevronIcon size={10} direction={show_admin_competitions ? 'up' : 'down'} color={Colors.text.action} />
|
|
307
|
+
</Button>
|
|
324
308
|
</View>
|
|
309
|
+
{show_admin_competitions ?
|
|
325
310
|
<FlatList
|
|
326
|
-
key='admin_competition'
|
|
327
311
|
data={admin_competitions}
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
312
|
+
key={'admin_comps_list'}
|
|
313
|
+
keyExtractor={item => `admin_${item.competition_id}`}
|
|
314
|
+
renderItem={renderCompetitions}
|
|
331
315
|
/>
|
|
316
|
+
:<></>}
|
|
332
317
|
</View>
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
318
|
+
)
|
|
319
|
+
case 'competitions':
|
|
320
|
+
if(active_engagement != 'competitions'){ return <></> }
|
|
321
|
+
if(competitions.length == 0){ return <></> }
|
|
322
|
+
return (
|
|
323
|
+
<View>
|
|
324
|
+
<View type='header' style={{ flexDirection:'row', alignItems:'center', padding:10 }}>
|
|
325
|
+
<View transparent style={{ flex:1 }}>
|
|
326
|
+
<Text theme="h1">My Competitions</Text>
|
|
327
|
+
<Text theme="description" style={{ marginTop:3 }}>Below are the competitions that you have joined</Text>
|
|
328
|
+
</View>
|
|
329
|
+
</View>
|
|
330
|
+
<FlatList
|
|
331
|
+
data={competitions}
|
|
332
|
+
key={'competitions_list'}
|
|
333
|
+
keyExtractor={item => item.competition_id.toString()}
|
|
334
|
+
renderItem={renderCompetitions}
|
|
335
|
+
/>
|
|
336
|
+
</View>
|
|
337
|
+
)
|
|
338
|
+
case 'admin_squares':
|
|
339
|
+
if(active_engagement != 'squares'){ return <></> }
|
|
340
|
+
if(admin_squares.length == 0){ return <></> }
|
|
341
|
+
return (
|
|
342
|
+
<View>
|
|
343
|
+
<View type='header' style={{ flexDirection:'row', alignItems:'center', padding:10 }}>
|
|
344
|
+
<View transparent style={{ flex:1 }}>
|
|
345
|
+
<Text theme="h1">Admin Squares Competitions</Text>
|
|
346
|
+
<Text theme="description" style={{ marginTop:3 }}>Below are the squares competitions that you are the admin of</Text>
|
|
347
|
+
</View>
|
|
348
|
+
<Button transparent onPress={() => setData({ ...list_data, show_admin_squares:!show_admin_squares })}>
|
|
349
|
+
<Icons.ChevronIcon size={10} direction={show_admin_squares ? 'up' : 'down'} color={Colors.text.action} />
|
|
350
|
+
</Button>
|
|
351
|
+
</View>
|
|
352
|
+
{show_admin_squares ?
|
|
353
|
+
<FlatList
|
|
354
|
+
data={admin_squares}
|
|
355
|
+
key={'admin_squares_list'}
|
|
356
|
+
keyExtractor={item => `admin_${item.sq_comp_id}`}
|
|
357
|
+
renderItem={renderSquares}
|
|
358
|
+
/>
|
|
359
|
+
:<></>}
|
|
360
|
+
</View>
|
|
361
|
+
)
|
|
362
|
+
case 'squares':
|
|
363
|
+
if(active_engagement != 'squares'){ return <></> }
|
|
364
|
+
if(squares_competitions.length == 0){ return <></> }
|
|
365
|
+
return (
|
|
366
|
+
<View>
|
|
367
|
+
<View type='header' style={{ flexDirection:'row', alignItems:'center', padding:10 }}>
|
|
368
|
+
<View transparent style={{ flex:1 }}>
|
|
369
|
+
<Text theme="h1">Squares Competitions</Text>
|
|
370
|
+
<Text theme="description" style={{ marginTop:3 }}>Below are the squares competitions that you are participating in</Text>
|
|
371
|
+
</View>
|
|
372
|
+
</View>
|
|
373
|
+
<FlatList
|
|
374
|
+
data={squares_competitions}
|
|
375
|
+
key={'squares_list'}
|
|
376
|
+
keyExtractor={item => `${item.sq_comp_id}`}
|
|
377
|
+
renderItem={renderSquares}
|
|
378
|
+
/>
|
|
379
|
+
</View>
|
|
380
|
+
)
|
|
381
|
+
case 'admin_brackets':
|
|
382
|
+
if(active_engagement != 'brackets'){ return <></> }
|
|
383
|
+
if(admin_brackets.length == 0){ return <></> }
|
|
384
|
+
return (
|
|
385
|
+
<View>
|
|
386
|
+
<View type='header' style={{ flexDirection:'row', alignItems:'center', padding:10 }}>
|
|
387
|
+
<View transparent style={{ flex:1 }}>
|
|
388
|
+
<Text theme="h1">Admin Bracket Competitions</Text>
|
|
389
|
+
<Text theme="description" style={{ marginTop:3 }}>Below are the bracket competitions that you are the admin of</Text>
|
|
390
|
+
</View>
|
|
391
|
+
<Button transparent onPress={() => setData({ ...list_data, show_admin_brackets:!show_admin_brackets })}>
|
|
392
|
+
<Icons.ChevronIcon size={10} direction={show_admin_brackets ? 'up' : 'down'} color={Colors.text.action} />
|
|
393
|
+
</Button>
|
|
394
|
+
</View>
|
|
395
|
+
{show_admin_brackets ?
|
|
396
|
+
<FlatList
|
|
397
|
+
data={admin_brackets}
|
|
398
|
+
key={'admin_brackets_list'}
|
|
399
|
+
keyExtractor={item => `admin_${item.bracket_competition_id}`}
|
|
400
|
+
renderItem={renderBrackets}
|
|
401
|
+
/>
|
|
402
|
+
:<></>}
|
|
403
|
+
</View>
|
|
404
|
+
)
|
|
405
|
+
case 'brackets':
|
|
406
|
+
if(active_engagement != 'brackets'){ return <></> }
|
|
407
|
+
if(bracket_competitions.length == 0){ return <></> }
|
|
408
|
+
return (
|
|
409
|
+
<View>
|
|
410
|
+
<View type='header' style={{ flexDirection:'row', alignItems:'center', padding:10 }}>
|
|
411
|
+
<View transparent style={{ flex:1 }}>
|
|
412
|
+
<Text theme="h1">Bracket Competitions</Text>
|
|
413
|
+
<Text theme="description" style={{ marginTop:3 }}>Below are the bracket competitions that you have participated in</Text>
|
|
414
|
+
</View>
|
|
415
|
+
</View>
|
|
416
|
+
<FlatList
|
|
417
|
+
data={bracket_competitions}
|
|
418
|
+
key={'brackets_list'}
|
|
419
|
+
keyExtractor={item => `${item.bracket_competition_id}`}
|
|
420
|
+
renderItem={renderBrackets}
|
|
421
|
+
/>
|
|
422
|
+
</View>
|
|
423
|
+
)
|
|
424
|
+
default: return <></>
|
|
425
|
+
}
|
|
426
|
+
}
|
|
427
|
+
|
|
428
|
+
return (
|
|
429
|
+
<View float={float} style={{ flex:1 }}>
|
|
430
|
+
<View transparent style={{ flex:1 }}>
|
|
348
431
|
<FlatList
|
|
349
|
-
data={
|
|
350
|
-
|
|
351
|
-
keyExtractor={
|
|
432
|
+
data={sections}
|
|
433
|
+
key={'admin_list'}
|
|
434
|
+
keyExtractor={item => item}
|
|
435
|
+
renderItem={renderSections}
|
|
352
436
|
/>
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
<View style={{ ...view_styles.section_footer }}>
|
|
437
|
+
</View>
|
|
438
|
+
<View type='footer' style={{ flexDirection:'row', alignItems:'center', padding:10, ...footer_style }}>
|
|
358
439
|
<Button
|
|
359
|
-
|
|
360
|
-
style={{ flex:1, marginRight:5 }}
|
|
361
|
-
title_color={Colors.shades.white}
|
|
362
|
-
backgroundColor={Colors.utility.success}
|
|
363
|
-
padding={15}
|
|
440
|
+
style={{ flex:1 }}
|
|
364
441
|
onPress={() => onCreateNew(active_engagement)}
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
title="CLOSE"
|
|
368
|
-
title_color={Colors.shades.white}
|
|
369
|
-
style={{ flex:2, marginRight:8 }}
|
|
370
|
-
padding={15}
|
|
371
|
-
backgroundColor={Colors.utility.error}
|
|
372
|
-
onPress={() => onClose()}
|
|
442
|
+
type="success"
|
|
443
|
+
title="CREATE NEW ENGAGEMENT"
|
|
373
444
|
/>
|
|
374
445
|
</View>
|
|
375
446
|
</View>
|
|
@@ -2,7 +2,7 @@ import React, { useEffect, useState } from 'react';
|
|
|
2
2
|
import { FlatList, Image, ActivityIndicator } from 'react-native';
|
|
3
3
|
import { Switch, Toggle } from '../../Components';
|
|
4
4
|
import SearchBox from '../../Components/SearchBox';
|
|
5
|
-
import type { AthleteProps, EventProps, MatchProps, TournamentProps } from '../../types';
|
|
5
|
+
import type { AthleteProps, EventProps, MatchProps, TournamentProps, TradeProps } from '../../types';
|
|
6
6
|
import { ManageCompetitionMatchApi } from '../api';
|
|
7
7
|
import { Button, Text, View } from '../../Components/Themed';
|
|
8
8
|
import { useColors } from '../../constants/useColors';
|
|
@@ -12,28 +12,32 @@ type AthleteSelectorProps = {
|
|
|
12
12
|
tournament?:TournamentProps,
|
|
13
13
|
match?:MatchProps,
|
|
14
14
|
selected_athletes: string[],
|
|
15
|
+
trades:TradeProps[],
|
|
15
16
|
filtered_athletes:string[],
|
|
16
17
|
filtered_positions:string[],
|
|
18
|
+
active_market?:string,
|
|
17
19
|
onSelectAthlete:(athlete:AthleteProps) => void,
|
|
18
20
|
onDeselectAthlete:(athlete:AthleteProps) => void,
|
|
19
21
|
onClose:() => void
|
|
20
22
|
}
|
|
21
23
|
|
|
22
|
-
const AthleteSelector = ({ event, tournament, match, filtered_athletes, selected_athletes, filtered_positions, onSelectAthlete, onDeselectAthlete, onClose }:AthleteSelectorProps) => {
|
|
24
|
+
const AthleteSelector = ({ event, tournament, match, trades, active_market, filtered_athletes, selected_athletes, filtered_positions, onSelectAthlete, onDeselectAthlete, onClose }:AthleteSelectorProps) => {
|
|
23
25
|
const Colors = useColors();
|
|
24
26
|
const [ search_value, setSearchValue ] = useState('');
|
|
25
27
|
const [ selector_data, setSelectorData ] = useState<{
|
|
26
28
|
loading:boolean,
|
|
27
29
|
athletes:AthleteProps[],
|
|
30
|
+
trade_athletes:AthleteProps[],
|
|
28
31
|
event_side:string
|
|
29
32
|
}>({
|
|
30
33
|
loading: false,
|
|
31
34
|
athletes: [],
|
|
35
|
+
trade_athletes: [],
|
|
32
36
|
event_side: 'away'
|
|
33
37
|
})
|
|
34
|
-
const {
|
|
38
|
+
const { loading, event_side, trade_athletes } = selector_data;
|
|
35
39
|
|
|
36
|
-
let available_athletes =
|
|
40
|
+
let available_athletes = trade_athletes.filter(a => `${a.first_name} ${a.last_name}`.toLowerCase().includes(search_value.toLowerCase()));
|
|
37
41
|
if(filtered_athletes.length > 0){
|
|
38
42
|
available_athletes = available_athletes.filter(a => filtered_athletes.map(a => a.toString()).includes(a.athlete_id.toString()))
|
|
39
43
|
}
|
|
@@ -54,11 +58,16 @@ const AthleteSelector = ({ event, tournament, match, filtered_athletes, selected
|
|
|
54
58
|
if(event){
|
|
55
59
|
let away_athletes = await ManageCompetitionMatchApi.getAthletesByTeamId(event.away_team_id);
|
|
56
60
|
let home_athletes = await ManageCompetitionMatchApi.getAthletesByTeamId(event.home_team_id);
|
|
57
|
-
avail_athletes = away_athletes.concat(home_athletes)
|
|
61
|
+
avail_athletes = away_athletes.concat(home_athletes);
|
|
58
62
|
}
|
|
63
|
+
//Get all the side ids for this market
|
|
64
|
+
let trade_athlete_ids = [ ...new Set(trades.filter(t => t.event_type == 'team' && t.event_id == event?.event_id && t.market_id == active_market && t.side_type == 'athlete').map(t => t.side_id)) ]
|
|
65
|
+
let trade_athletes_avail = avail_athletes.filter(a => trade_athlete_ids.includes(a.athlete_id))
|
|
66
|
+
//Lets filter
|
|
59
67
|
setSelectorData({
|
|
60
68
|
...selector_data,
|
|
61
69
|
loading:false,
|
|
70
|
+
trade_athletes: trade_athletes_avail,
|
|
62
71
|
athletes: avail_athletes
|
|
63
72
|
})
|
|
64
73
|
}
|