Skip to content

Commit 949fc25

Browse files
committed
migrate colored badges and bottom navigation to ts
1 parent 95f3321 commit 949fc25

26 files changed

Lines changed: 66 additions & 52 deletions

File tree

src/App.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import './App.css'
33
import { Footer } from 'src/components/Layout'
44
import Header from 'src/components/Header'
55
import { BookmarksSidebar } from 'src/features/bookmarks'
6-
import { MarketingBanner } from 'src/components/Elements/MarketingBanner'
6+
import { MarketingBanner } from 'src/components/Elements'
77
import ScrollCardsNavigator from './components/ScrollCardsNavigator'
88
import AppContentLayout from './components/AppContentLayout'
99
import 'react-contexify/dist/ReactContexify.css'

src/components/AppContentLayout.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import React, { useState } from 'react'
22
import { SUPPORTED_CARDS } from 'src/config'
3-
import BottomNavigation from './BottomNavigation'
3+
import { BottomNavigation } from './Elements/'
44
import { isDesktop } from 'react-device-detect'
55
import { useUserPreferences } from 'src/stores/preferences'
66

src/components/ColoredLanguagesBadge.js

Lines changed: 0 additions & 15 deletions
This file was deleted.

src/components/BottomNavigation.js renamed to src/components/Elements/BottomNavigation/BottomNavigation.tsx

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,19 @@
1-
import React from 'react'
21
import { SUPPORTED_CARDS } from 'src/config'
2+
import { SelectedCard } from 'src/types'
33
import { useUserPreferences } from 'src/stores/preferences'
44
import { AiOutlineMenu } from 'react-icons/ai'
55

6-
function BottomNavigation({ selectedCard, setSelectedCard, setShowSettings }) {
6+
type BottomNavigationProps = {
7+
selectedCard: SelectedCard
8+
setSelectedCard: (card: SelectedCard) => void
9+
setShowSettings: (value: boolean | ((prevVar: boolean) => boolean)) => void
10+
}
11+
12+
export const BottomNavigation = ({
13+
selectedCard,
14+
setSelectedCard,
15+
setShowSettings,
16+
}: BottomNavigationProps) => {
717
const { cards } = useUserPreferences()
818

919
return (
@@ -18,20 +28,18 @@ function BottomNavigation({ selectedCard, setSelectedCard, setShowSettings }) {
1828
}
1929
href="/#"
2030
onClick={(e) => setSelectedCard(card)}>
21-
{constantCard.icon}
31+
{constantCard?.icon}
2232
</a>
2333
)
2434
})}
2535
{
2636
<a
2737
className={'navigationItem '}
2838
href="/#"
29-
onClick={(e) => setShowSettings((prev) => !prev)}>
39+
onClick={(e) => setShowSettings((prev: boolean) => !prev)}>
3040
{<AiOutlineMenu />}
3141
</a>
3242
}
3343
</div>
3444
)
3545
}
36-
37-
export default BottomNavigation
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
export * from "./BottomNavigation"
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
export const ColoredLanguageItem = ({ language }: { language: string }) => {
2+
return (
3+
<span className={`rowItem rowLanguage gh-language-${language.toLowerCase()}`}>{language}</span>
4+
)
5+
}
6+
export const ColoredLanguagesBadge = ({ languages }: { languages: string[] }) => {
7+
return (
8+
<>
9+
{languages &&
10+
languages.map(
11+
(language, index) =>
12+
language && <ColoredLanguageItem language={language} key={`cl-${language}-${index}`} />
13+
)}
14+
</>
15+
)
16+
}
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
export * from "./ColoredLanguagesBadge"

src/components/Elements/index.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
export * from "./ColoredLanguagesBadges"
2+
export * from "./Card"
3+
export * from "./MarketingBanner"
4+
export * from "./SearchBar"
5+
export * from "./UserTags"
6+
export * from "./BottomNavigation"

src/components/List/ListComponent.tsx

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,18 @@
11
import { ReactNode } from 'react'
22
import { Placeholder } from 'src/components/placeholders'
3-
import { ListComponentPropsType } from './types'
43
import { CarbonAd } from 'src/features/carbonAds'
54
import { BaseEntry } from 'src/types'
65

6+
export type ListComponentPropsType<T extends BaseEntry> = {
7+
items: T[]
8+
isLoading: boolean
9+
renderItem: (item: T, index: number) => React.ReactNode
10+
withAds: boolean
11+
placeholder?: React.ReactNode
12+
refresh?: boolean
13+
error?: any
14+
}
15+
716
export function ListComponent<T extends BaseEntry>(props: ListComponentPropsType<T>) {
817
const { items, isLoading, error, renderItem, withAds, placeholder = <Placeholder /> } = props
918

src/components/List/types.ts

Lines changed: 0 additions & 12 deletions
This file was deleted.

0 commit comments

Comments
 (0)