diff --git a/.idea/workspace.xml b/.idea/workspace.xml
index 2d80e89..604ad20 100644
--- a/.idea/workspace.xml
+++ b/.idea/workspace.xml
@@ -4,25 +4,38 @@
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
+
+
+
+
+
-
+
@@ -138,7 +151,7 @@
-
+
@@ -204,8 +217,8 @@
-
+
@@ -260,15 +273,7 @@
-
-
-
-
- 1719277679968
-
-
-
- 1719277679969
+
@@ -654,7 +659,15 @@
1720913810733
-
+
+
+ 1720914492812
+
+
+
+ 1720914492812
+
+
@@ -698,7 +711,6 @@
-
@@ -723,7 +735,8 @@
-
+
+
diff --git a/src/pages/list/duplicate/duplicate.service.test.ts b/src/pages/list/duplicate/duplicate.service.test.ts
index 3e2e69f..1968b40 100644
--- a/src/pages/list/duplicate/duplicate.service.test.ts
+++ b/src/pages/list/duplicate/duplicate.service.test.ts
@@ -1,4 +1,4 @@
-import { expect, describe, it } from 'vitest';
+import { describe, expect, it } from 'vitest';
import { duplicateList } from './service';
describe('duplicateList function', () => {
diff --git a/src/pages/list/find-most-popular/find-most-popular.service.test.ts b/src/pages/list/find-most-popular/find-most-popular.service.test.ts
index b5e0248..17101d4 100644
--- a/src/pages/list/find-most-popular/find-most-popular.service.test.ts
+++ b/src/pages/list/find-most-popular/find-most-popular.service.test.ts
@@ -1,10 +1,5 @@
-import { expect, describe, it } from 'vitest';
-import {
- TopItemsList,
- SplitOperatorType,
- SortingMethod,
- DisplayFormat
-} from './service';
+import { describe, expect, it } from 'vitest';
+import { TopItemsList } from './service';
describe('TopItemsList function', () => {
it('should handle sorting alphabetically ignoring case', () => {
diff --git a/src/pages/list/find-most-popular/index.tsx b/src/pages/list/find-most-popular/index.tsx
index bce79c2..7c84847 100644
--- a/src/pages/list/find-most-popular/index.tsx
+++ b/src/pages/list/find-most-popular/index.tsx
@@ -2,7 +2,6 @@ import { Box } from '@mui/material';
import React, { useState } from 'react';
import ToolTextInput from '../../../components/input/ToolTextInput';
import ToolTextResult from '../../../components/result/ToolTextResult';
-import * as Yup from 'yup';
import ToolOptions from '../../../components/options/ToolOptions';
import {
DisplayFormat,
diff --git a/src/pages/list/find-unique/find-unique.service.test.ts b/src/pages/list/find-unique/find-unique.service.test.ts
index 769335f..05db2cf 100644
--- a/src/pages/list/find-unique/find-unique.service.test.ts
+++ b/src/pages/list/find-unique/find-unique.service.test.ts
@@ -1,4 +1,4 @@
-import { expect, describe, it } from 'vitest';
+import { describe, expect } from 'vitest';
import { findUniqueCompute } from './service';
diff --git a/src/pages/list/find-unique/index.tsx b/src/pages/list/find-unique/index.tsx
index be70fe6..c5a65dd 100644
--- a/src/pages/list/find-unique/index.tsx
+++ b/src/pages/list/find-unique/index.tsx
@@ -2,7 +2,6 @@ import { Box } from '@mui/material';
import React, { useState } from 'react';
import ToolTextInput from '../../../components/input/ToolTextInput';
import ToolTextResult from '../../../components/result/ToolTextResult';
-import * as Yup from 'yup';
import ToolOptions from '../../../components/options/ToolOptions';
import { findUniqueCompute, SplitOperatorType } from './service';
import ToolInputAndResult from '../../../components/ToolInputAndResult';
diff --git a/src/pages/list/group/group.service.test.ts b/src/pages/list/group/group.service.test.ts
index ae8cd5c..5eed8d0 100644
--- a/src/pages/list/group/group.service.test.ts
+++ b/src/pages/list/group/group.service.test.ts
@@ -1,4 +1,4 @@
-import { expect, describe, it } from 'vitest';
+import { describe, expect, it } from 'vitest';
import { groupList, SplitOperatorType } from './service';
diff --git a/src/pages/list/group/index.tsx b/src/pages/list/group/index.tsx
index 2da4e07..b64875f 100644
--- a/src/pages/list/group/index.tsx
+++ b/src/pages/list/group/index.tsx
@@ -2,7 +2,6 @@ import { Box } from '@mui/material';
import React, { useState } from 'react';
import ToolTextInput from '../../../components/input/ToolTextInput';
import ToolTextResult from '../../../components/result/ToolTextResult';
-import * as Yup from 'yup';
import ToolOptions from '../../../components/options/ToolOptions';
import { groupList, SplitOperatorType } from './service';
import ToolInputAndResult from '../../../components/ToolInputAndResult';
diff --git a/src/pages/list/index.ts b/src/pages/list/index.ts
index 21fa55b..d66d283 100644
--- a/src/pages/list/index.ts
+++ b/src/pages/list/index.ts
@@ -20,5 +20,6 @@ export const listTools = [
listWrap,
listRotate,
listShuffle,
- listTruncate
+ listTruncate,
+ listDuplicate
];
diff --git a/src/pages/list/reverse/index.tsx b/src/pages/list/reverse/index.tsx
index ac6d16c..7a0dcd4 100644
--- a/src/pages/list/reverse/index.tsx
+++ b/src/pages/list/reverse/index.tsx
@@ -2,7 +2,6 @@ import { Box } from '@mui/material';
import React, { useState } from 'react';
import ToolTextInput from '../../../components/input/ToolTextInput';
import ToolTextResult from '../../../components/result/ToolTextResult';
-import * as Yup from 'yup';
import ToolOptions from '../../../components/options/ToolOptions';
import { reverseList, SplitOperatorType } from './service';
import ToolInputAndResult from '../../../components/ToolInputAndResult';
diff --git a/src/pages/list/reverse/reverse.service.test.ts b/src/pages/list/reverse/reverse.service.test.ts
index 3f7bc2b..e206300 100644
--- a/src/pages/list/reverse/reverse.service.test.ts
+++ b/src/pages/list/reverse/reverse.service.test.ts
@@ -1,4 +1,4 @@
-import { expect, describe, it } from 'vitest';
+import { describe, expect } from 'vitest';
import { reverseList } from './service';
describe('reverseList Function', () => {
diff --git a/src/pages/list/rotate/index.tsx b/src/pages/list/rotate/index.tsx
index 79284e9..875b7f4 100644
--- a/src/pages/list/rotate/index.tsx
+++ b/src/pages/list/rotate/index.tsx
@@ -2,7 +2,6 @@ import { Box } from '@mui/material';
import React, { useState } from 'react';
import ToolTextInput from '../../../components/input/ToolTextInput';
import ToolTextResult from '../../../components/result/ToolTextResult';
-import * as Yup from 'yup';
import ToolOptions from '../../../components/options/ToolOptions';
import { rotateList, SplitOperatorType } from './service';
import ToolInputAndResult from '../../../components/ToolInputAndResult';
diff --git a/src/pages/list/rotate/rotate.service.test.ts b/src/pages/list/rotate/rotate.service.test.ts
index ba5e543..585b706 100644
--- a/src/pages/list/rotate/rotate.service.test.ts
+++ b/src/pages/list/rotate/rotate.service.test.ts
@@ -1,5 +1,5 @@
-import { expect, describe, it } from 'vitest';
-import { SplitOperatorType, rotateList } from './service';
+import { describe, expect, it } from 'vitest';
+import { rotateList, SplitOperatorType } from './service';
describe('rotate function', () => {
it('should rotate right side if right is set to true', () => {
diff --git a/src/pages/list/rotate/service.ts b/src/pages/list/rotate/service.ts
index 65d183b..b0a8ea2 100644
--- a/src/pages/list/rotate/service.ts
+++ b/src/pages/list/rotate/service.ts
@@ -1,4 +1,3 @@
-import { isNumber } from 'utils/string';
export type SplitOperatorType = 'symbol' | 'regex';
function rotateArray(array: string[], step: number, right: boolean): string[] {
diff --git a/src/pages/list/shuffle/index.tsx b/src/pages/list/shuffle/index.tsx
index dc65ab2..9cc7007 100644
--- a/src/pages/list/shuffle/index.tsx
+++ b/src/pages/list/shuffle/index.tsx
@@ -2,13 +2,11 @@ import { Box } from '@mui/material';
import React, { useState } from 'react';
import ToolTextInput from '../../../components/input/ToolTextInput';
import ToolTextResult from '../../../components/result/ToolTextResult';
-import * as Yup from 'yup';
import ToolOptions from '../../../components/options/ToolOptions';
import { shuffleList, SplitOperatorType } from './service';
import ToolInputAndResult from '../../../components/ToolInputAndResult';
import SimpleRadio from '../../../components/options/SimpleRadio';
import TextFieldWithDesc from '../../../components/options/TextFieldWithDesc';
-import { formatNumber } from '../../../utils/number';
import { isNumber } from '../../../utils/string';
const initialValues = {
diff --git a/src/pages/list/shuffle/shuffle.service.test.ts b/src/pages/list/shuffle/shuffle.service.test.ts
index 58808c9..6b09828 100644
--- a/src/pages/list/shuffle/shuffle.service.test.ts
+++ b/src/pages/list/shuffle/shuffle.service.test.ts
@@ -1,4 +1,4 @@
-import { expect, describe, it } from 'vitest';
+import { describe, expect, it } from 'vitest';
import { shuffleList, SplitOperatorType } from './service';
describe('shuffle function', () => {
diff --git a/src/pages/list/sort/index.tsx b/src/pages/list/sort/index.tsx
index e752cb6..8d18237 100644
--- a/src/pages/list/sort/index.tsx
+++ b/src/pages/list/sort/index.tsx
@@ -2,7 +2,6 @@ import { Box } from '@mui/material';
import React, { useState } from 'react';
import ToolTextInput from '../../../components/input/ToolTextInput';
import ToolTextResult from '../../../components/result/ToolTextResult';
-import * as Yup from 'yup';
import ToolOptions from '../../../components/options/ToolOptions';
import { Sort, SortingMethod, SplitOperatorType } from './service';
import ToolInputAndResult from '../../../components/ToolInputAndResult';
diff --git a/src/pages/list/sort/sort.service.test.ts b/src/pages/list/sort/sort.service.test.ts
index de9c8df..3becba4 100644
--- a/src/pages/list/sort/sort.service.test.ts
+++ b/src/pages/list/sort/sort.service.test.ts
@@ -1,12 +1,12 @@
// Import necessary modules and functions
-import { describe, it, expect } from 'vitest';
+import { describe, expect, it } from 'vitest';
import {
alphabeticSort,
lengthSort,
numericSort,
Sort,
- SplitOperatorType,
- SortingMethod
+ SortingMethod,
+ SplitOperatorType
} from './service';
// Define test cases for the numericSort function
diff --git a/src/pages/list/truncate/truncate.service.test.ts b/src/pages/list/truncate/truncate.service.test.ts
index 79d1763..8e6a9fb 100644
--- a/src/pages/list/truncate/truncate.service.test.ts
+++ b/src/pages/list/truncate/truncate.service.test.ts
@@ -1,4 +1,4 @@
-import { expect, describe, it } from 'vitest';
+import { describe, expect, it } from 'vitest';
import { SplitOperatorType, truncateList } from './service';
diff --git a/src/pages/list/unwrap/unwrap.service.test.ts b/src/pages/list/unwrap/unwrap.service.test.ts
index 98ac30b..6812fa6 100644
--- a/src/pages/list/unwrap/unwrap.service.test.ts
+++ b/src/pages/list/unwrap/unwrap.service.test.ts
@@ -1,4 +1,4 @@
-import { expect, describe, it } from 'vitest';
+import { describe, expect, it } from 'vitest';
import { unwrapList } from './service';
describe('unwrapList function', () => {
diff --git a/src/pages/list/wrap/wrap.service.test.ts b/src/pages/list/wrap/wrap.service.test.ts
index ef8c0e4..dad9f61 100644
--- a/src/pages/list/wrap/wrap.service.test.ts
+++ b/src/pages/list/wrap/wrap.service.test.ts
@@ -1,4 +1,4 @@
-import { expect, describe, it } from 'vitest';
+import { describe, expect, it } from 'vitest';
import { SplitOperatorType, wrapList } from './service';
describe('wrap function', () => {
diff --git a/src/pages/number/generate/index.tsx b/src/pages/number/generate/index.tsx
index 402c272..596008e 100644
--- a/src/pages/number/generate/index.tsx
+++ b/src/pages/number/generate/index.tsx
@@ -1,7 +1,6 @@
import { Box } from '@mui/material';
import React, { useState } from 'react';
import ToolTextResult from '../../../components/result/ToolTextResult';
-import * as Yup from 'yup';
import ToolOptions from '../../../components/options/ToolOptions';
import { listOfIntegers } from './service';
import ToolInputAndResult from '../../../components/ToolInputAndResult';
diff --git a/src/pages/number/sum/index.tsx b/src/pages/number/sum/index.tsx
index e805ae7..2f2230d 100644
--- a/src/pages/number/sum/index.tsx
+++ b/src/pages/number/sum/index.tsx
@@ -2,7 +2,6 @@ import { Box } from '@mui/material';
import React, { useState } from 'react';
import ToolTextInput from '../../../components/input/ToolTextInput';
import ToolTextResult from '../../../components/result/ToolTextResult';
-import * as Yup from 'yup';
import ToolOptions from '../../../components/options/ToolOptions';
import { compute, NumberExtractionType } from './service';
import RadioWithTextField from '../../../components/options/RadioWithTextField';
diff --git a/src/pages/string/create-palindrome/create-palindrome.service.test.ts b/src/pages/string/create-palindrome/create-palindrome.service.test.ts
index f223eff..3d579d1 100644
--- a/src/pages/string/create-palindrome/create-palindrome.service.test.ts
+++ b/src/pages/string/create-palindrome/create-palindrome.service.test.ts
@@ -1,5 +1,5 @@
-import { expect, describe, it } from 'vitest';
-import { createPalindromeList, createPalindrome } from './service';
+import { describe, expect } from 'vitest';
+import { createPalindrome, createPalindromeList } from './service';
describe('createPalindrome', () => {
test('should create palindrome by reversing the entire string', () => {
diff --git a/src/pages/string/extract-substring/extract-substring.service.test.ts b/src/pages/string/extract-substring/extract-substring.service.test.ts
index 053da4d..74f4dc8 100644
--- a/src/pages/string/extract-substring/extract-substring.service.test.ts
+++ b/src/pages/string/extract-substring/extract-substring.service.test.ts
@@ -1,4 +1,4 @@
-import { expect, describe, it } from 'vitest';
+import { describe, expect, it } from 'vitest';
import { extractSubstring } from './service';
describe('extractSubstring', () => {
diff --git a/src/pages/string/palindrome/palindrome.service.test.ts b/src/pages/string/palindrome/palindrome.service.test.ts
index 16ebf22..868a9d7 100644
--- a/src/pages/string/palindrome/palindrome.service.test.ts
+++ b/src/pages/string/palindrome/palindrome.service.test.ts
@@ -1,4 +1,4 @@
-import { expect, describe, it } from 'vitest';
+import { describe, expect } from 'vitest';
import { palindromeList } from './service';
describe('palindromeList', () => {
diff --git a/src/pages/string/randomize-case/randomize-case.service.test.ts b/src/pages/string/randomize-case/randomize-case.service.test.ts
index 35b7469..582dd80 100644
--- a/src/pages/string/randomize-case/randomize-case.service.test.ts
+++ b/src/pages/string/randomize-case/randomize-case.service.test.ts
@@ -1,4 +1,4 @@
-import { expect, describe, it } from 'vitest';
+import { describe, expect, it } from 'vitest';
import { randomizeCase } from './service';
describe('randomizeCase', () => {
diff --git a/src/pages/string/reverse/reverse.service.test.ts b/src/pages/string/reverse/reverse.service.test.ts
index c8e8354..c602f56 100644
--- a/src/pages/string/reverse/reverse.service.test.ts
+++ b/src/pages/string/reverse/reverse.service.test.ts
@@ -1,4 +1,4 @@
-import { expect, describe, it } from 'vitest';
+import { describe, expect, it } from 'vitest';
import { stringReverser } from './service';
describe('stringReverser', () => {
diff --git a/src/pages/string/split/index.tsx b/src/pages/string/split/index.tsx
index 5fb23bf..2b0951a 100644
--- a/src/pages/string/split/index.tsx
+++ b/src/pages/string/split/index.tsx
@@ -2,7 +2,6 @@ import { Box } from '@mui/material';
import React, { useState } from 'react';
import ToolTextInput from '../../../components/input/ToolTextInput';
import ToolTextResult from '../../../components/result/ToolTextResult';
-import * as Yup from 'yup';
import ToolOptions from '../../../components/options/ToolOptions';
import { compute, SplitOperatorType } from './service';
import RadioWithTextField from '../../../components/options/RadioWithTextField';
diff --git a/src/pages/string/to-morse/index.tsx b/src/pages/string/to-morse/index.tsx
index 27098ad..44c9786 100644
--- a/src/pages/string/to-morse/index.tsx
+++ b/src/pages/string/to-morse/index.tsx
@@ -2,7 +2,6 @@ import { Box } from '@mui/material';
import React, { useState } from 'react';
import ToolTextInput from '../../../components/input/ToolTextInput';
import ToolTextResult from '../../../components/result/ToolTextResult';
-import * as Yup from 'yup';
import ToolOptions from '../../../components/options/ToolOptions';
import { compute } from './service';
import TextFieldWithDesc from '../../../components/options/TextFieldWithDesc';
diff --git a/src/pages/string/uppercase/uppercase.service.test.ts b/src/pages/string/uppercase/uppercase.service.test.ts
index b30c1b2..9b9979f 100644
--- a/src/pages/string/uppercase/uppercase.service.test.ts
+++ b/src/pages/string/uppercase/uppercase.service.test.ts
@@ -1,4 +1,4 @@
-import { expect, describe, it } from 'vitest';
+import { describe, expect, it } from 'vitest';
import { UppercaseInput } from './service';
describe('UppercaseInput', () => {