added some of the styling change requests, there's a mix of no-brainers and some that warrant discussion so I haven't applied all of them here. Making a draft PR for now, we can discuss the rest later

This commit is contained in:
EthanHealy01 2025-08-26 02:54:38 +01:00
parent ed61c71db7
commit 87959ae9c4
11 changed files with 30 additions and 34 deletions

View File

@ -1,4 +1,4 @@
<svg width="146" height="157" viewBox="0 0 146 157" fill="none" xmlns="http://www.w3.org/2000/svg"> <svg width="92" height="100" viewBox="0 0 92 100" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M3.77397 72.5462L93.6741 23.0462L94.7739 70.0462L3.77395 119.046L3.77397 72.5462Z" fill="#E6E6E6" fill-opacity="0.4"/> <path d="M0 50L60 0V46.5L0 96.5V50Z" fill="#E6E6E6" fill-opacity="0.4"/>
<path d="M50.774 73.5735L96.387 50.2673L142 26.961L142 71.687L50.7739 122.046L50.774 73.5735Z" fill="#E6E6E6" fill-opacity="0.7"/> <path d="M32 53L92 3V49.5L32 99.5V53Z" fill="#E6E6E6" fill-opacity="0.7"/>
</svg> </svg>

Before

Width:  |  Height:  |  Size: 366 B

After

Width:  |  Height:  |  Size: 253 B

View File

@ -1,4 +1,4 @@
<svg width="146" height="146" viewBox="0 0 146 146" fill="none" xmlns="http://www.w3.org/2000/svg"> <svg width="92" height="100" viewBox="0 0 92 100" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M3.77397 72.5462L93.6741 23.0462L94.7739 70.0462L3.77395 119.046L3.77397 72.5462Z" fill="#ACACAC" fill-opacity="0.3"/> <path d="M0 50L60 0V46.5L0 96.5V50Z" fill="#ACACAC" fill-opacity="0.3"/>
<path d="M50.774 73.5735L96.387 50.2673L142 26.961L142 71.687L50.7739 122.046L50.774 73.5735Z" fill="#FC9999" fill-opacity="0.5"/> <path d="M32 53L92 3V49.5L32 99.5V53Z" fill="#FC9999" fill-opacity="0.5"/>
</svg> </svg>

Before

Width:  |  Height:  |  Size: 366 B

After

Width:  |  Height:  |  Size: 253 B

View File

