@universal-tennis/ui-shared 0.1.87 → 0.1.89
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/.eslintignore +1 -1
- package/.eslintrc.js +73 -73
- package/.storybook/preview.js +17 -17
- package/.storybook/variables.css +16 -16
- package/README.md +129 -129
- package/dist/App.d.ts +2 -2
- package/dist/App.js +12 -12
- package/dist/components.d.ts +38 -38
- package/dist/components.js +43 -43
- package/dist/index.d.ts +1 -1
- package/dist/index.js +12 -12
- package/dist/items.d.ts +2 -2
- package/dist/items.js +1 -1
- package/dist/stories/assets/css/variables.css +15 -15
- package/dist/stories/assets/icon-chat-blue.svg +10 -10
- package/dist/stories/assets/utr-sports-logo.svg +9 -9
- package/dist/stories/atoms/Button/Button.d.ts +10 -10
- package/dist/stories/atoms/Button/Button.js +95 -95
- package/dist/stories/atoms/Button/Button.stories.d.ts +17 -17
- package/dist/stories/atoms/Button/Button.stories.js +45 -45
- package/dist/stories/atoms/Icons/AddIcon.d.ts +3 -3
- package/dist/stories/atoms/Icons/AddIcon.js +8 -8
- package/dist/stories/atoms/Icons/AvailabilityMaybeIcon.d.ts +3 -3
- package/dist/stories/atoms/Icons/AvailabilityMaybeIcon.js +6 -6
- package/dist/stories/atoms/Icons/AvailabilityNoIcon.d.ts +3 -3
- package/dist/stories/atoms/Icons/AvailabilityNoIcon.js +6 -6
- package/dist/stories/atoms/Icons/AvailabilityNotSetIcon.d.ts +3 -3
- package/dist/stories/atoms/Icons/AvailabilityNotSetIcon.js +7 -7
- package/dist/stories/atoms/Icons/AvailabilityYesIcon.d.ts +3 -3
- package/dist/stories/atoms/Icons/AvailabilityYesIcon.js +6 -6
- package/dist/stories/atoms/Icons/CalendarIcon.d.ts +3 -3
- package/dist/stories/atoms/Icons/CalendarIcon.js +6 -6
- package/dist/stories/atoms/Icons/ClockIcon.d.ts +3 -3
- package/dist/stories/atoms/Icons/ClockIcon.js +8 -8
- package/dist/stories/atoms/Icons/CloseIcon.d.ts +3 -3
- package/dist/stories/atoms/Icons/CloseIcon.js +6 -6
- package/dist/stories/atoms/Icons/DeleteIcon.d.ts +3 -3
- package/dist/stories/atoms/Icons/DeleteIcon.js +10 -10
- package/dist/stories/atoms/Icons/DoublePersonIcon.d.ts +3 -3
- package/dist/stories/atoms/Icons/DoublePersonIcon.js +13 -13
- package/dist/stories/atoms/Icons/EditIcon.d.ts +3 -3
- package/dist/stories/atoms/Icons/EditIcon.js +6 -6
- package/dist/stories/atoms/Icons/Icons.stories.d.ts +33 -33
- package/dist/stories/atoms/Icons/Icons.stories.js +269 -269
- package/dist/stories/atoms/Icons/LeftChevronIcon.d.ts +3 -3
- package/dist/stories/atoms/Icons/LeftChevronIcon.js +6 -6
- package/dist/stories/atoms/Icons/LineIcon.d.ts +3 -3
- package/dist/stories/atoms/Icons/LineIcon.js +6 -6
- package/dist/stories/atoms/Icons/LocationIcon.d.ts +3 -3
- package/dist/stories/atoms/Icons/LocationIcon.js +7 -7
- package/dist/stories/atoms/Icons/MessageIcon.d.ts +3 -3
- package/dist/stories/atoms/Icons/MessageIcon.js +6 -6
- package/dist/stories/atoms/Icons/RightChevronIcon.d.ts +3 -3
- package/dist/stories/atoms/Icons/RightChevronIcon.js +6 -6
- package/dist/stories/atoms/Icons/SessionIcon.d.ts +3 -3
- package/dist/stories/atoms/Icons/SessionIcon.js +6 -6
- package/dist/stories/atoms/Icons/SinglePersonIcon.d.ts +3 -3
- package/dist/stories/atoms/Icons/SinglePersonIcon.js +9 -9
- package/dist/stories/atoms/Icons/SocialMediaFacebookIcon.d.ts +3 -3
- package/dist/stories/atoms/Icons/SocialMediaFacebookIcon.js +10 -10
- package/dist/stories/atoms/Icons/SocialMediaInstagramIcon.d.ts +3 -3
- package/dist/stories/atoms/Icons/SocialMediaInstagramIcon.js +6 -6
- package/dist/stories/atoms/Icons/SocialMediaTikTokIcon.d.ts +3 -3
- package/dist/stories/atoms/Icons/SocialMediaTikTokIcon.js +10 -10
- package/dist/stories/atoms/Icons/SocialMediaXIcon.d.ts +3 -3
- package/dist/stories/atoms/Icons/SocialMediaXIcon.js +10 -10
- package/dist/stories/atoms/Icons/SocialMediaYoutubeIcon.d.ts +3 -3
- package/dist/stories/atoms/Icons/SocialMediaYoutubeIcon.js +6 -6
- package/dist/stories/atoms/Icons/SwapIcon.d.ts +3 -3
- package/dist/stories/atoms/Icons/SwapIcon.js +6 -6
- package/dist/stories/atoms/Icons/SwapNoBorderIcon.d.ts +3 -3
- package/dist/stories/atoms/Icons/SwapNoBorderIcon.js +9 -9
- package/dist/stories/atoms/Icons/VerifiedIcon.d.ts +3 -3
- package/dist/stories/atoms/Icons/VerifiedIcon.js +7 -7
- package/dist/stories/atoms/Icons/VisibilityIcon.d.ts +3 -3
- package/dist/stories/atoms/Icons/VisibilityIcon.js +7 -7
- package/dist/stories/atoms/Icons/VisibilityOffIcon.d.ts +3 -3
- package/dist/stories/atoms/Icons/VisibilityOffIcon.js +8 -8
- package/dist/stories/atoms/Icons/WinnerIndicatorIcon.d.ts +3 -3
- package/dist/stories/atoms/Icons/WinnerIndicatorIcon.js +31 -31
- package/dist/stories/atoms/Icons/sharedTypes.d.ts +11 -11
- package/dist/stories/atoms/Icons/sharedTypes.js +1 -1
- package/dist/stories/atoms/Map/Map.d.ts +7 -0
- package/dist/stories/atoms/Map/Map.js +9 -0
- package/dist/stories/atoms/Map/Map.js.map +1 -0
- package/dist/stories/atoms/Map/Map.stories.d.ts +9 -0
- package/dist/stories/atoms/Map/Map.stories.js +36 -0
- package/dist/stories/atoms/Map/Map.stories.js.map +1 -0
- package/dist/stories/atoms/Typography/Typography.d.ts +49 -49
- package/dist/stories/atoms/Typography/Typography.js +143 -143
- package/dist/stories/atoms/Typography/Typography.stories.d.ts +37 -37
- package/dist/stories/atoms/Typography/Typography.stories.js +190 -190
- package/dist/stories/atoms/UTMap/UTMap.d.ts +7 -7
- package/dist/stories/atoms/UTMap/UTMap.js +8 -8
- package/dist/stories/atoms/UTMap/UTMap.stories.d.ts +9 -9
- package/dist/stories/atoms/UTMap/UTMap.stories.js +35 -35
- package/dist/stories/molecules/AvatarWithName/AvatarWithName.d.ts +27 -27
- package/dist/stories/molecules/AvatarWithName/AvatarWithName.js +20 -20
- package/dist/stories/molecules/AvatarWithName/AvatarWithName.stories.d.ts +15 -15
- package/dist/stories/molecules/AvatarWithName/AvatarWithName.stories.js +72 -72
- package/dist/stories/molecules/Cards/Cards.stories.d.ts +7 -7
- package/dist/stories/molecules/Cards/Cards.stories.js +64 -64
- package/dist/stories/molecules/Cards/ContactCard.d.ts +3 -3
- package/dist/stories/molecules/Cards/ContactCard.js +38 -38
- package/dist/stories/molecules/Cards/DrawCard.d.ts +3 -3
- package/dist/stories/molecules/Cards/DrawCard.js +116 -116
- package/dist/stories/molecules/Cards/Modals.stories.d.ts +5 -5
- package/dist/stories/molecules/Cards/Modals.stories.js +72 -72
- package/dist/stories/molecules/Cards/TeamCard.d.ts +3 -3
- package/dist/stories/molecules/Cards/TeamCard.js +20 -20
- package/dist/stories/molecules/Cards/TeamDrawCard.d.ts +3 -3
- package/dist/stories/molecules/Cards/TeamDrawCard.js +78 -78
- package/dist/stories/molecules/Cards/TeamDrawCard.js.map +1 -1
- package/dist/stories/molecules/Cards/shared.d.ts +4 -9
- package/dist/stories/molecules/Cards/shared.js +12 -12
- package/dist/stories/molecules/Cards/sharedTypes.d.ts +61 -61
- package/dist/stories/molecules/Cards/sharedTypes.js +2 -2
- package/dist/stories/molecules/FooterSection/FooterSection.d.ts +4 -4
- package/dist/stories/molecules/FooterSection/FooterSection.js +11 -11
- package/dist/stories/molecules/FooterSection/FooterSection.stories.d.ts +5 -5
- package/dist/stories/molecules/FooterSection/FooterSection.stories.js +20 -20
- package/dist/stories/molecules/FooterSection/sharedTypes.d.ts +5 -5
- package/dist/stories/molecules/FooterSection/sharedTypes.js +1 -1
- package/dist/stories/molecules/SquareAvatarWithName/SquareAvatarWithName.d.ts +29 -29
- package/dist/stories/molecules/SquareAvatarWithName/SquareAvatarWithName.js +32 -29
- package/dist/stories/molecules/SquareAvatarWithName/SquareAvatarWithName.js.map +1 -1
- package/dist/stories/molecules/SquareAvatarWithName/SquareAvatarWithName.stories.d.ts +16 -16
- package/dist/stories/molecules/SquareAvatarWithName/SquareAvatarWithName.stories.js +81 -81
- package/dist/stories/organisms/Footer/Footer.d.ts +4 -4
- package/dist/stories/organisms/Footer/Footer.js +61 -61
- package/dist/stories/organisms/Footer/Footer.stories.d.ts +5 -5
- package/dist/stories/organisms/Footer/Footer.stories.js +58 -58
- package/dist/stories/organisms/Footer/sharedTypes.d.ts +14 -14
- package/dist/stories/organisms/Footer/sharedTypes.js +1 -1
- package/dist/stories/organisms/Modals/FullPageModal.d.ts +4 -4
- package/dist/stories/organisms/Modals/FullPageModal.js +59 -59
- package/dist/stories/organisms/Modals/Modals.stories.d.ts +5 -5
- package/dist/stories/organisms/Modals/Modals.stories.js +73 -73
- package/dist/stories/organisms/Modals/sharedTypes.d.ts +14 -14
- package/dist/stories/organisms/Modals/sharedTypes.js +1 -1
- package/dist/stories/organisms/Tables/DrawCardTable.d.ts +3 -3
- package/dist/stories/organisms/Tables/DrawCardTable.js +58 -58
- package/dist/stories/organisms/Tables/SortableTable.d.ts +23 -23
- package/dist/stories/organisms/Tables/SortableTable.js +34 -34
- package/dist/stories/organisms/Tables/Tables.stories.d.ts +8 -8
- package/dist/stories/organisms/Tables/Tables.stories.js +90 -90
- package/dist/stories/organisms/Tables/TeamDrawCardTable/DesktopTableRows.d.ts +3 -3
- package/dist/stories/organisms/Tables/TeamDrawCardTable/DesktopTableRows.js +66 -66
- package/dist/stories/organisms/Tables/TeamDrawCardTable/MobileTableRows.d.ts +3 -3
- package/dist/stories/organisms/Tables/TeamDrawCardTable/MobileTableRows.js +43 -43
- package/dist/stories/organisms/Tables/TeamDrawCardTable/TeamDrawCardTable.d.ts +3 -3
- package/dist/stories/organisms/Tables/TeamDrawCardTable/TeamDrawCardTable.js +22 -22
- package/dist/stories/organisms/Tables/TeamDrawCardTable.d.ts +3 -0
- package/dist/stories/organisms/Tables/TeamDrawCardTable.js +126 -0
- package/dist/stories/organisms/Tables/TeamDrawCardTable.js.map +1 -0
- package/dist/stories/organisms/Tables/mockData.d.ts +71 -71
- package/dist/stories/organisms/Tables/mockData.js +99 -99
- package/dist/stories/organisms/Tables/mockData.js.map +1 -1
- package/dist/stories/organisms/Tables/sharedTypes.d.ts +15 -15
- package/dist/stories/organisms/Tables/sharedTypes.js +1 -1
- package/dist/stories/utils/constants.d.ts +10 -10
- package/dist/stories/utils/constants.js +10 -10
- package/dist/stories/utils/getArrayWithIds.d.ts +3 -3
- package/dist/stories/utils/getArrayWithIds.js +1 -1
- package/dist/stories/utils/useScreenSize.d.ts +4 -4
- package/dist/stories/utils/useScreenSize.js +27 -27
- package/dist/types/tableDataTypes.d.ts +38 -38
- package/dist/types/tableDataTypes.js +1 -1
- package/infrastructure/azure-pipelines.yml +112 -112
- package/package.json +100 -100
- package/src/App.js +25 -25
- package/src/components.jsx +47 -47
- package/src/custom.d.ts +13 -13
- package/src/index.js +17 -17
- package/src/items.jsx +1 -1
- package/src/stories/assets/css/variables.css +15 -15
- package/src/stories/assets/icon-chat-blue.svg +10 -10
- package/src/stories/assets/icons/icon-add.svg +7 -7
- package/src/stories/assets/icons/icon-availability-maybe.svg +3 -3
- package/src/stories/assets/icons/icon-availability-no.svg +3 -3
- package/src/stories/assets/icons/icon-availability-not-set.svg +8 -8
- package/src/stories/assets/icons/icon-availability-yes.svg +3 -3
- package/src/stories/assets/icons/icon-calendar.svg +4 -4
- package/src/stories/assets/icons/icon-clock.svg +7 -7
- package/src/stories/assets/icons/icon-close.svg +3 -3
- package/src/stories/assets/icons/icon-delete.svg +9 -9
- package/src/stories/assets/icons/icon-edit.svg +3 -3
- package/src/stories/assets/icons/icon-location.svg +6 -6
- package/src/stories/assets/icons/icon-message.svg +3 -3
- package/src/stories/assets/icons/icon-session.svg +3 -3
- package/src/stories/assets/icons/icon-social-media-facebook.svg +10 -10
- package/src/stories/assets/icons/icon-social-media-instagram.svg +3 -3
- package/src/stories/assets/icons/icon-social-media-tiktok.svg +10 -10
- package/src/stories/assets/icons/icon-social-media-x.svg +10 -10
- package/src/stories/assets/icons/icon-social-media-youtube.svg +3 -3
- package/src/stories/assets/icons/icon-swap.svg +3 -3
- package/src/stories/assets/icons/icon-visibility-off.svg +7 -7
- package/src/stories/assets/icons/icon-visibility.svg +6 -6
- package/src/stories/assets/utr-sports-logo.svg +9 -9
- package/src/stories/atoms/Button/Button.stories.tsx +63 -63
- package/src/stories/atoms/Button/Button.tsx +145 -145
- package/src/stories/atoms/Icons/AddIcon.tsx +13 -13
- package/src/stories/atoms/Icons/AvailabilityMaybeIcon.tsx +11 -11
- package/src/stories/atoms/Icons/AvailabilityNoIcon.tsx +11 -11
- package/src/stories/atoms/Icons/AvailabilityNotSetIcon.tsx +12 -12
- package/src/stories/atoms/Icons/AvailabilityYesIcon.tsx +11 -11
- package/src/stories/atoms/Icons/CalendarIcon.tsx +11 -11
- package/src/stories/atoms/Icons/ClockIcon.tsx +14 -14
- package/src/stories/atoms/Icons/CloseIcon.tsx +11 -11
- package/src/stories/atoms/Icons/DeleteIcon.tsx +15 -15
- package/src/stories/atoms/Icons/DoublePersonIcon.tsx +20 -20
- package/src/stories/atoms/Icons/EditIcon.tsx +11 -11
- package/src/stories/atoms/Icons/Icons.stories.tsx +330 -330
- package/src/stories/atoms/Icons/LeftChevronIcon.tsx +13 -13
- package/src/stories/atoms/Icons/LineIcon.tsx +12 -12
- package/src/stories/atoms/Icons/LocationIcon.tsx +12 -12
- package/src/stories/atoms/Icons/MessageIcon.tsx +12 -12
- package/src/stories/atoms/Icons/RightChevronIcon.tsx +11 -11
- package/src/stories/atoms/Icons/SessionIcon.tsx +16 -16
- package/src/stories/atoms/Icons/SinglePersonIcon.tsx +16 -16
- package/src/stories/atoms/Icons/SocialMediaFacebookIcon.tsx +19 -19
- package/src/stories/atoms/Icons/SocialMediaInstagramIcon.tsx +11 -11
- package/src/stories/atoms/Icons/SocialMediaTikTokIcon.tsx +18 -18
- package/src/stories/atoms/Icons/SocialMediaXIcon.tsx +18 -18
- package/src/stories/atoms/Icons/SocialMediaYoutubeIcon.tsx +11 -11
- package/src/stories/atoms/Icons/SwapIcon.tsx +11 -11
- package/src/stories/atoms/Icons/SwapNoBorderIcon.tsx +14 -14
- package/src/stories/atoms/Icons/VerifiedIcon.tsx +13 -13
- package/src/stories/atoms/Icons/VisibilityIcon.tsx +12 -12
- package/src/stories/atoms/Icons/VisibilityOffIcon.tsx +13 -13
- package/src/stories/atoms/Icons/WinnerIndicatorIcon.tsx +39 -39
- package/src/stories/atoms/Icons/sharedTypes.tsx +12 -12
- package/src/stories/atoms/Typography/Typography.tsx +185 -185
- package/src/stories/atoms/UTMap/UTMap.stories.tsx +43 -43
- package/src/stories/atoms/UTMap/UTMap.tsx +25 -25
- package/src/stories/molecules/AvatarWithName/AvatarWithName.stories.tsx +86 -86
- package/src/stories/molecules/AvatarWithName/AvatarWithName.tsx +68 -68
- package/src/stories/molecules/Cards/Cards.stories.tsx +76 -76
- package/src/stories/molecules/Cards/ContactCard.tsx +45 -45
- package/src/stories/molecules/Cards/DrawCard.tsx +211 -211
- package/src/stories/molecules/Cards/Modals.stories.tsx +137 -137
- package/src/stories/molecules/Cards/TeamCard.tsx +14 -14
- package/src/stories/molecules/Cards/TeamDrawCard.tsx +159 -159
- package/src/stories/molecules/Cards/sharedTypes.ts +69 -69
- package/src/stories/molecules/FooterSection/FooterSection.stories.tsx +25 -25
- package/src/stories/molecules/FooterSection/FooterSection.tsx +34 -34
- package/src/stories/molecules/FooterSection/sharedTypes.ts +6 -6
- package/src/stories/molecules/SquareAvatarWithName/SquareAvatarWithName.stories.tsx +96 -96
- package/src/stories/molecules/SquareAvatarWithName/SquareAvatarWithName.tsx +112 -99
- package/src/stories/organisms/Footer/Footer.stories.tsx +63 -63
- package/src/stories/organisms/Footer/Footer.tsx +118 -118
- package/src/stories/organisms/Footer/sharedTypes.ts +14 -14
- package/src/stories/organisms/Modals/FullPageModal.tsx +93 -93
- package/src/stories/organisms/Modals/Modals.stories.tsx +138 -138
- package/src/stories/organisms/Modals/sharedTypes.ts +15 -15
- package/src/stories/organisms/Tables/DrawCardTable.tsx +92 -92
- package/src/stories/organisms/Tables/SortableTable.tsx +119 -119
- package/src/stories/organisms/Tables/Tables.stories.tsx +104 -104
- package/src/stories/organisms/Tables/TeamDrawCardTable/DesktopTableRows.tsx +120 -120
- package/src/stories/organisms/Tables/TeamDrawCardTable/MobileTableRows.tsx +67 -67
- package/src/stories/organisms/Tables/TeamDrawCardTable/TeamDrawCardTable.tsx +24 -24
- package/src/stories/organisms/Tables/mockData.tsx +131 -131
- package/src/stories/organisms/Tables/sharedTypes.ts +17 -17
- package/src/stories/utils/constants.ts +11 -11
- package/src/stories/utils/getArrayWithIds.ts +1 -1
- package/src/stories/utils/useScreenSize.ts +28 -28
- package/src/types/tableDataTypes.ts +42 -42
- package/tsconfig.json +23 -23
- package/dist/stories/Button.d.ts +0 -27
- package/dist/stories/Button.js +0 -51
- package/dist/stories/Button.js.map +0 -1
- package/dist/stories/Button.stories.d.ts +0 -15
- package/dist/stories/Button.stories.js +0 -34
- package/dist/stories/Button.stories.js.map +0 -1
- package/dist/stories/Header.d.ts +0 -19
- package/dist/stories/Header.js +0 -31
- package/dist/stories/Header.js.map +0 -1
- package/dist/stories/Header.stories.d.ts +0 -11
- package/dist/stories/Header.stories.js +0 -20
- package/dist/stories/Header.stories.js.map +0 -1
- package/dist/stories/Page.d.ts +0 -1
- package/dist/stories/Page.js +0 -38
- package/dist/stories/Page.js.map +0 -1
- package/dist/stories/Page.stories.d.ts +0 -11
- package/dist/stories/Page.stories.js +0 -30
- package/dist/stories/Page.stories.js.map +0 -1
- package/dist/stories/assets/comments.svg +0 -1
- package/dist/stories/assets/direction.svg +0 -1
- package/dist/stories/atoms/Button/index.d.ts +0 -1
- package/dist/stories/atoms/Button/index.js +0 -2
- package/dist/stories/atoms/Button/index.js.map +0 -1
- package/dist/stories/atoms/Button.d.ts +0 -7
- package/dist/stories/atoms/Button.js +0 -20
- package/dist/stories/atoms/Button.js.map +0 -1
- package/dist/stories/atoms/Button.stories.d.ts +0 -13
- package/dist/stories/atoms/Button.stories.js +0 -22
- package/dist/stories/atoms/Button.stories.js.map +0 -1
- package/dist/stories/atoms/Typography/index.d.ts +0 -1
- package/dist/stories/atoms/Typography/index.js +0 -2
- package/dist/stories/atoms/Typography/index.js.map +0 -1
|
@@ -1,99 +1,112 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
|
|
3
|
-
import Avatar from '@mui/material/Avatar';
|
|
4
|
-
import Box from '@mui/material/Box';
|
|
5
|
-
import Link from '@mui/material/Link';
|
|
6
|
-
|
|
7
|
-
import Typography from '../../atoms/Typography/Typography';
|
|
8
|
-
|
|
9
|
-
export interface SquareAvatarWithNameProps {
|
|
10
|
-
avatarOnly?: boolean;
|
|
11
|
-
avatarFontCategory?: string;
|
|
12
|
-
avatarFontSize?: string;
|
|
13
|
-
avatarWidth?: string;
|
|
14
|
-
avatarHeight?: string;
|
|
15
|
-
href?: string,
|
|
16
|
-
maxLinkWidth?: string,
|
|
17
|
-
name: string;
|
|
18
|
-
fontCategory?: string;
|
|
19
|
-
fontSize?: string;
|
|
20
|
-
disabled?: boolean;
|
|
21
|
-
subtitle?: string;
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
export default function SquareAvatarWithName({
|
|
25
|
-
avatarOnly = false, name = '', avatarFontSize = 'small-medium', href = '',
|
|
26
|
-
avatarFontCategory = 'primary', avatarWidth = '26px', avatarHeight = '26px',
|
|
27
|
-
fontSize = 'medium-book', fontCategory = 'secondary', disabled = false, maxLinkWidth = "auto", subtitle = ''
|
|
28
|
-
}) {
|
|
29
|
-
const getAcronym = (str: string) => {
|
|
30
|
-
const cleanStr = str?.replace(/[^a-zA-Z\s]/g, '').split(' '); // Remove non-letter and non-space characters
|
|
31
|
-
const acronym = cleanStr?.map((word) => word.charAt(0)).join('').substring(0, 3);
|
|
32
|
-
return acronym;
|
|
33
|
-
};
|
|
34
|
-
|
|
35
|
-
const
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
1
|
+
import React from 'react';
|
|
2
|
+
|
|
3
|
+
import Avatar from '@mui/material/Avatar';
|
|
4
|
+
import Box from '@mui/material/Box';
|
|
5
|
+
import Link from '@mui/material/Link';
|
|
6
|
+
|
|
7
|
+
import Typography from '../../atoms/Typography/Typography';
|
|
8
|
+
|
|
9
|
+
export interface SquareAvatarWithNameProps {
|
|
10
|
+
avatarOnly?: boolean;
|
|
11
|
+
avatarFontCategory?: string;
|
|
12
|
+
avatarFontSize?: string;
|
|
13
|
+
avatarWidth?: string;
|
|
14
|
+
avatarHeight?: string;
|
|
15
|
+
href?: string,
|
|
16
|
+
maxLinkWidth?: string,
|
|
17
|
+
name: string;
|
|
18
|
+
fontCategory?: string;
|
|
19
|
+
fontSize?: string;
|
|
20
|
+
disabled?: boolean;
|
|
21
|
+
subtitle?: string;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
export default function SquareAvatarWithName({
|
|
25
|
+
avatarOnly = false, name = '', avatarFontSize = 'small-medium', href = '',
|
|
26
|
+
avatarFontCategory = 'primary', avatarWidth = '26px', avatarHeight = '26px',
|
|
27
|
+
fontSize = 'medium-book', fontCategory = 'secondary', disabled = false, maxLinkWidth = "auto", subtitle = ''
|
|
28
|
+
}) {
|
|
29
|
+
const getAcronym = (str: string) => {
|
|
30
|
+
const cleanStr = str?.replace(/[^a-zA-Z\s]/g, '').split(' '); // Remove non-letter and non-space characters
|
|
31
|
+
const acronym = cleanStr?.map((word) => word.charAt(0)).join('').substring(0, 3);
|
|
32
|
+
return acronym;
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
const textOverflowStyles = {
|
|
36
|
+
overflow: "hidden",
|
|
37
|
+
textOverflow: "ellipsis",
|
|
38
|
+
display: "-webkit-box",
|
|
39
|
+
WebkitBoxOrient: "vertical",
|
|
40
|
+
WebkitLineClamp: 1,
|
|
41
|
+
textAlign: "left"
|
|
42
|
+
};
|
|
43
|
+
|
|
44
|
+
const SquareAvatarComponent = (
|
|
45
|
+
<Avatar
|
|
46
|
+
sx={{
|
|
47
|
+
backgroundColor: disabled ? 'var(--grey)' : 'var(--black)',
|
|
48
|
+
marginRight: '8px',
|
|
49
|
+
width: `${avatarWidth}`,
|
|
50
|
+
height: `${avatarHeight}`
|
|
51
|
+
}}
|
|
52
|
+
variant="rounded"
|
|
53
|
+
>
|
|
54
|
+
<Typography
|
|
55
|
+
sx={{ textTransform: 'uppercase' }}
|
|
56
|
+
size={avatarFontSize}
|
|
57
|
+
category={avatarFontCategory}
|
|
58
|
+
>
|
|
59
|
+
{disabled ? '—' : getAcronym(name)}
|
|
60
|
+
</Typography>
|
|
61
|
+
</Avatar>
|
|
62
|
+
);
|
|
63
|
+
|
|
64
|
+
return (
|
|
65
|
+
avatarOnly ? (
|
|
66
|
+
SquareAvatarComponent
|
|
67
|
+
) : (
|
|
68
|
+
<Box display="flex" alignItems="center">
|
|
69
|
+
{SquareAvatarComponent}
|
|
70
|
+
<Box>
|
|
71
|
+
{href ? (
|
|
72
|
+
<Link href={href} sx={{ textDecoration: 'none' }}>
|
|
73
|
+
<Typography
|
|
74
|
+
category={fontCategory}
|
|
75
|
+
size={fontSize}
|
|
76
|
+
maxWidth={maxLinkWidth}
|
|
77
|
+
sx={{
|
|
78
|
+
...textOverflowStyles
|
|
79
|
+
}}
|
|
80
|
+
>
|
|
81
|
+
{name}
|
|
82
|
+
</Typography>
|
|
83
|
+
</Link>
|
|
84
|
+
) : (
|
|
85
|
+
<Typography
|
|
86
|
+
category={fontCategory}
|
|
87
|
+
size={fontSize}
|
|
88
|
+
maxWidth={maxLinkWidth}
|
|
89
|
+
sx={{
|
|
90
|
+
...textOverflowStyles,
|
|
91
|
+
color: disabled ? 'grey' : 'black'
|
|
92
|
+
}}
|
|
93
|
+
>
|
|
94
|
+
{name}
|
|
95
|
+
</Typography>
|
|
96
|
+
)}
|
|
97
|
+
{subtitle && (
|
|
98
|
+
<Typography
|
|
99
|
+
category="secondary"
|
|
100
|
+
size="small-book"
|
|
101
|
+
sx={{
|
|
102
|
+
...textOverflowStyles, color: 'black'
|
|
103
|
+
}}
|
|
104
|
+
>
|
|
105
|
+
{subtitle}
|
|
106
|
+
</Typography>
|
|
107
|
+
)}
|
|
108
|
+
</Box>
|
|
109
|
+
</Box>
|
|
110
|
+
)
|
|
111
|
+
);
|
|
112
|
+
}
|
|
@@ -1,63 +1,63 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
|
|
3
|
-
import Footer from './Footer';
|
|
4
|
-
import { FooterProps } from './sharedTypes';
|
|
5
|
-
|
|
6
|
-
// Default
|
|
7
|
-
export default {
|
|
8
|
-
title: 'Organisms/Footer',
|
|
9
|
-
};
|
|
10
|
-
|
|
11
|
-
// Templates
|
|
12
|
-
function FooterTemplate(args: FooterProps) {
|
|
13
|
-
return <Footer {...args} />;
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
// Stories
|
|
17
|
-
export const BottomFooter = FooterTemplate.bind({});
|
|
18
|
-
BottomFooter.args = {
|
|
19
|
-
exploreItems: [
|
|
20
|
-
{ href: '#', label: 'Countries' },
|
|
21
|
-
{ href: '#', label: 'States' },
|
|
22
|
-
{ href: '#', label: 'Cities' },
|
|
23
|
-
],
|
|
24
|
-
eventItems: [
|
|
25
|
-
{ href: '#', label: 'Color Ball' },
|
|
26
|
-
{ href: '#', label: 'National Pathway' },
|
|
27
|
-
{ href: '#', label: 'Camps' },
|
|
28
|
-
{ href: '#', label: 'Team Leagues' },
|
|
29
|
-
{ href: '#', label: 'Flex Leagues' },
|
|
30
|
-
{ href: '#', label: 'Junior Circuits' },
|
|
31
|
-
{ href: '#', label: 'College Pathways' },
|
|
32
|
-
{ href: '#', label: 'College Circuits' },
|
|
33
|
-
{ href: '#', label: 'Pro Tennis Tour' },
|
|
34
|
-
{ href: '#', label: 'College Camps' },
|
|
35
|
-
],
|
|
36
|
-
providerItems: [
|
|
37
|
-
{ href: '#', label: 'Clubs' },
|
|
38
|
-
{ href: '#', label: 'Academies' },
|
|
39
|
-
{ href: '#', label: 'High Schools' },
|
|
40
|
-
{ href: '#', label: 'Colleges' },
|
|
41
|
-
{ href: '#', label: 'Get in Touch' },
|
|
42
|
-
],
|
|
43
|
-
moreItems: [
|
|
44
|
-
{ href: '#', label: 'Tennis' },
|
|
45
|
-
{ href: '#', label: 'Pickleball' },
|
|
46
|
-
{ href: '#', label: 'News' },
|
|
47
|
-
{ href: '#', label: 'Shop' },
|
|
48
|
-
{ href: '#', label: 'Press' },
|
|
49
|
-
{ href: '#', label: 'Careers' },
|
|
50
|
-
{ href: '#', label: 'About Us' },
|
|
51
|
-
{ href: '#', label: 'Foundation' },
|
|
52
|
-
],
|
|
53
|
-
supportItems: [
|
|
54
|
-
{ href: '#', label: 'Help Center' },
|
|
55
|
-
{ href: '#', label: 'Privacy Policy' },
|
|
56
|
-
{ href: '#', label: 'Terms & Conditions' },
|
|
57
|
-
{ href: '#', label: 'Guidelines' },
|
|
58
|
-
{ href: '#', label: 'Verified Events' },
|
|
59
|
-
{ href: '#', label: 'About UTR Rating' },
|
|
60
|
-
{ href: '#', label: 'About UTR-P Rating' },
|
|
61
|
-
{ href: '#', label: 'About Color Ball Rating' },
|
|
62
|
-
],
|
|
63
|
-
};
|
|
1
|
+
import React from 'react';
|
|
2
|
+
|
|
3
|
+
import Footer from './Footer';
|
|
4
|
+
import { FooterProps } from './sharedTypes';
|
|
5
|
+
|
|
6
|
+
// Default
|
|
7
|
+
export default {
|
|
8
|
+
title: 'Organisms/Footer',
|
|
9
|
+
};
|
|
10
|
+
|
|
11
|
+
// Templates
|
|
12
|
+
function FooterTemplate(args: FooterProps) {
|
|
13
|
+
return <Footer {...args} />;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
// Stories
|
|
17
|
+
export const BottomFooter = FooterTemplate.bind({});
|
|
18
|
+
BottomFooter.args = {
|
|
19
|
+
exploreItems: [
|
|
20
|
+
{ href: '#', label: 'Countries' },
|
|
21
|
+
{ href: '#', label: 'States' },
|
|
22
|
+
{ href: '#', label: 'Cities' },
|
|
23
|
+
],
|
|
24
|
+
eventItems: [
|
|
25
|
+
{ href: '#', label: 'Color Ball' },
|
|
26
|
+
{ href: '#', label: 'National Pathway' },
|
|
27
|
+
{ href: '#', label: 'Camps' },
|
|
28
|
+
{ href: '#', label: 'Team Leagues' },
|
|
29
|
+
{ href: '#', label: 'Flex Leagues' },
|
|
30
|
+
{ href: '#', label: 'Junior Circuits' },
|
|
31
|
+
{ href: '#', label: 'College Pathways' },
|
|
32
|
+
{ href: '#', label: 'College Circuits' },
|
|
33
|
+
{ href: '#', label: 'Pro Tennis Tour' },
|
|
34
|
+
{ href: '#', label: 'College Camps' },
|
|
35
|
+
],
|
|
36
|
+
providerItems: [
|
|
37
|
+
{ href: '#', label: 'Clubs' },
|
|
38
|
+
{ href: '#', label: 'Academies' },
|
|
39
|
+
{ href: '#', label: 'High Schools' },
|
|
40
|
+
{ href: '#', label: 'Colleges' },
|
|
41
|
+
{ href: '#', label: 'Get in Touch' },
|
|
42
|
+
],
|
|
43
|
+
moreItems: [
|
|
44
|
+
{ href: '#', label: 'Tennis' },
|
|
45
|
+
{ href: '#', label: 'Pickleball' },
|
|
46
|
+
{ href: '#', label: 'News' },
|
|
47
|
+
{ href: '#', label: 'Shop' },
|
|
48
|
+
{ href: '#', label: 'Press' },
|
|
49
|
+
{ href: '#', label: 'Careers' },
|
|
50
|
+
{ href: '#', label: 'About Us' },
|
|
51
|
+
{ href: '#', label: 'Foundation' },
|
|
52
|
+
],
|
|
53
|
+
supportItems: [
|
|
54
|
+
{ href: '#', label: 'Help Center' },
|
|
55
|
+
{ href: '#', label: 'Privacy Policy' },
|
|
56
|
+
{ href: '#', label: 'Terms & Conditions' },
|
|
57
|
+
{ href: '#', label: 'Guidelines' },
|
|
58
|
+
{ href: '#', label: 'Verified Events' },
|
|
59
|
+
{ href: '#', label: 'About UTR Rating' },
|
|
60
|
+
{ href: '#', label: 'About UTR-P Rating' },
|
|
61
|
+
{ href: '#', label: 'About Color Ball Rating' },
|
|
62
|
+
],
|
|
63
|
+
};
|
|
@@ -1,118 +1,118 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
|
|
3
|
-
import Box from '@mui/material/Box';
|
|
4
|
-
import Grid from '@mui/material/Grid';
|
|
5
|
-
import IconButton from '@mui/material/IconButton';
|
|
6
|
-
import useMediaQuery from '@mui/material/useMediaQuery';
|
|
7
|
-
|
|
8
|
-
import { FooterProps } from './sharedTypes';
|
|
9
|
-
import { SocialMediaIds } from '../../utils/constants';
|
|
10
|
-
import FooterSection from '../../molecules/FooterSection/FooterSection';
|
|
11
|
-
import SocialMediaInstagramIcon from '../../atoms/Icons/SocialMediaInstagramIcon';
|
|
12
|
-
import SocialMediaTikTokIcon from '../../atoms/Icons/SocialMediaTikTokIcon';
|
|
13
|
-
import SocialMediaXIcon from '../../atoms/Icons/SocialMediaXIcon';
|
|
14
|
-
import SocialMediaYoutubeIcon from '../../atoms/Icons/SocialMediaYoutubeIcon';
|
|
15
|
-
import SocialMediaFacebookIcon from '../../atoms/Icons/SocialMediaFacebookIcon';
|
|
16
|
-
import Typography from '../../atoms/Typography/Typography';
|
|
17
|
-
import utrLogo from '../../assets/utr-sports-logo.svg';
|
|
18
|
-
|
|
19
|
-
function Footer({
|
|
20
|
-
exploreItems,
|
|
21
|
-
eventItems,
|
|
22
|
-
providerItems,
|
|
23
|
-
moreItems,
|
|
24
|
-
supportItems,
|
|
25
|
-
onSocialMediaClick,
|
|
26
|
-
}: FooterProps) {
|
|
27
|
-
const matches = useMediaQuery('(min-width:600px)');
|
|
28
|
-
const {
|
|
29
|
-
X, FACEBOOK, INSTAGRAM, TIKTOK, YOUTUBE
|
|
30
|
-
} = SocialMediaIds;
|
|
31
|
-
|
|
32
|
-
const handleOnSocialMediaClick = (id: number) => {
|
|
33
|
-
onSocialMediaClick(id);
|
|
34
|
-
};
|
|
35
|
-
|
|
36
|
-
return (
|
|
37
|
-
<Box sx={{ backgroundColor: 'var(--black)' }}>
|
|
38
|
-
<Grid p={1.5} container justifyContent="space-evenly" display={matches ? 'row' : 'column'}>
|
|
39
|
-
<Grid item xs={12} lg={2}>
|
|
40
|
-
<Box mb={2} display="flex" alignItems="center" flexDirection="column">
|
|
41
|
-
<img
|
|
42
|
-
alt="UTR Sports logo"
|
|
43
|
-
width="205"
|
|
44
|
-
height="51"
|
|
45
|
-
src={utrLogo}
|
|
46
|
-
/>
|
|
47
|
-
<Box display="flex" mt={1}>
|
|
48
|
-
<IconButton sx={{ p: 0.5 }} onClick={() => handleOnSocialMediaClick(X)}>
|
|
49
|
-
<SocialMediaXIcon size={27} color="var(--white)" />
|
|
50
|
-
</IconButton>
|
|
51
|
-
<IconButton sx={{ p: 0.5 }} onClick={() => handleOnSocialMediaClick(FACEBOOK)}>
|
|
52
|
-
<SocialMediaFacebookIcon size={27} color="var(--white)" />
|
|
53
|
-
</IconButton>
|
|
54
|
-
<IconButton sx={{ p: 0.5 }} onClick={() => handleOnSocialMediaClick(INSTAGRAM)}>
|
|
55
|
-
<SocialMediaInstagramIcon size={27} color="var(--white)" />
|
|
56
|
-
</IconButton>
|
|
57
|
-
<IconButton sx={{ p: 0.5 }} onClick={() => handleOnSocialMediaClick(TIKTOK)}>
|
|
58
|
-
<SocialMediaTikTokIcon size={27} color="var(--white)" />
|
|
59
|
-
</IconButton>
|
|
60
|
-
<IconButton sx={{ p: 0.5 }} onClick={() => handleOnSocialMediaClick(YOUTUBE)}>
|
|
61
|
-
<SocialMediaYoutubeIcon size={27} color="var(--white)" />
|
|
62
|
-
</IconButton>
|
|
63
|
-
</Box>
|
|
64
|
-
</Box>
|
|
65
|
-
</Grid>
|
|
66
|
-
{matches ? (
|
|
67
|
-
<Grid container item lg={10} justifyContent="space-evenly">
|
|
68
|
-
<Grid item>
|
|
69
|
-
<FooterSection title="Explore" items={exploreItems} />
|
|
70
|
-
</Grid>
|
|
71
|
-
<Grid item>
|
|
72
|
-
<FooterSection title="Events" items={eventItems} />
|
|
73
|
-
</Grid>
|
|
74
|
-
<Grid item>
|
|
75
|
-
<FooterSection title="Providers" items={providerItems} />
|
|
76
|
-
</Grid>
|
|
77
|
-
<Grid item>
|
|
78
|
-
<FooterSection title="More" items={moreItems} />
|
|
79
|
-
</Grid>
|
|
80
|
-
<Grid item>
|
|
81
|
-
<FooterSection title="Support" items={supportItems} />
|
|
82
|
-
</Grid>
|
|
83
|
-
</Grid>
|
|
84
|
-
) : (
|
|
85
|
-
<Grid container display="column" justifyContent="space-evenly">
|
|
86
|
-
<Grid item>
|
|
87
|
-
<Box mb={2}>
|
|
88
|
-
<FooterSection title="Explore" items={exploreItems} />
|
|
89
|
-
</Box>
|
|
90
|
-
<Box mb={3.3}>
|
|
91
|
-
<FooterSection title="Providers" items={providerItems} />
|
|
92
|
-
</Box>
|
|
93
|
-
<FooterSection title="Support" items={supportItems} />
|
|
94
|
-
</Grid>
|
|
95
|
-
<Grid item>
|
|
96
|
-
<Box mb={2}>
|
|
97
|
-
<FooterSection title="Events" items={eventItems} />
|
|
98
|
-
</Box>
|
|
99
|
-
<FooterSection title="More" items={moreItems} />
|
|
100
|
-
</Grid>
|
|
101
|
-
</Grid>
|
|
102
|
-
)}
|
|
103
|
-
</Grid>
|
|
104
|
-
<Box display="absolute" sx={{ bottom: 24, borderTop: 1, borderColor: "var(--white)" }}>
|
|
105
|
-
<Typography
|
|
106
|
-
p={0.5}
|
|
107
|
-
category="secondary"
|
|
108
|
-
size="x-small-book-cap"
|
|
109
|
-
color="var(--white)"
|
|
110
|
-
align="center"
|
|
111
|
-
>
|
|
112
|
-
{`\u00A9 2024, UTR SPORTS`}
|
|
113
|
-
</Typography>
|
|
114
|
-
</Box>
|
|
115
|
-
</Box>
|
|
116
|
-
);
|
|
117
|
-
}
|
|
118
|
-
export default Footer;
|
|
1
|
+
import React from 'react';
|
|
2
|
+
|
|
3
|
+
import Box from '@mui/material/Box';
|
|
4
|
+
import Grid from '@mui/material/Grid';
|
|
5
|
+
import IconButton from '@mui/material/IconButton';
|
|
6
|
+
import useMediaQuery from '@mui/material/useMediaQuery';
|
|
7
|
+
|
|
8
|
+
import { FooterProps } from './sharedTypes';
|
|
9
|
+
import { SocialMediaIds } from '../../utils/constants';
|
|
10
|
+
import FooterSection from '../../molecules/FooterSection/FooterSection';
|
|
11
|
+
import SocialMediaInstagramIcon from '../../atoms/Icons/SocialMediaInstagramIcon';
|
|
12
|
+
import SocialMediaTikTokIcon from '../../atoms/Icons/SocialMediaTikTokIcon';
|
|
13
|
+
import SocialMediaXIcon from '../../atoms/Icons/SocialMediaXIcon';
|
|
14
|
+
import SocialMediaYoutubeIcon from '../../atoms/Icons/SocialMediaYoutubeIcon';
|
|
15
|
+
import SocialMediaFacebookIcon from '../../atoms/Icons/SocialMediaFacebookIcon';
|
|
16
|
+
import Typography from '../../atoms/Typography/Typography';
|
|
17
|
+
import utrLogo from '../../assets/utr-sports-logo.svg';
|
|
18
|
+
|
|
19
|
+
function Footer({
|
|
20
|
+
exploreItems,
|
|
21
|
+
eventItems,
|
|
22
|
+
providerItems,
|
|
23
|
+
moreItems,
|
|
24
|
+
supportItems,
|
|
25
|
+
onSocialMediaClick,
|
|
26
|
+
}: FooterProps) {
|
|
27
|
+
const matches = useMediaQuery('(min-width:600px)');
|
|
28
|
+
const {
|
|
29
|
+
X, FACEBOOK, INSTAGRAM, TIKTOK, YOUTUBE
|
|
30
|
+
} = SocialMediaIds;
|
|
31
|
+
|
|
32
|
+
const handleOnSocialMediaClick = (id: number) => {
|
|
33
|
+
onSocialMediaClick(id);
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
return (
|
|
37
|
+
<Box sx={{ backgroundColor: 'var(--black)' }}>
|
|
38
|
+
<Grid p={1.5} container justifyContent="space-evenly" display={matches ? 'row' : 'column'}>
|
|
39
|
+
<Grid item xs={12} lg={2}>
|
|
40
|
+
<Box mb={2} display="flex" alignItems="center" flexDirection="column">
|
|
41
|
+
<img
|
|
42
|
+
alt="UTR Sports logo"
|
|
43
|
+
width="205"
|
|
44
|
+
height="51"
|
|
45
|
+
src={utrLogo}
|
|
46
|
+
/>
|
|
47
|
+
<Box display="flex" mt={1}>
|
|
48
|
+
<IconButton sx={{ p: 0.5 }} onClick={() => handleOnSocialMediaClick(X)}>
|
|
49
|
+
<SocialMediaXIcon size={27} color="var(--white)" />
|
|
50
|
+
</IconButton>
|
|
51
|
+
<IconButton sx={{ p: 0.5 }} onClick={() => handleOnSocialMediaClick(FACEBOOK)}>
|
|
52
|
+
<SocialMediaFacebookIcon size={27} color="var(--white)" />
|
|
53
|
+
</IconButton>
|
|
54
|
+
<IconButton sx={{ p: 0.5 }} onClick={() => handleOnSocialMediaClick(INSTAGRAM)}>
|
|
55
|
+
<SocialMediaInstagramIcon size={27} color="var(--white)" />
|
|
56
|
+
</IconButton>
|
|
57
|
+
<IconButton sx={{ p: 0.5 }} onClick={() => handleOnSocialMediaClick(TIKTOK)}>
|
|
58
|
+
<SocialMediaTikTokIcon size={27} color="var(--white)" />
|
|
59
|
+
</IconButton>
|
|
60
|
+
<IconButton sx={{ p: 0.5 }} onClick={() => handleOnSocialMediaClick(YOUTUBE)}>
|
|
61
|
+
<SocialMediaYoutubeIcon size={27} color="var(--white)" />
|
|
62
|
+
</IconButton>
|
|
63
|
+
</Box>
|
|
64
|
+
</Box>
|
|
65
|
+
</Grid>
|
|
66
|
+
{matches ? (
|
|
67
|
+
<Grid container item lg={10} justifyContent="space-evenly">
|
|
68
|
+
<Grid item>
|
|
69
|
+
<FooterSection title="Explore" items={exploreItems} />
|
|
70
|
+
</Grid>
|
|
71
|
+
<Grid item>
|
|
72
|
+
<FooterSection title="Events" items={eventItems} />
|
|
73
|
+
</Grid>
|
|
74
|
+
<Grid item>
|
|
75
|
+
<FooterSection title="Providers" items={providerItems} />
|
|
76
|
+
</Grid>
|
|
77
|
+
<Grid item>
|
|
78
|
+
<FooterSection title="More" items={moreItems} />
|
|
79
|
+
</Grid>
|
|
80
|
+
<Grid item>
|
|
81
|
+
<FooterSection title="Support" items={supportItems} />
|
|
82
|
+
</Grid>
|
|
83
|
+
</Grid>
|
|
84
|
+
) : (
|
|
85
|
+
<Grid container display="column" justifyContent="space-evenly">
|
|
86
|
+
<Grid item>
|
|
87
|
+
<Box mb={2}>
|
|
88
|
+
<FooterSection title="Explore" items={exploreItems} />
|
|
89
|
+
</Box>
|
|
90
|
+
<Box mb={3.3}>
|
|
91
|
+
<FooterSection title="Providers" items={providerItems} />
|
|
92
|
+
</Box>
|
|
93
|
+
<FooterSection title="Support" items={supportItems} />
|
|
94
|
+
</Grid>
|
|
95
|
+
<Grid item>
|
|
96
|
+
<Box mb={2}>
|
|
97
|
+
<FooterSection title="Events" items={eventItems} />
|
|
98
|
+
</Box>
|
|
99
|
+
<FooterSection title="More" items={moreItems} />
|
|
100
|
+
</Grid>
|
|
101
|
+
</Grid>
|
|
102
|
+
)}
|
|
103
|
+
</Grid>
|
|
104
|
+
<Box display="absolute" sx={{ bottom: 24, borderTop: 1, borderColor: "var(--white)" }}>
|
|
105
|
+
<Typography
|
|
106
|
+
p={0.5}
|
|
107
|
+
category="secondary"
|
|
108
|
+
size="x-small-book-cap"
|
|
109
|
+
color="var(--white)"
|
|
110
|
+
align="center"
|
|
111
|
+
>
|
|
112
|
+
{`\u00A9 2024, UTR SPORTS`}
|
|
113
|
+
</Typography>
|
|
114
|
+
</Box>
|
|
115
|
+
</Box>
|
|
116
|
+
);
|
|
117
|
+
}
|
|
118
|
+
export default Footer;
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
export interface LinkItem {
|
|
2
|
-
href: string;
|
|
3
|
-
label: string;
|
|
4
|
-
}
|
|
5
|
-
export type FooterProps = {
|
|
6
|
-
sectionTitleColor: string;
|
|
7
|
-
listItemColor: string;
|
|
8
|
-
exploreItems: [LinkItem];
|
|
9
|
-
eventItems:[LinkItem];
|
|
10
|
-
providerItems:[LinkItem];
|
|
11
|
-
moreItems:[LinkItem];
|
|
12
|
-
supportItems:[LinkItem];
|
|
13
|
-
onSocialMediaClick(id: number): VoidFunction;
|
|
14
|
-
};
|
|
1
|
+
export interface LinkItem {
|
|
2
|
+
href: string;
|
|
3
|
+
label: string;
|
|
4
|
+
}
|
|
5
|
+
export type FooterProps = {
|
|
6
|
+
sectionTitleColor: string;
|
|
7
|
+
listItemColor: string;
|
|
8
|
+
exploreItems: [LinkItem];
|
|
9
|
+
eventItems:[LinkItem];
|
|
10
|
+
providerItems:[LinkItem];
|
|
11
|
+
moreItems:[LinkItem];
|
|
12
|
+
supportItems:[LinkItem];
|
|
13
|
+
onSocialMediaClick(id: number): VoidFunction;
|
|
14
|
+
};
|