aboutsummaryrefslogtreecommitdiffstats
path: root/src/services
Commit message (Collapse)AuthorAgeFilesLines
* refactor(hooks): remove useSettings hookArmand Philippot2023-11-151-10/+9
| | | | | | | It does not make sense to re-export an existing object through a hook. On some pages both the hook and the object was imported... It is better to use the CONFIG (previously settings) object directly and by doing it we avoid potential errors because of conditional hooks.
* refactor(hooks): rewrite useLocalStorage hookArmand Philippot2023-11-113-26/+119
| | | | | | | * return a tuple instead of an object * add a validator function as parameter (if the stored value is manually changed, it is not safe to cast its type) * add tests
* refactor: use named export for everything except pagesArmand Philippot2023-09-207-40/+61
| | | | | | 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.
* refactor(build): replace paths aliases with relative pathsArmand Philippot2023-09-196-29/+32
| | | | | | 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(comments): load all comments on a postArmand Philippot2022-08-212-53/+128
| | | | | | | | | Previously, only the first 10 comments was loaded. So I update the fetching method to retrieve all the comments on a post. Also, I choose to order comments on client side because of a bug with WPGraphQL. Finally, I renamed the Comment type to SingleComment to avoid conflict with existing types.
* refactor(types): move and rename GraphQL typesArmand Philippot2022-08-207-363/+113
| | | | | | | The api file in services was not really readable. So I move the types and I also rewrite a little the fetch function. I also rename most of the type to avoid conflict with preexisting types (like Node) and to keep consistency.
* fix: ensure all topics/thematics have the base urlArmand Philippot2022-05-233-4/+4
|
* refactor: reduce the number of data transformationArmand Philippot2022-05-236-29/+1
|
* chore: handle blog pagination when JS is disabledArmand Philippot2022-05-203-1/+48
|
* chore: handle settings changeArmand Philippot2022-05-181-3/+3
|
* chore: adjust and complete missing stylesArmand Philippot2022-05-162-0/+22
| | | | | | * add logo to topics pages and links * add Prism styles to articles * and a few other adjustements
* chore: add Article pagesArmand Philippot2022-05-153-1/+183
|
* chore: add Search pageArmand Philippot2022-05-154-9/+17
|
* chore: add Topic pagesArmand Philippot2022-05-132-6/+136
|
* chore: add Thematic pageArmand Philippot2022-05-132-2/+138
|
* chore: add blog page widgetsArmand Philippot2022-05-135-1/+107
|
* chore: handle blog paginationArmand Philippot2022-05-131-21/+45
|
* chore: add a Contact pageArmand Philippot2022-05-073-5/+72
|
* chore: add homepageArmand Philippot2022-05-031-3/+49
|
* chore: fetch posts for rss feedArmand Philippot2022-05-022-0/+105
|
* refactor: rewrite API fetching method and GraphQL queriesArmand Philippot2022-05-025-0/+650
|
* chore: remove old pages, components, helpers and typesArmand Philippot2022-04-293-642/+0
| | | | | Since I'm using new components, I will also rewrite the GraphQL queries so it is easier to start from scratch.
* refactor: update graphql queries (#14)Armand Philippot2022-03-091-28/+24
| | | | | | | | | | | | | | | | | | * refactor: replace postBy query postBy is now deprecated in WPGraphQL v1.7 * refactor: update post comments query PostBy is deprecated and it is now possible to use the post ID to query comments. * refactor: update get topic by slug query topicBy is deprecated * refactor: update get thematic by slug query thematicBy is deprecated
* feat: provide pagination for users with js disabled (#13)Armand Philippot2022-03-091-1/+28
| | | | | | | | | * chore: add a Pagination component * chore: add blog pages * chore: fallback to page number based navigation if JS disabled * chore: update translation
* chore: use a different configuration depending on app envArmand Philippot2022-03-041-1/+2
| | | | | | It will be useful with Docker. Instead of cloning the project with a different configuration, I can manage two different configuration thanks to dotenv and some checking inside the app.
* refactor: remove unused graphql fieldsArmand Philippot2022-02-141-45/+1
|
* fix: update comments list when a new comment is sendArmand Philippot2022-02-141-19/+41
| | | | | The comments list was static before. If an user posted a comment, even after it was approved, the comments list was keeping the old state.
* chore: improve RSS feed generation timeArmand Philippot2022-02-131-1/+16
|
* chore: add reading time in posts metaArmand Philippot2022-01-251-0/+24
|
* chore: display total found posts in page metaArmand Philippot2022-01-251-0/+1
|
* refactor(project): replace repo api call method with hook and swrArmand Philippot2022-01-241-15/+0
| | | | | | | | | | Instead of using post slug and an environment variable to fetch repo data, I use the given repo in each project MDX file. It allows me to fetch data from another user/organization if needed. To make it work, I no longer provide the full URL in MDX file. The new format is: "User/repo-slug". I also replaced the fetch method with SWR to improve caching and to avoid React complaining about cleanup useEffect.
* refactor: rename all subject occurrences into topicArmand Philippot2022-01-231-32/+32
| | | | | I change the name in graphql endpoint, so I decided to repercute this change here.
* chore: add a project summary componentArmand Philippot2022-01-201-0/+15
|
* chore: add a service to handle local storageArmand Philippot2022-01-171-0/+26
|
* fix(widget): remove items limit for ThematicsList and TopicsListArmand Philippot2022-01-111-2/+7
| | | | | | | By default WPGraphQL gets only the 10 first items if first is not specified. So some subjects was not displayed. I also add an order by title to the query. So I no longer need to sort arrays inside components.
* chore: add a widget to list all blog topicsArmand Philippot2022-01-071-0/+19
|
* chore: add a widget to list all blog thematicsArmand Philippot2022-01-071-0/+19
|
* refactor: avoid useless assignement before return statementArmand Philippot2022-01-042-17/+7
|
* chore: display comments as a treeArmand Philippot2021-12-271-1/+1
| | | | | | I was displaying comments without the parent/children link. Now, each child is displayed under its parent. I also remove the reply button for children to avoid too many child depth.
* chore: replace CV content with mdx contentArmand Philippot2021-12-241-28/+0
| | | | | Since I replace the other pages, there is no reason to fetch this page content through WP GraphQL.
* chore: replace homepage content with MDX contentArmand Philippot2021-12-241-19/+0
| | | | | I cannot import custom blocks through WP GraphQL, so I prefer to use MDX file. This way I cannot import custom components.
* chore: create search viewArmand Philippot2021-12-201-3/+12
|
* refactor: rewrite types and servicesArmand Philippot2021-12-2011-880/+605
| | | | | | | 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.
* chore: add subject viewArmand Philippot2021-12-181-2/+184
|
* chore: create mutation to add a new comment on postsArmand Philippot2021-12-172-0/+69
|
* chore: create mutation to send mail from contact formArmand Philippot2021-12-171-0/+49
|
* chore: add title and meta desc to postsArmand Philippot2021-12-171-0/+1
|
* chore: add meta to single postsArmand Philippot2021-12-171-0/+9
|
* chore: display comments list on postsArmand Philippot2021-12-171-1/+4
|
* chore: create thematic page viewArmand Philippot2021-12-161-0/+166
| | | | | | | For now I have to repeat some markup/styles, I cannot reuse PostsList component. WP GraphQL does not offer edges for ACF Post2Post or filters to get thematic posts with another way. I should create custom fields in backend to improve the posts fetching.