Skip to content

Feat/image resize dialog - #21

Merged
Rastraponovich merged 6 commits into
devfrom
feat/image-resize-dialog
Jan 12, 2026
Merged

Rastraponovich merged 6 commits into
devfrom
feat/image-resize-dialog

Conversation

@Rastraponovich

@Rastraponovich Rastraponovich commented Jan 12, 2026 •

Copy link
Copy Markdown
Owner

feat: рефакторинг виджета изменения размера изображения и UI компонентов
Основные изменения:

Виджет image-resize-dialog:

  • Добавлена поддержка различных форматов вывода (PNG, WebP, JPEG) с настройкой качества
  • Реализован режим изменения размера по процентам и по конкретным размерам
  • Добавлена функция downloadResizedImage для скачивания измененных изображений
  • Вынесены константы в config.ts (MIME_TYPES, ResizeMode, PERCENT, QUALITY, CANVAS)
  • Улучшена типизация и документация функций
  • Рефакторинг model.ts с использованием новых функций из lib.ts

UI компоненты (рефакторинг структуры):

  • Реорганизована структура компонентов: button, slider, toggle
  • Компоненты перенесены в папки с index.ts для единообразия
  • Добавлены новые UI компоненты: dialog, input (input-number), select

Тесты:

  • Добавлены тесты для lib.ts (46 тестов, все проходят)
  • Добавлены тесты для model.ts
  • Исправлены упавшие тесты для downloadResizedImage
  • Добавлено мокирование зависимостей для стабильности тестов

Другие улучшения:

  • Добавлен dialog-Instance для управления диалогами
  • Улучшена обработка ошибок и граничных случаев

Основные изменения:

Виджет image-resize-dialog:
- Добавлена поддержка различных форматов вывода (PNG, WebP, JPEG) с настройкой качества
- Реализован режим изменения размера по процентам и по конкретным размерам
- Добавлена функция downloadResizedImage для скачивания измененных изображений
- Вынесены константы в config.ts (MIME_TYPES, ResizeMode, PERCENT, QUALITY, CANVAS)
- Улучшена типизация и документация функций
- Рефакторинг model.ts с использованием новых функций из lib.ts

UI компоненты (рефакторинг структуры):
- Реорганизована структура компонентов: button, slider, toggle
- Компоненты перенесены в папки с index.ts для единообразия
- Добавлены новые UI компоненты: dialog, input (input-number), select

Тесты:
- Добавлены тесты для lib.ts (46 тестов, все проходят)
- Добавлены тесты для model.ts
- Исправлены упавшие тесты для downloadResizedImage
- Добавлено мокирование зависимостей для стабильности тестов

Другие улучшения:
- Добавлен dialog-Instance для управления диалогами
- Улучшена обработка ошибок и граничных случаев
Основные изменения:

Виджет image-resize-dialog:
- Добавлена поддержка различных форматов вывода (PNG, WebP, JPEG) с настройкой качества
- Реализован режим изменения размера по процентам и по конкретным размерам
- Добавлена функция downloadResizedImage для скачивания измененных изображений
- Вынесены константы в config.ts (MIME_TYPES, ResizeMode, PERCENT, QUALITY, CANVAS)
- Улучшена типизация и документация функций
- Рефакторинг model.ts с использованием новых функций из lib.ts

UI компоненты (рефакторинг структуры):
- Реорганизована структура компонентов: button, slider, toggle
- Компоненты перенесены в папки с index.ts для единообразия
- Добавлены новые UI компоненты: dialog, input (input-number), select

Тесты:
- Добавлены тесты для lib.ts (46 тестов, все проходят)
- Добавлены тесты для model.ts
- Исправлены упавшие тесты для downloadResizedImage
- Добавлено мокирование зависимостей для стабильности тестов

Другие улучшения:
- Добавлен dialog-Instance для управления диалогами
- Улучшена обработка ошибок и граничных случаев
…eat/image-resize-dialog

# Conflicts:
#	src/shared/ui/index.ts
#	src/shared/ui/slider/view.tsx
#	src/widgets/image-resize-dialog/__tests__/lib.test.ts
#	src/widgets/image-resize-dialog/config.ts
#	src/widgets/image-resize-dialog/lib.ts
#	src/widgets/image-resize-dialog/model.ts
#	src/widgets/image-resize-dialog/ui/button.tsx
#	src/widgets/image-resize-dialog/ui/form.tsx
#	src/widgets/image-resize-dialog/ui/index.ts
#	src/widgets/image-resize-dialog/view.tsx
@Rastraponovich
Rastraponovich merged commit b257f87 into dev Jan 12, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant