mirror of
https://github.com/Stirling-Tools/Stirling-PDF.git
synced 2025-08-26 14:19:24 +00:00
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:
parent
ed61c71db7
commit
87959ae9c4
@ -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 |
@ -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 |
@ -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>
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@ -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)',
|
||||||
|
@ -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();
|
||||||
|
@ -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'
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
|
@ -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)",
|
||||||
|
@ -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}
|
||||||
|
@ -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>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
@ -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>
|
||||||
);
|
);
|
||||||
|
@ -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}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user