From 3c75c89a8b259aece948a24685c4d54b75b7e317 Mon Sep 17 00:00:00 2001 From: nguyen van thai Date: Mon, 17 Jun 2024 11:48:00 +0700 Subject: [PATCH] =?UTF-8?q?thainv:=20gh=C3=A9p=20navigation?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- assets/styles/style.scss | 30 +++- components/article/immerse/Poll.vue | 56 +++--- .../page-component/AssignComponent.vue | 66 ++++++++ .../templates/articles/layouts/Card.vue | 32 +++- .../templates/categories/layouts/Default.vue | 113 +++++++++++-- .../page-component/templates/index.ts | 3 +- .../page-component/templates/index.vue | 11 +- .../components/RecusiveNavItem.vue | 138 +++++++++++++++ .../components/RecusiveTopChild.vue | 160 ++++++++++++++++++ .../templates/navigations/index.ts | 4 + .../templates/navigations/index.vue | 36 ++++ .../templates/navigations/layouts/Bottom.vue | 35 ++++ .../navigations/layouts/Direction.vue | 35 ++++ .../templates/navigations/layouts/Top.vue | 86 ++++++++++ .../templates/sections/layouts/Article.vue | 26 ++- .../page-section/layouts/Default.vue | 14 +- .../page-section/layouts/index.vue | 1 + .../page-section/templates/index.ts | 1 + .../page-section/templates/index.vue | 21 ++- .../page-section/templates/none/Default.vue | 28 +++ .../components/headers/HeaderHomeTemplate.vue | 7 +- .../page/templates/homes/Basic.vue | 26 +-- .../dynamic-page/page/templates/index.vue | 2 + definitions/cms/page.type.ts | 5 + definitions/enum/index.ts | 2 +- definitions/enum/page.enum.ts | 14 +- pages/index.vue | 2 - server/models/dynamic-page/index.ts | 2 +- server/models/poll-option.ts | 2 +- stores/dynamic-page.ts | 6 +- 30 files changed, 856 insertions(+), 108 deletions(-) create mode 100644 components/dynamic-page/page-component/AssignComponent.vue create mode 100644 components/dynamic-page/page-component/templates/navigations/components/RecusiveNavItem.vue create mode 100644 components/dynamic-page/page-component/templates/navigations/components/RecusiveTopChild.vue create mode 100644 components/dynamic-page/page-component/templates/navigations/index.ts create mode 100644 components/dynamic-page/page-component/templates/navigations/index.vue create mode 100644 components/dynamic-page/page-component/templates/navigations/layouts/Bottom.vue create mode 100644 components/dynamic-page/page-component/templates/navigations/layouts/Direction.vue create mode 100644 components/dynamic-page/page-component/templates/navigations/layouts/Top.vue create mode 100644 components/dynamic-page/page-section/templates/none/Default.vue diff --git a/assets/styles/style.scss b/assets/styles/style.scss index baa2c50..c286170 100644 --- a/assets/styles/style.scss +++ b/assets/styles/style.scss @@ -1,16 +1,21 @@ -.style_layout { - > .section-container { - > .layout_define { - > .section_layout { - @apply gap-x-10 #{!important}; - } - } - } -} +// .style_layout { +// > .section-container { +// > .layout_define { +// > .section_layout { +// @apply gap-x-10 #{!important}; +// } +// } +// } +// } figure { margin: auto !important; } + +img { + object-fit: cover!important; +} + .content { & p { @apply mb-2; @@ -37,3 +42,10 @@ div[layout="ARTICLE_PAGE"] { } } +// .layout_define { +// & .section_layout.three_col_layout { +// @media (max-width: 768px) { +// grid-template-columns: repeat(1, minmax(0, 1fr)); +// } +// } +// } diff --git a/components/article/immerse/Poll.vue b/components/article/immerse/Poll.vue index 4bb8043..f013212 100644 --- a/components/article/immerse/Poll.vue +++ b/components/article/immerse/Poll.vue @@ -1,3 +1,4 @@ +span + + + + diff --git a/components/dynamic-page/page-component/templates/articles/layouts/Card.vue b/components/dynamic-page/page-component/templates/articles/layouts/Card.vue index e112438..bde771c 100644 --- a/components/dynamic-page/page-component/templates/articles/layouts/Card.vue +++ b/components/dynamic-page/page-component/templates/articles/layouts/Card.vue @@ -89,7 +89,7 @@ const drop = (e: any) => { diff --git a/components/dynamic-page/page-component/templates/index.ts b/components/dynamic-page/page-component/templates/index.ts index 15fe183..522f80b 100644 --- a/components/dynamic-page/page-component/templates/index.ts +++ b/components/dynamic-page/page-component/templates/index.ts @@ -9,4 +9,5 @@ export { default as Dynamic_Section } from './sections/index.vue'; export { default as Dynamic_Advertising } from './advertising/index.vue' export { default as Dynamic_Category } from './categories/index.vue' export { default as Dynamic_Article } from './articles/index.vue' -export { default as Dynamic_Collection } from './collections/index.vue' \ No newline at end of file +export { default as Dynamic_Collection } from './collections/index.vue' +export { default as Dynamic_Navigation } from './navigations/index.vue' \ No newline at end of file diff --git a/components/dynamic-page/page-component/templates/index.vue b/components/dynamic-page/page-component/templates/index.vue index 5e91b73..af352d3 100644 --- a/components/dynamic-page/page-component/templates/index.vue +++ b/components/dynamic-page/page-component/templates/index.vue @@ -1,6 +1,6 @@ + + + + \ No newline at end of file diff --git a/components/dynamic-page/page-component/templates/navigations/components/RecusiveTopChild.vue b/components/dynamic-page/page-component/templates/navigations/components/RecusiveTopChild.vue new file mode 100644 index 0000000..9937cdd --- /dev/null +++ b/components/dynamic-page/page-component/templates/navigations/components/RecusiveTopChild.vue @@ -0,0 +1,160 @@ + + + + + diff --git a/components/dynamic-page/page-component/templates/navigations/index.ts b/components/dynamic-page/page-component/templates/navigations/index.ts new file mode 100644 index 0000000..1bb3b65 --- /dev/null +++ b/components/dynamic-page/page-component/templates/navigations/index.ts @@ -0,0 +1,4 @@ +// Navigation +export { default as Top_Navigation } from './layouts/Top.vue' +export { default as Bottom_Navigation } from './layouts/Bottom.vue' +export { default as Direction_Navigation } from './layouts/Direction.vue' diff --git a/components/dynamic-page/page-component/templates/navigations/index.vue b/components/dynamic-page/page-component/templates/navigations/index.vue new file mode 100644 index 0000000..db827ac --- /dev/null +++ b/components/dynamic-page/page-component/templates/navigations/index.vue @@ -0,0 +1,36 @@ + + + diff --git a/components/dynamic-page/page-component/templates/navigations/layouts/Bottom.vue b/components/dynamic-page/page-component/templates/navigations/layouts/Bottom.vue new file mode 100644 index 0000000..cbc8c18 --- /dev/null +++ b/components/dynamic-page/page-component/templates/navigations/layouts/Bottom.vue @@ -0,0 +1,35 @@ + + + + + diff --git a/components/dynamic-page/page-component/templates/navigations/layouts/Direction.vue b/components/dynamic-page/page-component/templates/navigations/layouts/Direction.vue new file mode 100644 index 0000000..c655711 --- /dev/null +++ b/components/dynamic-page/page-component/templates/navigations/layouts/Direction.vue @@ -0,0 +1,35 @@ + + + + + diff --git a/components/dynamic-page/page-component/templates/navigations/layouts/Top.vue b/components/dynamic-page/page-component/templates/navigations/layouts/Top.vue new file mode 100644 index 0000000..c72a954 --- /dev/null +++ b/components/dynamic-page/page-component/templates/navigations/layouts/Top.vue @@ -0,0 +1,86 @@ + + + + + diff --git a/components/dynamic-page/page-component/templates/sections/layouts/Article.vue b/components/dynamic-page/page-component/templates/sections/layouts/Article.vue index 61225ac..198140f 100644 --- a/components/dynamic-page/page-component/templates/sections/layouts/Article.vue +++ b/components/dynamic-page/page-component/templates/sections/layouts/Article.vue @@ -146,20 +146,20 @@ watch( border-color: #e5e5e5 !important; } &.borderLeft { - border-left: 2px solid; - padding-left: 10px; + border-left: 1px solid; + padding-left: 16px; } &.borderRight { - border-right: 2px solid; - padding-right: 10px; + border-right: 1px solid; + padding-right: 16px; } &.borderTop { - border-top: 2px solid; - padding-top: 10px; + border-top: 1px solid; + padding-top: 16px; } &.borderBottom { - border-bottom: 2px solid; - padding-bottom: 10px; + border-bottom: 1px solid; + padding-bottom: 16px; } &.vertical { grid-template-columns: repeat(1, minmax(0, 1fr)); @@ -168,6 +168,16 @@ watch( grid-template-rows: auto; grid-auto-flow: column; } + &.borderRight , + &.borderLeft, + &.borderTop, + &.borderBottom { + + @media (max-width: 640px) { + border: 0; + padding: 0; + } + } } .empty { width: 100%; diff --git a/components/dynamic-page/page-section/layouts/Default.vue b/components/dynamic-page/page-section/layouts/Default.vue index a38b394..ce04890 100644 --- a/components/dynamic-page/page-section/layouts/Default.vue +++ b/components/dynamic-page/page-section/layouts/Default.vue @@ -141,7 +141,7 @@ const CLASS_FOR_SECTION = computed(() => {