diff --git a/app/app.config.ts b/app/app.config.ts index 55a0413..5784e4a 100644 --- a/app/app.config.ts +++ b/app/app.config.ts @@ -1,4 +1,7 @@ export default defineAppConfig({ + metaTitle: 'La boite aux lettres - Laurette Colmard', + metaDesc:'Characters with character, by type designer Laurette Colmard.', title: 'La Boîte aux lettres', - description: "Characters with character, by type designer Laurette Colmard." + description: "Characters with character,", + description2: "by type designer Laurette Colmard." }) \ No newline at end of file diff --git a/app/app.vue b/app/app.vue index 7b4c038..081a11b 100644 --- a/app/app.vue +++ b/app/app.vue @@ -22,4 +22,8 @@ a { html { scroll-behavior: smooth; } + +.arrow-icon { + width: 12px; +} \ No newline at end of file diff --git a/app/assets/icons/arrow-down-black.svg b/app/assets/icons/arrow-down-black.svg new file mode 100644 index 0000000..185da9b --- /dev/null +++ b/app/assets/icons/arrow-down-black.svg @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/app/assets/icons/arrow-down-white.svg b/app/assets/icons/arrow-down-white.svg new file mode 100644 index 0000000..5ca3838 --- /dev/null +++ b/app/assets/icons/arrow-down-white.svg @@ -0,0 +1,16 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/app/assets/icons/cross-white.svg b/app/assets/icons/cross-white.svg new file mode 100644 index 0000000..a75845b --- /dev/null +++ b/app/assets/icons/cross-white.svg @@ -0,0 +1,16 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/app/assets/icons/times-white.svg b/app/assets/icons/times-white.svg new file mode 100644 index 0000000..92604f2 --- /dev/null +++ b/app/assets/icons/times-white.svg @@ -0,0 +1,16 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/app/components/AppHeader.vue b/app/components/AppHeader.vue index cbb83d4..4cba072 100644 --- a/app/components/AppHeader.vue +++ b/app/components/AppHeader.vue @@ -14,16 +14,27 @@ const { isScrolled } = useScroll(scrollThreshold.value) @@ -53,12 +64,18 @@ const { isScrolled } = useScroll(scrollThreshold.value) box-sizing: border-box; } +.app-header > div { + display: flex; + flex-direction: column; + gap: 1rem; +} + .app-header--sticky { position: fixed; top: 0; width: 100%; height: 34px; - padding: 0.75rem 2rem; + padding: 0.75rem 1rem; align-items: center; animation: slideDown 0.3s ease; z-index: 10; @@ -87,7 +104,6 @@ nav { } a { - font-weight: 500; color: inherit; } @@ -96,18 +112,82 @@ p { line-height: 1.5rem; } +@media (min-width: 768px) { + .app-header { + height: 100vh; + } + + .app-header > div { + position: absolute; + bottom: 3rem; + } + + .brand { + width: 332px; + } + + .brand-logo { + width: 168px; + } + + p { + font-size: 1.4rem; + line-height: inherit; + } +} + @media (min-width: 1024px) { .app-header--sticky { - height: 114px; - padding: 2.6rem 4rem; + height: 64px; + padding: 1rem 4rem; } .app-header--sticky img { - height: 30px; + height: 24px; + } + + .brand-logo { + width: 228px; + } + + .brand { + width: 460px; } a { - font-size: 1.25rem; + font-size: 1.2rem; + } + + p { + font-size: 1.65rem; + } +} + +@media (min-width: 1536px) { + .brand-logo { + width: 340px; + } + + .brand { + width: 688px; + } + + p { + font-size: 2rem; + } +} + +@media (min-width: 1920px) { + .brand-logo { + width: 447px; + } + + .brand { + width: 892px; + } + + p { + font-size: 3.2rem; } } \ No newline at end of file diff --git a/app/components/VProject.vue b/app/components/VProject.vue index 2a493bf..1ef8e2e 100644 --- a/app/components/VProject.vue +++ b/app/components/VProject.vue @@ -1,19 +1,39 @@ @@ -54,9 +58,16 @@ useSeoMeta({ #about article { border-top: 1px solid var(--secondary-color); border-bottom: 1px solid var(--secondary-color); - padding: 1rem 0; + padding: 0.5rem 0 1rem 0; display: flex; flex-direction: column; gap: 1rem; + line-height: 20px; +} + +article h2 { + display: flex; + align-items: center; + gap: 0.5rem; } \ No newline at end of file diff --git a/content.config.ts b/content.config.ts index e32d8e2..a3b0194 100644 --- a/content.config.ts +++ b/content.config.ts @@ -6,7 +6,7 @@ export default defineContentConfig({ type: 'page', source: '*.md', schema: z.object({ - + description2: z.string() }) }), projects: defineCollection({ @@ -18,6 +18,9 @@ export default defineContentConfig({ shortDescription: z.string(), description: z.string(), image: z.string(), + toggleUrl: z.string(), + toggleText: z.string(), + popupImage: z.string(), preview: z.string(), isDraft: z.boolean() }) diff --git a/content/about.md b/content/about.md index 6795624..36450aa 100644 --- a/content/about.md +++ b/content/about.md @@ -1,4 +1,5 @@ --- title: About -description: I'm a freelance type designer based in Grenoble, France. I collaborate with type foundries and design agencies on custom and retail projects. My design approach is grounded in the traditional type education I received at école Estienne (Paris) and my everlasting enthusiasm for expressive and lively letterforms. Since 2021, I have worked with…Letters from Sweden, Colophon Foundry, Nova Type Foundry, Black[Foundry], Université Sorbonne-Nouvelle, Spy Studio, The Imageniers – among others. +description: I'm a freelance type designer based in Grenoble, France. I collaborate with type foundries and design agencies on custom and retail projects. My design approach is grounded in the traditional type education I received at école Estienne (Paris) and my everlasting enthusiasm for expressive and lively letterforms. +description2: Since 2021, I have worked with…Letters from Sweden, Colophon Foundry, Nova Type Foundry, Black[Foundry], Université Sorbonne-Nouvelle, Spy Studio, The Imageniers – among others. --- \ No newline at end of file diff --git a/content/projects/abbiocco.md b/content/projects/abbiocco.md index 4ab1799..15d22e4 100644 --- a/content/projects/abbiocco.md +++ b/content/projects/abbiocco.md @@ -2,6 +2,6 @@ order: 2 title: Abbiocco shortDescription: Humanist sans serif typeface family. Soon available. -description: ... image: /images/projects/abbiocco.svg +toggleUrl: https://lettersfromsweden.se/font/bazaar --- \ No newline at end of file diff --git a/content/projects/grenette.md b/content/projects/grenette.md index f51fc5b..64b3f89 100644 --- a/content/projects/grenette.md +++ b/content/projects/grenette.md @@ -2,6 +2,7 @@ order: 3 title: Grenette shortDescription: Characterful and versatile serif typeface family. Developed at Colophon Foundry. -description: ... image: /images/projects/grenette.svg +popupImage: /images/projects/grenette-popup.svg +toggleText: See the board ! --- \ No newline at end of file diff --git a/content/projects/ica-medis.md b/content/projects/ica-medis.md index 9317cac..d79cb29 100644 --- a/content/projects/ica-medis.md +++ b/content/projects/ica-medis.md @@ -2,6 +2,5 @@ order: 4 title: ICA Medis shortDescription: Medis Black and modular style for ICA Supermarket, Stockholm, Sweden. In collaboration with Hummingbirds The Hybrid Agency & Letters from Sweden. -description: ... image: /images/projects/ica-medis.svg --- \ No newline at end of file diff --git a/content/projects/poolriders.md b/content/projects/poolriders.md index 16bf754..51f6822 100644 --- a/content/projects/poolriders.md +++ b/content/projects/poolriders.md @@ -2,6 +2,7 @@ order: 5 title: PoolRiders shortDescription: Lettering for a skateboard. Personal project. -description: ... image: /images/projects/poolriders.svg +popupImage: /images/projects/poolriders-popup.svg +toggleText: See the board! --- \ No newline at end of file