Цей проект призначений для конвертації тексту у PDF файл. Він включає в себе функціонал для введення тексту, перегляду PDF попереднього перегляду, збереження історії в локальне сховище IndexDB конверсій та можливість відкриття і закриття бічної панелі зі списком конвертованих файлів на мобільних пристроях. Для стилізації компонентів використовується tailwindcss. В проекті також використовуються alias (@components/* ...
) для більш зручного імпортування модулів.
npm i
npm run start
npm run test
Header.tsx
: Компонент заголовка з кнопкою для відкриття бічної панелі на мобільних пристроях.Sidebar.tsx
: Бічна панель, яка містить список історії конвертацій та кнопку для створення нового PDF файлу.List.tsx
: Компонент списку, який відображає елементи історії.Item.tsx
: Окремий елемент списку історії.MainContent.tsx
: Основний компонент, який містить текстове поле для введення тексту та кнопку для конвертації тексту у PDF та функціонал для конвертації тексту в pdf.TextArea.tsx
: Компонент текстового поля з автоматичним зміною розміру.PreviewPDF.tsx
: Компонент для перегляду PDF файлу.Button.tsx
: Кнопка, що використовується в проекті.
useAutoResizeTextArea.ts
: Хук для автоматичного зміни розміру текстового поля.useIndexDB.ts
: Хук для керування локальним сховищем IndexDB.
api
: Функції для взаємодії з API для конвертації тексту у PDF.helpers
: Додаткові допоміжні функції, такі як конвертація Blob в base64.types
: Типи, використовувані в проекті.
History
: створений для шарингу даних по проекту, щоб запопігти надмірній передачі пропсів