Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
36 commits
Select commit Hold shift + click to select a range
53070c4
create redesign.md
jhb-dev May 2, 2026
b01480b
feat(web): add design token layer and self-host Geist fonts
jhb-dev May 2, 2026
0d729cf
feat(web): replace logo with two-tier mark (4×4 tile grid, orange dia…
jhb-dev May 2, 2026
7553f51
feat(web): rebuild header/footer/layout with new design system
jhb-dev May 2, 2026
9ccf4ac
feat(web): rebuild HeroSection, Section, ServicesBlock with new desig…
jhb-dev May 2, 2026
3193c9a
feat(web): restyle PhilosophyBlock, AboutBlock, CustomerLogos, Testim…
jhb-dev May 2, 2026
59f8b2e
feat(web): render customer logo + name on testimonial card
jhb-dev May 2, 2026
77cf624
fix(web): testimonials masonry layout + author at top, fill founder i…
jhb-dev May 2, 2026
ec69c62
fix(web): tighter header CTA + override section 04 subtitle
jhb-dev May 2, 2026
8f97ee7
feat(web): redesign footer with site nav columns and JHB watermark
jhb-dev May 2, 2026
f5c0387
fix(web): drop generic icons in philosophy block, use mono numerals i…
jhb-dev May 2, 2026
6768db8
feat(web): swap accent color from orange to teal
jhb-dev May 2, 2026
3248108
fix(web): testimonials less card-styled + stable layout on expand
jhb-dev May 2, 2026
00e0b60
chore(web): temporarily disable cache clear button
jhb-dev May 2, 2026
79d659f
style(web): remove border radius from buttons
jhb-dev May 2, 2026
6e81edf
feat(web): redesign footer contact column as mailto card, icon-only s…
jhb-dev May 2, 2026
9851e85
feat(web): split about and philosophy into separate home sections
jhb-dev May 2, 2026
ee6594e
fix(web): avoid duplicate icon on primary links with CMS icon
jhb-dev May 2, 2026
fc9f8e2
feat(web): two-row customer logos with subtle opposing drift
jhb-dev May 2, 2026
cab4fb5
feat(web): implement customer logos marquee with fade effect and smoo…
jhb-dev May 2, 2026
5372e8f
style(web): update color variables and enhance hover effects for inte…
jhb-dev May 2, 2026
d2fefa1
feat(web): redesign project, article, and contact blocks plus detail …
jhb-dev May 3, 2026
cc2b59f
feat(web): redesign breadcrumbs with brand backslash separator
jhb-dev May 3, 2026
8faa392
refactor(web): unify tag chips and move article/project hero tags int…
jhb-dev May 3, 2026
9fb6acf
refactor(web): consolidate eyebrow pattern into Eyebrow component
jhb-dev May 3, 2026
982ceb7
refactor(web): extract MetaStrip and MetaField for shared article/pro…
jhb-dev May 3, 2026
9633ac7
feat(web): introduce Heading component, drop card radii, redesign aut…
jhb-dev May 3, 2026
7287d82
feat: add roadmap
jhb-dev May 3, 2026
b3d566c
feat(web): switch to Geist Icons as the single icon library
jhb-dev May 3, 2026
a2aebf7
refactor: rework design tokens
jhb-dev May 3, 2026
06cae75
feat(web): redesign logo as cobalt JHB tile and regenerate raster assets
jhb-dev May 3, 2026
08bdbb7
feat: add new OG
jhb-dev May 3, 2026
16b87c9
refactor(web): drive service cards from CMS fields and centralize lay…
jhb-dev May 3, 2026
cda7c74
fix: replace hardcoded labels
jhb-dev May 3, 2026
94c8b5f
fix(web): mobile polish for headings, nav, TOC, meta and services
jhb-dev May 3, 2026
d668ae9
fix(web): correct aria attributes on decorative icons and TOC
jhb-dev May 3, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file modified cms/public/icon.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified cms/public/logo.webp
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion cms/src/blocks/PhilosophyBlock.ts
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ export const PhilosophyBlock: Block = {
name: 'title',
type: 'text',
localized: true,
required: true,
required: false,
},
{
name: 'text',
Expand Down
38 changes: 30 additions & 8 deletions cms/src/blocks/ServicesBlock.ts
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ export const ServicesBlock: Block = {
name: 'title',
type: 'text',
admin: {
width: '70%',
width: '60%',
},
label: {
de: 'Titel',
Expand All @@ -39,19 +39,32 @@ export const ServicesBlock: Block = {
required: true,
},
{
name: 'icon',
name: 'eyebrow',
type: 'text',
admin: {
width: '20%',
},
label: {
de: 'Eyebrow-Kürzel',
en: 'Eyebrow tag',
},
localized: true,
required: true,
},
{
name: 'visualization',
type: 'select',
admin: {
width: '30%',
width: '20%',
},
label: {
de: 'Icon',
en: 'Icon',
de: 'Visualisierung',
en: 'Visualization',
},
options: [
{ label: 'Mobile Phone', value: 'mobile-phone' },
{ label: 'Laptop', value: 'laptop' },
{ label: 'Laptop Code', value: 'laptop-code' },
{ label: { de: 'Mobile App', en: 'Mobile App' }, value: 'mobile' },
{ label: { de: 'Website / CMS', en: 'Website / CMS' }, value: 'web' },
{ label: { de: 'Webanwendung', en: 'Web App' }, value: 'webapp' },
],
required: true,
},
Expand All @@ -77,6 +90,15 @@ export const ServicesBlock: Block = {
relationTo: 'pages',
required: true,
},
{
name: 'isHero',
type: 'checkbox',
defaultValue: false,
label: {
de: 'Als Hero anzeigen',
en: 'Show as hero',
},
},
],
},
],
Expand Down
27 changes: 26 additions & 1 deletion cms/src/globals/Labels.ts
Original file line number Diff line number Diff line change
Expand Up @@ -60,18 +60,43 @@ const Labels: GlobalConfig = {
...(['web-app', 'website', 'app', 'seo', 'cms'] satisfies Project['tags']).map((tag) =>
labelField(tag),
),
labelField('period'),
labelField('tags'),
labelField('customer'),
labelField('testimonials-eyebrow'),
labelField('testimonials-heading'),
],
},
{
name: 'articles',
type: 'group',
fields: [labelField('written-by'), labelField('last-updated-at')],
fields: [
labelField('written-by'),
labelField('last-updated-at'),
labelField('published-at'),
labelField('tags'),
],
},
{
name: 'authors',
type: 'group',
fields: [labelField('profession'), labelField('social')],
},
{
name: 'testimonials',
type: 'group',
fields: [labelField('testimonials-title', 'Testimonials section title')],
},
{
name: 'footer',
type: 'group',
fields: [
labelField('site'),
labelField('social'),
labelField('contact'),
labelField('write-us'),
],
},
{
name: 'not-found-page',
type: 'group',
Expand Down
48 changes: 45 additions & 3 deletions cms/src/payload-types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -329,9 +329,11 @@ export interface ServicesBlock {
services?:
| {
title: string;
icon: 'mobile-phone' | 'laptop' | 'laptop-code';
eyebrow: string;
visualization: 'mobile' | 'web' | 'webapp';
description: string;
page: string | Page;
isHero?: boolean | null;
id?: string | null;
}[]
| null;
Expand Down Expand Up @@ -682,7 +684,7 @@ export interface AboutBlock {
* via the `definition` "PhilosophyBlock".
*/
export interface PhilosophyBlock {
title: string;
title?: string | null;
text: {
root: {
type: string;
Expand Down Expand Up @@ -1366,9 +1368,11 @@ export interface ServicesBlockSelect<T extends boolean = true> {
| T
| {
title?: T;
icon?: T;
eyebrow?: T;
visualization?: T;
description?: T;
page?: T;
isHero?: T;
id?: T;
};
id?: T;
Expand Down Expand Up @@ -2010,14 +2014,31 @@ export interface Labels {
app: string;
seo: string;
cms: string;
period: string;
tags: string;
customer: string;
'testimonials-eyebrow': string;
'testimonials-heading': string;
};
articles: {
'written-by': string;
'last-updated-at': string;
'published-at': string;
tags: string;
};
authors: {
profession: string;
social: string;
};
testimonials: {
'testimonials-title': string;
};
footer: {
site: string;
social: string;
contact: string;
'write-us': string;
};
'not-found-page': {
title: string;
description: string;
Expand Down Expand Up @@ -2091,18 +2112,39 @@ export interface LabelsSelect<T extends boolean = true> {
app?: T;
seo?: T;
cms?: T;
period?: T;
tags?: T;
customer?: T;
'testimonials-eyebrow'?: T;
'testimonials-heading'?: T;
};
articles?:
| T
| {
'written-by'?: T;
'last-updated-at'?: T;
'published-at'?: T;
tags?: T;
};
authors?:
| T
| {
profession?: T;
social?: T;
};
testimonials?:
| T
| {
'testimonials-title'?: T;
};
footer?:
| T
| {
site?: T;
social?: T;
contact?: T;
'write-us'?: T;
};
'not-found-page'?:
| T
| {
Expand Down
Loading
Loading