From e0f366f2ec8bdc8ac2861be54e0b9946be0ccd2d Mon Sep 17 00:00:00 2001 From: priya_kanabar-crest Date: Thu, 9 Jan 2025 18:18:28 +0530 Subject: [PATCH 1/4] chore(refactored-cell-vue):Refacotred vue file for cell created ts and vue files to make code more maintainable --- zt_frontend/src/components/Cell.vue | 518 ++---------------- .../src/components/CellActionButtons.vue | 79 +++ zt_frontend/src/components/CellHeader.vue | 119 ++++ zt_frontend/src/components/CellMenu.vue | 119 ++++ zt_frontend/src/components/CellNameEditor.vue | 89 +++ zt_frontend/src/composables/cell-header.ts | 78 +++ zt_frontend/src/composables/cell-menu.ts | 110 ++++ zt_frontend/src/composables/cell-state.ts | 21 + zt_frontend/src/composables/route-helpers.ts | 7 + 9 files changed, 672 insertions(+), 468 deletions(-) create mode 100644 zt_frontend/src/components/CellActionButtons.vue create mode 100644 zt_frontend/src/components/CellHeader.vue create mode 100644 zt_frontend/src/components/CellMenu.vue create mode 100644 zt_frontend/src/components/CellNameEditor.vue create mode 100644 zt_frontend/src/composables/cell-header.ts create mode 100644 zt_frontend/src/composables/cell-menu.ts create mode 100644 zt_frontend/src/composables/cell-state.ts create mode 100644 zt_frontend/src/composables/route-helpers.ts diff --git a/zt_frontend/src/components/Cell.vue b/zt_frontend/src/components/Cell.vue index 143dc630..6754a350 100644 --- a/zt_frontend/src/components/Cell.vue +++ b/zt_frontend/src/components/Cell.vue @@ -15,230 +15,35 @@ :thickness="4" >
-
-
-
-
- -
-

- {{ cellNameValue }} -

- - -
- -
- - - -
-
-

- {{ cellNameValue }} -

