Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: ChilliCream/graphql-platform
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 11.3.3
Choose a base ref
...
head repository: ChilliCream/graphql-platform
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 11.3.4
Choose a head ref
  • 5 commits
  • 64 files changed
  • 4 contributors

Commits on Aug 2, 2021

  1. Align code style of website with BCP (#3940)

    * Use React.FC instead of React.FunctionComponent
    
    * Use Props instead of Properties
    
    Co-authored-by: Rafael Staib <me@rafaelstaib.com>
    tobias-tengler and rstaib authored Aug 2, 2021

    Verified

    This commit was signed with the committer’s verified signature. The key has expired.
    Mic92 Jörg Thalheim
    Copy the full SHA
    95751b1 View commit details
  2. Use original quality for images on the website (#3976)

    * Update banana-cake-pop.tsx
    
    * Update hot-chocolate.tsx
    
    * Update blog-post-version-11.tsx
    
    * Update blog-post-chillicream-platform-11-1.tsx
    
    * Update blog-post-ef-meets-graphql.tsx
    
    * Update seo.tsx
    
    * Update blog-article.tsx
    
    * Update gatsby-config.js
    
    * Update index.tsx
    
    * Update blog-articles.tsx
    
    Co-authored-by: Michael Staib <michael@chillicream.com>
    tobias-tengler and michaelstaib authored Aug 2, 2021

    Verified

    This commit was signed with the committer’s verified signature. The key has expired.
    Mic92 Jörg Thalheim
    Copy the full SHA
    61ca8ae View commit details
  3. Verified

    This commit was signed with the committer’s verified signature. The key has expired.
    Mic92 Jörg Thalheim
    Copy the full SHA
    a5a6257 View commit details
  4. Copy the full SHA
    14252d5 View commit details

Commits on Aug 6, 2021

  1. Added various catches to prevent unobserved task exceptions, tried to…

    … prevent the exceptions by checking web-socket state (#4052)
    randyridge authored Aug 6, 2021
    Copy the full SHA
    9fba754 View commit details
Showing with 378 additions and 393 deletions.
  1. +14 −6 src/HotChocolate/AspNetCore/src/AspNetCore/Subscriptions/DefaultMessagePipeline.cs
  2. +5 −0 src/HotChocolate/AspNetCore/src/AspNetCore/Subscriptions/KeepConnectionAliveJob.cs
  3. +5 −0 src/HotChocolate/AspNetCore/src/AspNetCore/Subscriptions/MessageProcessor.cs
  4. +11 −2 src/HotChocolate/AspNetCore/src/AspNetCore/Subscriptions/WebSocketConnection.cs
  5. +25 −2 src/HotChocolate/Core/src/Execution/Processing/ResolverTask.cs
  6. +7 −1 src/HotChocolate/Core/src/Fetching/BatchScheduler.cs
  7. +4 −2 src/HotChocolate/Core/src/Types.CursorPagination/PublicAPI.Shipped.txt
  8. +0 −6 src/HotChocolate/Core/src/Types.CursorPagination/PublicAPI.Unshipped.txt
  9. +1 −0 src/HotChocolate/Core/src/Types/PublicAPI.Shipped.txt
  10. +0 −1 src/HotChocolate/Core/src/Types/PublicAPI.Unshipped.txt
  11. +1 −1 website/gatsby-config.js
  12. +3 −3 website/src/components/articles/article-comments.tsx
  13. +3 −3 website/src/components/articles/article-content-footer.tsx
  14. +6 −8 website/src/components/articles/article-sections.tsx
  15. +2 −2 website/src/components/articles/article.tsx
  16. +3 −3 website/src/components/blog-article/blog-article-metadata.tsx
  17. +3 −3 website/src/components/blog-article/blog-article-sharebar.tsx
  18. +3 −5 website/src/components/blog-article/blog-article-tags.tsx
  19. +5 −8 website/src/components/blog-article/blog-article.tsx
  20. +3 −3 website/src/components/doc-page/doc-page-article-wrapper.tsx
  21. +6 −6 website/src/components/doc-page/doc-page-aside.tsx
  22. +3 −3 website/src/components/doc-page/doc-page-community.tsx
  23. +2 −2 website/src/components/doc-page/doc-page-legacy.tsx
  24. +147 −149 website/src/components/doc-page/doc-page-navigation.tsx
  25. +12 −9 website/src/components/doc-page/doc-page-pane-header.tsx
  26. +5 −15 website/src/components/doc-page/doc-page.tsx
  27. +2 −3 website/src/components/images/banana-cake-pop.tsx
  28. +2 −3 website/src/components/images/blog-post-chillicream-platform-11-1.tsx
  29. +2 −3 website/src/components/images/blog-post-ef-meets-graphql.tsx
  30. +2 −3 website/src/components/images/blog-post-version-11.tsx
  31. +2 −3 website/src/components/images/hot-chocolate.tsx
  32. +3 −3 website/src/components/mdx/code-block.tsx
  33. +3 −3 website/src/components/mdx/copy.tsx
  34. +8 −10 website/src/components/mdx/example-tabs.tsx
  35. +2 −2 website/src/components/mdx/inline-code.tsx
  36. +2 −2 website/src/components/mdx/tabs/panel.tsx
  37. +2 −2 website/src/components/mdx/tabs/tab.tsx
  38. +5 −10 website/src/components/mdx/tabs/tabs.tsx
  39. +2 −2 website/src/components/misc/cookie-consent.tsx
  40. +2 −2 website/src/components/misc/link.tsx
  41. +2 −4 website/src/components/misc/page-top.tsx
  42. +3 −3 website/src/components/misc/pagination.tsx
  43. +7 −7 website/src/components/misc/search.tsx
  44. +3 −4 website/src/components/misc/seo.tsx
  45. +2 −8 website/src/components/structure/header.tsx
  46. +2 −2 website/src/components/structure/layout.tsx
  47. +2 −2 website/src/components/structure/main-content-container/content.tsx
  48. +2 −2 website/src/components/structure/main-content-container/footer.tsx
  49. +2 −2 website/src/components/structure/main-content-container/main-content-container.tsx
  50. +2 −2 website/src/components/support/sales-card-perk-item.tsx
  51. +2 −2 website/src/components/support/sales-card-perk.tsx
  52. +2 −2 website/src/components/support/sales-card.tsx
  53. +3 −4 website/src/components/widgets/blog-articles.tsx
  54. +1 −1 website/src/custom.d.ts
  55. +3 −25 website/src/docs/bananacakepop/index.md
  56. +2 −2 website/src/pages/404.tsx
  57. +2 −3 website/src/pages/index.tsx
  58. +2 −2 website/src/pages/platform.tsx
  59. +2 −3 website/src/pages/support.tsx
  60. +2 −2 website/src/partials/sales-partial.tsx
  61. +3 −5 website/src/templates/blog-article-template.tsx
  62. +3 −3 website/src/templates/blog-articles-template.tsx
  63. +3 −3 website/src/templates/blog-tag-template.tsx
  64. +3 −6 website/src/templates/doc-page-template.tsx
Original file line number Diff line number Diff line change
@@ -3,6 +3,7 @@
using System.Collections.Generic;
using System.Diagnostics.CodeAnalysis;
using System.Linq;
using System.Net.WebSockets;
using System.Threading;
using System.Threading.Tasks;
using HotChocolate.AspNetCore.Subscriptions.Messages;
@@ -30,15 +31,22 @@ public async Task ProcessAsync(
ReadOnlySequence<byte> slice,
CancellationToken cancellationToken)
{
if (TryParseMessage(slice, out OperationMessage? message))
try
{
await HandleMessageAsync(connection, message, cancellationToken);
if (TryParseMessage(slice, out OperationMessage? message))
{
await HandleMessageAsync(connection, message, cancellationToken);
}
else
{
await connection.SendAsync(
KeepConnectionAliveMessage.Default,
CancellationToken.None);
}
}
else
catch (WebSocketException)
{
await connection.SendAsync(
KeepConnectionAliveMessage.Default,
CancellationToken.None);
// we will just stop receiving
}
}

Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
using System;
using System.Net.WebSockets;
using System.Threading;
using System.Threading.Tasks;
using HotChocolate.AspNetCore.Subscriptions.Messages;
@@ -52,6 +53,10 @@ await _connection.SendAsync(
{
// the message processing was canceled.
}
catch (WebSocketException)
{
// we will just stop receiving
}
}
}
}
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
using System;
using System.Buffers;
using System.IO.Pipelines;
using System.Net.WebSockets;
using System.Threading;
using System.Threading.Tasks;

@@ -67,6 +68,10 @@ await _pipeline.ProcessAsync(
}
}
catch(OperationCanceledException) when (cancellationToken.IsCancellationRequested) { }
catch (WebSocketException)
{
// we will just stop receiving
}
finally
{
// reader should be completed always, so that related pipe writer can
Original file line number Diff line number Diff line change
@@ -63,7 +63,7 @@ public Task SendAsync(
{
WebSocket? webSocket = _webSocket;

if (_disposed || webSocket == null)
if (_disposed || webSocket == null || webSocket.State != WebSocketState.Open)
{
return Task.CompletedTask;
}
@@ -95,6 +95,11 @@ public async Task ReceiveAsync(

if (success)
{
if (webSocket.State != WebSocketState.Open)
{
break;
}

try
{
socketResult = await webSocket.ReceiveAsync(buffer, cancellationToken);
@@ -122,6 +127,10 @@ public async Task ReceiveAsync(
{
// we will just stop receiving
}
catch (WebSocketException)
{
// we will just stop receiving
}
}

public async Task CloseAsync(
@@ -133,7 +142,7 @@ public async Task CloseAsync(
{
WebSocket? webSocket = _webSocket;

if (_disposed || Closed || webSocket is null)
if (_disposed || Closed || webSocket is null || webSocket.State != WebSocketState.Open)
{
return;
}
27 changes: 25 additions & 2 deletions src/HotChocolate/Core/src/Execution/Processing/ResolverTask.cs
Original file line number Diff line number Diff line change
@@ -2,6 +2,7 @@
using System.Collections.Generic;
using System.Linq;
using System.Threading;
using System.Threading.Channels;
using System.Threading.Tasks;
using HotChocolate.Types;

@@ -34,6 +35,10 @@ private async ValueTask TryExecuteAndCompleteAsync(CancellationToken cancellatio
CompleteValue(success, cancellationToken);
}
}
catch (ObjectDisposedException)
{
IsCanceled = true;
}
catch
{
IsCanceled = true;
@@ -52,10 +57,28 @@ private async ValueTask TryExecuteAndCompleteAsync(CancellationToken cancellatio
}
else
{
_operationContext.Execution.TaskStats.TaskCompleted();
try
{
_operationContext.Execution.TaskStats.TaskCompleted();
}
catch (ChannelClosedException)
{
}
catch (ObjectDisposedException)
{
}
}

_operationContext.Execution.TaskPool.Return(this);
try
{
_operationContext.Execution.TaskPool.Return(this);
}
catch (ChannelClosedException)
{
}
catch (ObjectDisposedException)
{
}
}
}

8 changes: 7 additions & 1 deletion src/HotChocolate/Core/src/Fetching/BatchScheduler.cs
Original file line number Diff line number Diff line change
@@ -110,7 +110,13 @@ private async ValueTask ExecuteAsync(CancellationToken cancellationToken)
finally
{
IsCanceled = cancellationToken.IsCancellationRequested;
_context.Completed();
try
{
_context.Completed();
}
catch (ObjectDisposedException)
{
}
}
}
}
Original file line number Diff line number Diff line change
@@ -96,8 +96,10 @@ static HotChocolate.Types.Pagination.ConnectionType<T>.ApplyConfig(HotChocolate.
static HotChocolate.Types.Pagination.CursorPagingHelper.ApplyPagination<TSource, TEntity>(TSource source, HotChocolate.Types.Pagination.CursorPagingArguments arguments, HotChocolate.Types.Pagination.CursorPagingHelper.ApplySkip<TSource>! applySkip, HotChocolate.Types.Pagination.CursorPagingHelper.ApplyTake<TSource>! applyTake, HotChocolate.Types.Pagination.CursorPagingHelper.ToIndexEdgesAsync<TSource, TEntity>! toIndexEdgesAsync, HotChocolate.Types.Pagination.CursorPagingHelper.CountAsync<TSource>! countAsync, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.ValueTask<HotChocolate.Types.Pagination.Connection!>
static HotChocolate.Types.Pagination.IndexEdge<T>.Create(T node, int index) -> HotChocolate.Types.Pagination.IndexEdge<T>!
static HotChocolate.Types.Pagination.IndexEdge<T>.DeserializeCursor(string! cursor) -> int
static HotChocolate.Types.PagingObjectFieldDescriptorExtensions.AddPagingArguments(this HotChocolate.Types.IInterfaceFieldDescriptor! descriptor, bool allowBackwardPagination = true) -> HotChocolate.Types.IInterfaceFieldDescriptor!
static HotChocolate.Types.PagingObjectFieldDescriptorExtensions.AddPagingArguments(this HotChocolate.Types.IObjectFieldDescriptor! descriptor, bool allowBackwardPagination = true) -> HotChocolate.Types.IObjectFieldDescriptor!
static HotChocolate.Types.PagingObjectFieldDescriptorExtensions.AddPagingArguments(this HotChocolate.Types.IInterfaceFieldDescriptor! descriptor, bool allowBackwardPagination) -> HotChocolate.Types.IInterfaceFieldDescriptor!
static HotChocolate.Types.PagingObjectFieldDescriptorExtensions.AddPagingArguments(this HotChocolate.Types.IInterfaceFieldDescriptor! descriptor) -> HotChocolate.Types.IInterfaceFieldDescriptor!
static HotChocolate.Types.PagingObjectFieldDescriptorExtensions.AddPagingArguments(this HotChocolate.Types.IObjectFieldDescriptor! descriptor, bool allowBackwardPagination) -> HotChocolate.Types.IObjectFieldDescriptor!
static HotChocolate.Types.PagingObjectFieldDescriptorExtensions.AddPagingArguments(this HotChocolate.Types.IObjectFieldDescriptor! descriptor) -> HotChocolate.Types.IObjectFieldDescriptor!
static HotChocolate.Types.PagingObjectFieldDescriptorExtensions.UsePaging(this HotChocolate.Types.IInterfaceFieldDescriptor! descriptor, System.Type? type = null, HotChocolate.Types.Pagination.PagingOptions options = default(HotChocolate.Types.Pagination.PagingOptions)) -> HotChocolate.Types.IInterfaceFieldDescriptor!
static HotChocolate.Types.PagingObjectFieldDescriptorExtensions.UsePaging(this HotChocolate.Types.IObjectFieldDescriptor! descriptor, System.Type? type = null, System.Type? entityType = null, HotChocolate.Types.GetCursorPagingProvider? resolvePagingProvider = null, HotChocolate.Types.Pagination.PagingOptions options = default(HotChocolate.Types.Pagination.PagingOptions)) -> HotChocolate.Types.IObjectFieldDescriptor!
static HotChocolate.Types.PagingObjectFieldDescriptorExtensions.UsePaging<TSchemaType, TEntity>(this HotChocolate.Types.IObjectFieldDescriptor! descriptor, HotChocolate.Types.GetCursorPagingProvider? resolvePagingProvider = null, HotChocolate.Types.Pagination.PagingOptions options = default(HotChocolate.Types.Pagination.PagingOptions)) -> HotChocolate.Types.IObjectFieldDescriptor!
Original file line number Diff line number Diff line change
@@ -1,6 +0,0 @@
static HotChocolate.Types.PagingObjectFieldDescriptorExtensions.AddPagingArguments(this HotChocolate.Types.IInterfaceFieldDescriptor! descriptor) -> HotChocolate.Types.IInterfaceFieldDescriptor!
static HotChocolate.Types.PagingObjectFieldDescriptorExtensions.AddPagingArguments(this HotChocolate.Types.IInterfaceFieldDescriptor! descriptor, bool allowBackwardPagination) -> HotChocolate.Types.IInterfaceFieldDescriptor!
static HotChocolate.Types.PagingObjectFieldDescriptorExtensions.AddPagingArguments(this HotChocolate.Types.IObjectFieldDescriptor! descriptor) -> HotChocolate.Types.IObjectFieldDescriptor!
static HotChocolate.Types.PagingObjectFieldDescriptorExtensions.AddPagingArguments(this HotChocolate.Types.IObjectFieldDescriptor! descriptor, bool allowBackwardPagination) -> HotChocolate.Types.IObjectFieldDescriptor!
*REMOVED*static HotChocolate.Types.PagingObjectFieldDescriptorExtensions.AddPagingArguments(this HotChocolate.Types.IInterfaceFieldDescriptor! descriptor, bool allowBackwardPagination = true) -> HotChocolate.Types.IInterfaceFieldDescriptor!
*REMOVED*static HotChocolate.Types.PagingObjectFieldDescriptorExtensions.AddPagingArguments(this HotChocolate.Types.IObjectFieldDescriptor! descriptor, bool allowBackwardPagination = true) -> HotChocolate.Types.IObjectFieldDescriptor!
1 change: 1 addition & 0 deletions src/HotChocolate/Core/src/Types/PublicAPI.Shipped.txt
Original file line number Diff line number Diff line change
@@ -2296,6 +2296,7 @@ HotChocolate.Types.IDescriptorExtension.OnBeforeCreate(System.Action<HotChocolat
HotChocolate.Types.IDescriptorExtension.OnBeforeCreate(System.Action<HotChocolate.Types.Descriptors.IDescriptorContext!, HotChocolate.Types.Descriptors.Definitions.DefinitionBase!>! configure) -> void
HotChocolate.Types.IDescriptorExtension.OnBeforeNaming(System.Action<HotChocolate.Configuration.ITypeCompletionContext!, HotChocolate.Types.Descriptors.Definitions.DefinitionBase!>! configure) -> HotChocolate.Types.INamedDependencyDescriptor!
HotChocolate.Types.IDescriptorExtension<T>
HotChocolate.Types.IDescriptorExtension<T>.Definition.get -> T!
HotChocolate.Types.IDescriptorExtension<T>.OnBeforeCompletion(System.Action<HotChocolate.Configuration.ITypeCompletionContext!, T!>! configure) -> HotChocolate.Types.ICompletedDependencyDescriptor!
HotChocolate.Types.IDescriptorExtension<T>.OnBeforeCreate(System.Action<HotChocolate.Types.Descriptors.IDescriptorContext!, T!>! configure) -> void
HotChocolate.Types.IDescriptorExtension<T>.OnBeforeCreate(System.Action<T!>! configure) -> void
1 change: 0 additions & 1 deletion src/HotChocolate/Core/src/Types/PublicAPI.Unshipped.txt
Original file line number Diff line number Diff line change
@@ -1 +0,0 @@
HotChocolate.Types.IDescriptorExtension<T>.Definition.get -> T!
2 changes: 1 addition & 1 deletion website/gatsby-config.js
Original file line number Diff line number Diff line change
@@ -221,7 +221,7 @@ module.exports = {
path
featuredImage {
childImageSharp {
gatsbyImageData(layout: CONSTRAINED, width: 800, pngOptions: { quality: 90 })
gatsbyImageData(layout: CONSTRAINED, width: 800)
}
}
}
6 changes: 3 additions & 3 deletions website/src/components/articles/article-comments.tsx
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
import { graphql } from "gatsby";
import { Disqus } from "gatsby-plugin-disqus";
import React, { FunctionComponent } from "react";
import React, { FC } from "react";
import styled from "styled-components";
import { ArticleCommentsFragment } from "../../../graphql-types";

interface ArticleCommentsProperties {
interface ArticleCommentsProps {
data: ArticleCommentsFragment;
path: string;
title: string;
}

export const ArticleComments: FunctionComponent<ArticleCommentsProperties> = ({
export const ArticleComments: FC<ArticleCommentsProps> = ({
data,
path,
title,
6 changes: 3 additions & 3 deletions website/src/components/articles/article-content-footer.tsx
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
import React, { FunctionComponent } from "react";
import React, { FC } from "react";
import styled from "styled-components";

interface ArticleContentFooterProperties {
interface ArticleContentFooterProps {
readonly lastUpdated: string;
readonly lastAuthorName: string;
}

export const ArticleContentFooter: FunctionComponent<ArticleContentFooterProperties> = ({
export const ArticleContentFooter: FC<ArticleContentFooterProps> = ({
lastUpdated,
lastAuthorName,
}) => {
14 changes: 6 additions & 8 deletions website/src/components/articles/article-sections.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { graphql, Link } from "gatsby";
import GithubSlugger from "github-slugger";
import React, { FunctionComponent, useEffect, useMemo, useState } from "react";
import React, { FC, useEffect, useMemo, useState } from "react";
import { useDispatch } from "react-redux";
import { asyncScheduler } from "rxjs";
import { throttleTime } from "rxjs/operators";
@@ -12,13 +12,11 @@ import { MostProminentSection } from "../doc-page/doc-page-elements";

const MAX_TOC_DEPTH = 2;

interface ArticleSectionsProperties {
interface ArticleSectionsProps {
readonly data: ArticleSectionsFragment;
}

export const ArticleSections: FunctionComponent<ArticleSectionsProperties> = ({
data,
}) => {
export const ArticleSections: FC<ArticleSectionsProps> = ({ data }) => {
const dispatch = useDispatch();

const tocItems = useMemo(
@@ -52,7 +50,7 @@ interface TableOfContentProps {
readonly activeHeadingLink?: string;
}

const TableOfContent: FunctionComponent<TableOfContentProps> = ({
const TableOfContent: FC<TableOfContentProps> = ({
items,
activeHeadingLink,
}) => {
@@ -124,11 +122,11 @@ const TocLink = styled((props) => <Link {...props} />)`
}
`;

interface TocListItemProperties {
interface TocListItemProps {
readonly active: boolean;
}

const TocListItem = styled.li<TocListItemProperties>`
const TocListItem = styled.li<TocListItemProps>`
flex: 0 0 auto;
margin: 5px 0;
padding: 0;
4 changes: 2 additions & 2 deletions website/src/components/articles/article.tsx
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import React, { FunctionComponent } from "react";
import React, { FC } from "react";
import styled from "styled-components";

export const Article: FunctionComponent = ({ children }) => {
export const Article: FC = ({ children }) => {
return <ArticleElement>{children}</ArticleElement>;
};

6 changes: 3 additions & 3 deletions website/src/components/blog-article/blog-article-metadata.tsx
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
import { graphql } from "gatsby";
import React, { FunctionComponent } from "react";
import React, { FC } from "react";
import styled from "styled-components";
import { BlogArticleMetadataFragment } from "../../../graphql-types";
import { Link } from "../misc/link";

interface BlogArticleMetadataProperties {
interface BlogArticleMetadataProps {
data: BlogArticleMetadataFragment;
}

export const BlogArticleMetadata: FunctionComponent<BlogArticleMetadataProperties> = ({
export const BlogArticleMetadata: FC<BlogArticleMetadataProps> = ({
data: { fields, frontmatter },
}) => {
return (
6 changes: 3 additions & 3 deletions website/src/components/blog-article/blog-article-sharebar.tsx
Original file line number Diff line number Diff line change
@@ -1,17 +1,17 @@
import { graphql } from "gatsby";
import React, { FunctionComponent } from "react";
import React, { FC } from "react";
import { LinkedinShareButton, TwitterShareButton } from "react-share";
import styled from "styled-components";
import { BlogArticleSharebarFragment } from "../../../graphql-types";
import LinkedinIconSvg from "../../images/linkedin-square.svg";
import TwitterIconSvg from "../../images/twitter-square.svg";

interface BlogArticleSharebarProperties {
interface BlogArticleSharebarProps {
data: BlogArticleSharebarFragment;
tags: string[];
}

export const BlogArticleSharebar: FunctionComponent<BlogArticleSharebarProperties> = ({
export const BlogArticleSharebar: FC<BlogArticleSharebarProps> = ({
data: { mdx, site },
tags,
}) => {
8 changes: 3 additions & 5 deletions website/src/components/blog-article/blog-article-tags.tsx
Original file line number Diff line number Diff line change
@@ -1,15 +1,13 @@
import { graphql } from "gatsby";
import React, { FunctionComponent } from "react";
import React, { FC } from "react";
import styled from "styled-components";
import { Link } from "../misc/link";

interface BlogArticleTagsProperties {
interface BlogArticleTagsProps {
tags: string[];
}

export const BlogArticleTags: FunctionComponent<BlogArticleTagsProperties> = ({
tags,
}) => {
export const BlogArticleTags: FC<BlogArticleTagsProps> = ({ tags }) => {
return (
<>
{tags.length > 0 && (
Loading