Personal site staging.colinozanne.co.uk
portfolio astro

feat: rearrange project page

finxol.io e3dc0cd3 1700ce37

verified
+141 -65
+79 -15
src/assets/styles/projects/karr.css
··· 1 1 article { 2 2 display: grid; 3 - grid-template-columns: auto 1fr; 4 - align-items: center; 3 + grid-template-columns: auto auto 1fr; 5 4 grid-template-areas: 6 - "back-btn title" 7 - ". subtitle" 8 - ". img" 9 - ". description" 10 - ". boxes"; 5 + "back-btn title subtitle" 6 + ". img img" 7 + ". description description"; 11 8 gap: var(--spacing); 9 + column-gap: calc(var(--spacing) * 2); 10 + row-gap: calc(var(--spacing) * 3); 11 + align-items: center; 12 12 margin-inline-end: 3rem; 13 13 font-size: 1.1rem; 14 + 15 + @media screen and (max-width: 768px) { 16 + grid-template-areas: 17 + "back-btn title" 18 + "subtitle subtitle" 19 + "img img" 20 + "description description" 21 + "boxes boxes"; 22 + margin-inline-end: 0; 23 + } 14 24 15 25 & > a { 16 26 grid-area: back-btn; ··· 19 29 & > h2 { 20 30 grid-area: title; 21 31 margin: 0; 22 - font-size: 2.5rem; 23 - font-weight: bold; 32 + font-size: 2.7rem; 33 + font-weight: bolder; 34 + width: min-content; 24 35 } 25 36 26 37 & > p.subtitle { 27 38 grid-area: subtitle; 28 39 margin: 0; 29 - font-size: 1.2rem; 40 + font-size: 1.5rem; 41 + align-self: end; 42 + margin-block-end: 0.2rem; 30 43 } 31 44 32 - & > picture, 33 - & > img { 45 + & > div { 34 46 grid-area: img; 35 47 align-self: center; 36 48 justify-self: center; ··· 43 55 44 56 & > p.description { 45 57 grid-area: description; 58 + margin: 0; 59 + font-size: 1.2rem; 46 60 } 47 61 48 - & > div.boxes { 49 - grid-area: boxes; 62 + & > div { 50 63 display: grid; 51 - grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); 64 + grid-template-areas: 65 + "img box1" 66 + "img box2" 67 + "img box3"; 52 68 gap: var(--spacing); 69 + 70 + @media screen and (max-width: 768px) { 71 + flex-direction: column; 72 + align-items: center; 73 + } 74 + 75 + & > img, 76 + & > picture { 77 + grid-area: img; 78 + border-radius: var(--radius); 79 + 80 + img { 81 + object-fit: cover; 82 + height: 100%; 83 + } 84 + } 85 + 86 + div.container { 87 + display: flex; 88 + flex-direction: column; 89 + align-items: center; 90 + justify-content: center; 91 + gap: var(--spacing); 92 + font-size: 1.2rem; 93 + text-align: center; 94 + 95 + &:nth-child(1) { 96 + grid-area: box1; 97 + } 98 + &:nth-child(2) { 99 + grid-area: box2; 100 + } 101 + &:nth-child(3) { 102 + grid-area: box3; 103 + } 104 + 105 + & > svg { 106 + --size: 3rem; 107 + color: var(--color-primary); 108 + } 109 + 110 + a { 111 + text-decoration: none; 112 + color: inherit; 113 + } 114 + 115 + --container-color: var(--teal-300); 116 + } 53 117 } 54 118 }
-8
src/layouts/Layout.astro
··· 208 208 transition: color 0.3s ease-in-out; 209 209 --container-color: var(--amber-500); 210 210 --container-text-color: var(--amber-950); 211 - 212 - svg { 213 - --size: 1.5rem; 214 - 215 - &.external-link { 216 - --size: 0.75rem; 217 - } 218 - } 219 211 } 220 212 221 213 & > * {
+31 -23
src/pages/en/projects/karr.astro
··· 2 2 import Layout from "@/layouts/Layout.astro"; 3 3 import "@/assets/styles/projects/karr.css"; 4 4 import { Icon } from "astro-icon/components"; 5 - import { Image } from "astro:assets"; 6 5 7 6 import karrJpg from "@/assets/img/karr_demo.jpg"; 8 7 import karrWebp from "@/assets/img/karr_demo.webp"; 9 - 10 - const homepage = Astro.url; 11 - homepage.pathname = "/"; 12 8 --- 13 9 14 10 <Layout> 15 11 <article> 16 - <a href={homepage}> 12 + <a href="/"> 17 13 <Icon name="pixel:arrow-alt-circle-left" /> 18 14 </a> 19 15 ··· 21 17 22 18 <p class="subtitle">Federated carpool platform for companies</p> 23 19 24 - <picture style="view-transition-name: karr-img"> 25 - <source srcset={karrWebp.src} type="image/webp" /> 26 - <img src={karrJpg.src} alt="Karr" /> 27 - </picture> 20 + <div class="boxes"> 21 + <picture style="view-transition-name: karr-img"> 22 + <source srcset={karrWebp.src} type="image/webp" /> 23 + <img src={karrJpg.src} alt="Karr" /> 24 + </picture> 28 25 29 - <p class="description"> 30 - This entrepreneurial project was carried out for 5 months with 31 - <a href="https://www.pepitebretagne.fr/"> Pépite Bretagne</a>. The 32 - project was discontinued after a market study revealed a 33 - well-established competition, already subsidized by public funds. 34 - </p> 26 + <div class="container"> 27 + <Icon name="tabler:brand-git" /> 28 + <span> 29 + Since {new Date("10 October 2024").toLocaleDateString()} 30 + </span> 31 + </div> 35 32 36 - <div class="boxes"> 37 33 <div class="container"> 38 - Github repo 39 - <a href="https://github.com/karr-mobi/karr"> 40 - https://github.com/karr-mobi/karr 41 - </a> 34 + <Icon name="tabler:brand-nodejs" /> 35 + <span> NodeJS </span> 42 36 </div> 37 + 43 38 <div class="container"> 44 - Github repo 45 - <a href="https://github.com/karr-mobi/karr"> 46 - https://github.com/karr-mobi/karr 39 + <Icon name="tabler:brand-github" /> 40 + <a 41 + href="https://github.com/karr-mobi/karr" 42 + class="cover" 43 + target="_blank" 44 + rel="noopener noreferrer" 45 + > 46 + Github repo 47 + <Icon name="pixel:external-link" class="external-link" /> 47 48 </a> 48 49 </div> 49 50 </div> 51 + 52 + <p class="description"> 53 + This entrepreneurial project was carried out for 5 months with 54 + <a href="https://www.pepitebretagne.fr/"> Pépite Bretagne</a>. The 55 + project was discontinued after a market study revealed a 56 + well-established competition, already subsidized by public funds. 57 + </p> 50 58 </article> 51 59 </Layout>
+31 -19
src/pages/fr/projects/karr.astro
··· 22 22 Plateforme de covoiturage fédérée pour entreprises 23 23 </p> 24 24 25 - <picture style="view-transition-name: karr-img"> 26 - <source srcset={karrWebp.src} type="image/webp" /> 27 - <img src={karrJpg.src} alt="Karr" /> 28 - </picture> 25 + <div class="boxes"> 26 + <picture style="view-transition-name: karr-img"> 27 + <source srcset={karrWebp.src} type="image/webp" /> 28 + <img src={karrJpg.src} alt="Karr" /> 29 + </picture> 29 30 30 - <p class="description"> 31 - Ce projet entrepreneurial a été porté pendant 5 mois avec 32 - <a href="https://www.pepitebretagne.fr/"> Pépite Bretagne</a>. 33 - L'arrêt du projet a été décidé après une étude de marché révélant 34 - une concurrence déjà fortement présente et subventionnée par des 35 - fonds publics. 36 - </p> 31 + <div class="container"> 32 + <Icon name="tabler:brand-git" /> 33 + <span> 34 + Depuis le {new Date("10 October 2024").toLocaleDateString()} 35 + </span> 36 + </div> 37 37 38 - <div class="boxes"> 39 38 <div class="container"> 40 - Github repo 41 - <a href="https://github.com/karr-mobi/karr"> 42 - https://github.com/karr-mobi/karr 43 - </a> 39 + <Icon name="tabler:brand-nodejs" /> 40 + <span> NodeJS </span> 44 41 </div> 42 + 45 43 <div class="container"> 46 - Github repo 47 - <a href="https://github.com/karr-mobi/karr"> 48 - https://github.com/karr-mobi/karr 44 + <Icon name="tabler:brand-github" /> 45 + <a 46 + href="https://github.com/karr-mobi/karr" 47 + class="cover" 48 + target="_blank" 49 + rel="noopener noreferrer" 50 + > 51 + Github repo 52 + <Icon name="pixel:external-link" class="external-link" /> 49 53 </a> 50 54 </div> 51 55 </div> 56 + 57 + <p class="description"> 58 + Ce projet entrepreneurial a été porté pendant 5 mois avec 59 + <a href="https://www.pepitebretagne.fr/"> Pépite Bretagne</a>. 60 + L'arrêt du projet a été décidé après une étude de marché révélant 61 + une concurrence déjà fortement présente et subventionnée par des 62 + fonds publics. 63 + </p> 52 64 </article> 53 65 </Layout>