From 2af6bef8b698ae896afae70102d749341c39de22 Mon Sep 17 00:00:00 2001 From: sajjad isvand Date: Tue, 21 Jul 2026 18:01:12 +0330 Subject: [PATCH 1/2] fix phone input --- .../setting/tabs/account/components/modals/add-phone.modal.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/layouts/setting/tabs/account/components/modals/add-phone.modal.tsx b/src/layouts/setting/tabs/account/components/modals/add-phone.modal.tsx index d53d1645..58415e77 100644 --- a/src/layouts/setting/tabs/account/components/modals/add-phone.modal.tsx +++ b/src/layouts/setting/tabs/account/components/modals/add-phone.modal.tsx @@ -119,7 +119,7 @@ export function AddPhoneModal(prop: AddPhoneProp) { disabled={isPending || step === 'enter-otp'} className="w-full py-2.5! md:py-3.5!" autoComplete="on" - direction="ltr" + direction={phone ? 'auto' : 'rtl'} /> From 6b8cde03ecccb6bad79b2748417872a99cc6e7a3 Mon Sep 17 00:00:00 2001 From: sajjad isvand Date: Tue, 21 Jul 2026 18:51:02 +0330 Subject: [PATCH 2/2] refactor(bookmarks): replace TabNavigation with ItemSelector for type selection --- src/icons/packs/default.tsx | 6 +++ src/icons/types.ts | 1 + .../components/bookmark-icon.picker.tsx | 2 +- .../components/modal/add-bookmark.modal.tsx | 52 +++++++++---------- src/layouts/bookmark/components/shared.tsx | 51 +++++++++++------- 5 files changed, 63 insertions(+), 49 deletions(-) diff --git a/src/icons/packs/default.tsx b/src/icons/packs/default.tsx index 7e4df0c1..e4ec0c3d 100644 --- a/src/icons/packs/default.tsx +++ b/src/icons/packs/default.tsx @@ -73,6 +73,7 @@ import { TbNotebook, TbArrowsRightLeft, TbCloudUpload, + TbBookmark, } from 'react-icons/tb' import { MdDragIndicator, @@ -89,6 +90,7 @@ import { MdSearch, } from 'react-icons/md' import { + HiBookmark, HiHome, HiOutlineBookmark, HiOutlineCurrencyBangladeshi, @@ -250,4 +252,8 @@ export const defaultIcons = { advanced_ui: LuLayers, simple_ui: LuLayoutTemplate, arrowRightLeft: TbArrowsRightLeft, + bookmark: HiBookmark, } satisfies IconMap + + + diff --git a/src/icons/types.ts b/src/icons/types.ts index 2d2a34cf..002f8ad7 100644 --- a/src/icons/types.ts +++ b/src/icons/types.ts @@ -129,4 +129,5 @@ export type IconName = | 'advanced_ui' | 'simple_ui' | 'arrowRightLeft' + | 'bookmark' export type IconMap = Record diff --git a/src/layouts/bookmark/components/bookmark-icon.picker.tsx b/src/layouts/bookmark/components/bookmark-icon.picker.tsx index a6b69aac..6e880a77 100644 --- a/src/layouts/bookmark/components/bookmark-icon.picker.tsx +++ b/src/layouts/bookmark/components/bookmark-icon.picker.tsx @@ -71,7 +71,7 @@ export function BookmarkIconPicker({ value, url, onChange }: Props) { }} onDragLeave={() => setIsDragging(false)} onDrop={handleDrop} - className={`relative w-12 h-12 flex items-center justify-center cursor-pointer border-2 rounded-xl transition + className={`relative w-12 h-10 flex items-center justify-center cursor-pointer border-2 rounded-xl transition ${isDragging ? 'border-blue-400' : 'border-base-300'} `} > diff --git a/src/layouts/bookmark/components/modal/add-bookmark.modal.tsx b/src/layouts/bookmark/components/modal/add-bookmark.modal.tsx index a29d5813..5adff506 100644 --- a/src/layouts/bookmark/components/modal/add-bookmark.modal.tsx +++ b/src/layouts/bookmark/components/modal/add-bookmark.modal.tsx @@ -1,4 +1,4 @@ -import { useState } from 'react' +import { useEffect, useState } from 'react' import { Button } from '@/components/button/button' import Modal from '@/components/modal' import { TextInput } from '@/components/text-input' @@ -181,17 +181,7 @@ export function AddBookmarkModal({
-
-
- updateFormData('icon', value)} - value={formData.icon} - url={formData.url} - /> -
+
updateFormData('title', v)} className={ - 'mt-2 w-full px-4 py-3 text-right rounded-lg transition-all duration-200 ' + 'w-full px-4 py-3 text-right rounded-lg transition-all duration-200 ' } /> -
- {type === 'BOOKMARK' && ( - handleUrlChange(v)} - className={ - 'mt-2 w-full px-4 py-3 text-right absolute rounded-lg transition-all duration-300' - } - /> - )} -
+ + updateFormData('icon', value)} + value={formData.icon} + url={formData.url} + /> +
+
{type === 'BOOKMARK' && ( - + handleUrlChange(v)} + className={ + 'mt-2 w-full px-4 py-3 text-right absolute rounded-lg transition-all duration-300' + } + /> )}
+ {type === 'BOOKMARK' && ( + + )} void }) { return ( - - className="w-full! border-none! h-12" - tabMode="simple" - size="medium" - tabs={[ - { - id: 'BOOKMARK', - label: 'بوکمارک', - icon: , - }, - { - id: 'FOLDER', - label: 'پوشه', - icon: , - }, - ]} - activeTab={type} - onTabClick={(tab) => setType(tab)} - /> +
+ setType('BOOKMARK')} + label={ +
+ + بوکمارک +
+ } + className="p-2! h-14!" + description={'ذخیره یک لینک یا وب‌سایت'} + /> + setType('FOLDER')} + label={ +
+ + پوشه +
+ } + className="p-2! h-14!" + description={'دسته‌بندی و مرتب‌سازی بوکمارک‌ها'} + /> +
) }