diff --git a/components/CompatibilityTags.tsx b/components/CompatibilityTags.tsx
index 5b432fca..fc3123f2 100644
--- a/components/CompatibilityTags.tsx
+++ b/components/CompatibilityTags.tsx
@@ -1,6 +1,6 @@
import { View } from 'react-native';
-import { A } from '~/common/styleguide';
+import { A, useLayout } from '~/common/styleguide';
import { type LibraryType } from '~/types';
import tw from '~/util/tailwind';
@@ -11,9 +11,12 @@ import Tooltip from './Tooltip';
type Props = {
library: LibraryType;
+ small?: boolean;
};
-export default function CompatibilityTags({ library }: Props) {
+export default function CompatibilityTags({ library, small }: Props) {
+ const { isSmallScreen } = useLayout();
+
const platforms = [
library.android ? 'Android' : null,
library.ios ? 'iOS' : null,
@@ -25,12 +28,13 @@ export default function CompatibilityTags({ library }: Props) {
].filter(Boolean);
return (
-
+
{library.dev ? (
) : null}
{library.template ? (
@@ -38,50 +42,53 @@ export default function CompatibilityTags({ library }: Props) {
label="Template"
tagStyle={tw`border-[#f5c6e8] bg-[#fce1f5] dark:border-[#52213e] dark:bg-[#37172e]`}
icon={null}
+ small={small}
/>
) : null}
- {!library.dev && !library.template && }
+ {!library.dev && !library.template && }
{platforms.map(platform =>
platform ? (
) : null
)}
- {(library.expoGo ?? library.fireos ?? library.vegaos ?? library.horizon) && (
-
-
-
- }>
- Additional information
-
-
- {library.expoGo && - Works with Expo Go
}
- {library.fireos && - Works with Fire OS
}
- {library.horizon && - Works with Meta Horizon OS
}
- {library.vegaos && typeof library.vegaos === 'boolean' && - Works with Vega OS
}
- {library.vegaos && typeof library.vegaos === 'string' && (
- -
- Works with Vega OS
-
-
- (via dedicated support package)
-
-
- )}
-
-
- )}
+ {!(small && isSmallScreen) &&
+ (library.expoGo ?? library.fireos ?? library.vegaos ?? library.horizon) && (
+
+
+
+ }>
+ Additional information
+
+
+ {library.expoGo && - Works with Expo Go
}
+ {library.fireos && - Works with Fire OS
}
+ {library.horizon && - Works with Meta Horizon OS
}
+ {library.vegaos && typeof library.vegaos === 'boolean' && - Works with Vega OS
}
+ {library.vegaos && typeof library.vegaos === 'string' && (
+ -
+ Works with Vega OS
+
+
+ (via dedicated support package)
+
+
+ )}
+
+
+ )}
);
}
diff --git a/components/Icons/index.tsx b/components/Icons/index.tsx
index 6c000e30..c971ca00 100644
--- a/components/Icons/index.tsx
+++ b/components/Icons/index.tsx
@@ -1251,7 +1251,7 @@ export function FundingGitHub({ width = 24, height = 24, style }: IconProps) {
export function RSS({ width = 24, height = 24, style }: IconProps) {
return (
+ );
+}
+
+export function Spinner({ width = 24, height = 24, style }: IconProps) {
+ return (
+
);
}
diff --git a/components/Library/LibraryDescription.tsx b/components/Library/LibraryDescription.tsx
index 5b5cbf6d..4f951e2f 100644
--- a/components/Library/LibraryDescription.tsx
+++ b/components/Library/LibraryDescription.tsx
@@ -1,5 +1,7 @@
import * as emoji from 'node-emoji';
import { Linkify } from 'react-easy-linkify';
+import { type StyleProp } from 'react-native';
+import { type Style } from 'twrnc';
import { A, Caption, Headline } from '~/common/styleguide';
import { type LibraryType } from '~/types';
@@ -8,11 +10,12 @@ import tw from '~/util/tailwind';
type Props = {
github: LibraryType['github'];
maxLines?: number;
+ style?: StyleProp