aboutsummaryrefslogtreecommitdiffstats
path: root/src/pages/index.tsx
Commit message (Collapse)AuthorAgeFilesLines
* feat(components): add a generic Grid componentArmand Philippot2023-11-111-12/+33
| | | | | * merge Columns, Gallery and CardsList into Grid component * add more options to control the grid
* refactor(components): rewrite Card componentArmand Philippot2023-11-111-14/+45
| | | | | | | | | | | | | * make the component more generic * merge `<Summary />` and `<Comment />` styles into card component to avoid repeating the same structure * remove most of the props to use composition However the CSS is a bit complex because of the two variants... Also, the component should be refactored when the CSS pseudo-class `:has` has enough support: the provider and the `cover` and `meta` props should be removed.
* feat(components): add a Time componentArmand Philippot2023-11-111-12/+3
| | | | | | Instead of using helpers functions to format the date each time we need to use a time element, it makes more sense to create a new component dedicated to this task.
* refactor(components): replace Meta component with MetaListArmand Philippot2023-11-111-2/+24
| | | | | | It removes items complexity by allowing consumers to use any label/value association. Translations should also be defined by the consumer. Each item can now be configured separately (borders, layout...).
* refactor(components): replace ResponsiveImage with Figure componentArmand Philippot2023-11-111-1/+8
| | | | | | | | The styles applied to ResponsiveImage are related to the figure and figcaption elements. Those elements could be use with other contents than images. So I extracted them in a Figure component. The ResponsiveImage component is no longer useful: the consumer should use the Image component from `next` and wrap it in a link if needed.
* refactor(components): rewrite List componentArmand Philippot2023-11-111-71/+44
| | | | | | | | | * change `items` prop to children * replace `kind` prop with `isHierarchical`, `isOrdered` & `isInline` props * add `hideMarker` prop * add `spacing` prop to control item spacing * move lists styles to Sass placeholders to avoid repeats because of headless WordPress
* feat(components): replace icons with a generic Icon componentArmand Philippot2023-10-241-5/+3
| | | | | Sizes are also predefined and can be set using the `size` prop, so the consumers should no longer adjust the size in CSS.
* refactor(components): rewrite Heading componentArmand Philippot2023-10-241-1/+62
| | | | | | | | | * remove `alignment` and `withMargin` props (consumer should handle that) * move styles to Sass placeholders to avoid repeats with headings coming from WordPress * refactor some other components that depend on Heading to avoid ESlint errors
* refactor(components): rewrite Section componentArmand Philippot2023-10-241-19/+10
| | | | | | * Make it compliant with ESlint rules * Remove mandatory heading, it now depends on the consumer * Change defaults for hasBorder and variant
* refactor(components): rewrite Button and ButtonLink componentsArmand Philippot2023-10-241-9/+9
| | | | | | | | | | | | | | Both: * move styles to Sass placeholders Button: * add `isPressed` prop to Button * add `isLoading` prop to Button (to differentiate state from disabled) ButtonLink: * replace `external` prop with `isExternal` prop * replace `href` prop with `to` prop
* refactor(routes): replace hardcoded routes with constantsArmand Philippot2023-10-241-64/+65
| | | | | | | | It makes it easier to change a route if needed and it avoid typo mistakes. I also refactored a bit the concerned files to be complient with the new ESlint config. However, I should rewrite the pages to reduce the number of statements.
* refactor: use named export for everything except pagesArmand Philippot2023-09-201-24/+24
| | | | | | Next expect a default export for pages so only those components should use default exports. Everything else should use named exports to reduce the number of import statements.
* build(deps): bump all dependenciesArmand Philippot2023-09-191-8/+8
| | | | | * MDX type has changed so some components props had to be updated * Since Storybook now supports TS, I renamed the main/preview files
* refactor(build): replace paths aliases with relative pathsArmand Philippot2023-09-191-22/+22
| | | | | | Using paths aliases starting with "@" can be confusing and can lead to conflict with existings modules. I prefer to use relative paths to avoid extra configuration in tools because of these aliases.
* chore: make Links and Images compliant with Next.js 13Armand Philippot2023-01-231-187/+192
|
* chore: add aria hidden attribute to SVG iconsArmand Philippot2022-06-071-2/+5
|
* refactor(schema): use helpers function to avoid repeat between pagesArmand Philippot2022-05-231-19/+7
|
* chore: use persistent layoutArmand Philippot2022-05-171-6/+14
| | | | | It prevents to rerender the common components between pages (header, footer...).
* refactor: use custom hook for breadcrumb items and schemaArmand Philippot2022-05-161-2/+7
|
* chore: improve accessibilityArmand Philippot2022-05-151-1/+1
|
* refactor: rewrite DescriptionList and Meta componentsArmand Philippot2022-05-091-11/+1
| | | | | | The meta can have different layout. The previous implementation was not enough to easily change the layout. Also, I prefer to restrict the meta types and it prevents me to repeat myself for the labels.
* chore: add homepageArmand Philippot2022-05-031-0/+365
|
* chore: remove old pages, components, helpers and typesArmand Philippot2022-04-291-241/+0
| | | | | Since I'm using new components, I will also rewrite the GraphQL queries so it is easier to start from scratch.
* refactor: use formatjs swc pluginArmand Philippot2022-03-231-0/+9
| | | | | I'm not able to configure SWC plugins in Next.js so to make it works, all translation must have an id.
* chore(homepage): use next/image for images and specify width/heightArmand Philippot2022-02-221-2/+5
|
* refactor: replace script tags with next/script (#10)Armand Philippot2022-02-211-4/+6
| | | | | | | | * refactor: replace script tags with next/script Since next.js v12.1.0 some warnings was displayed because I was using some script tags. * build(deps): bump next-themes to v0.1.1
* chore: update homepage and cv contentsArmand Philippot2022-02-161-0/+16
|
* fix: make schema.org markup valid (#4)Armand Philippot2022-02-161-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | Squashed commit of the following: commit 49c1b3b1556a0eb91c429a961fedd2bded8ffd47 Author: Armand Philippot <git@armandphilippot.com> Date: Wed Feb 16 15:17:52 2022 +0100 chore: add headline field to blogPosting schema commit 42214c6f032cc899ec252a9387be35dcad738546 Author: Armand Philippot <git@armandphilippot.com> Date: Wed Feb 16 15:09:11 2022 +0100 chore: update the searchAction markup and add query-input Google was complaining about "query-input" which is not in Schema.org representation. So I added it. commit 5f29226d937cbdcd262df2793f1588435d850f02 Author: Armand Philippot <git@armandphilippot.com> Date: Wed Feb 16 14:32:14 2022 +0100 chore: remove breadcrumb from homepage The breadcrumb is not displayed on the homepage, so the breadcrumb field should not appear inside Schema markup.
* chore: load recent posts on homepage during buildArmand Philippot2022-02-141-1/+19
| | | | This way, even whithout JS, user can see the latest posts.
* refactor(config): move config from config dir to utilsArmand Philippot2022-01-291-12/+12
|
* chore: replace lingui functions with react-intlArmand Philippot2022-01-291-14/+55
|
* chore(i18n): replace i18n provider and helpersArmand Philippot2022-01-291-12/+11
|
* fix: handle translation with linguiArmand Philippot2022-01-281-7/+8
| | | | | | | | The previous method was not working so I tried a different approach. Translation is loaded but I'm still getting warnings: * Plurals for locale undefined aren't loaded * Text content did not match I can't figure how to fix them...
* chore: add opengraph and twitter metaArmand Philippot2022-01-191-0/+4
|
* refactor(config): move defaultLocale as property of config.localesArmand Philippot2022-01-191-1/+1
| | | | | I will need the country code, so I think it makes more sense to gather them inside the same property.
* chore: add structured data using schema.org and JSON-LDArmand Philippot2022-01-191-1/+29
| | | | I also added the featured image on single article.
* feat: implement dark modeArmand Philippot2022-01-171-3/+3
|
* chore(homepage): add icons to some buttonsArmand Philippot2022-01-141-2/+10
|
* chore(homepage): replace absolute links with custom componentsArmand Philippot2021-12-291-1/+75
|
* chore: replace homepage content with MDX contentArmand Philippot2021-12-241-7/+3
| | | | | I cannot import custom blocks through WP GraphQL, so I prefer to use MDX file. This way I cannot import custom components.
* refactor: rewrite types and servicesArmand Philippot2021-12-201-1/+1
| | | | | | | I was repeating myself a lot in services. So I rewrited the different functions to improve readability and I extracted some formatting functions to put them in utils. I also rewrited/reorganized some types to keep consistent names.
* fix: change branding title tag on homepageArmand Philippot2021-12-151-1/+1
| | | | I forgot to pass isHome arg...
* chore: create homepage with graphql dataArmand Philippot2021-12-131-65/+15
|
* chore: load i18n translations using lingui providerArmand Philippot2021-12-131-0/+15
|
* chore: change app to use a layoutArmand Philippot2021-12-131-2/+8
| | | | I can now insert header/footer on each pages.
* build: move global styles and pages inside src directoryArmand Philippot2021-12-121-0/+72