@ -26,7 +26,7 @@ const AllToolsNavButton: React.FC<AllToolsNavButtonProps> = ({ activeButton, set
const iconNode = ( const iconNode = (
<span className="iconContainer"> <span className="iconContainer">
<AppsIcon sx={{ fontSize: '1.5rem' }} /> <AppsIcon sx={{ fontSize: '2rem' }} />
</span> </span>
); );

View File

@ -36,7 +36,7 @@ const LandingPage = () => {
}; };
return ( return (
<Container size="lg" p={0} h="100%" className="flex items-center justify-center" style={{ position: 'relative' }}> <Container size="70rem" p={0} h="102%" className="flex items-center justify-center" style={{ position: 'relative' }}>
{/* White PDF Page Background */} {/* White PDF Page Background */}
<Dropzone <Dropzone
onDrop={handleFileDrop} onDrop={handleFileDrop}
@ -48,7 +48,7 @@ const LandingPage = () => {
left: '50%', left: '50%',
transform: 'translateX(-50%)', transform: 'translateX(-50%)',
bottom: 0, bottom: 0,
borderRadius: '0.5rem 0.5rem 0 0', borderRadius: '0.25rem 0.25rem 0 0',
filter: 'var(--drop-shadow-filter)', filter: 'var(--drop-shadow-filter)',
backgroundColor: 'var(--landing-paper-bg)', backgroundColor: 'var(--landing-paper-bg)',
transition: 'background-color 0.4s ease', transition: 'background-color 0.4s ease',
@ -66,7 +66,7 @@ const LandingPage = () => {
style={{ style={{
position: 'absolute', position: 'absolute',
top: 0, top: 0,
right: ".5rem", right: 0,
zIndex: 10, zIndex: 10,
}} }}
@ -75,15 +75,13 @@ const LandingPage = () => {
src={colorScheme === 'dark' ? '/branding/StirlingPDFLogoNoTextDark.svg' : '/branding/StirlingPDFLogoNoTextLight.svg'} src={colorScheme === 'dark' ? '/branding/StirlingPDFLogoNoTextDark.svg' : '/branding/StirlingPDFLogoNoTextLight.svg'}
alt="Stirling PDF Logo" alt="Stirling PDF Logo"
style={{ style={{
width: '10rem',
height: 'auto', height: 'auto',
pointerEvents: 'none', pointerEvents: 'none',
marginTop: '-0.5rem'
}} }}
/> />
</div> </div>
<div <div
className={`min-h-[25vh] flex flex-col items-center justify-center px-8 py-8 w-full min-w-[360px] border transition-all duration-200 dropzone-inner relative`} className={`min-h-[45vh] flex flex-col items-center justify-center px-8 py-8 w-full min-w-[30rem] max-w-[calc(100%-2rem)] border transition-all duration-200 dropzone-inner relative`}
style={{ style={{
borderRadius: '0.5rem', borderRadius: '0.5rem',
backgroundColor: 'var(--landing-inner-paper-bg)', backgroundColor: 'var(--landing-inner-paper-bg)',

View File

@ -68,7 +68,7 @@ const QuickAccessBar = forwardRef<HTMLDivElement>(({
{ {
id: 'automate', id: 'automate',
name: t("quickAccess.automate", "Automate"), name: t("quickAccess.automate", "Automate"),
icon: <LocalIcon icon="automation-outline" width="1.25rem" height="1.25rem" />, icon: <LocalIcon icon="automation-outline" width="1.6rem" height="1.6rem" />,
size: 'lg', size: 'lg',
isRound: false, isRound: false,
type: 'navigation', type: 'navigation',
@ -80,7 +80,7 @@ const QuickAccessBar = forwardRef<HTMLDivElement>(({
{ {
id: 'files', id: 'files',
name: t("quickAccess.files", "Files"), name: t("quickAccess.files", "Files"),
icon: <LocalIcon icon="folder-rounded" width="1.25rem" height="1.25rem" />, icon: <LocalIcon icon="folder-rounded" width="1.6rem" height="1.6rem" />,
isRound: true, isRound: true,
size: 'lg', size: 'lg',
type: 'modal', type: 'modal',
@ -151,7 +151,7 @@ const QuickAccessBar = forwardRef<HTMLDivElement>(({
<div className="flex flex-col items-center gap-1" style={{ marginTop: index === 0 ? '0.5rem' : "0rem" }}> <div className="flex flex-col items-center gap-1" style={{ marginTop: index === 0 ? '0.5rem' : "0rem" }}>
<ActionIcon <ActionIcon
size={isNavButtonActive(config, activeButton, isFilesModalOpen, configModalOpen, selectedToolKey, leftPanelView) ? (config.size || 'xl') : 'lg'} size={isNavButtonActive(config, activeButton, isFilesModalOpen, configModalOpen, selectedToolKey, leftPanelView) ? (config.size || 'lg') : 'lg'}
variant="subtle" variant="subtle"
onClick={() => { onClick={() => {
config.onClick(); config.onClick();

View File

@ -40,7 +40,7 @@ export default function ToolPanel() {
isRainbowMode ? rainbowStyles.rainbowPaper : '' isRainbowMode ? rainbowStyles.rainbowPaper : ''
}`} }`}
style={{ style={{
width: isPanelVisible ? '20rem' : '0', width: isPanelVisible ? '18.5rem' : '0',
padding: '0' padding: '0'
}} }}
> >

View File

@ -131,7 +131,7 @@ const ToolPicker = ({ selectedToolKey, onSelect, filteredTools, isSearching = fa
borderTop: `0.0625rem solid var(--tool-header-border)`, borderTop: `0.0625rem solid var(--tool-header-border)`,
borderBottom: `0.0625rem solid var(--tool-header-border)`, borderBottom: `0.0625rem solid var(--tool-header-border)`,
padding: "0.5rem 1rem", padding: "0.5rem 1rem",
fontWeight: 700, fontWeight: 600,
background: "var(--tool-header-bg)", background: "var(--tool-header-bg)",
color: "var(--tool-header-text)", color: "var(--tool-header-text)",
cursor: "pointer", cursor: "pointer",
@ -141,7 +141,7 @@ const ToolPicker = ({ selectedToolKey, onSelect, filteredTools, isSearching = fa
}} }}
onClick={() => scrollTo(quickAccessRef)} onClick={() => scrollTo(quickAccessRef)}
> >
<span>{t("toolPicker.quickAccess", "QUICK ACCESS")}</span> <span style={{ fontSize: "1rem" }}>{t("toolPicker.quickAccess", "QUICK ACCESS")}</span>
<span <span
style={{ style={{
background: "var(--tool-header-badge-bg)", background: "var(--tool-header-badge-bg)",
@ -156,7 +156,7 @@ const ToolPicker = ({ selectedToolKey, onSelect, filteredTools, isSearching = fa
</span> </span>
</div> </div>
<Box ref={quickAccessRef} w="100%"> <Box ref={quickAccessRef} w="100%" my="sm">
<Stack p="sm" gap="xs"> <Stack p="sm" gap="xs">
{quickSection?.subcategories.map(sc => {quickSection?.subcategories.map(sc =>
renderToolButtons(t, sc, selectedToolKey, onSelect, false) renderToolButtons(t, sc, selectedToolKey, onSelect, false)
@ -177,7 +177,7 @@ const ToolPicker = ({ selectedToolKey, onSelect, filteredTools, isSearching = fa
borderTop: `0.0625rem solid var(--tool-header-border)`, borderTop: `0.0625rem solid var(--tool-header-border)`,
borderBottom: `0.0625rem solid var(--tool-header-border)`, borderBottom: `0.0625rem solid var(--tool-header-border)`,
padding: "0.5rem 1rem", padding: "0.5rem 1rem",
fontWeight: 700, fontWeight: 600,
background: "var(--tool-header-bg)", background: "var(--tool-header-bg)",
color: "var(--tool-header-text)", color: "var(--tool-header-text)",
cursor: "pointer", cursor: "pointer",
@ -187,7 +187,7 @@ const ToolPicker = ({ selectedToolKey, onSelect, filteredTools, isSearching = fa
}} }}
onClick={() => scrollTo(allToolsRef)} onClick={() => scrollTo(allToolsRef)}
> >
<span>{t("toolPicker.allTools", "ALL TOOLS")}</span> <span style={{ fontSize: "1rem" }}>{t("toolPicker.allTools", "ALL TOOLS")}</span>
<span <span
style={{ style={{
background: "var(--tool-header-badge-bg)", background: "var(--tool-header-badge-bg)",

View File

@ -12,7 +12,6 @@ export interface FileStatusIndicatorProps {
const FileStatusIndicator = ({ const FileStatusIndicator = ({
selectedFiles = [], selectedFiles = [],
placeholder,
}: FileStatusIndicatorProps) => { }: FileStatusIndicatorProps) => {
const { t } = useTranslation(); const { t } = useTranslation();
const { openFilesModal } = useFilesModalContext(); const { openFilesModal } = useFilesModalContext();
@ -22,7 +21,6 @@ const FileStatusIndicator = ({
if (workbenchFiles.length === 0) { if (workbenchFiles.length === 0) {
return ( return (
<Text size="sm" c="dimmed"> <Text size="sm" c="dimmed">
{t("files.noFiles", "No files uploaded. ")}{" "}
<Anchor <Anchor
size="sm" size="sm"
onClick={openFilesModal} onClick={openFilesModal}

View File

@ -50,7 +50,7 @@ const renderTooltipTitle = (
sidebarTooltip={true} sidebarTooltip={true}
> >
<Flex align="center" gap="xs" onClick={(e) => e.stopPropagation()}> <Flex align="center" gap="xs" onClick={(e) => e.stopPropagation()}>
<Text fw={500} size="lg"> <Text fw={400} size="sm">
{title} {title}
</Text> </Text>
<LocalIcon icon="gpp-maybe-outline-rounded" width="1.25rem" height="1.25rem" style={{ color: 'var(--icon-files-color)' }} /> <LocalIcon icon="gpp-maybe-outline-rounded" width="1.25rem" height="1.25rem" style={{ color: 'var(--icon-files-color)' }} />
@ -60,7 +60,7 @@ const renderTooltipTitle = (
} }
return ( return (
<Text fw={500} size="lg"> <Text fw={500} size="sm">
{title} {title}
</Text> </Text>
); );
@ -96,7 +96,7 @@ const ToolStep = ({
<div> <div>
<div <div
style={{ style={{
padding: '1rem', padding: '0.5rem',
opacity: isCollapsed ? 0.8 : 1, opacity: isCollapsed ? 0.8 : 1,
color: isCollapsed ? 'var(--mantine-color-dimmed)' : 'inherit', color: isCollapsed ? 'var(--mantine-color-dimmed)' : 'inherit',
transition: 'opacity 0.2s ease, color 0.2s ease' transition: 'opacity 0.2s ease, color 0.2s ease'
@ -114,7 +114,7 @@ const ToolStep = ({
> >
<Flex align="center" gap="sm"> <Flex align="center" gap="sm">
{shouldShowNumber && ( {shouldShowNumber && (
<Text fw={500} size="lg" c="dimmed"> <Text fw={500} size="sm" c="dimmed" mr="0.5rem">
{stepNumber} {stepNumber}
</Text> </Text>
)} )}
@ -135,7 +135,7 @@ const ToolStep = ({
</Flex> </Flex>
{!isCollapsed && ( {!isCollapsed && (
<Stack gap="md" pl={_noPadding ? 0 : "md"}> <Stack gap="sm" pl={_noPadding ? 0 : "sm"}>
{helpText && ( {helpText && (
<Text size="sm" c="dimmed"> <Text size="sm" c="dimmed">
{helpText} {helpText}
@ -145,7 +145,7 @@ const ToolStep = ({
</Stack> </Stack>
)} )}
</div> </div>
<Divider style={{ marginLeft: '1rem', marginRight: '-0.5rem' }} /> <Divider style={{ color: '#E2E8F0', marginLeft: '1rem', marginRight: '-0.5rem' }} />
</div> </div>
); );
} }

View File

@ -19,7 +19,7 @@ export const renderToolButtons = (
{showSubcategoryHeader && ( {showSubcategoryHeader && (
<SubcategoryHeader label={getSubcategoryLabel(t, subcategory.subcategoryId)} /> <SubcategoryHeader label={getSubcategoryLabel(t, subcategory.subcategoryId)} />
)} )}
<Stack gap="xs"> <div>
{subcategory.tools.map(({ id, tool }) => ( {subcategory.tools.map(({ id, tool }) => (
<ToolButton <ToolButton
key={id} key={id}
@ -29,6 +29,6 @@ export const renderToolButtons = (
onSelect={onSelect} onSelect={onSelect}
/> />
))} ))}
</Stack> </div>
</Box> </Box>
); );

View File

@ -27,14 +27,14 @@ const ToolButton: React.FC<ToolButtonProps> = ({ id, tool, isSelected, onSelect
<Button <Button
variant={isSelected ? "filled" : "subtle"} variant={isSelected ? "filled" : "subtle"}
onClick={()=> handleClick(id)} onClick={()=> handleClick(id)}
size="md" size="sm"
radius="md" radius="md"
leftSection={<div className="tool-button-icon" style={{ color: "var(--tools-text-and-icon-color)" }}>{tool.icon}</div>}
fullWidth fullWidth
justify="flex-start" justify="flex-start"
className="tool-button" className="tool-button"
styles={{ root: { borderRadius: 0, color: "var(--tools-text-and-icon-color)" } }} styles={{ root: { borderRadius: 0, color: "var(--tools-text-and-icon-color)" } }}
> >
<div className="tool-button-icon" style={{ color: "var(--tools-text-and-icon-color)", marginRight: "0.5rem", transform: "scale(0.8)", transformOrigin: "center" }}>{tool.icon}</div>
<FitText <FitText
text={tool.name} text={tool.name}
lines={1} lines={1}