diff --git a/package.json b/package.json
index d63469d4..f01f1e84 100644
--- a/package.json
+++ b/package.json
@@ -46,7 +46,6 @@
"@graphql-codegen/typescript": "^4.0.9",
"@graphql-codegen/typescript-operations": "^4.2.3",
"@graphql-codegen/typescript-react-apollo": "^4.3.2",
- "@tailwindcss/typography": "^0.5.15",
"@types/node": "^20",
"@types/react": "^18",
"@types/react-dom": "^18",
diff --git a/src/app/(main)/blog/[articleId]/edit/page.tsx b/src/app/(main)/blog/[articleId]/edit/page.tsx
index 63eb5a9d..34414913 100644
--- a/src/app/(main)/blog/[articleId]/edit/page.tsx
+++ b/src/app/(main)/blog/[articleId]/edit/page.tsx
@@ -121,40 +121,38 @@ export default function DashboardArticlePage() {
});
}}
>
- Добавить разметку
+ Добавить блок
-
- {fields.map((item, index) =>
- item.type === 'Slider' ? (
-
- ) : (
-
- ),
- )}
-
+
+
+ {fields.map((item, index) =>
+ item.type === 'Slider' ? (
+
+ ) : (
+
+ ),
+ )}
+
+
-
diff --git a/src/app/globals.css b/src/app/globals.css
index c3982c56..7dd5534b 100644
--- a/src/app/globals.css
+++ b/src/app/globals.css
@@ -1,6 +1,11 @@
@import url('/fonts/TTHovesProAll/stylesheet.css');
@tailwind base;
+@layer base {
+ .tailwind-preflight span {
+ font-size: inherit !important;
+ }
+}
@tailwind components;
@tailwind utilities;
@@ -31,6 +36,59 @@ body {
);
}
+.reset-tailwind {
+ all: initial;
+ display: block;
+}
+
+.content {
+ @apply text-lg break-words;
+
+ word-break: break-word;
+
+ h1 {
+ @apply text-2xl font-bold;
+ }
+
+ h2 {
+ @apply text-lg font-bold;
+ }
+
+ h3 {
+ @apply text-sm font-bold;
+ }
+
+ h4 {
+ @apply text-xs;
+ }
+
+ h5 {
+ @apply text-[10px];
+ }
+
+ h6 {
+ @apply text-[8px];
+ }
+
+ p {
+ @apply text-xs;
+ }
+
+ pre {
+ @apply text-[10px];
+ }
+
+ ul {
+ @apply pl-4 mb-8 list-inside;
+
+ list-style: unset;
+
+ li {
+ display: list-item;
+ }
+ }
+}
+
*::-webkit-scrollbar {
width: 4px;
}
diff --git a/src/components/articleInputs/ArticleContentInput.tsx b/src/components/articleInputs/ArticleContentInput.tsx
index 07a8e3e5..ed6a982f 100644
--- a/src/components/articleInputs/ArticleContentInput.tsx
+++ b/src/components/articleInputs/ArticleContentInput.tsx
@@ -32,15 +32,16 @@ export function ArticleContentInput({
setContent(value.blocks[index].content!);
});
- return () => {
- unsubscribe();
- };
+ return () => unsubscribe();
}, [index, watch]);
return (
-
- {parse(content)}
-
+
+ {parse(content)}
+
{
e.preventDefault();
diff --git a/src/components/articleInputs/ArticleSliderImageInput.tsx b/src/components/articleInputs/ArticleSliderImageInput.tsx
index 10da6440..c12aa6f1 100644
--- a/src/components/articleInputs/ArticleSliderImageInput.tsx
+++ b/src/components/articleInputs/ArticleSliderImageInput.tsx
@@ -1,19 +1,13 @@
-import { IImage } from '@/types/IArticl';
import { Reorder } from 'framer-motion';
-import {
- UseFieldArrayRemove,
- UseFormRegister,
- UseFormSetValue,
-} from 'react-hook-form';
+import { UseFieldArrayRemove, UseFormSetValue } from 'react-hook-form';
import { CloseIcon } from '../icons/CloseIcon';
import { MediaUploader } from '../MediaUploader';
import { IArticleFormInput } from '../modals/ArticleFormModal';
interface IArticleSliderImageInputProps {
- register: UseFormRegister>;
setValue: UseFormSetValue>;
remove: UseFieldArrayRemove;
- item: IImage & Record<'id', string>;
+ item: Record<'img', string> & Record<'id', string>;
blockIndex: number;
imgIndex: number;
}
@@ -22,7 +16,6 @@ export function ArticleSliderImageInput({
item,
imgIndex,
blockIndex,
- register,
remove,
setValue,
}: IArticleSliderImageInputProps) {
@@ -32,16 +25,11 @@ export function ArticleSliderImageInput({
-
>;
setValue: UseFormSetValue>;
item: ISlider & Record<'id', string>;
index: number;
@@ -23,7 +21,6 @@ interface IArticleSliderInputProps {
export function ArticleSliderInput({
index,
item,
- register,
setValue,
control,
removeSlider,
@@ -39,7 +36,7 @@ export function ArticleSliderInput({
{
e.preventDefault();
- append({ img: '', caption: '' });
+ append({ img: '' });
}}
>
Добавить слайд
@@ -58,7 +55,6 @@ export function ArticleSliderInput({
blockIndex={index}
imgIndex={imgIndex}
item={item}
- register={register}
remove={remove}
setValue={setValue}
/>
diff --git a/src/components/modals/ArticleContentEditorModal.tsx b/src/components/modals/ArticleContentEditorModal.tsx
index 1be8cd6c..f9ad743d 100644
--- a/src/components/modals/ArticleContentEditorModal.tsx
+++ b/src/components/modals/ArticleContentEditorModal.tsx
@@ -30,25 +30,22 @@ export function ArticleContentEditorModal({
value={value}
onInit={(_, editor) => {
editorRef.current = editor;
- editor.getBody().style.background = '#14161f';
- editor.getBody().style.color = '#fff';
}}
init={{
+ content_style: 'body {color: #fff; background: #14161f;}',
height: '100%',
video_template_callback: (data: { source: string }) =>
'',
+ '" muted="true" autoplay="true" loop="true" playsinline style="aspect-ratio: 16/9; width: 768px">',
images_upload_credentials: true,
images_upload_handler: async blobInfo => {
const formData = new FormData();
formData.append('files', blobInfo.blob(), blobInfo.filename());
formData.append('dest', 'blog');
-
const res = await api
.post('upload', { body: formData })
.json<{ files: string[] }>();
-
return process.env.NEXT_PUBLIC_S3_BUCKET + res.files[0];
},
file_picker_callback: async cb => {
diff --git a/src/components/pages/BlogPage/ArticleContent.tsx b/src/components/pages/BlogPage/ArticleContent.tsx
index 92e474e4..385306f2 100644
--- a/src/components/pages/BlogPage/ArticleContent.tsx
+++ b/src/components/pages/BlogPage/ArticleContent.tsx
@@ -30,7 +30,7 @@ export function ArticleContent({
-
+
{title}
{description}
@@ -48,8 +48,8 @@ export function ArticleContent({
{blocks.map((block, index) =>
block.type === 'Content' ? (
-
- {parse(block.content)}
+
) : (
diff --git a/src/components/pages/MainPage/Clients.tsx b/src/components/pages/MainPage/Clients.tsx
index 859f7757..958720a8 100644
--- a/src/components/pages/MainPage/Clients.tsx
+++ b/src/components/pages/MainPage/Clients.tsx
@@ -44,7 +44,7 @@ function MarqueeHalf({
{items.map(client => (
![]()
;
img: Scalars['String']['output'];
};
diff --git a/src/queries/articles/addArticle/addArticle.generated.ts b/src/queries/articles/addArticle/addArticle.generated.ts
index b8a8cf31..03742622 100644
--- a/src/queries/articles/addArticle/addArticle.generated.ts
+++ b/src/queries/articles/addArticle/addArticle.generated.ts
@@ -8,7 +8,7 @@ export type AddArticleMutationVariables = Types.Exact<{
}>;
-export type AddArticleMutation = { __typename?: 'Mutation', createArticle: { __typename?: 'Article', id: number, title: string, description: string, posterImage: string, cardImage: string, createdAt: any, tags: Array
, blocks: Array<{ __typename?: 'Content', type: string, content: string } | { __typename?: 'Slider', type: string, images: Array<{ __typename?: 'Image', img: string, caption?: string | null }> }> } | { __typename?: 'Error' } };
+export type AddArticleMutation = { __typename?: 'Mutation', createArticle: { __typename?: 'Article', id: number, title: string, description: string, posterImage: string, cardImage: string, createdAt: any, tags: Array, blocks: Array<{ __typename?: 'Content', type: string, content: string } | { __typename?: 'Slider', type: string, images: Array<{ __typename?: 'Image', img: string }> }> } | { __typename?: 'Error' } };
export const AddArticleDocument = gql`
@@ -31,7 +31,6 @@ export const AddArticleDocument = gql`
type
images {
img
- caption
}
}
}
diff --git a/src/queries/articles/addArticle/addArticle.gql b/src/queries/articles/addArticle/addArticle.gql
index 93e82b3d..f01c59e7 100644
--- a/src/queries/articles/addArticle/addArticle.gql
+++ b/src/queries/articles/addArticle/addArticle.gql
@@ -17,7 +17,6 @@ mutation AddArticle($input: CreateArticleInput!) {
type
images {
img
- caption
}
}
}
diff --git a/src/queries/articles/deleteArticle/deleteArticle.generated.ts b/src/queries/articles/deleteArticle/deleteArticle.generated.ts
index ab07d89f..d49cb781 100644
--- a/src/queries/articles/deleteArticle/deleteArticle.generated.ts
+++ b/src/queries/articles/deleteArticle/deleteArticle.generated.ts
@@ -8,7 +8,7 @@ export type DeleteArticleMutationVariables = Types.Exact<{
}>;
-export type DeleteArticleMutation = { __typename?: 'Mutation', deleteArticle: { __typename?: 'Article', id: number, title: string, description: string, createdAt: any, cardImage: string, posterImage: string, tags: Array, blocks: Array<{ __typename?: 'Content', type: string, content: string } | { __typename?: 'Slider', type: string, images: Array<{ __typename?: 'Image', img: string, caption?: string | null }> }> } | { __typename?: 'Error', message: string } };
+export type DeleteArticleMutation = { __typename?: 'Mutation', deleteArticle: { __typename?: 'Article', id: number, title: string, description: string, createdAt: any, cardImage: string, posterImage: string, tags: Array, blocks: Array<{ __typename?: 'Content', type: string, content: string } | { __typename?: 'Slider', type: string, images: Array<{ __typename?: 'Image', img: string }> }> } | { __typename?: 'Error', message: string } };
export const DeleteArticleDocument = gql`
@@ -34,7 +34,6 @@ export const DeleteArticleDocument = gql`
type
images {
img
- caption
}
}
}
diff --git a/src/queries/articles/deleteArticle/deleteArticle.gql b/src/queries/articles/deleteArticle/deleteArticle.gql
index cda67f2f..97b4d4ce 100644
--- a/src/queries/articles/deleteArticle/deleteArticle.gql
+++ b/src/queries/articles/deleteArticle/deleteArticle.gql
@@ -20,7 +20,6 @@ mutation DeleteArticle($id: Int!) {
type
images {
img
- caption
}
}
}
diff --git a/src/queries/articles/editArticle/editArticle.generated.ts b/src/queries/articles/editArticle/editArticle.generated.ts
index 0329d5f9..a9be8c76 100644
--- a/src/queries/articles/editArticle/editArticle.generated.ts
+++ b/src/queries/articles/editArticle/editArticle.generated.ts
@@ -9,7 +9,7 @@ export type EditArticleMutationVariables = Types.Exact<{
}>;
-export type EditArticleMutation = { __typename?: 'Mutation', updateArticle: { __typename?: 'Article', id: number, title: string, description: string, posterImage: string, cardImage: string, createdAt: any, tags: Array, blocks: Array<{ __typename?: 'Content', type: string, content: string } | { __typename?: 'Slider', type: string, images: Array<{ __typename?: 'Image', img: string, caption?: string | null }> }> } | { __typename?: 'Error', message: string } };
+export type EditArticleMutation = { __typename?: 'Mutation', updateArticle: { __typename?: 'Article', id: number, title: string, description: string, posterImage: string, cardImage: string, createdAt: any, tags: Array, blocks: Array<{ __typename?: 'Content', type: string, content: string } | { __typename?: 'Slider', type: string, images: Array<{ __typename?: 'Image', img: string }> }> } | { __typename?: 'Error', message: string } };
export const EditArticleDocument = gql`
@@ -35,7 +35,6 @@ export const EditArticleDocument = gql`
type
images {
img
- caption
}
}
}
diff --git a/src/queries/articles/editArticle/editArticle.gql b/src/queries/articles/editArticle/editArticle.gql
index a487e847..7d0d8c86 100644
--- a/src/queries/articles/editArticle/editArticle.gql
+++ b/src/queries/articles/editArticle/editArticle.gql
@@ -20,7 +20,6 @@ mutation EditArticle($id: Int!, $input: CreateArticleInput!) {
type
images {
img
- caption
}
}
}
diff --git a/src/queries/articles/getArticleById/getArticleById.generated.ts b/src/queries/articles/getArticleById/getArticleById.generated.ts
index 77346bbc..f3d9182a 100644
--- a/src/queries/articles/getArticleById/getArticleById.generated.ts
+++ b/src/queries/articles/getArticleById/getArticleById.generated.ts
@@ -8,7 +8,7 @@ export type GetArticleByIdQueryVariables = Types.Exact<{
}>;
-export type GetArticleByIdQuery = { __typename?: 'Query', article: { __typename?: 'Article', id: number, title: string, description: string, createdAt: any, cardImage: string, posterImage: string, tags: Array, blocks: Array<{ __typename?: 'Content', type: string, content: string } | { __typename?: 'Slider', type: string, images: Array<{ __typename?: 'Image', img: string, caption?: string | null }> }> } | { __typename?: 'Error', message: string } };
+export type GetArticleByIdQuery = { __typename?: 'Query', article: { __typename?: 'Article', id: number, title: string, description: string, createdAt: any, cardImage: string, posterImage: string, tags: Array, blocks: Array<{ __typename?: 'Content', type: string, content: string } | { __typename?: 'Slider', type: string, images: Array<{ __typename?: 'Image', img: string }> }> } | { __typename?: 'Error', message: string } };
export const GetArticleByIdDocument = gql`
@@ -34,7 +34,6 @@ export const GetArticleByIdDocument = gql`
type
images {
img
- caption
}
}
}
diff --git a/src/queries/articles/getArticleById/getArticleById.gql b/src/queries/articles/getArticleById/getArticleById.gql
index e611e0b8..37f214e2 100644
--- a/src/queries/articles/getArticleById/getArticleById.gql
+++ b/src/queries/articles/getArticleById/getArticleById.gql
@@ -20,7 +20,6 @@ query GetArticleById($id: Int!) {
type
images {
img
- caption
}
}
}
diff --git a/src/queries/articles/getArticles/getArticles.generated.ts b/src/queries/articles/getArticles/getArticles.generated.ts
index b31a3403..e7b48f59 100644
--- a/src/queries/articles/getArticles/getArticles.generated.ts
+++ b/src/queries/articles/getArticles/getArticles.generated.ts
@@ -9,7 +9,7 @@ export type GetArticlesQueryVariables = Types.Exact<{
}>;
-export type GetArticlesQuery = { __typename?: 'Query', articles: { __typename?: 'Articles', articles: Array<{ __typename?: 'Article', id: number, title: string, description: string, tags: Array, createdAt: any, posterImage: string, cardImage: string, blocks: Array<{ __typename?: 'Content', type: string, content: string } | { __typename?: 'Slider', type: string, images: Array<{ __typename?: 'Image', img: string, caption?: string | null }> }> }> } | { __typename?: 'Error', message: string } };
+export type GetArticlesQuery = { __typename?: 'Query', articles: { __typename?: 'Articles', articles: Array<{ __typename?: 'Article', id: number, title: string, description: string, tags: Array, createdAt: any, posterImage: string, cardImage: string, blocks: Array<{ __typename?: 'Content', type: string, content: string } | { __typename?: 'Slider', type: string, images: Array<{ __typename?: 'Image', img: string }> }> }> } | { __typename?: 'Error', message: string } };
export const GetArticlesDocument = gql`
@@ -36,7 +36,6 @@ export const GetArticlesDocument = gql`
type
images {
img
- caption
}
}
}
diff --git a/src/queries/articles/getArticles/getArticles.gql b/src/queries/articles/getArticles/getArticles.gql
index 3760d0dc..dd4278ff 100644
--- a/src/queries/articles/getArticles/getArticles.gql
+++ b/src/queries/articles/getArticles/getArticles.gql
@@ -21,7 +21,6 @@ query GetArticles($tags: [String!]!, $limit: Int) {
type
images {
img
- caption
}
}
}
diff --git a/src/queries/articles/getRelevantArticles/getRelevantArticles.generated.ts b/src/queries/articles/getRelevantArticles/getRelevantArticles.generated.ts
index ba735dec..eb47d704 100644
--- a/src/queries/articles/getRelevantArticles/getRelevantArticles.generated.ts
+++ b/src/queries/articles/getRelevantArticles/getRelevantArticles.generated.ts
@@ -9,7 +9,7 @@ export type GetRelevantArticlesQueryVariables = Types.Exact<{
}>;
-export type GetRelevantArticlesQuery = { __typename?: 'Query', relevantArticles: { __typename?: 'Articles', articles: Array<{ __typename?: 'Article', id: number, title: string, description: string, tags: Array, createdAt: any, posterImage: string, cardImage: string, blocks: Array<{ __typename?: 'Content', type: string, content: string } | { __typename?: 'Slider', type: string, images: Array<{ __typename?: 'Image', img: string, caption?: string | null }> }> }> } | { __typename?: 'Error', message: string } };
+export type GetRelevantArticlesQuery = { __typename?: 'Query', relevantArticles: { __typename?: 'Articles', articles: Array<{ __typename?: 'Article', id: number, title: string, description: string, tags: Array, createdAt: any, posterImage: string, cardImage: string, blocks: Array<{ __typename?: 'Content', type: string, content: string } | { __typename?: 'Slider', type: string, images: Array<{ __typename?: 'Image', img: string }> }> }> } | { __typename?: 'Error', message: string } };
export const GetRelevantArticlesDocument = gql`
@@ -36,7 +36,6 @@ export const GetRelevantArticlesDocument = gql`
type
images {
img
- caption
}
}
}
diff --git a/src/queries/articles/getRelevantArticles/getRelevantArticles.gql b/src/queries/articles/getRelevantArticles/getRelevantArticles.gql
index 8f07d492..4f99ec19 100644
--- a/src/queries/articles/getRelevantArticles/getRelevantArticles.gql
+++ b/src/queries/articles/getRelevantArticles/getRelevantArticles.gql
@@ -21,7 +21,6 @@ query GetRelevantArticles($tags: [String!]!, $currentArticleId: Int!) {
type
images {
img
- caption
}
}
}
diff --git a/src/types/IArticle.ts b/src/types/IArticle.ts
index 74b0ded8..8c1b3a12 100644
--- a/src/types/IArticle.ts
+++ b/src/types/IArticle.ts
@@ -5,7 +5,6 @@ export interface IContent {
export interface IImage {
img: string;
- caption?: string | null;
}
export interface ISlider {
diff --git a/tailwind.config.ts b/tailwind.config.ts
index 7d6058e5..7746a624 100644
--- a/tailwind.config.ts
+++ b/tailwind.config.ts
@@ -38,6 +38,17 @@ const config: Config = {
},
},
},
- plugins: [require('@tailwindcss/typography'),],
+ plugins: [
+ // function ({ addBase }: { addBase: any }) {
+ // const preflightStyles = postcss.parse(
+ // fs.readFileSync(path.join(__dirname, './src/app/globals.css'), 'utf8'),
+ // );
+ // preflightStyles.walkRules(rule => {
+ // rule.selector = '.tailwind-preflight ' + rule.selector;
+ // });
+ // addBase(preflightStyles.nodes);
+ // },
+ ],
};
+
export default config;
diff --git a/yarn.lock b/yarn.lock
index f25972d3..eca7d1c5 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -1286,16 +1286,6 @@
"@swc/counter" "^0.1.3"
tslib "^2.4.0"
-"@tailwindcss/typography@^0.5.15":
- version "0.5.15"
- resolved "https://registry.yarnpkg.com/@tailwindcss/typography/-/typography-0.5.15.tgz#007ab9870c86082a1c76e5b3feda9392c7c8d648"
- integrity sha512-AqhlCXl+8grUz8uqExv5OTtgpjuVIwFTSXTrh8y9/pw6q2ek7fJ+Y8ZEVw7EB2DCcuCOtEjf9w3+J3rzts01uA==
- dependencies:
- lodash.castarray "^4.4.0"
- lodash.isplainobject "^4.0.6"
- lodash.merge "^4.6.2"
- postcss-selector-parser "6.0.10"
-
"@tinymce/tinymce-react@^5.1.1":
version "5.1.1"
resolved "https://registry.yarnpkg.com/@tinymce/tinymce-react/-/tinymce-react-5.1.1.tgz#3b8555ceaccfa6bb8bb03c3b0c8baaccde138bde"
@@ -3909,21 +3899,11 @@ locate-path@^6.0.0:
dependencies:
p-locate "^5.0.0"
-lodash.castarray@^4.4.0:
- version "4.4.0"
- resolved "https://registry.yarnpkg.com/lodash.castarray/-/lodash.castarray-4.4.0.tgz#c02513515e309daddd4c24c60cfddcf5976d9115"
- integrity sha512-aVx8ztPv7/2ULbArGJ2Y42bG1mEQ5mGjpdvrbJcJFU3TbYybe+QlLS4pst9zV52ymy2in1KpFPiZnAOATxD4+Q==
-
lodash.debounce@^4.0.8:
version "4.0.8"
resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af"
integrity sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==
-lodash.isplainobject@^4.0.6:
- version "4.0.6"
- resolved "https://registry.yarnpkg.com/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz#7c526a52d89b45c45cc690b88163be0497f550cb"
- integrity sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==
-
lodash.merge@^4.6.2:
version "4.6.2"
resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a"
@@ -4489,14 +4469,6 @@ postcss-nested@^6.0.1:
dependencies:
postcss-selector-parser "^6.0.11"
-postcss-selector-parser@6.0.10:
- version "6.0.10"
- resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz#79b61e2c0d1bfc2602d549e11d0876256f8df88d"
- integrity sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==
- dependencies:
- cssesc "^3.0.0"
- util-deprecate "^1.0.2"
-
postcss-selector-parser@^6.0.11:
version "6.1.1"
resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.1.1.tgz#5be94b277b8955904476a2400260002ce6c56e38"