Skip to content

Commit 2444337

Browse files
committed
feat: prevent deleting of a post if it's the only one left
fix #86
1 parent d9f7015 commit 2444337

File tree

5 files changed

+31
-26
lines changed

5 files changed

+31
-26
lines changed

package-lock.json

+2-4
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
"fix": "eslint --ext .ts --ext .tsx --fix ./src"
1313
},
1414
"dependencies": {
15+
"@iconify/react": "^4.1.1",
1516
"@types/dom-to-image": "^2.6.4",
1617
"@uiw/react-md-editor": "^3.23.5",
1718
"axios": "^1.5.0",
@@ -30,7 +31,6 @@
3031
"threads-api": "^1.6.3"
3132
},
3233
"devDependencies": {
33-
"@iconify/react": "^4.1.1",
3434
"@types/node": "^18.11.18",
3535
"@types/react": "^18.0.26",
3636
"@typescript-eslint/eslint-plugin": "^6.5.0",

src/Threads/Themes/helper.ts

+1
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,7 @@ export const deleteContent = (
5858
contentState: ContentStateType,
5959
dispatchContent: any
6060
) => {
61+
if (contentState.postContent.length < 2) return;
6162
const newArray = [...contentState.postContent];
6263

6364
newArray.splice(index, 1);

src/Threads/Themes/theme/NoNumberDesign.tsx

+9-7
Original file line numberDiff line numberDiff line change
@@ -83,13 +83,15 @@ export function DefaultNoNumber({ index }: NoNumberProps) {
8383
</div>
8484
</div>
8585

86-
<span className='absolute -right-3 top-0 z-10'>
87-
<Icon
88-
icon='ep:remove-filled'
89-
className='h-8 w-8 text-secondary cursor-pointer'
90-
onClick={() => deleteContent(index, contentState, dispatchContent)}
91-
/>
92-
</span>
86+
{contentState.postContent.length >= 2 && (
87+
<span className='absolute -right-3 top-0 z-10'>
88+
<Icon
89+
icon='ep:remove-filled'
90+
className='h-8 w-8 text-secondary cursor-pointer'
91+
onClick={() => deleteContent(index, contentState, dispatchContent)}
92+
/>
93+
</span>
94+
)}
9395
</div>
9496
);
9597
}

src/Threads/Themes/theme/NumberDesign.tsx

+18-14
Original file line numberDiff line numberDiff line change
@@ -107,13 +107,15 @@ export function DefaultNumber({ index }: NumberProps) {
107107
</div>
108108
)}
109109
</div>
110-
<span className='absolute -right-3 top-0 z-10'>
111-
<Icon
112-
icon='ep:remove-filled'
113-
className='h-8 w-8 text-secondary cursor-pointer'
114-
onClick={() => deleteContent(index, contentState, dispatchContent)}
115-
/>
116-
</span>
110+
{contentState.postContent.length >= 2 && (
111+
<span className='absolute -right-3 top-0 z-10'>
112+
<Icon
113+
icon='ep:remove-filled'
114+
className='h-8 w-8 text-secondary cursor-pointer'
115+
onClick={() => deleteContent(index, contentState, dispatchContent)}
116+
/>
117+
</span>
118+
)}
117119
</div>
118120
);
119121
}
@@ -186,13 +188,15 @@ export function NumberOne({ index }: NumberProps) {
186188
</p>
187189
</div>
188190
</div>
189-
<span className='absolute -right-3 top-0 z-10'>
190-
<Icon
191-
icon='ep:remove-filled'
192-
className='h-8 w-8 text-secondary cursor-pointer'
193-
onClick={() => deleteContent(index, contentState, dispatchContent)}
194-
/>
195-
</span>
191+
{contentState.postContent.length >= 2 && (
192+
<span className='absolute -right-3 top-0 z-10'>
193+
<Icon
194+
icon='ep:remove-filled'
195+
className='h-8 w-8 text-secondary cursor-pointer'
196+
onClick={() => deleteContent(index, contentState, dispatchContent)}
197+
/>
198+
</span>
199+
)}
196200
</div>
197201
);
198202
}

0 commit comments

Comments
 (0)