aboutsummaryrefslogtreecommitdiffstats
path: root/src/styles
Commit message (Collapse)AuthorAgeFilesLines
* refactor(pages): refine 404 pageArmand Philippot2023-12-091-1/+1
| | | | | * refresh topics and thematics list using hooks * add Cypress tests
* refactor(pages): refine Project pagesArmand Philippot2023-12-082-11/+14
| | | | | | | | | | | * refactor ProjectOverview component to let consumers handle the value * extract project overview depending on Github to avoid fetching Github API if the project is not on Github * wrap dynamic import in a useMemo hook to avoid infinite rerender * fix table of contents by adding a useMutationObserver hook to refresh headings tree (without it useHeadingsTree is not retriggered once the dynamic import is done) * add Cypress tests
* refactor(pages): refine Projects pageArmand Philippot2023-12-072-2/+4
| | | | | | | * add a `contexts` meta key to projects * replace `technologies` with `contexts` key in projects list * make getProjectsFilenames async * add Cypress tests
* refactor(pages): refine Search pageArmand Philippot2023-12-071-0/+4
| | | | | | | * extract NoResults component to improve readability * provide a different message when the url does not contain a query * use hooks to refresh Thematics and Topics lists * remove useDataFromApi hook
* refactor(pages): refine Blog pagesArmand Philippot2023-12-042-44/+16
| | | | | | | | | | * replace usePostsList with useArticlesList to keep names coherent * remove useIsMounted hook * rewrite useRedirection hook * add redirect in getStaticProps to avoid unecessary fetching * move Pagination component in a noscript tag * use hooks to refresh thematics and topics lists * complete Cypress tests
* refactor(pages): refine Topic pagesArmand Philippot2023-12-011-11/+0
| | | | | | * add useTopic and useTopicsList hooks to refresh data * add a table of contents * add Cypress tests
* refactor(pages): refine Thematic pagesArmand Philippot2023-12-012-2/+4
| | | | | | | | | | | * add a table of contents (however posts heading are not included) * rename posts list section title * add a useThematic hook to refresh thematic contents * add a useThematicLists hook to refresh thematics list * add a `notIn` filter in thematics list fetcher to directly remove unwanted thematics * add Cypress tests
* refactor(pages): refine Article pagesArmand Philippot2023-12-014-87/+32
| | | | | | | | | | | * use rehype to update code blocks class names * fix widget heading level (after a level 1 it should always be a level 2 and not 3) * replace Spinner with LoadingPage and LoadingPageComments components to keep layout coherent * refactor useArticle and useComments hooks * fix URLs in JSON LD schema * add Cypress tests
* refactor(pages): improve HomepageArmand Philippot2023-11-291-34/+0
| | | | | | | | | * move custom homepage components that does not require props to the MDX file (links should not need to be translated here but where they are defined) * move SEO title and meta desc to MDX file * make Page component the wrapper instead of using a React fragment * fix MDX module types
* fix(pages,services): make thematics & topics pages usable againArmand Philippot2023-11-291-0/+50
| | | | | | | | | | When I refactored the fetchers and convertors in #f111685 I forgot to convert WPThematicPreview and WPTopicPreview so the thematics and topics pages was broken. I also: * removed the ToC added by error in #70b4f63 * fix heading styles * fix website url in topics pages
* refactor(components): split Layout component in smaller componentsArmand Philippot2023-11-224-55/+53
| | | | | The previous component was too long and hardly readable. So I splitted it in different part and added tests.
* refactor(components): replace PageLayout template with PageArmand Philippot2023-11-202-29/+3
| | | | | | | | | * split pages in smaller components (it is both easier to maintain and more readable, we avoid the use of fragments in pages directory) * extract breadcrumbs from article tag (the navigation is not related to the page contents) * remove useReadingTime hook * remove layout options except `isHome`
* refactor(components): replace Sharing with SharingWidget componentArmand Philippot2023-11-141-2/+3
| | | | | | | * all the widgets should have a coherent name * fix mailto uri * remove useless CSS * add tests
* refactor(components): rewrite PostsList componentArmand Philippot2023-11-132-6/+18
| | | | | | | | | | | | | | | * remove NoResults component and move logic to Search page * add a usePostsList hook * remove Pagination from PostsList (it is only used if javascript is disabled and not on every posts list) * replace `byYear` prop with `sortByYear` * replace `loadMore` prop with `onLoadMore` * remove `showLoadMoreBtn` (we can use `loadMore` prop instead to determine if we need to display the button) * replace `titleLevel` prop with `headingLvl` * add `firstNewResult` prop to handle focus on the new results when loading more article (we should not focus a useless span but the item directly)
* refactor(components): rewrite ContactForm componentArmand Philippot2023-11-111-3/+0
| | | | | | * remove `Notice` props to handle it directly inside the form * replace `sendMail` prop with `onSubmit` prop * use `useForm` hook to handle fields
* refactor(components): rewrite Pagination componentArmand Philippot2023-11-111-19/+35
|
* feat(components): add a generic Grid componentArmand Philippot2023-11-111-2/+1
| | | | | * merge Columns, Gallery and CardsList into Grid component * add more options to control the grid
* refactor(components): rewrite Card componentArmand Philippot2023-11-111-1/+1
| | | | | | | | | | | | | * 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.
* refactor(components): rewrite Code component and usePrism hookArmand Philippot2023-11-113-11/+18
| | | | | | | | | | | | * move Prism styles to Sass placeholders to avoid repeats * let usePrism consumer define its plugins (remove default ones) * remove `plugins` prop from Code component * add new props to Code component to let consumer configure plugins (and handle plugin list from the given options) However there are some problems with Prism plugins: line-highlight and treeview does not seems to be loaded. I don't want to use Babel instead of SWC so I have no solution for now.
* refactor(components): replace Meta component with MetaListArmand Philippot2023-11-112-3/+2
| | | | | | 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...).
* feat(components): add a generic Flip componentArmand Philippot2023-11-111-20/+22
| | | | | | The flipping animation is used at several places so it makes sense to use a single component to handle the animation. It will avoid styles duplication.
* refactor(components): rewrite Link componentArmand Philippot2023-11-116-211/+160
| | | | | | | | | * rename `external` prop to `isExternal` * rename `download` prop to `isDownload` * rewrite CSS to reduce code length and complexity * move link styles in Sass placeholders to avoid repeats because of WordPress articles * move NavLink component to molecules
* refactor(components): rewrite DescriptionList componentArmand Philippot2023-11-112-13/+32
| | | | | | | | | | | | | * add a `spacing` prop * replace `layout` prop with `isInline` prop * remove `items` prop (and classNames props) in favor of new components: Description, Group, Term * remove `withSeparator` prop (CSS content is announced by screen readers and Firefox/Safari have no support for alternative text so the consumer should add itself an element with `aria-hidden` if it need a separator) Be aware, Meta component and its consumers can be visually broken, they should be refactored before using them in production.
* refactor(components): rewrite List componentArmand Philippot2023-11-118-142/+72
| | | | | | | | | * 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-244-2/+48
| | | | | 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-245-85/+69
| | | | | | | | | * 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 Button and ButtonLink componentsArmand Philippot2023-10-242-0/+194
| | | | | | | | | | | | | | 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(build): replace paths aliases with relative pathsArmand Philippot2023-09-1923-39/+37
| | | | | | 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.
* fix(media-queries): use pixel based media queriesArmand Philippot2022-06-091-5/+5
| | | | | | | | Everything was working fine with Firefox but it seems Chromium still has issues with `em` unit in media queries. The toolbar modals (search, settings and also main nav) was not displaying correctly on small devices. Some styles was missing. By switching to pixels based media queries, the bug seems fixed.
* fix(settings): avoid cropped tooltip on small devicesArmand Philippot2022-06-091-0/+14
| | | | | | I changed the settings disposition to make tooltip positioning easier. Jest complains about ref passed but everything seems to work as expected so I'm not sure it is relevant. Maybe a bug with cloneElement.
* chore: add a label to progress barArmand Philippot2022-06-071-1/+0
| | | | | | The progress element is a form element, so a label is required to be accessible. Since I'm not using it without label, I transform the optional info parameter to a mandatory label parameter.
* chore: replace Checkbox component with a BooleanField componentArmand Philippot2022-05-313-9/+15
| | | | | Checkbox and radio buttons are working the same way so I decided to group them in a same component.
* chore: adjust cards list spacingArmand Philippot2022-05-231-1/+3
|
* chore: adjust dark mode stylesArmand Philippot2022-05-221-0/+100
|
* chore(storybook): use custom themes and add dark mode supportArmand Philippot2022-05-221-8/+8
|
* chore: update some stylesArmand Philippot2022-05-213-20/+30
| | | | | | | * Improve wp-blocks-columns, wp-block-quote and some images * Make Sharing widget consistent between pages * Remove margin option from lists * Fix Topic logo alignement
* chore: update images stylesArmand Philippot2022-05-203-16/+35
|
* chore: udpate code blocks styleArmand Philippot2022-05-203-431/+134
|
* refactor: rewrite Prism hooks and providersArmand Philippot2022-05-191-1/+1
| | | | | It avoid some hydratation errors on project pages (not in article however) and the hooks are now reusable.
* chore: adjust articles stylesArmand Philippot2022-05-171-0/+1
| | | | | * change animation on article card hover * change comments section alignment
* chore: adjust and complete missing stylesArmand Philippot2022-05-1611-195/+753
| | | | | | * add logo to topics pages and links * add Prism styles to articles * and a few other adjustements
* chore: add the Blog index pageArmand Philippot2022-05-131-37/+3
|
* chore: add a Contact pageArmand Philippot2022-05-071-0/+3
|
* chore: add a Projects pageArmand Philippot2022-05-052-13/+9
|
* chore: add a CV pageArmand Philippot2022-05-031-0/+3
|
* chore: add homepageArmand Philippot2022-05-032-49/+36
|
* chore: add a PageLayout componentArmand Philippot2022-04-252-0/+26
|
* chore: add a Layout componentArmand Philippot2022-04-223-21/+7
| | | | It defines the different components used by all other layouts.
* refactor: load prism plugins without babelArmand Philippot2022-03-241-23/+5
|
* fix(animations): avoid zomm in/out effect on mobileArmand Philippot2022-03-061-32/+11
| | | | | | Due to translateX transform and overflow, on small screens a zoom in / zoom out effect happened. So I adjust the animations for branding and job.