Skip to content

Commit

Permalink
markdown improvements and empty subject list fix
Browse files Browse the repository at this point in the history
  • Loading branch information
Tschonti committed Feb 4, 2023
1 parent 571217d commit a881754
Show file tree
Hide file tree
Showing 7 changed files with 329 additions and 64 deletions.
2 changes: 2 additions & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,8 @@
"react-query": "3.39.3",
"react-router-dom": "6.8.0",
"react-scripts": "5.0.1",
"remark-gemoji": "^7.0.1",
"remark-gfm": "^3.0.1",
"web-vitals": "3.1.1"
},
"devDependencies": {
Expand Down
28 changes: 0 additions & 28 deletions src/assets/remark-ui-renderer.tsx

This file was deleted.

10 changes: 10 additions & 0 deletions src/components/commons/Markdown.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
import ChakraUIRenderer from 'chakra-ui-markdown-renderer'
import ReactMarkdown from 'react-markdown'
import remarkGemoji from 'remark-gemoji'
import remarkGfm from 'remark-gfm'

const Markdown = ({ markdown }: { markdown?: string }) => {
return <ReactMarkdown components={ChakraUIRenderer()} children={markdown || ''} remarkPlugins={[remarkGfm, remarkGemoji]} />
}

export default Markdown
5 changes: 2 additions & 3 deletions src/components/editor/MarkdownEditor.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,8 @@ import {
} from '@chakra-ui/react'
import { FC } from 'react'
import { useFormContext } from 'react-hook-form'
import ReactMarkdown from 'react-markdown'
import { RemarkUIRenderer } from '../../assets/remark-ui-renderer'
import { KLink } from '../commons/KLink'
import Markdown from '../commons/Markdown'
import { getStatusString } from './editorUtils'

type Props = {
Expand Down Expand Up @@ -77,7 +76,7 @@ export const MarkdownEditor: FC<Props> = ({ textAreaHeight = '22rem', previewHei
</TabPanel>
<TabPanel>
<Box maxHeight={previewHeight} overflowY="scroll">
<ReactMarkdown components={RemarkUIRenderer()} children={watch(formDetails.id)} skipHtml />
<Markdown markdown={watch(formDetails.id)} />
</Box>
</TabPanel>
</TabPanels>
Expand Down
5 changes: 2 additions & 3 deletions src/pages/consultations/ConsultationDetailsPage.tsx
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
import { Box, Button, Heading, HStack, Stack, Text, useToast, VStack } from '@chakra-ui/react'
import ChakraUIRenderer from 'chakra-ui-markdown-renderer'
import { Helmet } from 'react-helmet-async'
import { FaClock, FaMapMarkerAlt } from 'react-icons/fa'
import ReactMarkdown from 'react-markdown'
import { Link, useNavigate, useParams } from 'react-router-dom'
import { useAuthContext } from '../../api/contexts/auth/useAuthContext'
import {
Expand All @@ -13,6 +11,7 @@ import {
import { useFetchConsultationbDetailsQuery } from '../../api/hooks/consultationQueryHooks'
import { KonziError } from '../../api/model/error.model'
import { ConfirmDialogButton } from '../../components/commons/ConfirmDialogButton'
import Markdown from '../../components/commons/Markdown'
import { isValidId } from '../../util/core-util-functions'
import { generateToastParams } from '../../util/generateToastParams'
import { PATHS } from '../../util/paths'
Expand Down Expand Up @@ -147,7 +146,7 @@ export const ConsultationDetailsPage = () => {
</Stack>
{consultation.descMarkdown && (
<Box shadow="md" borderRadius={8} borderWidth={1} p={4} width="100%" mb={2}>
<ReactMarkdown components={ChakraUIRenderer()} children={consultation.descMarkdown} skipHtml />
<Markdown markdown={consultation.descMarkdown} />
</Box>
)}
<Heading size="lg" mb={2}>
Expand Down
62 changes: 33 additions & 29 deletions src/pages/subjects/SubjectsPage.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,8 @@ export const SubjectsPage = () => {
return <ErrorPage backPath={PATHS.INDEX} status={403} title="Nincs jogosultságod az oldal megtekintéséhez" />
}

const filteredSubjects = subjects?.filter((s) => s.majors.some((m) => m === selectedMajor) || selectedMajor === 'all')

return (
<>
<Helmet title="Tárgyak" />
Expand Down Expand Up @@ -132,38 +134,40 @@ export const SubjectsPage = () => {
/>
</HStack>
</Stack>
{subjects && subjects?.length > 0 && (
{filteredSubjects && filteredSubjects?.length > 0 ? (
<SimpleGrid columns={{ sm: 1, md: 2 }} gap={4}>
{subjects
?.filter((s) => s.majors.some((m) => m === selectedMajor) || selectedMajor === 'all')
.map((s) => (
<Box key={s.id} shadow="md" borderRadius={8} borderWidth={1} p={4}>
<HStack justify="space-between">
<VStack align="flex-start" flexGrow={1}>
<Heading size="md">
{s.name} ({s.code})
</Heading>
<HStack spacing={0} wrap="wrap" alignContent="space-between" justify="flex-start">
{s.majors.map((m) => (
<MajorBadge major={m} key={m} />
))}
</HStack>
</VStack>
{filteredSubjects.map((s) => (
<Box key={s.id} shadow="md" borderRadius={8} borderWidth={1} p={4}>
<HStack justify="space-between">
<VStack align="flex-start" flexGrow={1}>
<Heading size="md">
{s.name} ({s.code})
</Heading>
<HStack spacing={0} wrap="wrap" alignContent="space-between" justify="flex-start">
{s.majors.map((m) => (
<MajorBadge major={m} key={m} />
))}
</HStack>
</VStack>

<SubjectEditModalButton
buttonIcon={<FaEdit />}
buttonText="Tárgy szerkesztése"
modalTitle="Tárgy szerkesztése"
successMessage="Tárgy sikeresen frissítve"
mutation={updateSubjectMutation}
previousData={s}
refetch={refetch}
deleteAction={deleteSubject}
/>
</HStack>
</Box>
))}
<SubjectEditModalButton
buttonIcon={<FaEdit />}
buttonText="Tárgy szerkesztése"
modalTitle="Tárgy szerkesztése"
successMessage="Tárgy sikeresen frissítve"
mutation={updateSubjectMutation}
previousData={s}
refetch={refetch}
deleteAction={deleteSubject}
/>
</HStack>
</Box>
))}
</SimpleGrid>
) : (
<Text fontStyle="italic" textAlign="center">
Még egy tárgy sem lett felvéve{selectedMajor !== 'all' && ' ezen szakon'}.
</Text>
)}
</>
)
Expand Down
Loading

1 comment on commit a881754

@vercel
Copy link

@vercel vercel bot commented on a881754 Feb 4, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Successfully deployed to the following URLs:

konzisite-frontend – ./

konzisite-frontend-git-master-kir-dev.vercel.app
konzisite-frontend-kir-dev.vercel.app
konzisite.kir-dev.hu

Please sign in to comment.