summaryrefslogtreecommitdiff
path: root/frontend/src
diff options
context:
space:
mode:
authorJonas Dellinger <jonas@dellinger.dev>2023-05-31 01:35:42 +0200
committerGitHub <noreply@github.com>2023-05-30 16:35:42 -0700
commitc5229c6a62d423661d2f6c97fe4cfbed1a7ff019 (patch)
tree13f659d0c2d9931d8359d2745ed9ce05b55377bc /frontend/src
parentc631d40aa3c0a66005cb9ff48aa7b314a822d70b (diff)
downloaddecky-loader-c5229c6a62d423661d2f6c97fe4cfbed1a7ff019.tar.gz
decky-loader-c5229c6a62d423661d2f6c97fe4cfbed1a7ff019.zip
adjust some small store stylings (#471)v2.9.1-pre2
Diffstat (limited to 'frontend/src')
-rw-r--r--frontend/src/components/store/PluginCard.tsx152
1 files changed, 72 insertions, 80 deletions
diff --git a/frontend/src/components/store/PluginCard.tsx b/frontend/src/components/store/PluginCard.tsx
index b8c622db..da144605 100644
--- a/frontend/src/components/store/PluginCard.tsx
+++ b/frontend/src/components/store/PluginCard.tsx
@@ -6,7 +6,7 @@ import {
SingleDropdownOption,
SuspensefulImage,
} from 'decky-frontend-lib';
-import { FC, useState } from 'react';
+import { CSSProperties, FC, useState } from 'react';
import { useTranslation } from 'react-i18next';
import { InstallType } from '../../plugin';
@@ -18,7 +18,7 @@ interface PluginCardProps {
const PluginCard: FC<PluginCardProps> = ({ plugin }) => {
const [selectedOption, setSelectedOption] = useState<number>(0);
- const root: boolean = plugin.tags.some((tag) => tag === 'root');
+ const root = plugin.tags.some((tag) => tag === 'root');
const { t } = useTranslation();
@@ -30,7 +30,6 @@ const PluginCard: FC<PluginCardProps> = ({ plugin }) => {
marginRight: '20px',
marginBottom: '20px',
display: 'flex',
- alignItems: 'center',
}}
>
<div
@@ -59,91 +58,90 @@ const PluginCard: FC<PluginCardProps> = ({ plugin }) => {
width: 'calc(100% - 320px)', // The calc is here so that the info section doesn't expand into the image
display: 'flex',
flexDirection: 'column',
- height: '100%',
+ justifyContent: 'space-between',
marginLeft: '1em',
- justifyContent: 'center',
+ gap: '10px',
}}
>
- <span
- className="deckyStoreCardTitle"
- style={{
- fontSize: '1.25em',
- fontWeight: 'bold',
- whiteSpace: 'nowrap',
- overflow: 'hidden',
- textOverflow: 'ellipsis',
- width: '90%',
- }}
- >
- {plugin.name}
- </span>
- <span
- className="deckyStoreCardAuthor"
- style={{
- marginRight: 'auto',
- fontSize: '1em',
- }}
- >
- {plugin.author}
- </span>
- <span
- className="deckyStoreCardDescription"
- style={{
- fontSize: '13px',
- color: '#969696',
- WebkitLineClamp: root ? '2' : '3',
- WebkitBoxOrient: 'vertical',
- overflow: 'hidden',
- display: '-webkit-box',
- }}
- >
- {plugin.description ? (
- plugin.description
- ) : (
- <span>
- <i style={{ color: '#666' }}>{t('PluginCard.plugin_no_desc')}</i>
- </span>
- )}
- </span>
- {root && (
+ <div style={{ display: 'flex', flexDirection: 'column', height: '100%' }}>
+ <span
+ className="deckyStoreCardTitle"
+ style={{
+ fontSize: '1.25em',
+ fontWeight: 'bold',
+ whiteSpace: 'nowrap',
+ overflow: 'hidden',
+ textOverflow: 'ellipsis',
+ width: '90%',
+ }}
+ >
+ {plugin.name}
+ </span>
+ <span
+ className="deckyStoreCardAuthor"
+ style={{
+ marginRight: 'auto',
+ fontSize: '1em',
+ }}
+ >
+ {plugin.author}
+ </span>
<span
- className="deckyStoreCardDescription deckyStoreCardDescriptionRoot"
+ className="deckyStoreCardDescription"
style={{
fontSize: '13px',
- color: '#fee75c',
+ color: '#969696',
+ WebkitLineClamp: root ? '2' : '3',
+ WebkitBoxOrient: 'vertical',
+ overflow: 'hidden',
+ display: '-webkit-box',
}}
>
- <i>{t('PluginCard.plugin_full_access')}</i>{' '}
- <a
- className="deckyStoreCardDescriptionRootLink"
- href="https://deckbrew.xyz/root"
- target="_blank"
+ {plugin.description ? (
+ plugin.description
+ ) : (
+ <span>
+ <i style={{ color: '#666' }}>{t('PluginCard.plugin_no_desc')}</i>
+ </span>
+ )}
+ </span>
+ {root && (
+ <div
+ className="deckyStoreCardDescription deckyStoreCardDescriptionRoot"
style={{
+ fontSize: '13px',
color: '#fee75c',
- textDecoration: 'none',
+ marginTop: 'auto',
}}
>
- deckbrew.xyz/root
- </a>
- </span>
- )}
- <div
- className="deckyStoreCardButtonRow"
- style={{
- marginTop: '1em',
- width: '100%',
- overflow: 'hidden',
- }}
- >
+ <i>{t('PluginCard.plugin_full_access')}</i>{' '}
+ <a
+ className="deckyStoreCardDescriptionRootLink"
+ href="https://deckbrew.xyz/root"
+ target="_blank"
+ style={{
+ color: '#fee75c',
+ textDecoration: 'none',
+ }}
+ >
+ deckbrew.xyz/root
+ </a>
+ </div>
+ )}
+ </div>
+ <div className="deckyStoreCardButtonRow">
<PanelSectionRow>
- <Focusable style={{ display: 'flex', maxWidth: '100%' }}>
+ <Focusable style={{ display: 'flex', gap: '5px', padding: 0 }}>
<div
className="deckyStoreCardInstallContainer"
- style={{
- paddingTop: '0px',
- paddingBottom: '0px',
- width: '40%',
- }}
+ style={
+ {
+ paddingTop: '0px',
+ paddingBottom: '0px',
+ flexGrow: 1,
+ '--field-negative-horizontal-margin': 0,
+ } as CSSProperties
+ }
>
<ButtonItem
bottomSeparator="none"
@@ -155,13 +153,7 @@ const PluginCard: FC<PluginCardProps> = ({ plugin }) => {
<span className="deckyStoreCardInstallText">{t('PluginCard.plugin_install')}</span>
</ButtonItem>
</div>
- <div
- className="deckyStoreCardVersionContainer"
- style={{
- marginLeft: '5%',
- width: '30%',
- }}
- >
+ <div className="deckyStoreCardVersionContainer" style={{ minWidth: '130px' }}>
<Dropdown
rgOptions={
plugin.versions.map((version: StorePluginVersion, index) => ({