diff --git a/package-lock.json b/package-lock.json
index 33c2a51..da6f44a 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -12,6 +12,7 @@
"@headlessui/vue": "^1.7.16",
"@heroicons/vue": "^2.0.18",
"@lottiefiles/lottie-player": "^2.0.2",
+ "@phosphor-icons/vue": "^2.1.6",
"@types/qs": "^6.9.9",
"@types/uuid": "^9.0.2",
"devextreme": "23.1.5",
@@ -500,9 +501,9 @@
}
},
"node_modules/@babel/traverse": {
- "version": "7.23.0",
- "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.0.tgz",
- "integrity": "sha512-t/QaEvyIoIkwzpiZ7aoSKK8kObQYeF7T2v+dazAYCb8SXtp58zEVkWW7zAnju8FNKNdr4ScAOEDmMItbyOmEYw==",
+ "version": "7.23.2",
+ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.2.tgz",
+ "integrity": "sha512-azpe59SQ48qG6nu2CzcMLbxUudtN+dOM9kDbUqGq3HXUJRlo7i8fvPoxQUzYgLZ4cMVmuZgm8vvBpNeRhd6XSw==",
"dev": true,
"dependencies": {
"@babel/code-frame": "^7.22.13",
@@ -1191,6 +1192,17 @@
"integrity": "sha512-XuySG1E38YScSJoMlqovLru4KTUNSjgVTIjyh7qMX6aNN5HY5Ct5LhRJdxO79JtTzKfzV/bnWpz+zquYrISsvw==",
"dev": true
},
+ "node_modules/@phosphor-icons/vue": {
+ "version": "2.1.6",
+ "resolved": "https://registry.npmjs.org/@phosphor-icons/vue/-/vue-2.1.6.tgz",
+ "integrity": "sha512-j4iVvNT4JbDR2udIVfakKZHd14i3jCvO4b24OC0W/1rasftU8qVg1Tnb3QDwAT0teNU+UxvaM+kCWxfGHC2dUg==",
+ "engines": {
+ "node": ">=14"
+ },
+ "peerDependencies": {
+ "vue": ">=3.2.39"
+ }
+ },
"node_modules/@pkgr/utils": {
"version": "2.4.2",
"resolved": "https://registry.npmjs.org/@pkgr/utils/-/utils-2.4.2.tgz",
@@ -9492,9 +9504,9 @@
}
},
"@babel/traverse": {
- "version": "7.23.0",
- "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.0.tgz",
- "integrity": "sha512-t/QaEvyIoIkwzpiZ7aoSKK8kObQYeF7T2v+dazAYCb8SXtp58zEVkWW7zAnju8FNKNdr4ScAOEDmMItbyOmEYw==",
+ "version": "7.23.2",
+ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.2.tgz",
+ "integrity": "sha512-azpe59SQ48qG6nu2CzcMLbxUudtN+dOM9kDbUqGq3HXUJRlo7i8fvPoxQUzYgLZ4cMVmuZgm8vvBpNeRhd6XSw==",
"dev": true,
"requires": {
"@babel/code-frame": "^7.22.13",
@@ -9917,6 +9929,12 @@
"integrity": "sha512-XuySG1E38YScSJoMlqovLru4KTUNSjgVTIjyh7qMX6aNN5HY5Ct5LhRJdxO79JtTzKfzV/bnWpz+zquYrISsvw==",
"dev": true
},
+ "@phosphor-icons/vue": {
+ "version": "2.1.6",
+ "resolved": "https://registry.npmjs.org/@phosphor-icons/vue/-/vue-2.1.6.tgz",
+ "integrity": "sha512-j4iVvNT4JbDR2udIVfakKZHd14i3jCvO4b24OC0W/1rasftU8qVg1Tnb3QDwAT0teNU+UxvaM+kCWxfGHC2dUg==",
+ "requires": {}
+ },
"@pkgr/utils": {
"version": "2.4.2",
"resolved": "https://registry.npmjs.org/@pkgr/utils/-/utils-2.4.2.tgz",
diff --git a/package.json b/package.json
index 6076041..1c9a2ab 100644
--- a/package.json
+++ b/package.json
@@ -18,6 +18,7 @@
"@headlessui/vue": "^1.7.16",
"@heroicons/vue": "^2.0.18",
"@lottiefiles/lottie-player": "^2.0.2",
+ "@phosphor-icons/vue": "^2.1.6",
"@types/qs": "^6.9.9",
"@types/uuid": "^9.0.2",
"devextreme": "23.1.5",
diff --git a/src/assets/css/style.css b/src/assets/css/style.css
index 6ddbd1a..d2c872c 100644
--- a/src/assets/css/style.css
+++ b/src/assets/css/style.css
@@ -705,6 +705,40 @@ select {
--tw-backdrop-sepia: ;
}
+.container {
+ width: 100%;
+}
+
+@media (min-width: 640px) {
+ .container {
+ max-width: 640px;
+ }
+}
+
+@media (min-width: 768px) {
+ .container {
+ max-width: 768px;
+ }
+}
+
+@media (min-width: 1024px) {
+ .container {
+ max-width: 1024px;
+ }
+}
+
+@media (min-width: 1280px) {
+ .container {
+ max-width: 1280px;
+ }
+}
+
+@media (min-width: 1536px) {
+ .container {
+ max-width: 1536px;
+ }
+}
+
/* NavBar */
.menu-item {
@@ -925,6 +959,10 @@ select {
top: 50%;
}
+.top-16 {
+ top: 4rem;
+}
+
.top-3 {
top: 0.75rem;
}
@@ -1026,6 +1064,10 @@ select {
margin-bottom: 2rem;
}
+.me-1 {
+ margin-inline-end: 0.25rem;
+}
+
.ml-1 {
margin-left: 0.25rem;
}
@@ -1278,6 +1320,10 @@ select {
width: 1.5rem;
}
+.w-72 {
+ width: 18rem;
+}
+
.w-8 {
width: 2rem;
}
@@ -1414,6 +1460,16 @@ select {
transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
+@keyframes spin {
+ to {
+ transform: rotate(360deg);
+ }
+}
+
+.animate-spin {
+ animation: spin 1s linear infinite;
+}
+
.cursor-default {
cursor: default;
}
@@ -1485,6 +1541,14 @@ select {
gap: 0.25rem;
}
+.gap-2 {
+ gap: 0.5rem;
+}
+
+.gap-3 {
+ gap: 0.75rem;
+}
+
.gap-4 {
gap: 1rem;
}
@@ -1581,6 +1645,10 @@ select {
border-radius: 0.25rem;
}
+.rounded-2xl {
+ border-radius: 1rem;
+}
+
.rounded-full {
border-radius: 9999px;
}
@@ -1682,6 +1750,11 @@ select {
border-color: rgb(209 213 219 / var(--tw-border-opacity));
}
+.border-primary-500 {
+ --tw-border-opacity: 1;
+ border-color: rgb(3 91 113 / var(--tw-border-opacity));
+}
+
.border-transparent {
border-color: transparent;
}
@@ -1696,6 +1769,11 @@ select {
background-color: rgb(243 244 246 / var(--tw-bg-opacity));
}
+.bg-gray-200 {
+ --tw-bg-opacity: 1;
+ background-color: rgb(229 231 235 / var(--tw-bg-opacity));
+}
+
.bg-gray-300 {
--tw-bg-opacity: 1;
background-color: rgb(209 213 219 / var(--tw-bg-opacity));
@@ -1825,6 +1903,14 @@ select {
--tw-bg-opacity: 0.8;
}
+.bg-none {
+ background-image: none;
+}
+
+.fill-gray-400 {
+ fill: #9ca3af;
+}
+
.bg-opacity-100 {
--tw-bg-opacity: 1;
}
@@ -1878,6 +1964,10 @@ select {
padding: 1rem;
}
+.p-5 {
+ padding: 1.25rem;
+}
+
.\!px-2 {
padding-left: 0.5rem !important;
padding-right: 0.5rem !important;
@@ -2359,6 +2449,10 @@ select {
opacity: 1;
}
+.opacity-25 {
+ opacity: 0.25;
+}
+
.opacity-30 {
opacity: 0.3;
}
@@ -2371,6 +2465,10 @@ select {
opacity: 0.5;
}
+.opacity-75 {
+ opacity: 0.75;
+}
+
.shadow {
--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);
@@ -2412,6 +2510,10 @@ select {
--tw-shadow: var(--tw-shadow-colored);
}
+.outline {
+ outline-style: solid;
+}
+
.outline-0 {
outline-width: 0px;
}
@@ -2572,6 +2674,11 @@ select {
color: rgb(75 85 99 / var(--tw-text-opacity));
}
+.hover\:border-primary-500:hover {
+ --tw-border-opacity: 1;
+ border-color: rgb(3 91 113 / var(--tw-border-opacity));
+}
+
.hover\:bg-gray-200:hover {
--tw-bg-opacity: 1;
background-color: rgb(229 231 235 / var(--tw-bg-opacity));
@@ -2597,6 +2704,16 @@ select {
background-color: rgb(205 222 227 / var(--tw-bg-opacity));
}
+.hover\:bg-primary-200:hover {
+ --tw-bg-opacity: 1;
+ background-color: rgb(154 189 198 / var(--tw-bg-opacity));
+}
+
+.hover\:bg-primary-600:hover {
+ --tw-bg-opacity: 1;
+ background-color: rgb(2 73 90 / var(--tw-bg-opacity));
+}
+
.hover\:bg-red-500:hover {
--tw-bg-opacity: 1;
background-color: rgb(255 0 0 / var(--tw-bg-opacity));
@@ -2768,11 +2885,38 @@ select {
cursor: not-allowed;
}
+.disabled\:border-primary-300:disabled {
+ --tw-border-opacity: 1;
+ border-color: rgb(104 157 170 / var(--tw-border-opacity));
+}
+
+.disabled\:bg-primary-200:disabled {
+ --tw-bg-opacity: 1;
+ background-color: rgb(154 189 198 / var(--tw-bg-opacity));
+}
+
+.disabled\:bg-primary-300:disabled {
+ --tw-bg-opacity: 1;
+ background-color: rgb(104 157 170 / var(--tw-bg-opacity));
+}
+
.disabled\:bg-primary-400:disabled {
--tw-bg-opacity: 1;
background-color: rgb(53 124 141 / var(--tw-bg-opacity));
}
+.disabled\:text-primary-300:disabled {
+ --tw-text-opacity: 1;
+ color: rgb(104 157 170 / var(--tw-text-opacity));
+}
+
+.disabled\:text-primary-400:disabled {
+ --tw-text-opacity: 1;
+ color: rgb(53 124 141 / var(--tw-text-opacity));
+}
+
+.group:hover .group-hover\:fill-gray-500 {
+ fill: #6b7280;
.group:hover .group-hover\:block {
display: block;
}
@@ -3348,6 +3492,10 @@ select {
width: fit-content;
}
+ .lg\:grid-cols-3 {
+ grid-template-columns: repeat(3, minmax(0, 1fr));
+ }
+
.lg\:flex-nowrap {
flex-wrap: nowrap;
}
diff --git a/src/components/Button.vue b/src/components/Button.vue
new file mode 100644
index 0000000..300a4e3
--- /dev/null
+++ b/src/components/Button.vue
@@ -0,0 +1,88 @@
+
+
+
+
+
diff --git a/src/components/Form/Filters.vue b/src/components/Form/Filters.vue
new file mode 100644
index 0000000..c320c86
--- /dev/null
+++ b/src/components/Form/Filters.vue
@@ -0,0 +1,44 @@
+
+
+
+