- - - -
- - - - - - - - - - - - - Non-Reactive - - - - Hide Cell - - - - Hide Code - - - - Expand Code - - - - Show Table - - - - - Delete Cell - - - -
-
-
+ + + +
+@import '@/styles/cell.scss'; + \ No newline at end of file diff --git a/zt_frontend/src/components/CellActionButtons.vue b/zt_frontend/src/components/CellActionButtons.vue new file mode 100644 index 00000000..cfeed03b --- /dev/null +++ b/zt_frontend/src/components/CellActionButtons.vue @@ -0,0 +1,79 @@ + + + + + \ No newline at end of file diff --git a/zt_frontend/src/components/CellHeader.vue b/zt_frontend/src/components/CellHeader.vue new file mode 100644 index 00000000..f28680fc --- /dev/null +++ b/zt_frontend/src/components/CellHeader.vue @@ -0,0 +1,119 @@ + + + + + \ No newline at end of file diff --git a/zt_frontend/src/components/CellMenu.vue b/zt_frontend/src/components/CellMenu.vue new file mode 100644 index 00000000..0cb91d5f --- /dev/null +++ b/zt_frontend/src/components/CellMenu.vue @@ -0,0 +1,119 @@ + + + + \ No newline at end of file diff --git a/zt_frontend/src/components/CellNameEditor.vue b/zt_frontend/src/components/CellNameEditor.vue new file mode 100644 index 00000000..3dc0cd2b --- /dev/null +++ b/zt_frontend/src/components/CellNameEditor.vue @@ -0,0 +1,89 @@ + + + + + \ No newline at end of file diff --git a/zt_frontend/src/composables/cell-header.ts b/zt_frontend/src/composables/cell-header.ts new file mode 100644 index 00000000..076db956 --- /dev/null +++ b/zt_frontend/src/composables/cell-header.ts @@ -0,0 +1,78 @@ +import { ref, computed } from 'vue'; +import axios from 'axios'; +import { useCellType } from './cell-type'; + +export function useCellHeader(props: any, emit: any) { + // Create refs for useCellType + const cellTypeRef = ref(props.cellType); + const errorRef = ref(props.error); + + // Use your existing composable + const { cellTypeColor, cellTypeIcon } = useCellType(cellTypeRef, errorRef); + + // State + const isMenuOpen = ref(false); + const cellNameValue = ref(props.cellName || props.cellType); + + // Computed + const keepCodeInAppModel = computed(() => + props.cellType === "code" || props.cellType === "sql" + ); + + // API handlers + const updateHideCell = async (value: boolean) => { + await axios.post(import.meta.env.VITE_BACKEND_URL + "api/hide_cell", { + cellId: props.cellId, + hideCell: value, + }); + }; + + const handleHideCode = async (value: boolean) => { + await axios.post(import.meta.env.VITE_BACKEND_URL + "api/hide_code", { + cellId: props.cellId, + hideCode: value, + }); + emit("hideCode", value); + }; + + const handleExpandCode = async (value: boolean) => { + await axios.post(import.meta.env.VITE_BACKEND_URL + "api/expand_code", { + cellId: props.cellId, + expandCode: value, + }); + emit("expandCodeUpdate", value); + }; + + const handleReactivity = async (value: boolean) => { + await axios.post(import.meta.env.VITE_BACKEND_URL + "api/cell_reactivity", { + cellId: props.cellId, + nonReactive: value, + }); + emit("updateReactivity", value); + }; + + const handleShowTable = async (value: boolean) => { + await axios.post(import.meta.env.VITE_BACKEND_URL + "api/show_table", { + cellId: props.cellId, + showTable: value, + }); + emit("updateShowTable", value); + }; + + return { + // State + isMenuOpen, + cellNameValue, + // From useCellType + cellTypeColor, + cellTypeIcon, + // Computed + keepCodeInAppModel, + // Actions + updateHideCell, + handleHideCode, + handleExpandCode, + handleReactivity, + handleShowTable, + }; +} diff --git a/zt_frontend/src/composables/cell-menu.ts b/zt_frontend/src/composables/cell-menu.ts new file mode 100644 index 00000000..759fa676 --- /dev/null +++ b/zt_frontend/src/composables/cell-menu.ts @@ -0,0 +1,110 @@ +import { ref, watch } from 'vue'; +import axios from 'axios'; +import { ztAliases } from "@/iconsets/ztIcon"; +import type { HideCellRequest } from '@/types/hide_cell_request'; +import type { HideCodeRequest } from '@/types/hide_code_request'; +import type { ExpandCodeRequest } from '@/types/expand_code_request'; +import type { CellReactivityRequest } from '@/types/cell_reactivity_request'; +import type { ShowTableRequest } from '@/types/show_table_request'; + +export interface CellMenuProps { + cellId: string; + cellType: string; + hideCell: boolean; + hideCode: boolean; + expandCode: boolean; + nonReactive: boolean; + showTable: boolean; + keepCodeInAppModel: boolean; +} + +export function useCellMenu(props: CellMenuProps, emit: any) { + // Menu state + const isOpen = ref(false); + + // Two-way binding for all switches + const hideCell = ref(props.hideCell); + const hideCode = ref(props.hideCode); + const expandCode = ref(props.expandCode); + const nonReactive = ref(props.nonReactive); + const showTable = ref(props.showTable); + + // API update functions + const updateHideCell = async (value: boolean | null) => { + const boolValue = value ?? false; + const request: HideCellRequest = { + cellId: props.cellId, + hideCell: boolValue, + }; + await axios.post(import.meta.env.VITE_BACKEND_URL + "api/hide_cell", request); + emit('update:hideCell', boolValue); + }; + + const updateHideCode = async (value: boolean | null) => { + const boolValue = value ?? false; + const request: HideCodeRequest = { + cellId: props.cellId, + hideCode: boolValue, + }; + await axios.post(import.meta.env.VITE_BACKEND_URL + "api/hide_code", request); + emit('update:hideCode', boolValue); + }; + + const updateExpandCode = async (value: boolean | null) => { + const boolValue = value ?? false; + const request: ExpandCodeRequest = { + cellId: props.cellId, + expandCode: boolValue, + }; + await axios.post(import.meta.env.VITE_BACKEND_URL + "api/expand_code", request); + emit('update:expandCode', boolValue); + }; + + const updateReactivity = async (value: boolean | null) => { + const boolValue = value ?? false; + const request: CellReactivityRequest = { + cellId: props.cellId, + nonReactive: boolValue, + }; + await axios.post(import.meta.env.VITE_BACKEND_URL + "api/cell_reactivity", request); + emit('update:nonReactive', value); + }; + + const updateShowTable = async (value: boolean | null) => { + const boolValue = value ?? false; + const request: ShowTableRequest = { + cellId: props.cellId, + showTable: boolValue, + }; + await axios.post(import.meta.env.VITE_BACKEND_URL + "api/show_table", request); + emit('update:showTable', boolValue); + }; + + // Watch for prop changes + watch(() => props.hideCell, (val) => hideCell.value = val); + watch(() => props.hideCode, (val) => hideCode.value = val); + watch(() => props.expandCode, (val) => expandCode.value = val); + watch(() => props.nonReactive, (val) => nonReactive.value = val); + watch(() => props.showTable, (val) => showTable.value = val); + + // Emit isOpen changes + watch(isOpen, (val) => emit('update:isOpen', val)); + + return { + // Icons + ztAliases, + // State + isOpen, + hideCell, + hideCode, + expandCode, + nonReactive, + showTable, + // Actions + updateHideCell, + updateHideCode, + updateExpandCode, + updateReactivity, + updateShowTable + }; +} \ No newline at end of file diff --git a/zt_frontend/src/composables/cell-state.ts b/zt_frontend/src/composables/cell-state.ts new file mode 100644 index 00000000..80b3c88f --- /dev/null +++ b/zt_frontend/src/composables/cell-state.ts @@ -0,0 +1,21 @@ +import { ref, watch, Ref } from "vue"; + +export function useCellState(hideCell: Ref, nonReactive: Ref) { + const showHeader = ref(false); + const hideCellValue = ref(hideCell.value); + const nonReactiveValue = ref(nonReactive.value); + + watch(hideCell, (newValue) => { + hideCellValue.value = newValue; + }); + + watch(nonReactive, (newValue) => { + nonReactiveValue.value = newValue; + }); + + return { + showHeader, + hideCellValue, + nonReactiveValue, + }; +} diff --git a/zt_frontend/src/composables/route-helpers.ts b/zt_frontend/src/composables/route-helpers.ts new file mode 100644 index 00000000..dd9cf6e6 --- /dev/null +++ b/zt_frontend/src/composables/route-helpers.ts @@ -0,0 +1,7 @@ +import { computed } from "vue"; +import { useRoute } from "vue-router"; + +export function useRouteHelpers() { + const isAppRoute = computed(() => useRoute().name === "/app"); + return { isAppRoute }; +} From d1688494078590092cf0667f31decdc01e49d0f3 Mon Sep 17 00:00:00 2001 From: priya_kanabar-crest Date: Thu, 9 Jan 2025 18:52:54 +0530 Subject: [PATCH 2/4] fix(css-file-issue): fix css file issue in code --- zt_frontend/src/styles/cell.scss | 106 +++++++++++++++++++++++++++++++ 1 file changed, 106 insertions(+) create mode 100644 zt_frontend/src/styles/cell.scss diff --git a/zt_frontend/src/styles/cell.scss b/zt_frontend/src/styles/cell.scss new file mode 100644 index 00000000..a631fef4 --- /dev/null +++ b/zt_frontend/src/styles/cell.scss @@ -0,0 +1,106 @@ +.cell { + padding: 5px; + display: flex; + margin-bottom: 2px; + width: 100%; + &--dev { + margin-bottom: 6px; + } + } + .message-btn { + &--alert { + background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSIjQUU5RkU4Ij48cGF0aCBkPSJNMTMuMzA1IDIyLjVMMTIgMjEuNzVMMTUgMTYuNUgxOS41QzE5Ljg5NzggMTYuNSAyMC4yNzk0IDE2LjM0MiAyMC41NjA3IDE2LjA2MDdDMjAuODQyIDE1Ljc3OTQgMjEgMTUuMzk3OCAyMSAxNVY2QzIxIDUuNjAyMTggMjAuODQyIDUuMjIwNjQgMjAuNTYwNyA0LjkzOTM0QzIwLjI3OTQgNC42NTgwNCAxOS44OTc4IDQuNSAxOS41IDQuNUg0LjVDNC4xMDIxOCA0LjUgMy43MjA2NCA0LjY1ODA0IDMuNDM5MzQgNC45MzkzNEMzLjE1ODA0IDUuMjIwNjQgMyA1LjYwMjE4IDMgNlYxNUMzIDE1LjM5NzggMy4xNTgwNCAxNS43Nzk0IDMuNDM5MzQgMTYuMDYwN0MzLjcyMDY0IDE2LjM0MiA0LjEwMjE4IDE2LjUgNC41IDE2LjVIMTEuMjVWMThINC41QzMuNzA0MzUgMTggMi45NDEyOSAxNy42ODM5IDIuMzc4NjggMTcuMTIxM0MxLjgxNjA3IDE2LjU1ODcgMS41IDE1Ljc5NTYgMS41IDE1VjZDMS41IDUuMjA0MzUgMS44MTYwNyA0LjQ0MTI5IDIuMzc4NjggMy44Nzg2OEMyLjk0MTI5IDMuMzE2MDcgMy43MDQzNSAzIDQuNSAzSDE5LjVDMjAuMjk1NiAzIDIxLjA1ODcgMy4zMTYwNyAyMS42MjEzIDMuODc4NjhDMjIuMTgzOSA0LjQ0MTI5IDIyLjUgNS4yMDQzNSAyMi41IDZWMTVDMjIuNSAxNS43OTU2IDIyLjE4MzkgMTYuNTU4NyAyMS42MjEzIDE3LjEyMTNDMjEuMDU4NyAxNy42ODM5IDIwLjI5NTYgMTggMTkuNSAxOEgxNS44N0wxMy4zMDUgMjIuNVoiIGZpbGw9IiNBRTlGRTgiLz48L3N2Zz4="); + background-position: center; + background-repeat: no-repeat; + transition: none; + } + &__counter { + margin-bottom: 4px; + } + } + .delete-cell:hover { + background-color: #6e3d41; + } + + .content { + flex: 1; + margin-left: 16px; + margin-right: 0px; + width: calc(100% - 36px); + } + + .indicator { + border-radius: 4px; + } + + .header { + display: flex; + justify-content: space-between; + margin-bottom: 2px; + } + + .code, + .outcome { + padding: 0px; + &--dev { + border: 1px solid rgba(var(--v-theme-bluegrey)); + border-radius: 3px; + padding: 6px; + } + } + + .code { + margin-bottom: 10px; + } + + .click-edit { + width: calc(100% - 135px); + &__name { + cursor: text; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + } + &__show-text, + &__edit-field-wrapper { + height: 100%; + display: flex; + align-items: center; + } + &__name:hover { + cursor: text; + padding-left: 3px; + padding-right: 3px; + border: 1px solid #294455; + } + + &__static-name { + cursor: text; + font-weight: normal; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + } + + &__edit-field { + margin-top: -11px; + & :deep(.v-field__input) { + font-size: 1rem; + letter-spacing: normal; + } + } + .actions { + display: flex; + align-items: center; + } + + .loading-wrapper { + display: flex; + align-items: center; + margin-right: 8px; + } + + .green-loader { + color: rgba(var(--v-theme-success)); + } + } \ No newline at end of file From 456fce5727c757d0a140f6622da1e2343f360edc Mon Sep 17 00:00:00 2001 From: priya_kanabar-crest Date: Fri, 10 Jan 2025 09:26:23 +0530 Subject: [PATCH 3/4] chore(create-folder-heirarchy):Maintain the structure in layout properly --- zt_frontend/src/App.vue | 18 ++++++++--------- .../components/{ => cells/base}/AddCell.vue | 0 .../src/components/{ => cells/base}/Cell.vue | 0 .../{ => cells/base}/CellActionButtons.vue | 0 .../{ => cells/base}/CellHeader.vue | 0 .../components/{ => cells/base}/CellMenu.vue | 0 .../{ => cells/base}/CellNameEditor.vue | 0 .../{ => cells/base}/CodeCellManager.vue | 12 +++++------ .../{ => cells/base}/ComponentWrapper.vue | 4 ++-- .../{ => cells/base}/LayoutComponent.vue | 6 +++--- .../{ => cells/code}/CodeComponent.vue | 20 +++++++++---------- .../markdown}/MarkdownComponent.vue | 4 ++-- .../{ => cells/sql}/SQLComponent.vue | 2 +- .../{ => cells/text}/EditorComponent.vue | 2 +- .../{ => file-system}/FileExplorer.vue | 14 ++++++------- .../{ => file-system}/FileTreeNode.vue | 10 +++++----- .../{ => file-system}/FileUploader.vue | 0 .../dialogs}/FileEditorDialog.vue | 0 .../dialogs}/FileFolderCreator.vue | 0 .../dialogs}/FileFolderDeleteDialog.vue | 0 .../dialogs}/FileFolderDownloadDialog.vue | 0 .../dialogs}/FileFolderRenameDialog.vue | 0 .../{ => plugins}/CopilotComponent.vue | 0 .../{ => plugins}/PackageComponent.vue | 0 .../{ => plugins}/PlotlyComponent.vue | 0 .../{ => plugins}/ShareComponent.vue | 0 .../{ => plugins}/TextComponent.vue | 0 zt_frontend/src/pages/index.vue | 2 +- 28 files changed, 47 insertions(+), 47 deletions(-) rename zt_frontend/src/components/{ => cells/base}/AddCell.vue (100%) rename zt_frontend/src/components/{ => cells/base}/Cell.vue (100%) rename zt_frontend/src/components/{ => cells/base}/CellActionButtons.vue (100%) rename zt_frontend/src/components/{ => cells/base}/CellHeader.vue (100%) rename zt_frontend/src/components/{ => cells/base}/CellMenu.vue (100%) rename zt_frontend/src/components/{ => cells/base}/CellNameEditor.vue (100%) rename zt_frontend/src/components/{ => cells/base}/CodeCellManager.vue (94%) rename zt_frontend/src/components/{ => cells/base}/ComponentWrapper.vue (97%) rename zt_frontend/src/components/{ => cells/base}/LayoutComponent.vue (92%) rename zt_frontend/src/components/{ => cells/code}/CodeComponent.vue (96%) rename zt_frontend/src/components/{ => cells/markdown}/MarkdownComponent.vue (98%) rename zt_frontend/src/components/{ => cells/sql}/SQLComponent.vue (99%) rename zt_frontend/src/components/{ => cells/text}/EditorComponent.vue (99%) rename zt_frontend/src/components/{ => file-system}/FileExplorer.vue (92%) rename zt_frontend/src/components/{ => file-system}/FileTreeNode.vue (96%) rename zt_frontend/src/components/{ => file-system}/FileUploader.vue (100%) rename zt_frontend/src/components/{ => file-system/dialogs}/FileEditorDialog.vue (100%) rename zt_frontend/src/components/{ => file-system/dialogs}/FileFolderCreator.vue (100%) rename zt_frontend/src/components/{ => file-system/dialogs}/FileFolderDeleteDialog.vue (100%) rename zt_frontend/src/components/{ => file-system/dialogs}/FileFolderDownloadDialog.vue (100%) rename zt_frontend/src/components/{ => file-system/dialogs}/FileFolderRenameDialog.vue (100%) rename zt_frontend/src/components/{ => plugins}/CopilotComponent.vue (100%) rename zt_frontend/src/components/{ => plugins}/PackageComponent.vue (100%) rename zt_frontend/src/components/{ => plugins}/PlotlyComponent.vue (100%) rename zt_frontend/src/components/{ => plugins}/ShareComponent.vue (100%) rename zt_frontend/src/components/{ => plugins}/TextComponent.vue (100%) diff --git a/zt_frontend/src/App.vue b/zt_frontend/src/App.vue index b84d6621..ecc3f57e 100644 --- a/zt_frontend/src/App.vue +++ b/zt_frontend/src/App.vue @@ -338,21 +338,21 @@ import { NotebookNameRequest } from "./types/notebook_name_request"; import { Notebook, CodeCell, Layout, ZTComponent } from "./types/notebook"; import { Dependencies } from "./types/notebook_response"; import { DependencyOutput } from "./static-types/dependency_ouput"; -import CodeComponent from "@/components/CodeComponent.vue"; -import MarkdownComponent from "@/components/MarkdownComponent.vue"; -import EditorComponent from "@/components/EditorComponent.vue"; -import SQLComponent from "@/components/SQLComponent.vue"; -import PackageComponent from "@/components/PackageComponent.vue"; +import CodeComponent from "@/components/cells/code/CodeComponent.vue"; +import MarkdownComponent from "@/components/cells/markdown/MarkdownComponent.vue"; +import EditorComponent from "@/components/cells/text/EditorComponent.vue"; +import SQLComponent from "@/components/cells/sql/SQLComponent.vue"; +import PackageComponent from "@/components/plugins/PackageComponent.vue"; import Comments from "@/components/comments/Comments.vue"; -import CodeCellManager from "./components/CodeCellManager.vue"; -import CopilotComponent from "./components/CopilotComponent.vue"; -import ShareComponent from "./components/ShareComponent.vue"; +import CodeCellManager from "@/components/cells/base/CodeCellManager.vue"; +import CopilotComponent from "@/components/plugins/CopilotComponent.vue"; +import ShareComponent from "@/components/plugins/ShareComponent.vue"; import type { VTextField } from "vuetify/lib/components/index.mjs"; import { ztAliases } from "@/iconsets/ztIcon"; import { Timer } from "@/timer"; import { globalState } from "@/global_vars"; import { DependencyRequest } from "./types/dependency_request"; -import SidebarComponent from "@/components/FileExplorer.vue"; +import SidebarComponent from "@/components/file-system/FileExplorer.vue"; import { WebSocketManager } from "@/websocket_manager"; import { useCommentsStore } from "@/stores/comments"; diff --git a/zt_frontend/src/components/AddCell.vue b/zt_frontend/src/components/cells/base/AddCell.vue similarity index 100% rename from zt_frontend/src/components/AddCell.vue rename to zt_frontend/src/components/cells/base/AddCell.vue diff --git a/zt_frontend/src/components/Cell.vue b/zt_frontend/src/components/cells/base/Cell.vue similarity index 100% rename from zt_frontend/src/components/Cell.vue rename to zt_frontend/src/components/cells/base/Cell.vue diff --git a/zt_frontend/src/components/CellActionButtons.vue b/zt_frontend/src/components/cells/base/CellActionButtons.vue similarity index 100% rename from zt_frontend/src/components/CellActionButtons.vue rename to zt_frontend/src/components/cells/base/CellActionButtons.vue diff --git a/zt_frontend/src/components/CellHeader.vue b/zt_frontend/src/components/cells/base/CellHeader.vue similarity index 100% rename from zt_frontend/src/components/CellHeader.vue rename to zt_frontend/src/components/cells/base/CellHeader.vue diff --git a/zt_frontend/src/components/CellMenu.vue b/zt_frontend/src/components/cells/base/CellMenu.vue similarity index 100% rename from zt_frontend/src/components/CellMenu.vue rename to zt_frontend/src/components/cells/base/CellMenu.vue diff --git a/zt_frontend/src/components/CellNameEditor.vue b/zt_frontend/src/components/cells/base/CellNameEditor.vue similarity index 100% rename from zt_frontend/src/components/CellNameEditor.vue rename to zt_frontend/src/components/cells/base/CellNameEditor.vue diff --git a/zt_frontend/src/components/CodeCellManager.vue b/zt_frontend/src/components/cells/base/CodeCellManager.vue similarity index 94% rename from zt_frontend/src/components/CodeCellManager.vue rename to zt_frontend/src/components/cells/base/CodeCellManager.vue index 28e3ce65..b22e6c53 100644 --- a/zt_frontend/src/components/CodeCellManager.vue +++ b/zt_frontend/src/components/cells/base/CodeCellManager.vue @@ -50,12 +50,12 @@ \ No newline at end of file diff --git a/zt_frontend/src/components/cells/code/HeaderTitleComponent.vue b/zt_frontend/src/components/cells/code/HeaderTitleComponent.vue new file mode 100644 index 00000000..62c58de2 --- /dev/null +++ b/zt_frontend/src/components/cells/code/HeaderTitleComponent.vue @@ -0,0 +1,51 @@ + + + \ No newline at end of file diff --git a/zt_frontend/src/components/cells/code/OutcomeComponent.vue b/zt_frontend/src/components/cells/code/OutcomeComponent.vue new file mode 100644 index 00000000..e8cc9ea0 --- /dev/null +++ b/zt_frontend/src/components/cells/code/OutcomeComponent.vue @@ -0,0 +1,72 @@ + + + diff --git a/zt_frontend/src/composables/cell-header.ts b/zt_frontend/src/composables/CellComponent/cell-header.ts similarity index 100% rename from zt_frontend/src/composables/cell-header.ts rename to zt_frontend/src/composables/CellComponent/cell-header.ts diff --git a/zt_frontend/src/composables/cell-menu.ts b/zt_frontend/src/composables/CellComponent/cell-menu.ts similarity index 100% rename from zt_frontend/src/composables/cell-menu.ts rename to zt_frontend/src/composables/CellComponent/cell-menu.ts diff --git a/zt_frontend/src/composables/cell-state.ts b/zt_frontend/src/composables/CellComponent/cell-state.ts similarity index 100% rename from zt_frontend/src/composables/cell-state.ts rename to zt_frontend/src/composables/CellComponent/cell-state.ts diff --git a/zt_frontend/src/composables/cell-type.ts b/zt_frontend/src/composables/CellComponent/cell-type.ts similarity index 100% rename from zt_frontend/src/composables/cell-type.ts rename to zt_frontend/src/composables/CellComponent/cell-type.ts diff --git a/zt_frontend/src/composables/route-helpers.ts b/zt_frontend/src/composables/CellComponent/route-helpers.ts similarity index 100% rename from zt_frontend/src/composables/route-helpers.ts rename to zt_frontend/src/composables/CellComponent/route-helpers.ts diff --git a/zt_frontend/src/pages/app.vue b/zt_frontend/src/pages/app.vue index eafb8cb8..e399890d 100644 --- a/zt_frontend/src/pages/app.vue +++ b/zt_frontend/src/pages/app.vue @@ -13,7 +13,7 @@