kopia lustrzana https://github.com/Stopka/fedisearch
Codestyle fixes, deploy fixes
rodzic
82e84c09fe
commit
5e3e152fa6
|
@ -1,2 +1,3 @@
|
|||
application/node_modules
|
||||
application/src/.next
|
||||
application/src/.vscode
|
||||
|
|
|
@ -4,6 +4,7 @@ WORKDIR /srv
|
|||
COPY application/package*.json ./
|
||||
RUN npm install --frozen-lockfile
|
||||
COPY application/. .
|
||||
RUN chmod -R uog+r .
|
||||
RUN npm run build
|
||||
|
||||
FROM build as dev
|
||||
|
@ -17,6 +18,7 @@ EXPOSE 3000
|
|||
WORKDIR /srv
|
||||
COPY --from=build /srv/node_modules ./node_modules
|
||||
COPY --from=build /srv/package*.json ./
|
||||
COPY --from=build /srv/next.config.js ./
|
||||
COPY --from=build --chown=nextjs:nodejs /srv/src/.next ./.next
|
||||
COPY --from=build /srv/src/public ./public
|
||||
CMD node_modules/.bin/next start
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
"scripts": {
|
||||
"dev": "next dev ./src --hostname 0.0.0.0",
|
||||
"build": "next build ./src",
|
||||
"start": "next start ./src",
|
||||
"start": "next start",
|
||||
"lint": "eslint \"{src,apps,libs,test}/**/*.ts\" --fix",
|
||||
"generate:graphql-types": "graphql-codegen-esm --config graphql-codegen.yml"
|
||||
},
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
import React, {ReactElement, ReactNode} from "react";
|
||||
import React, { ReactElement, ReactNode } from 'react'
|
||||
|
||||
export default function ResponsiveTable ({ children, className }: {
|
||||
children: ReactNode,
|
||||
children: ReactNode
|
||||
className?: string
|
||||
}): ReactElement {
|
||||
return (
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
'use client'
|
||||
import {faCircle} from "@fortawesome/free-solid-svg-icons";
|
||||
import {FontAwesomeIcon} from "@fortawesome/react-fontawesome";
|
||||
import React, {ReactElement} from "react";
|
||||
import { faCircle } from '@fortawesome/free-solid-svg-icons'
|
||||
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'
|
||||
import React, { ReactElement } from 'react'
|
||||
|
||||
export default function SoftwareBadgePlaceholder (): ReactElement {
|
||||
return <div className={'software-name placeholder-glow'}>
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
'use client'
|
||||
import React, {ReactElement, ReactNode, useContext, useState} from "react";
|
||||
import React, { ReactElement, ReactNode, useContext, useState } from 'react'
|
||||
|
||||
const AccordionContext = React.createContext<{
|
||||
expandedId: string | undefined,
|
||||
expandedId: string | undefined
|
||||
setExpandedId: (id: string | undefined) => void
|
||||
} | undefined>(undefined)
|
||||
|
||||
|
@ -11,7 +11,7 @@ export const useAccordion = (id: string): [boolean, () => void] => {
|
|||
if (context === undefined) {
|
||||
throw new Error('Hook useAccordion needs to be used in Accordion element')
|
||||
}
|
||||
const {expandedId, setExpandedId} = context;
|
||||
const { expandedId, setExpandedId } = context
|
||||
return [
|
||||
expandedId === id,
|
||||
() => {
|
||||
|
|
|
@ -1,10 +1,9 @@
|
|||
'use client'
|
||||
import { faSearch } from '@fortawesome/free-solid-svg-icons'
|
||||
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'
|
||||
import React, { ReactElement } from 'react'
|
||||
import { FeedQueryInput } from '../../graphql/generated/types'
|
||||
import SearchInput from "../form/SearchInput";
|
||||
import SubmitButton from "../form/SubmitButton";
|
||||
import SearchInput from '../form/SearchInput'
|
||||
import SubmitButton from '../form/SubmitButton'
|
||||
|
||||
export default function FeedForm (
|
||||
{ onSubmit, onQueryChange, query }: {
|
||||
|
@ -42,7 +41,7 @@ export default function FeedForm (
|
|||
<SubmitButton
|
||||
faIcon={faSearch}
|
||||
label={'Search'}
|
||||
id={"search-feeds-button"}
|
||||
id={'search-feeds-button'}
|
||||
/>
|
||||
</div>
|
||||
</form>
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import {ReactElement, ReactNode} from "react";
|
||||
import React, { ReactElement, ReactNode } from 'react'
|
||||
|
||||
export default function FeedInfo ({ children, show }: { children?: ReactNode, show?: boolean }): ReactElement {
|
||||
if (show === false) {
|
||||
|
|
|
@ -1,8 +1,6 @@
|
|||
import { faCircle } from '@fortawesome/free-solid-svg-icons'
|
||||
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'
|
||||
import React, { ReactElement } from 'react'
|
||||
import SoftwareBadge from "../SoftwareBadge";
|
||||
import SoftwareBadgePlaceholder from "../SoftwareBadgePlaceholder";
|
||||
import SoftwareBadgePlaceholder from '../SoftwareBadgePlaceholder'
|
||||
import Avatar from './Avatar'
|
||||
import Badge from './badges/Badge'
|
||||
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
import React, {ChangeEventHandler, ReactElement} from "react";
|
||||
import React, { ChangeEventHandler, ReactElement } from 'react'
|
||||
|
||||
export default function SearchInput ({ label, onChange, value, describedBy }: {
|
||||
label: string,
|
||||
onChange?: ChangeEventHandler,
|
||||
value?: string,
|
||||
label: string
|
||||
onChange?: ChangeEventHandler
|
||||
value?: string
|
||||
describedBy?: string
|
||||
}): ReactElement {
|
||||
return <input
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
import {IconProp} from "@fortawesome/fontawesome-svg-core";
|
||||
import {FontAwesomeIcon} from "@fortawesome/react-fontawesome";
|
||||
import React, {ReactElement} from "react";
|
||||
import { IconProp } from '@fortawesome/fontawesome-svg-core'
|
||||
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'
|
||||
import React, { ReactElement } from 'react'
|
||||
|
||||
export default function SubmitButton ({ faIcon, label, id }: {
|
||||
faIcon: IconProp,
|
||||
label: string,
|
||||
faIcon: IconProp
|
||||
label: string
|
||||
id?: string
|
||||
}): ReactElement {
|
||||
return <button type={'submit'} className={'btn btn-primary'} id={id}>
|
||||
|
|
|
@ -2,8 +2,8 @@
|
|||
import { faSearch } from '@fortawesome/free-solid-svg-icons'
|
||||
import React, { ReactElement } from 'react'
|
||||
import { NodeQueryInput } from '../../graphql/generated/types'
|
||||
import SearchInput from "../form/SearchInput";
|
||||
import SubmitButton from "../form/SubmitButton";
|
||||
import SearchInput from '../form/SearchInput'
|
||||
import SubmitButton from '../form/SubmitButton'
|
||||
|
||||
export default function NodeForm (
|
||||
{ onSubmit, onQueryChange, query }: {
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
import React, {ReactElement} from "react";
|
||||
import {NodeQueryInput, NodeSortingByEnum} from "../../graphql/generated/types";
|
||||
import SortToggle from "../SortToggle";
|
||||
import React, { ReactElement } from 'react'
|
||||
import { NodeQueryInput, NodeSortingByEnum } from '../../graphql/generated/types'
|
||||
import SortToggle from '../SortToggle'
|
||||
|
||||
export default function NodeHeader ({ query, onSortToggle }: {
|
||||
query: NodeQueryInput
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
import React, {ReactElement} from "react";
|
||||
import {ListNodesItemFragment} from "../../graphql/generated/types";
|
||||
import NodeResult from "./NodeResult";
|
||||
import React, { ReactElement } from 'react'
|
||||
import { ListNodesItemFragment } from '../../graphql/generated/types'
|
||||
import NodeResult from './NodeResult'
|
||||
|
||||
export default function NodeResults ({ nodes }: {
|
||||
nodes:ListNodesItemFragment[]|undefined,
|
||||
nodes: ListNodesItemFragment[] | undefined
|
||||
}): ReactElement {
|
||||
if (nodes === undefined) {
|
||||
return <></>
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
'use client'
|
||||
import { useQuery } from '@apollo/client'
|
||||
import { usePathname, useRouter, useSearchParams } from 'next/navigation'
|
||||
import { ReactElement, useEffect, useState } from 'react'
|
||||
import React, { ReactElement, useEffect, useState } from 'react'
|
||||
import {
|
||||
ListStatsDocument,
|
||||
SortingWayEnum, StatsAggregationFragment,
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
import {ReactElement} from "react";
|
||||
import {StatsAggregationFragment} from "../../graphql/generated/types";
|
||||
import React, { ReactElement } from 'react'
|
||||
import { StatsAggregationFragment } from '../../graphql/generated/types'
|
||||
|
||||
export default function StatsFooter ({ sumAggregation }: { sumAggregation: StatsAggregationFragment | undefined }): ReactElement {
|
||||
return (
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
'use client'
|
||||
import {ReactElement} from "react";
|
||||
import {NodeSortingByEnum, StatsQueryInput, StatsSortingByEnum} from "../../graphql/generated/types";
|
||||
import SortToggle from "../SortToggle";
|
||||
import React, { ReactElement } from 'react'
|
||||
import { StatsQueryInput, StatsSortingByEnum } from '../../graphql/generated/types'
|
||||
import SortToggle from '../SortToggle'
|
||||
|
||||
export default function StatsHeader ({ query, onSortToggle }: {
|
||||
query: StatsQueryInput,
|
||||
query: StatsQueryInput
|
||||
onSortToggle: (sortBy: StatsSortingByEnum) => void
|
||||
}): ReactElement {
|
||||
return <thead>
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import { ReactElement } from 'react'
|
||||
import React, { ReactElement } from 'react'
|
||||
import { StatsAggregationFragment, StatsItemFragment } from '../../graphql/generated/types'
|
||||
import StatsResult from './StatsResult'
|
||||
|
||||
|
|
Ładowanie…
Reference in New Issue