(
config.dataApiUrl,
async (url: string) => {
- const res = await fetch(url)
- return res.json()
- }
- )
+ const res = await fetch(url);
+ return res.json();
+ },
+ );
if (error !== undefined) {
- return Nepodařilo se načíst data webu.
+ return Nepodařilo se načíst data webu.
;
}
if (!data) {
- return Načítají se data webu.
+ return Načítají se data webu.
;
}
return (
@@ -69,5 +69,5 @@ export const App = (): React.JSX.Element => {
/>
- )
-}
+ );
+};
diff --git a/packages/frontend/src/components/ArticleBox.tsx b/packages/frontend/src/components/ArticleBox.tsx
index dd00e9055..91a639410 100644
--- a/packages/frontend/src/components/ArticleBox.tsx
+++ b/packages/frontend/src/components/ArticleBox.tsx
@@ -1,11 +1,11 @@
-import styled from "@emotion/styled"
-import type React from "react"
-import ReactMarkdown from "react-markdown"
-import { Link } from "react-router-dom"
-import remarkGfm from "remark-gfm"
+import styled from "@emotion/styled";
+import type React from "react";
+import ReactMarkdown from "react-markdown";
+import { Link } from "react-router-dom";
+import remarkGfm from "remark-gfm";
-import { ColoredTag } from "./ColoredTag"
-import { Article, H2, Paragraph } from "./Typography"
+import { ColoredTag } from "./ColoredTag";
+import { Article, H2, Paragraph } from "./Typography";
export const ArticleBox = ({
title,
@@ -16,13 +16,13 @@ export const ArticleBox = ({
description,
tags,
}: {
- readonly title: string
- readonly link?: string
- readonly subtitle?: string
- readonly subtitleLink?: string
- readonly subtitleDescription?: string
- readonly description: string
- readonly tags?: Array
+ readonly title: string;
+ readonly link?: string;
+ readonly subtitle?: string;
+ readonly subtitleLink?: string;
+ readonly subtitleDescription?: string;
+ readonly description: string;
+ readonly tags?: Array;
}): React.JSX.Element => (
{link !== undefined ? {title} : title}
@@ -40,7 +40,7 @@ export const ArticleBox = ({
{tag}
))}
-)
+);
ArticleBox.defaultProps = {
link: undefined,
@@ -48,15 +48,15 @@ ArticleBox.defaultProps = {
subtitleDescription: undefined,
subtitleLink: undefined,
tags: [],
-}
+};
const ProjectName = styled("p")`
margin: 0 0 0.6em;
* {
font-size: 0.8rem;
}
-`
+`;
const ThinArticle = styled(Article)`
max-width: 600px;
-`
+`;
diff --git a/packages/frontend/src/components/Button.tsx b/packages/frontend/src/components/Button.tsx
index d8f9f1502..45ebfa371 100644
--- a/packages/frontend/src/components/Button.tsx
+++ b/packages/frontend/src/components/Button.tsx
@@ -1,13 +1,13 @@
-import styled from "@emotion/styled"
-import type React from "react"
+import styled from "@emotion/styled";
+import type React from "react";
-import { theme } from "../theme"
-import type { LinkProps } from "./ExtLink"
-import { ExtLink } from "./ExtLink"
+import { theme } from "../theme";
+import type { LinkProps } from "./ExtLink";
+import { ExtLink } from "./ExtLink";
export const Button = (props: LinkProps): React.JSX.Element => (
-)
+);
const ButtonWrapper = styled(ExtLink)`
display: inline-block;
@@ -19,4 +19,4 @@ const ButtonWrapper = styled(ExtLink)`
border-radius: 10px;
box-shadow: 0 0 0 ${theme.colors.gray};
transition: box-shadow 300ms;
-`
+`;
diff --git a/packages/frontend/src/components/ColoredTag.tsx b/packages/frontend/src/components/ColoredTag.tsx
index 695712cb2..60a88134f 100644
--- a/packages/frontend/src/components/ColoredTag.tsx
+++ b/packages/frontend/src/components/ColoredTag.tsx
@@ -1,6 +1,6 @@
-import { css } from "@emotion/react"
-import styled from "@emotion/styled"
-import stringToColor from "string-to-color"
+import { css } from "@emotion/react";
+import styled from "@emotion/styled";
+import stringToColor from "string-to-color";
export const ColoredTag = styled("span")(
(props: { children: string; isLight?: boolean }) => css`
@@ -12,5 +12,5 @@ export const ColoredTag = styled("span")(
padding: 0.2rem 0.4rem;
border-radius: 4px;
${props.isLight === true ? "border: 1px solid #ffffff55" : ""};
- `
-)
+ `,
+);
diff --git a/packages/frontend/src/components/Container.tsx b/packages/frontend/src/components/Container.tsx
index 170ba4954..e584a3f73 100644
--- a/packages/frontend/src/components/Container.tsx
+++ b/packages/frontend/src/components/Container.tsx
@@ -1,12 +1,12 @@
-import { Global } from "@emotion/react"
-import styled from "@emotion/styled"
-import type React from "react"
-import { Link, Outlet } from "react-router-dom"
+import { Global } from "@emotion/react";
+import styled from "@emotion/styled";
+import type React from "react";
+import { Link, Outlet } from "react-router-dom";
-import { globalStyles } from "../globalStyles"
-import logo from "../images/logo.svg"
-import { theme } from "../theme"
-import { ScrollToTop } from "./ScrollToTop"
+import { globalStyles } from "../globalStyles";
+import logo from "../images/logo.svg";
+import { theme } from "../theme";
+import { ScrollToTop } from "./ScrollToTop";
export const Container = (): React.JSX.Element => (
@@ -22,13 +22,13 @@ export const Container = (): React.JSX.Element => (
-)
+);
const WrapperDiv = styled("div")`
max-width: ${theme.layout.width}px;
padding: 0 16px;
margin: 0 auto;
-`
+`;
const Header = styled("header")`
display: flex;
@@ -36,14 +36,14 @@ const Header = styled("header")`
height: 60px;
margin: 0 auto;
padding: 16px 0;
-`
+`;
const Title = styled("h1")`
font-family: themix;
font-size: 20px;
margin: 0 0 0 24px;
-`
+`;
const Logo = styled("img")`
max-height: 100%;
-`
+`;
diff --git a/packages/frontend/src/components/ExtLink.tsx b/packages/frontend/src/components/ExtLink.tsx
index e91b9af20..278444c5e 100644
--- a/packages/frontend/src/components/ExtLink.tsx
+++ b/packages/frontend/src/components/ExtLink.tsx
@@ -1,13 +1,13 @@
/** @jsxImportSource @emotion/react */
-import { css } from "@emotion/react"
-import type React from "react"
+import { css } from "@emotion/react";
+import type React from "react";
export interface LinkProps {
- readonly children: React.ReactNode
- readonly href: string
- readonly title?: string
- readonly targetSelf?: boolean
- readonly className?: string
+ readonly children: React.ReactNode;
+ readonly href: string;
+ readonly title?: string;
+ readonly targetSelf?: boolean;
+ readonly className?: string;
}
export const ExtLink = ({
children,
@@ -33,10 +33,10 @@ export const ExtLink = ({
>
{children}
-)
+);
ExtLink.defaultProps = {
className: undefined,
targetSelf: false,
title: undefined,
-}
+};
diff --git a/packages/frontend/src/components/Issue.tsx b/packages/frontend/src/components/Issue.tsx
index 464526d94..f73e0150c 100644
--- a/packages/frontend/src/components/Issue.tsx
+++ b/packages/frontend/src/components/Issue.tsx
@@ -1,16 +1,16 @@
-import type React from "react"
+import type React from "react";
-import type { ProjectIssueWithProjectInfo } from "../utils/getAllIssues"
-import { getIssueLink } from "../utils/getIssueLink"
-import { getProjectLink } from "../utils/getProjectLink"
-import { ArticleBox } from "./ArticleBox"
+import type { ProjectIssueWithProjectInfo } from "../utils/getAllIssues";
+import { getIssueLink } from "../utils/getIssueLink";
+import { getProjectLink } from "../utils/getProjectLink";
+import { ArticleBox } from "./ArticleBox";
export const Issue = ({
issue,
hideTags,
}: {
- readonly issue: ProjectIssueWithProjectInfo
- readonly hideTags?: boolean
+ readonly issue: ProjectIssueWithProjectInfo;
+ readonly hideTags?: boolean;
}): React.JSX.Element => (
-)
+);
Issue.defaultProps = {
hideTags: false,
-}
+};
diff --git a/packages/frontend/src/components/IssuesList.tsx b/packages/frontend/src/components/IssuesList.tsx
index c83080b2b..220157c58 100644
--- a/packages/frontend/src/components/IssuesList.tsx
+++ b/packages/frontend/src/components/IssuesList.tsx
@@ -1,24 +1,24 @@
/** @jsxImportSource @emotion/react */
-import { css } from "@emotion/react"
-import type React from "react"
-import ReactMarkdown from "react-markdown"
-import { Link } from "react-router-dom"
-import remarkGfm from "remark-gfm"
+import { css } from "@emotion/react";
+import type React from "react";
+import ReactMarkdown from "react-markdown";
+import { Link } from "react-router-dom";
+import remarkGfm from "remark-gfm";
-import type { Project } from "../interfaces/Project"
-import type { ProjectInfo } from "../interfaces/ProjectInfo"
-import type { ProjectIssue } from "../interfaces/ProjectIssue"
-import type { ProjectListing } from "../interfaces/ProjectListing"
-import { theme } from "../theme"
-import { getIssueLink } from "../utils/getIssueLink"
-import { H3 } from "./Typography"
+import type { Project } from "../interfaces/Project";
+import type { ProjectInfo } from "../interfaces/ProjectInfo";
+import type { ProjectIssue } from "../interfaces/ProjectIssue";
+import type { ProjectListing } from "../interfaces/ProjectListing";
+import { theme } from "../theme";
+import { getIssueLink } from "../utils/getIssueLink";
+import { H3 } from "./Typography";
export const IssuesList = ({
issues,
project,
}: {
- readonly issues: Array
- readonly project: ProjectListing | (Project & ProjectInfo)
+ readonly issues: Array;
+ readonly project: ProjectListing | (Project & ProjectInfo);
}): React.JSX.Element => (
<>
{issues.map((issue) => (
@@ -60,4 +60,4 @@ export const IssuesList = ({
))}
>
-)
+);
diff --git a/packages/frontend/src/components/Layout.tsx b/packages/frontend/src/components/Layout.tsx
index 07c19ef76..3134a3454 100644
--- a/packages/frontend/src/components/Layout.tsx
+++ b/packages/frontend/src/components/Layout.tsx
@@ -1,6 +1,6 @@
-import styled from "@emotion/styled"
+import styled from "@emotion/styled";
export const Section = styled("section")`
margin: 0 0 16px;
padding-bottom: 24px;
-`
+`;
diff --git a/packages/frontend/src/components/Navigation.tsx b/packages/frontend/src/components/Navigation.tsx
index dd0719ee9..5181f897a 100644
--- a/packages/frontend/src/components/Navigation.tsx
+++ b/packages/frontend/src/components/Navigation.tsx
@@ -1,19 +1,19 @@
-import styled from "@emotion/styled"
-import type React from "react"
-import { NavLink } from "react-router-dom"
+import styled from "@emotion/styled";
+import type React from "react";
+import { NavLink } from "react-router-dom";
-import { theme } from "../theme"
+import { theme } from "../theme";
interface NavigationItem {
- title: string
- link: string
- isActive?: boolean
+ title: string;
+ link: string;
+ isActive?: boolean;
}
export const Navigation = ({
items,
}: {
- readonly items: Array
+ readonly items: Array;
}): React.JSX.Element => (
-)
+);
const Container = styled("div")`
list-style: none;
@@ -32,7 +32,7 @@ const Container = styled("div")`
margin-bottom: 24px;
padding: 0 16px;
border-bottom: 1px solid ${theme.colors.brand};
-`
+`;
const NavigationLink = styled(NavLink)`
display: block;
@@ -47,4 +47,4 @@ const NavigationLink = styled(NavLink)`
border-left: 1px solid ${theme.colors.brand};
background-color: #fff;
}
-`
+`;
diff --git a/packages/frontend/src/components/Project.tsx b/packages/frontend/src/components/Project.tsx
index d76e4658b..dc0beb678 100644
--- a/packages/frontend/src/components/Project.tsx
+++ b/packages/frontend/src/components/Project.tsx
@@ -1,13 +1,13 @@
-import type React from "react"
+import type React from "react";
-import type { ProjectListing } from "../interfaces/ProjectListing"
-import { getProjectLink } from "../utils/getProjectLink"
-import { ArticleBox } from "./ArticleBox"
+import type { ProjectListing } from "../interfaces/ProjectListing";
+import { getProjectLink } from "../utils/getProjectLink";
+import { ArticleBox } from "./ArticleBox";
export const Project = ({
project,
}: {
- readonly project: ProjectListing
+ readonly project: ProjectListing;
}): React.JSX.Element => (
-)
+);
diff --git a/packages/frontend/src/components/ProjectBox.tsx b/packages/frontend/src/components/ProjectBox.tsx
index 0501f7a89..045959a96 100644
--- a/packages/frontend/src/components/ProjectBox.tsx
+++ b/packages/frontend/src/components/ProjectBox.tsx
@@ -1,6 +1,6 @@
-import styled from "@emotion/styled"
+import styled from "@emotion/styled";
-import { theme } from "../theme"
+import { theme } from "../theme";
export const ProjectBox = styled("div")`
color: white;
@@ -16,4 +16,4 @@ export const ProjectBox = styled("div")`
background-color: white;
color: ${theme.colors.brand};
}
-`
+`;
diff --git a/packages/frontend/src/components/ProjectLinks.tsx b/packages/frontend/src/components/ProjectLinks.tsx
index e91005bf1..e1b1f3794 100644
--- a/packages/frontend/src/components/ProjectLinks.tsx
+++ b/packages/frontend/src/components/ProjectLinks.tsx
@@ -1,23 +1,23 @@
-import type { ReactNode } from "react"
-import type React from "react"
-import { AiFillGithub } from "react-icons/ai"
-import { BiBookAlt } from "react-icons/bi"
-import { BsFillPersonFill } from "react-icons/bs"
-import { FaFacebook, FaSlack } from "react-icons/fa"
-import { GrMail } from "react-icons/gr"
-import { HiOutlineDocumentText } from "react-icons/hi"
-import { ImEarth } from "react-icons/im"
-import { MdWebAsset } from "react-icons/md"
-import { MdChecklist } from "react-icons/md"
+import type { ReactNode } from "react";
+import type React from "react";
+import { AiFillGithub } from "react-icons/ai";
+import { BiBookAlt } from "react-icons/bi";
+import { BsFillPersonFill } from "react-icons/bs";
+import { FaFacebook, FaSlack } from "react-icons/fa";
+import { GrMail } from "react-icons/gr";
+import { HiOutlineDocumentText } from "react-icons/hi";
+import { ImEarth } from "react-icons/im";
+import { MdWebAsset } from "react-icons/md";
+import { MdChecklist } from "react-icons/md";
-import type { ProjectInfo, ProjectInfoLink } from "../interfaces/ProjectInfo"
-import { ExtLink } from "./ExtLink"
-import { Mark, Paragraph, SmallLink } from "./Typography"
+import type { ProjectInfo, ProjectInfoLink } from "../interfaces/ProjectInfo";
+import { ExtLink } from "./ExtLink";
+import { Mark, Paragraph, SmallLink } from "./Typography";
export interface LinkType {
- type: ProjectInfoLink["type"]
- label: string
- icon?: ReactNode
+ type: ProjectInfoLink["type"];
+ label: string;
+ icon?: ReactNode;
}
export const links: Array = [
@@ -71,12 +71,12 @@ export const links: Array = [
label: "Wiki",
icon: ,
},
-]
+];
export const ProjectLinks = ({
projectInfo,
}: {
- readonly projectInfo: ProjectInfo
+ readonly projectInfo: ProjectInfo;
}): React.JSX.Element => (
<>
@@ -88,7 +88,7 @@ export const ProjectLinks = ({
{projectInfo.maintainers
.filter(
(person): person is { name: string; email: string } =>
- person.email !== undefined
+ person.email !== undefined,
)
.map((person) => (
@@ -98,12 +98,12 @@ export const ProjectLinks = ({
{links.map((link) => {
const currentLink = projectInfo.links.find(
- (item) => item.type === link.type
- )
+ (item) => item.type === link.type,
+ );
if (!currentLink) {
- return undefined
+ return undefined;
}
- const url = new URL(currentLink.uri)
+ const url = new URL(currentLink.uri);
return (
@@ -115,7 +115,7 @@ export const ProjectLinks = ({
- )
+ );
})}
>
-)
+);
diff --git a/packages/frontend/src/components/ScrollToTop.tsx b/packages/frontend/src/components/ScrollToTop.tsx
index 9411e8d2a..5cebac1e1 100644
--- a/packages/frontend/src/components/ScrollToTop.tsx
+++ b/packages/frontend/src/components/ScrollToTop.tsx
@@ -1,12 +1,12 @@
-import { useEffect } from "react"
-import { useLocation } from "react-router-dom"
+import { useEffect } from "react";
+import { useLocation } from "react-router-dom";
export const ScrollToTop = (): null => {
- const location = useLocation()
+ const location = useLocation();
useEffect(() => {
- window.scrollTo(0, 0)
- }, [location.pathname])
+ window.scrollTo(0, 0);
+ }, [location.pathname]);
- return null
-}
+ return null;
+};
diff --git a/packages/frontend/src/components/Typography.tsx b/packages/frontend/src/components/Typography.tsx
index 537f5e628..e1bb2427a 100644
--- a/packages/frontend/src/components/Typography.tsx
+++ b/packages/frontend/src/components/Typography.tsx
@@ -1,19 +1,19 @@
-import styled from "@emotion/styled"
+import styled from "@emotion/styled";
-import { theme } from "../theme"
+import { theme } from "../theme";
export const Article = styled("article")`
margin: 0 0 16px;
padding-bottom: 24px;
border-bottom: 1px solid ${theme.colors.brand}10;
-`
+`;
export const Paragraph = styled("p")`
margin: 0 0 16px;
img {
max-width: 100%;
}
-`
+`;
export const Mark = styled("span")`
display: flex;
@@ -23,26 +23,26 @@ export const Mark = styled("span")`
svg {
margin-right: 0.2em;
}
-`
+`;
export const H1 = styled("h1")`
color: ${theme.colors.brand};
margin: 0 0 16px;
font-family: themix;
font-size: 2em;
-`
+`;
export const H2 = styled("h2")`
color: ${theme.colors.brand};
margin: 0 0 12px;
font-family: themix;
-`
+`;
export const H3 = styled("h3")`
color: ${theme.colors.brand};
margin: 0 0 12px;
font-family: themix;
-`
+`;
export const SmallLink = styled("span")`
a {
@@ -52,9 +52,9 @@ export const SmallLink = styled("span")`
overflow: hidden;
text-overflow: ellipsis;
}
-`
+`;
export const LargeParagraph = styled(Paragraph)`
font-size: 18px;
margin: 0;
-`
+`;
diff --git a/packages/frontend/src/config.ts b/packages/frontend/src/config.ts
index 289c27d46..10b599079 100644
--- a/packages/frontend/src/config.ts
+++ b/packages/frontend/src/config.ts
@@ -1,3 +1,3 @@
export const config = {
dataApiUrl: "https://itpoptavky.skaut.cz/listings.json",
-}
+};
diff --git a/packages/frontend/src/globalStyles.ts b/packages/frontend/src/globalStyles.ts
index 024bbcd3b..1d9fee04d 100644
--- a/packages/frontend/src/globalStyles.ts
+++ b/packages/frontend/src/globalStyles.ts
@@ -1,7 +1,7 @@
/** @jsxImportSource @emotion/react */
-import { css } from "@emotion/react"
+import { css } from "@emotion/react";
-import { theme } from "./theme"
+import { theme } from "./theme";
export const globalStyles = css`
body {
@@ -24,4 +24,4 @@ export const globalStyles = css`
background-color: ${theme.colors.brand};
color: white;
}
-`
+`;
diff --git a/packages/frontend/src/index.tsx b/packages/frontend/src/index.tsx
index 0b74bf38f..de296f931 100644
--- a/packages/frontend/src/index.tsx
+++ b/packages/frontend/src/index.tsx
@@ -1,17 +1,17 @@
-import React from "react"
-import { createRoot } from "react-dom/client"
-import { BrowserRouter as Router } from "react-router-dom"
+import React from "react";
+import { createRoot } from "react-dom/client";
+import { BrowserRouter as Router } from "react-router-dom";
-import { App } from "./App"
+import { App } from "./App";
-const container = document.getElementById("root")
+const container = document.getElementById("root");
if (container !== null) {
- const root = createRoot(container)
+ const root = createRoot(container);
root.render(
-
- )
+ ,
+ );
}
diff --git a/packages/frontend/src/interfaces/GlobalConfig.ts b/packages/frontend/src/interfaces/GlobalConfig.ts
index 24bd4d1cd..50c9c31a1 100644
--- a/packages/frontend/src/interfaces/GlobalConfig.ts
+++ b/packages/frontend/src/interfaces/GlobalConfig.ts
@@ -1,5 +1,5 @@
-import type { Project } from "./Project"
+import type { Project } from "./Project";
export interface GlobalConfig {
- projects: Array
+ projects: Array;
}
diff --git a/packages/frontend/src/interfaces/Project.ts b/packages/frontend/src/interfaces/Project.ts
index 0dc3c0d58..8c7e27c51 100644
--- a/packages/frontend/src/interfaces/Project.ts
+++ b/packages/frontend/src/interfaces/Project.ts
@@ -1,4 +1,4 @@
export interface Project {
- owner: string
- repo: string
+ owner: string;
+ repo: string;
}
diff --git a/packages/frontend/src/interfaces/ProjectInfo.ts b/packages/frontend/src/interfaces/ProjectInfo.ts
index 1bcd38555..55aa24e78 100644
--- a/packages/frontend/src/interfaces/ProjectInfo.ts
+++ b/packages/frontend/src/interfaces/ProjectInfo.ts
@@ -1,37 +1,37 @@
interface ProjectInfoMaintainer {
- name: string
- email?: string
+ name: string;
+ email?: string;
}
interface ProjectInfoLinkSlack {
- type: "slack"
- uri: string
- space: string
- channel: string
+ type: "slack";
+ uri: string;
+ space: string;
+ channel: string;
}
interface ProjectInfoLinkNamed {
- type: "facebook-group" | "facebook-page" | "github-repo"
- uri: string
- name: string
+ type: "facebook-group" | "facebook-page" | "github-repo";
+ uri: string;
+ name: string;
}
interface ProjectInfoLinkOther {
- type: "demo" | "docs" | "email" | "homepage" | "issue-tracker" | "wiki"
- uri: string
+ type: "demo" | "docs" | "email" | "homepage" | "issue-tracker" | "wiki";
+ uri: string;
}
export type ProjectInfoLink =
| ProjectInfoLinkNamed
| ProjectInfoLinkOther
- | ProjectInfoLinkSlack
+ | ProjectInfoLinkSlack;
export interface ProjectInfo {
- name: string
- "short-description": string
- description: string
- maintainers: Array
- links: Array
- "help-issue-label"?: string
- tags?: Array
+ name: string;
+ "short-description": string;
+ description: string;
+ maintainers: Array;
+ links: Array;
+ "help-issue-label"?: string;
+ tags?: Array;
}
diff --git a/packages/frontend/src/interfaces/ProjectIssue.ts b/packages/frontend/src/interfaces/ProjectIssue.ts
index 66fd41033..0ae93426a 100644
--- a/packages/frontend/src/interfaces/ProjectIssue.ts
+++ b/packages/frontend/src/interfaces/ProjectIssue.ts
@@ -1,6 +1,6 @@
export interface ProjectIssue {
- number: number
- title: string
- description: string
- link?: string
+ number: number;
+ title: string;
+ description: string;
+ link?: string;
}
diff --git a/packages/frontend/src/interfaces/ProjectListing.ts b/packages/frontend/src/interfaces/ProjectListing.ts
index c2e240be9..7bef61eae 100644
--- a/packages/frontend/src/interfaces/ProjectListing.ts
+++ b/packages/frontend/src/interfaces/ProjectListing.ts
@@ -1,8 +1,8 @@
-import type { Project } from "./Project"
-import type { ProjectInfo } from "./ProjectInfo"
-import type { ProjectIssue } from "./ProjectIssue"
+import type { Project } from "./Project";
+import type { ProjectInfo } from "./ProjectInfo";
+import type { ProjectIssue } from "./ProjectIssue";
export type ProjectListing = Project & {
- info: ProjectInfo
- issues: Array
-}
+ info: ProjectInfo;
+ issues: Array;
+};
diff --git a/packages/frontend/src/interfaces/ProjectListings.ts b/packages/frontend/src/interfaces/ProjectListings.ts
index 2017f4fa2..cf3f86240 100644
--- a/packages/frontend/src/interfaces/ProjectListings.ts
+++ b/packages/frontend/src/interfaces/ProjectListings.ts
@@ -1,6 +1,6 @@
-import type { GlobalConfig } from "./GlobalConfig"
-import type { ProjectListing } from "./ProjectListing"
+import type { GlobalConfig } from "./GlobalConfig";
+import type { ProjectListing } from "./ProjectListing";
export interface ProjectListings extends GlobalConfig {
- projects: Array
+ projects: Array;
}
diff --git a/packages/frontend/src/pages/IssueDetail.tsx b/packages/frontend/src/pages/IssueDetail.tsx
index 35c3d7c82..2b3260ac0 100644
--- a/packages/frontend/src/pages/IssueDetail.tsx
+++ b/packages/frontend/src/pages/IssueDetail.tsx
@@ -1,61 +1,61 @@
/** @jsxImportSource @emotion/react */
-import { css } from "@emotion/react"
-import type React from "react"
-import { AiFillGithub } from "react-icons/ai"
-import ReactMarkdown from "react-markdown"
-import { useParams } from "react-router-dom"
-import { Link } from "react-router-dom"
-import remarkGfm from "remark-gfm"
+import { css } from "@emotion/react";
+import type React from "react";
+import { AiFillGithub } from "react-icons/ai";
+import ReactMarkdown from "react-markdown";
+import { useParams } from "react-router-dom";
+import { Link } from "react-router-dom";
+import remarkGfm from "remark-gfm";
-import { Button } from "../components/Button"
-import { ColoredTag } from "../components/ColoredTag"
-import { ExtLink } from "../components/ExtLink"
-import { IssuesList } from "../components/IssuesList"
-import { Section } from "../components/Layout"
-import { ProjectBox } from "../components/ProjectBox"
-import { ProjectLinks } from "../components/ProjectLinks"
+import { Button } from "../components/Button";
+import { ColoredTag } from "../components/ColoredTag";
+import { ExtLink } from "../components/ExtLink";
+import { IssuesList } from "../components/IssuesList";
+import { Section } from "../components/Layout";
+import { ProjectBox } from "../components/ProjectBox";
+import { ProjectLinks } from "../components/ProjectLinks";
import {
H1,
H2,
LargeParagraph,
Mark,
Paragraph,
-} from "../components/Typography"
-import type { ProjectListings } from "../interfaces/ProjectListings"
-import { theme } from "../theme"
-import { getIssuesWithProjectInfo } from "../utils/getAllIssues"
-import { getIssueWithProject } from "../utils/getIssueWithProject"
-import { getProjectLink } from "../utils/getProjectLink"
+} from "../components/Typography";
+import type { ProjectListings } from "../interfaces/ProjectListings";
+import { theme } from "../theme";
+import { getIssuesWithProjectInfo } from "../utils/getAllIssues";
+import { getIssueWithProject } from "../utils/getIssueWithProject";
+import { getProjectLink } from "../utils/getProjectLink";
export const IssueDetail = ({
data,
}: {
- readonly data: ProjectListings
+ readonly data: ProjectListings;
}): React.JSX.Element => {
const {
owner: projectOwner,
project: projectRepo,
issue: issueNumber,
- } = useParams<{ owner: string; project: string; issue: string }>()
+ } = useParams<{ owner: string; project: string; issue: string }>();
const issue = getIssueWithProject(
data,
projectOwner,
projectRepo,
- Number(issueNumber)
- )
+ Number(issueNumber),
+ );
const projectIssues = getIssuesWithProjectInfo(data, {
owner: projectOwner,
repo: projectRepo,
omitIssueNumber: issue?.number,
- })
+ });
if (!issue) {
return (
Poptávka {projectOwner}/{projectRepo}/{issueNumber} zde není.
- )
+ );
}
return (
@@ -164,5 +164,5 @@ export const IssueDetail = ({
)}
- )
-}
+ );
+};
diff --git a/packages/frontend/src/pages/IssuesList.tsx b/packages/frontend/src/pages/IssuesList.tsx
index 61f02adb0..776192f07 100644
--- a/packages/frontend/src/pages/IssuesList.tsx
+++ b/packages/frontend/src/pages/IssuesList.tsx
@@ -1,21 +1,21 @@
/** @jsxImportSource @emotion/react */
-import type React from "react"
+import type React from "react";
-import { Issue } from "../components/Issue"
-import type { ProjectListings } from "../interfaces/ProjectListings"
-import { getIssuesWithProjectInfo } from "../utils/getAllIssues"
+import { Issue } from "../components/Issue";
+import type { ProjectListings } from "../interfaces/ProjectListings";
+import { getIssuesWithProjectInfo } from "../utils/getAllIssues";
export const IssuesList = ({
data,
}: {
- readonly data: ProjectListings
+ readonly data: ProjectListings;
}): React.JSX.Element => {
- const issues = getIssuesWithProjectInfo(data)
+ const issues = getIssuesWithProjectInfo(data);
return (
<>
{issues.map((issue) => (
))}
>
- )
-}
+ );
+};
diff --git a/packages/frontend/src/pages/ProjectDetail.tsx b/packages/frontend/src/pages/ProjectDetail.tsx
index ad99a363b..3a3289307 100644
--- a/packages/frontend/src/pages/ProjectDetail.tsx
+++ b/packages/frontend/src/pages/ProjectDetail.tsx
@@ -1,37 +1,37 @@
/** @jsxImportSource @emotion/react */
-import { css } from "@emotion/react"
-import type React from "react"
-import ReactMarkdown from "react-markdown"
-import { useParams } from "react-router-dom"
-import remarkGfm from "remark-gfm"
+import { css } from "@emotion/react";
+import type React from "react";
+import ReactMarkdown from "react-markdown";
+import { useParams } from "react-router-dom";
+import remarkGfm from "remark-gfm";
-import { ColoredTag } from "../components/ColoredTag"
-import { IssuesList } from "../components/IssuesList"
-import { Section } from "../components/Layout"
-import { ProjectBox } from "../components/ProjectBox"
-import { ProjectLinks } from "../components/ProjectLinks"
-import { H1, LargeParagraph, Mark } from "../components/Typography"
-import type { ProjectListings } from "../interfaces/ProjectListings"
-import { getProject } from "../utils/getProject"
+import { ColoredTag } from "../components/ColoredTag";
+import { IssuesList } from "../components/IssuesList";
+import { Section } from "../components/Layout";
+import { ProjectBox } from "../components/ProjectBox";
+import { ProjectLinks } from "../components/ProjectLinks";
+import { H1, LargeParagraph, Mark } from "../components/Typography";
+import type { ProjectListings } from "../interfaces/ProjectListings";
+import { getProject } from "../utils/getProject";
export const ProjectDetail = ({
data,
}: {
- readonly data: ProjectListings
+ readonly data: ProjectListings;
}): React.JSX.Element => {
const { owner: projectOwner, project: projectRepo } = useParams<{
- owner: string
- project: string
- issue: string
- }>()
- const project = getProject(data, projectOwner, projectRepo)
+ owner: string;
+ project: string;
+ issue: string;
+ }>();
+ const project = getProject(data, projectOwner, projectRepo);
if (!project) {
return (
Projekt {projectOwner}/{projectRepo} zde není.
- )
+ );
}
return (
@@ -96,5 +96,5 @@ export const ProjectDetail = ({
)}
- )
-}
+ );
+};
diff --git a/packages/frontend/src/pages/ProjectsList.tsx b/packages/frontend/src/pages/ProjectsList.tsx
index a0df38d44..2ccadaa29 100644
--- a/packages/frontend/src/pages/ProjectsList.tsx
+++ b/packages/frontend/src/pages/ProjectsList.tsx
@@ -1,16 +1,16 @@
-import type React from "react"
+import type React from "react";
-import { Project } from "../components/Project"
-import type { ProjectListings } from "../interfaces/ProjectListings"
+import { Project } from "../components/Project";
+import type { ProjectListings } from "../interfaces/ProjectListings";
export const ProjectsList = ({
data,
}: {
- readonly data: ProjectListings
+ readonly data: ProjectListings;
}): React.JSX.Element => (
<>
{data.projects.map((project) => (
))}
>
-)
+);
diff --git a/packages/frontend/src/react-app-env.d.ts b/packages/frontend/src/react-app-env.d.ts
index e1d4b5583..a8ad89c17 100644
--- a/packages/frontend/src/react-app-env.d.ts
+++ b/packages/frontend/src/react-app-env.d.ts
@@ -1,6 +1,6 @@
///
declare module "*.svg" {
- const src: string
- export default src
+ const src: string;
+ export default src;
}
diff --git a/packages/frontend/src/theme.ts b/packages/frontend/src/theme.ts
index 085e44101..112923d07 100644
--- a/packages/frontend/src/theme.ts
+++ b/packages/frontend/src/theme.ts
@@ -8,4 +8,4 @@ export const theme = {
gray: "#999",
lightGray: "#ddd",
},
-}
+};
diff --git a/packages/frontend/src/utils/getAllIssues.ts b/packages/frontend/src/utils/getAllIssues.ts
index 1f0fb53d9..2fe0bee37 100644
--- a/packages/frontend/src/utils/getAllIssues.ts
+++ b/packages/frontend/src/utils/getAllIssues.ts
@@ -1,26 +1,26 @@
-import type { Project } from "../interfaces/Project"
-import type { ProjectInfo } from "../interfaces/ProjectInfo"
-import type { ProjectIssue } from "../interfaces/ProjectIssue"
-import type { ProjectListings } from "../interfaces/ProjectListings"
+import type { Project } from "../interfaces/Project";
+import type { ProjectInfo } from "../interfaces/ProjectInfo";
+import type { ProjectIssue } from "../interfaces/ProjectIssue";
+import type { ProjectListings } from "../interfaces/ProjectListings";
export interface ProjectIssueWithProjectInfo extends ProjectIssue {
- project: Project & ProjectInfo
+ project: Project & ProjectInfo;
}
interface Query extends Partial {
- omitIssueNumber?: number
+ omitIssueNumber?: number;
}
export const getIssuesWithProjectInfo = (
projectListings: ProjectListings,
- query?: Query
+ query?: Query,
): Array =>
projectListings.projects
.filter(
(project) =>
!query ||
((query.owner === undefined || query.owner === project.owner) &&
- (query.repo === undefined || query.repo === project.repo))
+ (query.repo === undefined || query.repo === project.repo)),
)
.flatMap((project) =>
project.issues
@@ -32,5 +32,5 @@ export const getIssuesWithProjectInfo = (
repo: project.repo,
...project.info,
},
- }))
- )
+ })),
+ );
diff --git a/packages/frontend/src/utils/getIssueLink.ts b/packages/frontend/src/utils/getIssueLink.ts
index 2a085b870..f579e063f 100644
--- a/packages/frontend/src/utils/getIssueLink.ts
+++ b/packages/frontend/src/utils/getIssueLink.ts
@@ -1,4 +1,4 @@
-import type { ProjectIssueWithProjectInfo } from "./getAllIssues"
+import type { ProjectIssueWithProjectInfo } from "./getAllIssues";
export const getIssueLink = (issue: ProjectIssueWithProjectInfo): string =>
- `/${issue.project.owner}/${issue.project.repo}/${issue.number}`
+ `/${issue.project.owner}/${issue.project.repo}/${issue.number}`;
diff --git a/packages/frontend/src/utils/getIssueWithProject.ts b/packages/frontend/src/utils/getIssueWithProject.ts
index 0c51d13da..a6e71d1f8 100644
--- a/packages/frontend/src/utils/getIssueWithProject.ts
+++ b/packages/frontend/src/utils/getIssueWithProject.ts
@@ -1,28 +1,28 @@
-import type { ProjectListings } from "../interfaces/ProjectListings"
-import type { ProjectIssueWithProjectInfo } from "./getAllIssues"
+import type { ProjectListings } from "../interfaces/ProjectListings";
+import type { ProjectIssueWithProjectInfo } from "./getAllIssues";
export const getIssueWithProject = (
projectListings: ProjectListings,
projectOwner: string | undefined,
projectRepo: string | undefined,
- issueNumber: number
+ issueNumber: number,
): ProjectIssueWithProjectInfo | undefined => {
const project = projectListings.projects.find(
- (project) => project.owner === projectOwner && project.repo === projectRepo
- )
+ (project) => project.owner === projectOwner && project.repo === projectRepo,
+ );
if (!project) {
- return
+ return;
}
- const issue = project.issues.find((issue) => issue.number === issueNumber)
+ const issue = project.issues.find((issue) => issue.number === issueNumber);
if (!issue) {
- return
+ return;
}
return {
...issue,
project: { owner: project.owner, repo: project.repo, ...project.info },
- }
-}
+ };
+};
diff --git a/packages/frontend/src/utils/getProject.ts b/packages/frontend/src/utils/getProject.ts
index a1a7a89ba..18c124a37 100644
--- a/packages/frontend/src/utils/getProject.ts
+++ b/packages/frontend/src/utils/getProject.ts
@@ -1,11 +1,11 @@
-import type { ProjectListing } from "../interfaces/ProjectListing"
-import type { ProjectListings } from "../interfaces/ProjectListings"
+import type { ProjectListing } from "../interfaces/ProjectListing";
+import type { ProjectListings } from "../interfaces/ProjectListings";
export const getProject = (
projectLisstings: ProjectListings,
owner: string | undefined,
- repo: string | undefined
+ repo: string | undefined,
): ProjectListing | undefined =>
projectLisstings.projects.find(
- (project) => project.owner === owner && project.repo === repo
- )
+ (project) => project.owner === owner && project.repo === repo,
+ );
diff --git a/packages/frontend/src/utils/getProjectLink.ts b/packages/frontend/src/utils/getProjectLink.ts
index c3abb6e84..da05acfaf 100644
--- a/packages/frontend/src/utils/getProjectLink.ts
+++ b/packages/frontend/src/utils/getProjectLink.ts
@@ -1,4 +1,4 @@
-import type { Project } from "../interfaces/Project"
+import type { Project } from "../interfaces/Project";
export const getProjectLink = ({ owner, repo }: Project): string =>
- `/${owner}/${repo}`
+ `/${owner}/${repo}`;
diff --git a/packages/frontend/webpack.config.js b/packages/frontend/webpack.config.js
index e88bbabd4..94e940a96 100644
--- a/packages/frontend/webpack.config.js
+++ b/packages/frontend/webpack.config.js
@@ -1,14 +1,14 @@
/* eslint-env node */
-const HtmlWebpackPlugin = require("html-webpack-plugin")
-const TerserPlugin = require("terser-webpack-plugin")
-const MiniCssExtractPlugin = require("mini-css-extract-plugin")
-const ForkTsCheckerWebpackPlugin = require("fork-ts-checker-webpack-plugin")
-const { SubresourceIntegrityPlugin } = require("webpack-subresource-integrity")
+const HtmlWebpackPlugin = require("html-webpack-plugin");
+const TerserPlugin = require("terser-webpack-plugin");
+const MiniCssExtractPlugin = require("mini-css-extract-plugin");
+const ForkTsCheckerWebpackPlugin = require("fork-ts-checker-webpack-plugin");
+const { SubresourceIntegrityPlugin } = require("webpack-subresource-integrity");
module.exports = (env) => {
const mode =
- process.env.NODE_ENV ?? (env.development ? "development" : "production")
+ process.env.NODE_ENV ?? (env.development ? "development" : "production");
return {
mode,
@@ -74,5 +74,5 @@ module.exports = (env) => {
}),
],
},
- }
-}
+ };
+};