fix: align PDF workspace with Toolbox shell

This commit is contained in:
2026-07-23 12:57:50 +02:00
parent 92dd3bcab3
commit a2ec2126c8
8 changed files with 29 additions and 9 deletions

View File

@@ -4,6 +4,13 @@ All notable changes to `pdf-tools` are documented here.
The project follows a pragmatic versioning scheme while the app is still below `1.0.0`: minor versions mark coherent user-facing milestones; patch versions mark fixes and small improvements.
## 0.4.3 — Aligned Toolbox content width
### Changed
- Expanded the PDF workspace's maximum content width from `900px` to `90rem` so it aligns with the shared Toolbox shell bar and central catalogue.
- Bumped the app/package version to `0.4.3`.
## 0.4.2 — Corrected Toolbox header orientation
### Changed

View File

@@ -4,7 +4,7 @@
Current hosted version: <https://pdftools.add-ideas.de>
Current development release: **v0.4.2corrected Toolbox header orientation**. See [`CHANGELOG.md`](CHANGELOG.md) for milestone history.
Current development release: **v0.4.3aligned Toolbox content width**. See [`CHANGELOG.md`](CHANGELOG.md) for milestone history.
Active work is tracked in Gitea issues. Durable project context is mirrored into the Gitea wiki from repository docs, including [`ROADMAP.md`](ROADMAP.md).
@@ -257,10 +257,10 @@ The application version shown in the header is defined in `src/version.ts`. The
The current development baseline is:
```text
v0.4.2corrected Toolbox header orientation and light/dark/system themes
v0.4.3aligned Toolbox content width and light/dark/system themes
```
This branch preserves the browser-only workspace baseline and PDF.js compatibility setup while moving the app to Toolbox SDK `0.2.2`. The displayed app/package version is `0.4.2`; the shared header keeps the Toolbox icon and `add·ideas Toolbox` label in a fixed far-left block, the app title and one tagline centered, and Help, the PDF source link, Apps, and Personalize in a fixed far-right cluster. Workspace state, thumbnail handling, generated download URLs, page-grid components, tests, type-checking, linting, and formatting remain separated enough to support additional feature work without turning `App.tsx` back into a monolith.
This branch preserves the browser-only workspace baseline and PDF.js compatibility setup while using Toolbox SDK `0.2.2`. The displayed app/package version is `0.4.3`; the shared header keeps the Toolbox icon and `add·ideas Toolbox` label in a fixed far-left block, the app title and one tagline centered, and Help, the PDF source link, Apps, and Personalize in a fixed far-right cluster. The PDF workspace now shares the shell bar's `90rem` maximum width. Workspace state, thumbnail handling, generated download URLs, page-grid components, tests, type-checking, linting, and formatting remain separated enough to support additional feature work without turning `App.tsx` back into a monolith.
## Project structure

4
package-lock.json generated
View File

@@ -1,12 +1,12 @@
{
"name": "pdf-tools",
"version": "0.4.2",
"version": "0.4.3",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "pdf-tools",
"version": "0.4.2",
"version": "0.4.3",
"license": "AGPL-3.0-only",
"dependencies": {
"@add-ideas/toolbox-contract": "^0.2.2",

View File

@@ -1,6 +1,6 @@
{
"name": "pdf-tools",
"version": "0.4.2",
"version": "0.4.3",
"private": true,
"license": "AGPL-3.0-only",
"type": "module",

View File

@@ -28,5 +28,5 @@
"repository": "https://git.add-ideas.de/zemion/pdf-tools",
"license": "AGPL-3.0-only"
},
"version": "0.4.2"
"version": "0.4.3"
}

View File

@@ -168,7 +168,7 @@ body {
.pdf-toolbox-shell .toolbox-shell__main {
padding: 0.75rem;
max-width: 900px;
max-width: 90rem;
display: flex;
flex-direction: column;
gap: 0.75rem;

View File

@@ -1 +1 @@
export const APP_VERSION = '0.4.2';
export const APP_VERSION = '0.4.3';

View File

@@ -0,0 +1,13 @@
import { readFile } from 'node:fs/promises';
import { describe, expect, it } from 'vitest';
describe('Toolbox layout styles', () => {
it('keeps the PDF workspace aligned to the 90rem shell width', async () => {
const stylesheet = await readFile('src/styles.css', 'utf8');
const mainRule = stylesheet.match(
/\.pdf-toolbox-shell \.toolbox-shell__main\s*\{(?<body>[^}]*)\}/u
);
expect(mainRule?.groups?.body).toMatch(/\bmax-width:\s*90rem\s*;/u);
});
});