|
|
@ -1,4 +1,4 @@
|
|
|
|
import { FunctionComponent, useMemo } from "react";
|
|
|
|
import React, { FunctionComponent, useMemo } from "react";
|
|
|
|
import {
|
|
|
|
import {
|
|
|
|
BackgroundImage,
|
|
|
|
BackgroundImage,
|
|
|
|
Badge,
|
|
|
|
Badge,
|
|
|
@ -12,6 +12,7 @@ import {
|
|
|
|
Stack,
|
|
|
|
Stack,
|
|
|
|
Text,
|
|
|
|
Text,
|
|
|
|
Title,
|
|
|
|
Title,
|
|
|
|
|
|
|
|
Tooltip,
|
|
|
|
} from "@mantine/core";
|
|
|
|
} from "@mantine/core";
|
|
|
|
import {
|
|
|
|
import {
|
|
|
|
faBookmark as farBookmark,
|
|
|
|
faBookmark as farBookmark,
|
|
|
@ -43,12 +44,18 @@ const ItemOverview: FunctionComponent<Props> = (props) => {
|
|
|
|
const { item, details } = props;
|
|
|
|
const { item, details } = props;
|
|
|
|
|
|
|
|
|
|
|
|
const detailBadges = useMemo(() => {
|
|
|
|
const detailBadges = useMemo(() => {
|
|
|
|
const badges: (JSX.Element | null)[] = [];
|
|
|
|
const badges: (React.JSX.Element | null)[] = [];
|
|
|
|
|
|
|
|
|
|
|
|
if (item) {
|
|
|
|
if (item) {
|
|
|
|
badges.push(
|
|
|
|
badges.push(
|
|
|
|
<ItemBadge key="file-path" icon={faFolder} title="File Path">
|
|
|
|
<ItemBadge key="file-path" icon={faFolder} title="File Path">
|
|
|
|
{item.path}
|
|
|
|
<Tooltip
|
|
|
|
|
|
|
|
label={item.path}
|
|
|
|
|
|
|
|
multiline
|
|
|
|
|
|
|
|
style={{ overflowWrap: "anywhere" }}
|
|
|
|
|
|
|
|
>
|
|
|
|
|
|
|
|
<span>{item.path}</span>
|
|
|
|
|
|
|
|
</Tooltip>
|
|
|
|
</ItemBadge>,
|
|
|
|
</ItemBadge>,
|
|
|
|
);
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
|
@ -90,7 +97,7 @@ const ItemOverview: FunctionComponent<Props> = (props) => {
|
|
|
|
const profileItems = useProfileItemsToLanguages(profile);
|
|
|
|
const profileItems = useProfileItemsToLanguages(profile);
|
|
|
|
|
|
|
|
|
|
|
|
const languageBadges = useMemo(() => {
|
|
|
|
const languageBadges = useMemo(() => {
|
|
|
|
const badges: (JSX.Element | null)[] = [];
|
|
|
|
const badges: (React.JSX.Element | null)[] = [];
|
|
|
|
|
|
|
|
|
|
|
|
if (profile) {
|
|
|
|
if (profile) {
|
|
|
|
badges.push(
|
|
|
|
badges.push(
|
|
|
@ -129,7 +136,9 @@ const ItemOverview: FunctionComponent<Props> = (props) => {
|
|
|
|
m={0}
|
|
|
|
m={0}
|
|
|
|
style={{
|
|
|
|
style={{
|
|
|
|
backgroundColor: "rgba(0,0,0,0.7)",
|
|
|
|
backgroundColor: "rgba(0,0,0,0.7)",
|
|
|
|
flexWrap: "nowrap",
|
|
|
|
}}
|
|
|
|
|
|
|
|
styles={{
|
|
|
|
|
|
|
|
inner: { flexWrap: "nowrap" },
|
|
|
|
}}
|
|
|
|
}}
|
|
|
|
>
|
|
|
|
>
|
|
|
|
<Grid.Col span={3} visibleFrom="sm">
|
|
|
|
<Grid.Col span={3} visibleFrom="sm">
|
|
|
@ -140,7 +149,7 @@ const ItemOverview: FunctionComponent<Props> = (props) => {
|
|
|
|
fallbackSrc="https://placehold.co/250x250?text=Placeholder"
|
|
|
|
fallbackSrc="https://placehold.co/250x250?text=Placeholder"
|
|
|
|
></Image>
|
|
|
|
></Image>
|
|
|
|
</Grid.Col>
|
|
|
|
</Grid.Col>
|
|
|
|
<Grid.Col span={8} maw="100%">
|
|
|
|
<Grid.Col span={8} maw="100%" style={{ overflow: "hidden" }}>
|
|
|
|
<Stack align="flex-start" gap="xs" mx={6}>
|
|
|
|
<Stack align="flex-start" gap="xs" mx={6}>
|
|
|
|
<Group align="flex-start" wrap="nowrap" maw="100%">
|
|
|
|
<Group align="flex-start" wrap="nowrap" maw="100%">
|
|
|
|
<Title my={0}>
|
|
|
|
<Title my={0}>
|
|
|
|