Show brand mark and Stirling name in processor sidebar (#7125)

# Description of Changes
Change logo in top left
<img width="872" height="160" alt="image"
src="https://github.com/user-attachments/assets/69f5366c-8640-41ca-9555-c5d30881678d"
/>

---

## Checklist

### General

- [ ] I have read the [Contribution
Guidelines](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/CONTRIBUTING.md)
- [ ] I have read the [Stirling-PDF Developer
Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/DeveloperGuide.md)
(if applicable)
- [ ] I have read the [How to add new languages to
Stirling-PDF](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/HowToAddNewLanguage.md)
(if applicable)
- [ ] I have performed a self-review of my own code
- [ ] My changes generate no new warnings

### Documentation

- [ ] I have updated relevant docs on [Stirling-PDF's doc
repo](https://github.com/Stirling-Tools/Stirling-Tools.github.io/blob/main/docs/)
(if functionality has heavily changed)
- [ ] I have read the section [Add New Translation
Tags](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/HowToAddNewLanguage.md#add-new-translation-tags)
(for new translation tags only)

### Translations (if applicable)

- [ ] I ran
[`scripts/counter_translation.py`](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/docs/counter_translation.md)

### UI Changes (if applicable)

- [ ] Screenshots or videos demonstrating the UI changes are attached
(e.g., as comments or direct attachments in the PR)

### Testing (if applicable)

- [ ] I have run `task check` to verify linters, typechecks, and tests
pass
- [ ] I have tested my changes locally. Refer to the [Testing
Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/DeveloperGuide.md#7-testing)
for more details.
This commit is contained in:
Anthony Stirling
2026-07-23 11:22:46 +00:00
committed by GitHub
parent 29002d0b82
commit a1b1f974a0
5 changed files with 28 additions and 7 deletions
File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 6.1 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 6.1 KiB

@@ -0,0 +1,4 @@
<svg width="22" height="22" viewBox="0 0 117 118" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M4.4266 58.4565L75.1855 0.000123003L75.1856 54.5919L4.4266 113.048L4.4266 58.4565Z" fill="#AD7373"/>
<path d="M41.7248 62.4581L112.568 3.93241L112.568 58.5889L41.7248 117.115L41.7248 62.4581Z" fill="#8E3131"/>
</svg>

After

Width:  |  Height:  |  Size: 324 B

@@ -54,12 +54,20 @@
padding: 0 0.875rem;
display: flex;
align-items: center;
gap: 0.5rem;
gap: 0.4375rem;
border-bottom: 1px solid var(--c-border-subtle);
}
/* Stirling Processor wordmark (theme-switched in Sidebar.tsx); matches the
editor's 22px wordmark so the two apps read as one brand. */
/* Brand mark (parallelogram icon) leading the wordmark; same in both themes. */
.portal-sidebar__mark {
height: 1.5rem;
width: auto;
display: block;
flex-shrink: 0;
}
/* Stirling wordmark (theme-switched in Sidebar.tsx); matches the editor's
22px wordmark so the two apps read as one brand. */
.portal-sidebar__wordmark {
height: 1.375rem;
width: auto;
@@ -8,8 +8,9 @@ import { useTheme } from "@portal/contexts/ThemeContext";
import { useUI } from "@portal/contexts/UIContext";
import { LinkAccountFooterItem } from "@portal/components/LinkAccountFooterItem";
import { EDITOR_URL, EDITOR_IS_SAME_APP } from "@portal/auth/editorUrl";
import wordmarkLight from "@app/assets/brand/modern-logo/StirlingProcessorLogoBlackText.svg";
import wordmarkDark from "@app/assets/brand/modern-logo/StirlingProcessorLogoWhiteText.svg";
import mark from "@app/assets/brand/modern-logo/StirlingProcessorLogoNoText.svg";
import wordmarkLight from "@app/assets/brand/modern-logo/StirlingLogoBlackText.svg";
import wordmarkDark from "@app/assets/brand/modern-logo/StirlingLogoWhiteText.svg";
import { CloseIcon, SettingsIcon } from "@portal/components/icons";
import {
GROUP_PROCESSOR,
@@ -80,18 +81,24 @@ export function Sidebar() {
inert={isMobile && !mobileNavOpen}
>
<div className="portal-sidebar__logo">
<img
className="portal-sidebar__mark"
src={mark}
alt=""
aria-hidden="true"
/>
{/* Both wordmarks render; CSS shows the right one per the actual color
scheme (data-mantine-color-scheme), so it tracks the rendered theme
rather than the portal's separate theme state. */}
<img
className="portal-sidebar__wordmark portal-sidebar__wordmark--light"
src={wordmarkLight}
alt={t("portal.shell.sidebar.brandSuffix")}
alt="Stirling"
/>
<img
className="portal-sidebar__wordmark portal-sidebar__wordmark--dark"
src={wordmarkDark}
alt={t("portal.shell.sidebar.brandSuffix")}
alt="Stirling"
/>
<AppSwitch