Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 | // @flow
import { type Element } from "react"
import Label from "./Label"
import prepareComponent from "@bluframe/bluterrine/prepareComponent"
import themes from "./themes"
export type Props = {|
+asButton?: boolean,
+externalLink?: string,
+children?: Element<*>,
+label: string,
+link: string,
+placement: "footer" | "navBar"
|}
export type ComponentProps = {|
...Props,
+theme: {|
+[string]: any
|}
|}
const getLink = (props: Props): string => {
// External Links take priority
if (props.externalLink) {
// Inspire Blu Frame Development Link
if (
process.env.NODE_ENV === "development" &&
props.externalLink === "https://inspire.blufra.me"
) {
return "http://inspire.bluframe.engineering"
}
// External Link
return props.externalLink
}
// Internal Links
if (process.env.NODE_ENV === "development") {
return `http://bluframe.bluframe.engineering/#${props.link}`
}
return `https://blufra.me/#${props.link}`
}
const usePrepareComponent = (props: Props): ComponentProps => ({
...props,
link: getLink(props),
theme: themes[props.placement]
})
export default (prepareComponent<Props, ComponentProps>(usePrepareComponent)(
Label
): React$AbstractComponent<Props, ComponentProps>)
|