-
+
{{ title }}
diff --git a/frontend/src/components/sidebar/Sidebar.vue b/frontend/src/components/sidebar/Sidebar.vue
index a20dc3fd..14dd7c0d 100644
--- a/frontend/src/components/sidebar/Sidebar.vue
+++ b/frontend/src/components/sidebar/Sidebar.vue
@@ -40,26 +40,20 @@ import {
DropdownMenuItem,
DropdownMenuTrigger
} from '@/components/ui/dropdown-menu'
+import { useStorage } from '@vueuse/core'
import { computed } from 'vue'
import { useUserStore } from '@/stores/user'
-import { useConversationStore } from '@/stores/conversation'
-import ConversationSideBar from '@/components/conversation/sidebar/ConversationSideBar.vue'
const route = useRoute()
defineProps({
- isLoading: Boolean,
- open: Boolean,
- activeItem: { type: Object, default: () => {} },
- activeGroup: { type: Object, default: () => {} },
userTeams: { type: Array, default: () => [] },
userViews: { type: Array, default: () => [] }
})
-const conversationStore = useConversationStore()
const userStore = useUserStore()
-const emit = defineEmits(['createView', 'editView', 'deleteView', 'update:open'])
+const emit = defineEmits(['createView', 'editView', 'deleteView'])
const openCreateViewDialog = () => {
emit('createView')
@@ -153,7 +147,6 @@ const adminNavItems = [
},
{
title: 'Conversations',
- description: 'Manage tags, macros, and statuses.',
children: [
{
title: 'Tags',
@@ -174,7 +167,6 @@ const adminNavItems = [
},
{
title: 'Inboxes',
- description: 'Manage inboxes.',
children: [
{
title: 'Inboxes',
@@ -185,7 +177,6 @@ const adminNavItems = [
},
{
title: 'Teammates',
- description: 'Manage users, teams, and roles.',
children: [
{
title: 'Users',
@@ -206,7 +197,6 @@ const adminNavItems = [
},
{
title: 'Automations',
- description: 'Manage automation rules.',
children: [
{
title: 'Automations',
@@ -217,7 +207,6 @@ const adminNavItems = [
},
{
title: 'Notifications',
- description: 'Manage email notifications.',
children: [
{
title: 'Email',
@@ -228,7 +217,6 @@ const adminNavItems = [
},
{
title: 'Templates',
- description: 'Manage email templates.',
children: [
{
title: 'Templates',
@@ -239,7 +227,6 @@ const adminNavItems = [
},
{
title: 'Security',
- description: 'Configure SSO and security.',
children: [
{
title: 'OpenID Connect SSO',
@@ -263,23 +250,21 @@ const isActiveParent = (parentHref) => {
}
const isInboxRoute = (path) => {
- return path.startsWith('/inboxes') || path.startsWith('/teams') || path.startsWith('/views')
+ return path.startsWith('/inboxes')
}
-const hasConversationOpen = computed(() => {
- return conversationStore.current || conversationStore.conversation.loading
-})
+const sidebarOpen = useStorage('sidebarOpen', true)
emit('update:open', $event)"
style="--sidebar-width: 16rem"
+ :default-open="sidebarOpen"
+ v-on:update:open="sidebarOpen = $event"
>
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/frontend/src/components/common/SimpleTable.vue b/frontend/src/components/table/SimpleTable.vue
similarity index 100%
rename from frontend/src/components/common/SimpleTable.vue
rename to frontend/src/components/table/SimpleTable.vue
diff --git a/frontend/src/composables/useSla.js b/frontend/src/composables/useSla.js
index bb5d0ab4..439d2e9c 100644
--- a/frontend/src/composables/useSla.js
+++ b/frontend/src/composables/useSla.js
@@ -1,11 +1,8 @@
-// composables/useSla.js
import { ref, onMounted, onUnmounted } from 'vue'
import { calculateSla } from '@/utils/sla'
export function useSla (dueAt, actualAt) {
const sla = ref(null)
-
-
function updateSla () {
if (!dueAt.value) {
sla.value = null
@@ -13,7 +10,6 @@ export function useSla (dueAt, actualAt) {
}
sla.value = calculateSla(dueAt.value, actualAt.value)
}
-
onMounted(() => {
updateSla()
// Update the SLA every 30 seconds.
@@ -22,6 +18,5 @@ export function useSla (dueAt, actualAt) {
clearInterval(intervalId)
})
})
-
return { sla, updateSla }
}
diff --git a/frontend/src/composables/useTemporaryClass.js b/frontend/src/composables/useTemporaryClass.js
index 321e518d..8f40bdfd 100644
--- a/frontend/src/composables/useTemporaryClass.js
+++ b/frontend/src/composables/useTemporaryClass.js
@@ -2,7 +2,6 @@ import { ref, onUnmounted, nextTick } from 'vue'
export function useTemporaryClass(containerID, className, timeMs = 300) {
const container = ref(null)
-
const applyClass = async () => {
await nextTick()
container.value = document.getElementById(containerID)
@@ -13,16 +12,13 @@ export function useTemporaryClass(containerID, className, timeMs = 300) {
}, timeMs)
}
}
-
applyClass()
-
onUnmounted(() => {
if (container.value) {
container.value.classList.remove(className)
container.value = null
}
})
-
return {
container
}
diff --git a/frontend/src/constants/emitterEvents.js b/frontend/src/constants/emitterEvents.js
index b374b8bc..82117f11 100644
--- a/frontend/src/constants/emitterEvents.js
+++ b/frontend/src/constants/emitterEvents.js
@@ -4,4 +4,5 @@ export const EMITTER_EVENTS = {
SHOW_SOONER: 'show-sooner',
NEW_MESSAGE: 'new-message',
SET_NESTED_COMMAND: 'set-nested-command',
+ CONVERSATION_SIDEBAR_TOGGLE: 'conversation-sidebar-toggle'
}
\ No newline at end of file
diff --git a/frontend/src/constants/websocket.js b/frontend/src/constants/websocket.js
index 53cb299a..e6374cc1 100644
--- a/frontend/src/constants/websocket.js
+++ b/frontend/src/constants/websocket.js
@@ -1,6 +1,5 @@
-
export const WS_EVENT = {
NEW_MESSAGE: 'new_message',
MESSAGE_PROP_UPDATE: 'message_prop_update',
CONVERSATION_PROP_UPDATE: 'conversation_prop_update',
-}
+}
\ No newline at end of file
diff --git a/frontend/src/components/admin/automation/ActionBox.vue b/frontend/src/features/admin/automation/ActionBox.vue
similarity index 100%
rename from frontend/src/components/admin/automation/ActionBox.vue
rename to frontend/src/features/admin/automation/ActionBox.vue
diff --git a/frontend/src/components/admin/automation/AutomationTabs.vue b/frontend/src/features/admin/automation/AutomationTabs.vue
similarity index 100%
rename from frontend/src/components/admin/automation/AutomationTabs.vue
rename to frontend/src/features/admin/automation/AutomationTabs.vue
diff --git a/frontend/src/components/admin/automation/RuleBox.vue b/frontend/src/features/admin/automation/RuleBox.vue
similarity index 100%
rename from frontend/src/components/admin/automation/RuleBox.vue
rename to frontend/src/features/admin/automation/RuleBox.vue
diff --git a/frontend/src/components/admin/automation/RuleList.vue b/frontend/src/features/admin/automation/RuleList.vue
similarity index 100%
rename from frontend/src/components/admin/automation/RuleList.vue
rename to frontend/src/features/admin/automation/RuleList.vue
diff --git a/frontend/src/components/admin/automation/RuleTab.vue b/frontend/src/features/admin/automation/RuleTab.vue
similarity index 100%
rename from frontend/src/components/admin/automation/RuleTab.vue
rename to frontend/src/features/admin/automation/RuleTab.vue
diff --git a/frontend/src/components/admin/automation/formSchema.js b/frontend/src/features/admin/automation/formSchema.js
similarity index 100%
rename from frontend/src/components/admin/automation/formSchema.js
rename to frontend/src/features/admin/automation/formSchema.js
diff --git a/frontend/src/components/admin/business_hours/BusinessHoursForm.vue b/frontend/src/features/admin/business-hours/BusinessHoursForm.vue
similarity index 99%
rename from frontend/src/components/admin/business_hours/BusinessHoursForm.vue
rename to frontend/src/features/admin/business-hours/BusinessHoursForm.vue
index dbb2e64e..377e32ce 100644
--- a/frontend/src/components/admin/business_hours/BusinessHoursForm.vue
+++ b/frontend/src/features/admin/business-hours/BusinessHoursForm.vue
@@ -141,7 +141,7 @@ import { cn } from '@/lib/utils'
import { format } from 'date-fns'
import { WEEKDAYS } from '@/constants/date'
import { Calendar as CalendarIcon } from 'lucide-vue-next'
-import SimpleTable from '@/components/common/SimpleTable.vue'
+import SimpleTable from '@/components/table/SimpleTable.vue'
import {
Dialog,
DialogContent,
diff --git a/frontend/src/components/admin/business_hours/dataTableColumns.js b/frontend/src/features/admin/business-hours/dataTableColumns.js
similarity index 100%
rename from frontend/src/components/admin/business_hours/dataTableColumns.js
rename to frontend/src/features/admin/business-hours/dataTableColumns.js
diff --git a/frontend/src/components/admin/business_hours/dataTableDropdown.vue b/frontend/src/features/admin/business-hours/dataTableDropdown.vue
similarity index 100%
rename from frontend/src/components/admin/business_hours/dataTableDropdown.vue
rename to frontend/src/features/admin/business-hours/dataTableDropdown.vue
diff --git a/frontend/src/components/admin/business_hours/formSchema.js b/frontend/src/features/admin/business-hours/formSchema.js
similarity index 100%
rename from frontend/src/components/admin/business_hours/formSchema.js
rename to frontend/src/features/admin/business-hours/formSchema.js
diff --git a/frontend/src/components/admin/general/GeneralSettingForm.vue b/frontend/src/features/admin/general/GeneralSettingForm.vue
similarity index 100%
rename from frontend/src/components/admin/general/GeneralSettingForm.vue
rename to frontend/src/features/admin/general/GeneralSettingForm.vue
diff --git a/frontend/src/components/admin/general/formSchema.js b/frontend/src/features/admin/general/formSchema.js
similarity index 100%
rename from frontend/src/components/admin/general/formSchema.js
rename to frontend/src/features/admin/general/formSchema.js
diff --git a/frontend/src/components/admin/inbox/EmailInboxForm.vue b/frontend/src/features/admin/inbox/EmailInboxForm.vue
similarity index 100%
rename from frontend/src/components/admin/inbox/EmailInboxForm.vue
rename to frontend/src/features/admin/inbox/EmailInboxForm.vue
diff --git a/frontend/src/components/admin/inbox/InboxDataTableDropDown.vue b/frontend/src/features/admin/inbox/InboxDataTableDropDown.vue
similarity index 100%
rename from frontend/src/components/admin/inbox/InboxDataTableDropDown.vue
rename to frontend/src/features/admin/inbox/InboxDataTableDropDown.vue
diff --git a/frontend/src/components/admin/inbox/formSchema.js b/frontend/src/features/admin/inbox/formSchema.js
similarity index 100%
rename from frontend/src/components/admin/inbox/formSchema.js
rename to frontend/src/features/admin/inbox/formSchema.js
diff --git a/frontend/src/components/common/ActionBuilder.vue b/frontend/src/features/admin/macros/ActionBuilder.vue
similarity index 100%
rename from frontend/src/components/common/ActionBuilder.vue
rename to frontend/src/features/admin/macros/ActionBuilder.vue
diff --git a/frontend/src/components/admin/conversation/macros/MacroForm.vue b/frontend/src/features/admin/macros/MacroForm.vue
similarity index 98%
rename from frontend/src/components/admin/conversation/macros/MacroForm.vue
rename to frontend/src/features/admin/macros/MacroForm.vue
index b6f4a46e..2bacd0fe 100644
--- a/frontend/src/components/admin/conversation/macros/MacroForm.vue
+++ b/frontend/src/features/admin/macros/MacroForm.vue
@@ -129,7 +129,7 @@ import { Spinner } from '@/components/ui/spinner'
import { Input } from '@/components/ui/input'
import { FormControl, FormField, FormItem, FormLabel, FormMessage } from '@/components/ui/form'
import { Avatar, AvatarImage, AvatarFallback } from '@/components/ui/avatar'
-import ActionBuilder from '@/components/common/ActionBuilder.vue'
+import ActionBuilder from '@/features/admin/macros/ActionBuilder.vue'
import { useConversationFilters } from '@/composables/useConversationFilters'
import { useUsersStore } from '@/stores/users'
import { useTeamStore } from '@/stores/team'
diff --git a/frontend/src/components/admin/conversation/macros/dataTableColumns.js b/frontend/src/features/admin/macros/dataTableColumns.js
similarity index 100%
rename from frontend/src/components/admin/conversation/macros/dataTableColumns.js
rename to frontend/src/features/admin/macros/dataTableColumns.js
diff --git a/frontend/src/components/admin/conversation/macros/dataTableDropdown.vue b/frontend/src/features/admin/macros/dataTableDropdown.vue
similarity index 100%
rename from frontend/src/components/admin/conversation/macros/dataTableDropdown.vue
rename to frontend/src/features/admin/macros/dataTableDropdown.vue
diff --git a/frontend/src/components/admin/conversation/macros/formSchema.js b/frontend/src/features/admin/macros/formSchema.js
similarity index 100%
rename from frontend/src/components/admin/conversation/macros/formSchema.js
rename to frontend/src/features/admin/macros/formSchema.js
diff --git a/frontend/src/components/admin/notification/NotificationSetting.vue b/frontend/src/features/admin/notification/NotificationSetting.vue
similarity index 100%
rename from frontend/src/components/admin/notification/NotificationSetting.vue
rename to frontend/src/features/admin/notification/NotificationSetting.vue
diff --git a/frontend/src/components/admin/notification/NotificationSettingForm.vue b/frontend/src/features/admin/notification/NotificationSettingForm.vue
similarity index 100%
rename from frontend/src/components/admin/notification/NotificationSettingForm.vue
rename to frontend/src/features/admin/notification/NotificationSettingForm.vue
diff --git a/frontend/src/components/admin/notification/formSchema.js b/frontend/src/features/admin/notification/formSchema.js
similarity index 100%
rename from frontend/src/components/admin/notification/formSchema.js
rename to frontend/src/features/admin/notification/formSchema.js
diff --git a/frontend/src/components/admin/oidc/OIDCForm.vue b/frontend/src/features/admin/oidc/OIDCForm.vue
similarity index 97%
rename from frontend/src/components/admin/oidc/OIDCForm.vue
rename to frontend/src/features/admin/oidc/OIDCForm.vue
index 0038b7e6..1e67ca54 100644
--- a/frontend/src/components/admin/oidc/OIDCForm.vue
+++ b/frontend/src/features/admin/oidc/OIDCForm.vue
@@ -62,9 +62,9 @@
- Redirect URI
+ Callback URL
-
+
Set this URI for callback.
@@ -135,7 +135,7 @@ const props = defineProps({
isLoading: {
type: Boolean,
required: false
- },
+ }
})
const form = useForm({
diff --git a/frontend/src/components/admin/oidc/dataTableColumns.js b/frontend/src/features/admin/oidc/dataTableColumns.js
similarity index 100%
rename from frontend/src/components/admin/oidc/dataTableColumns.js
rename to frontend/src/features/admin/oidc/dataTableColumns.js
diff --git a/frontend/src/components/admin/oidc/dataTableDropdown.vue b/frontend/src/features/admin/oidc/dataTableDropdown.vue
similarity index 100%
rename from frontend/src/components/admin/oidc/dataTableDropdown.vue
rename to frontend/src/features/admin/oidc/dataTableDropdown.vue
diff --git a/frontend/src/components/admin/oidc/formSchema.js b/frontend/src/features/admin/oidc/formSchema.js
similarity index 100%
rename from frontend/src/components/admin/oidc/formSchema.js
rename to frontend/src/features/admin/oidc/formSchema.js
diff --git a/frontend/src/components/admin/team/roles/RoleForm.vue b/frontend/src/features/admin/roles/RoleForm.vue
similarity index 100%
rename from frontend/src/components/admin/team/roles/RoleForm.vue
rename to frontend/src/features/admin/roles/RoleForm.vue
diff --git a/frontend/src/components/admin/team/roles/dataTableColumns.js b/frontend/src/features/admin/roles/dataTableColumns.js
similarity index 100%
rename from frontend/src/components/admin/team/roles/dataTableColumns.js
rename to frontend/src/features/admin/roles/dataTableColumns.js
diff --git a/frontend/src/components/admin/team/roles/dataTableDropdown.vue b/frontend/src/features/admin/roles/dataTableDropdown.vue
similarity index 100%
rename from frontend/src/components/admin/team/roles/dataTableDropdown.vue
rename to frontend/src/features/admin/roles/dataTableDropdown.vue
diff --git a/frontend/src/components/admin/team/roles/formSchema.js b/frontend/src/features/admin/roles/formSchema.js
similarity index 100%
rename from frontend/src/components/admin/team/roles/formSchema.js
rename to frontend/src/features/admin/roles/formSchema.js
diff --git a/frontend/src/components/admin/sla/SLAForm.vue b/frontend/src/features/admin/sla/SLAForm.vue
similarity index 100%
rename from frontend/src/components/admin/sla/SLAForm.vue
rename to frontend/src/features/admin/sla/SLAForm.vue
diff --git a/frontend/src/components/admin/sla/dataTableColumns.js b/frontend/src/features/admin/sla/dataTableColumns.js
similarity index 100%
rename from frontend/src/components/admin/sla/dataTableColumns.js
rename to frontend/src/features/admin/sla/dataTableColumns.js
diff --git a/frontend/src/components/admin/sla/dataTableDropdown.vue b/frontend/src/features/admin/sla/dataTableDropdown.vue
similarity index 100%
rename from frontend/src/components/admin/sla/dataTableDropdown.vue
rename to frontend/src/features/admin/sla/dataTableDropdown.vue
diff --git a/frontend/src/components/admin/sla/formSchema.js b/frontend/src/features/admin/sla/formSchema.js
similarity index 100%
rename from frontend/src/components/admin/sla/formSchema.js
rename to frontend/src/features/admin/sla/formSchema.js
diff --git a/frontend/src/components/admin/conversation/status/StatusForm.vue b/frontend/src/features/admin/status/StatusForm.vue
similarity index 100%
rename from frontend/src/components/admin/conversation/status/StatusForm.vue
rename to frontend/src/features/admin/status/StatusForm.vue
diff --git a/frontend/src/components/admin/conversation/status/dataTableColumns.js b/frontend/src/features/admin/status/dataTableColumns.js
similarity index 100%
rename from frontend/src/components/admin/conversation/status/dataTableColumns.js
rename to frontend/src/features/admin/status/dataTableColumns.js
diff --git a/frontend/src/components/admin/conversation/status/dataTableDropdown.vue b/frontend/src/features/admin/status/dataTableDropdown.vue
similarity index 100%
rename from frontend/src/components/admin/conversation/status/dataTableDropdown.vue
rename to frontend/src/features/admin/status/dataTableDropdown.vue
diff --git a/frontend/src/components/admin/conversation/status/formSchema.js b/frontend/src/features/admin/status/formSchema.js
similarity index 100%
rename from frontend/src/components/admin/conversation/status/formSchema.js
rename to frontend/src/features/admin/status/formSchema.js
diff --git a/frontend/src/components/admin/conversation/tags/TagsForm.vue b/frontend/src/features/admin/tags/TagsForm.vue
similarity index 100%
rename from frontend/src/components/admin/conversation/tags/TagsForm.vue
rename to frontend/src/features/admin/tags/TagsForm.vue
diff --git a/frontend/src/components/admin/conversation/tags/dataTableColumns.js b/frontend/src/features/admin/tags/dataTableColumns.js
similarity index 100%
rename from frontend/src/components/admin/conversation/tags/dataTableColumns.js
rename to frontend/src/features/admin/tags/dataTableColumns.js
diff --git a/frontend/src/components/admin/conversation/tags/dataTableDropdown.vue b/frontend/src/features/admin/tags/dataTableDropdown.vue
similarity index 100%
rename from frontend/src/components/admin/conversation/tags/dataTableDropdown.vue
rename to frontend/src/features/admin/tags/dataTableDropdown.vue
diff --git a/frontend/src/components/admin/conversation/tags/formSchema.js b/frontend/src/features/admin/tags/formSchema.js
similarity index 100%
rename from frontend/src/components/admin/conversation/tags/formSchema.js
rename to frontend/src/features/admin/tags/formSchema.js
diff --git a/frontend/src/components/admin/team/teams/TeamDataTableDropdown.vue b/frontend/src/features/admin/teams/TeamDataTableDropdown.vue
similarity index 100%
rename from frontend/src/components/admin/team/teams/TeamDataTableDropdown.vue
rename to frontend/src/features/admin/teams/TeamDataTableDropdown.vue
diff --git a/frontend/src/components/admin/team/teams/TeamForm.vue b/frontend/src/features/admin/teams/TeamForm.vue
similarity index 100%
rename from frontend/src/components/admin/team/teams/TeamForm.vue
rename to frontend/src/features/admin/teams/TeamForm.vue
diff --git a/frontend/src/components/admin/team/teams/TeamsDataTableColumns.js b/frontend/src/features/admin/teams/TeamsDataTableColumns.js
similarity index 92%
rename from frontend/src/components/admin/team/teams/TeamsDataTableColumns.js
rename to frontend/src/features/admin/teams/TeamsDataTableColumns.js
index 3f803e8b..183889a3 100644
--- a/frontend/src/components/admin/team/teams/TeamsDataTableColumns.js
+++ b/frontend/src/features/admin/teams/TeamsDataTableColumns.js
@@ -1,5 +1,5 @@
import { h } from 'vue'
-import TeamDataTableDropdown from '@/components/admin/team/teams/TeamDataTableDropdown.vue'
+import TeamDataTableDropdown from '@/features/admin/teams/TeamDataTableDropdown.vue'
import { format } from 'date-fns'
export const columns = [
diff --git a/frontend/src/components/admin/team/teams/teamFormSchema.js b/frontend/src/features/admin/teams/teamFormSchema.js
similarity index 100%
rename from frontend/src/components/admin/team/teams/teamFormSchema.js
rename to frontend/src/features/admin/teams/teamFormSchema.js
diff --git a/frontend/src/components/admin/templates/TemplateForm.vue b/frontend/src/features/admin/templates/TemplateForm.vue
similarity index 98%
rename from frontend/src/components/admin/templates/TemplateForm.vue
rename to frontend/src/features/admin/templates/TemplateForm.vue
index 23ae8457..a4bfe4f7 100644
--- a/frontend/src/components/admin/templates/TemplateForm.vue
+++ b/frontend/src/features/admin/templates/TemplateForm.vue
@@ -74,7 +74,7 @@ import {
FormDescription
} from '@/components/ui/form'
import { Input } from '@/components/ui/input'
-import CodeEditor from '@/components/common/CodeEditor.vue'
+import CodeEditor from '@/components/editor/CodeEditor.vue'
import { Checkbox } from '@/components/ui/checkbox'
import { Label } from '@/components/ui/label'
const props = defineProps({
diff --git a/frontend/src/components/admin/templates/dataTableColumns.js b/frontend/src/features/admin/templates/dataTableColumns.js
similarity index 100%
rename from frontend/src/components/admin/templates/dataTableColumns.js
rename to frontend/src/features/admin/templates/dataTableColumns.js
diff --git a/frontend/src/components/admin/templates/dataTableDropdown.vue b/frontend/src/features/admin/templates/dataTableDropdown.vue
similarity index 100%
rename from frontend/src/components/admin/templates/dataTableDropdown.vue
rename to frontend/src/features/admin/templates/dataTableDropdown.vue
diff --git a/frontend/src/components/admin/templates/formSchema.js b/frontend/src/features/admin/templates/formSchema.js
similarity index 100%
rename from frontend/src/components/admin/templates/formSchema.js
rename to frontend/src/features/admin/templates/formSchema.js
diff --git a/frontend/src/components/admin/team/users/UserForm.vue b/frontend/src/features/admin/users/UserForm.vue
similarity index 100%
rename from frontend/src/components/admin/team/users/UserForm.vue
rename to frontend/src/features/admin/users/UserForm.vue
diff --git a/frontend/src/components/admin/team/users/dataTableColumns.js b/frontend/src/features/admin/users/dataTableColumns.js
similarity index 95%
rename from frontend/src/components/admin/team/users/dataTableColumns.js
rename to frontend/src/features/admin/users/dataTableColumns.js
index 8620af9e..ba1c62c5 100644
--- a/frontend/src/components/admin/team/users/dataTableColumns.js
+++ b/frontend/src/features/admin/users/dataTableColumns.js
@@ -1,5 +1,5 @@
import { h } from 'vue'
-import UserDataTableDropDown from '@/components/admin/team/users/dataTableDropdown.vue'
+import UserDataTableDropDown from '@/features/admin/users/dataTableDropdown.vue'
import { format } from 'date-fns'
export const columns = [
diff --git a/frontend/src/components/admin/team/users/dataTableDropdown.vue b/frontend/src/features/admin/users/dataTableDropdown.vue
similarity index 100%
rename from frontend/src/components/admin/team/users/dataTableDropdown.vue
rename to frontend/src/features/admin/users/dataTableDropdown.vue
diff --git a/frontend/src/components/admin/team/users/formSchema.js b/frontend/src/features/admin/users/formSchema.js
similarity index 100%
rename from frontend/src/components/admin/team/users/formSchema.js
rename to frontend/src/features/admin/users/formSchema.js
diff --git a/frontend/src/components/command/CommandBox.vue b/frontend/src/features/command/CommandBox.vue
similarity index 100%
rename from frontend/src/components/command/CommandBox.vue
rename to frontend/src/features/command/CommandBox.vue
diff --git a/frontend/src/features/conversation/Conversation.vue b/frontend/src/features/conversation/Conversation.vue
new file mode 100644
index 00000000..ab6fb00e
--- /dev/null
+++ b/frontend/src/features/conversation/Conversation.vue
@@ -0,0 +1,77 @@
+
+
+
+
+
+
+
+ {{ conversationStore.current?.subject }}
+
+
+
+
+
+
+
+
+ {{ conversationStore.current?.status }}
+
+ Loading...
+
+
+
+
+ {{ status.label }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/frontend/src/features/conversation/ConversationPlaceholder.vue b/frontend/src/features/conversation/ConversationPlaceholder.vue
new file mode 100644
index 00000000..757e4261
--- /dev/null
+++ b/frontend/src/features/conversation/ConversationPlaceholder.vue
@@ -0,0 +1,5 @@
+
+
+
Select a conversation from the left panel.
+
+
diff --git a/frontend/src/components/conversation/ConversationTextEditor.vue b/frontend/src/features/conversation/ConversationTextEditor.vue
similarity index 100%
rename from frontend/src/components/conversation/ConversationTextEditor.vue
rename to frontend/src/features/conversation/ConversationTextEditor.vue
diff --git a/frontend/src/components/macro/MacroActionsPreview.vue b/frontend/src/features/conversation/MacroActionsPreview.vue
similarity index 100%
rename from frontend/src/components/macro/MacroActionsPreview.vue
rename to frontend/src/features/conversation/MacroActionsPreview.vue
diff --git a/frontend/src/components/conversation/ReplyBox.vue b/frontend/src/features/conversation/ReplyBox.vue
similarity index 98%
rename from frontend/src/components/conversation/ReplyBox.vue
rename to frontend/src/features/conversation/ReplyBox.vue
index 2813bf46..08c88fe1 100644
--- a/frontend/src/components/conversation/ReplyBox.vue
+++ b/frontend/src/features/conversation/ReplyBox.vue
@@ -263,9 +263,9 @@ import { Button } from '@/components/ui/button'
import { Dialog, DialogContent } from '@/components/ui/dialog'
import { Tabs, TabsList, TabsTrigger } from '@/components/ui/tabs'
import { useEmitter } from '@/composables/useEmitter'
-import AttachmentsPreview from '@/components/attachment/AttachmentsPreview.vue'
-import MacroActionsPreview from '../macro/MacroActionsPreview.vue'
-import ReplyBoxBottomMenuBar from '@/components/conversation/ReplyBoxMenuBar.vue'
+import AttachmentsPreview from '@/features/conversation/message/attachment/AttachmentsPreview.vue'
+import MacroActionsPreview from '@/features/conversation/MacroActionsPreview.vue'
+import ReplyBoxBottomMenuBar from '@/features/conversation/ReplyBoxMenuBar.vue'
const conversationStore = useConversationStore()
const emitter = useEmitter()
diff --git a/frontend/src/components/conversation/ReplyBoxMenuBar.vue b/frontend/src/features/conversation/ReplyBoxMenuBar.vue
similarity index 100%
rename from frontend/src/components/conversation/ReplyBoxMenuBar.vue
rename to frontend/src/features/conversation/ReplyBoxMenuBar.vue
diff --git a/frontend/src/components/conversation/list/ConversationEmptyList.vue b/frontend/src/features/conversation/list/ConversationEmptyList.vue
similarity index 100%
rename from frontend/src/components/conversation/list/ConversationEmptyList.vue
rename to frontend/src/features/conversation/list/ConversationEmptyList.vue
diff --git a/frontend/src/components/conversation/list/ConversationList.vue b/frontend/src/features/conversation/list/ConversationList.vue
similarity index 94%
rename from frontend/src/components/conversation/list/ConversationList.vue
rename to frontend/src/features/conversation/list/ConversationList.vue
index 0c725d30..56f695d6 100644
--- a/frontend/src/components/conversation/list/ConversationList.vue
+++ b/frontend/src/features/conversation/list/ConversationList.vue
@@ -9,7 +9,7 @@
-
+