├── .eslintrc.js ├── .gitignore ├── .npmrc ├── LICENSE ├── README.md ├── assets ├── api │ └── products.js ├── images │ ├── avatars │ │ └── pp_boy4.svg │ ├── imgAPI.js │ ├── starter-logo.png │ └── starter-logo.svg ├── scss │ ├── _color-var.scss │ ├── _common.scss │ ├── _functions.scss │ ├── _media-queries.scss │ ├── _mixins.scss │ ├── _url-img.scss │ ├── _variables.scss │ ├── pages.scss │ ├── styles.scss │ ├── transition.scss │ ├── vendors │ │ ├── animate-extends.css │ │ ├── animate.css │ │ ├── hamburger-menu.css │ │ └── slick-carousel │ │ │ ├── ajax-loader.gif │ │ │ ├── fonts │ │ │ ├── slick.eot │ │ │ ├── slick.svg │ │ │ ├── slick.ttf │ │ │ └── slick.woff │ │ │ ├── slick-theme.css │ │ │ └── slick.css │ └── vuetify-overide.scss └── text │ ├── brand.js │ └── link.js ├── components ├── About │ ├── Banner.vue │ ├── PhotoSlider.vue │ ├── Progress.vue │ ├── TeamGrid.vue │ ├── TeamSlider.vue │ ├── Video.vue │ └── about-style.scss ├── BannerSlider │ ├── BannerSlider.vue │ ├── index.js │ └── slider-styles.scss ├── Blog │ ├── Article.vue │ ├── Blog.vue │ ├── Headline.vue │ ├── Sidebar │ │ ├── CommentWidget.vue │ │ ├── GalleryWidget.vue │ │ ├── ListWidget.vue │ │ ├── PostWidget.vue │ │ ├── ProfileWidget.vue │ │ ├── Sidebar.vue │ │ ├── SubscribeWidget.vue │ │ └── index.js │ ├── blog-style.scss │ └── index.js ├── CallAction │ ├── CallAction.vue │ ├── action-style.scss │ └── index.js ├── Cards │ ├── MediaCard.vue │ ├── NewsCard.vue │ ├── PostCard.vue │ ├── PricingCard.vue │ ├── ProductCard.vue │ ├── ProfileCard.vue │ ├── TestiCard.vue │ ├── media-card.scss │ ├── post-news-card.scss │ ├── pricing-card.scss │ ├── product-card.scss │ ├── profile-card.scss │ └── testi-card.scss ├── Chat │ ├── Chat.vue │ ├── chat-style.scss │ └── index.js ├── Comment │ ├── Form.vue │ ├── Group.vue │ ├── Help.vue │ ├── Item.vue │ └── comment.scss ├── CompanyLogo │ ├── CompanyLogo.vue │ ├── index.js │ └── logo-style.scss ├── Corner │ ├── Corner.vue │ └── index.js ├── Counter │ ├── Counter.vue │ ├── counter-style.scss │ └── index.js ├── Error │ ├── Error.vue │ ├── error-style.scss │ └── index.js ├── Faq │ ├── Faq.vue │ ├── FaqList.vue │ ├── TopicList.vue │ ├── faq-style.scss │ └── index.js ├── Feature │ ├── Feature.vue │ ├── MainFeature.vue │ ├── MoreFeature.vue │ ├── feature-styles.scss │ └── index.js ├── Filter │ ├── Filter.vue │ ├── Search.vue │ ├── Sorter.vue │ └── filter.scss ├── Footer │ ├── Basic.vue │ ├── Blog.vue │ ├── Contact.vue │ ├── Main.vue │ ├── SiteMap.vue │ ├── footer-basic.scss │ ├── footer-blog.scss │ ├── footer-contact.scss │ ├── footer-sitemap.scss │ └── index.js ├── Forms │ ├── AuthFrame.vue │ ├── Contact.vue │ ├── ContactMap.vue │ ├── Login.vue │ ├── Register.vue │ ├── SocialAuth.vue │ └── form-style.scss ├── Header │ ├── Basic.vue │ ├── BlogHeader.vue │ ├── DropList.vue │ ├── Hamburger.vue │ ├── Main.vue │ ├── Mega.vue │ ├── Mixed.vue │ ├── NavScroll.vue │ ├── Search.vue │ ├── SideNav │ │ ├── MegaMobile.vue │ │ ├── MixedMobile.vue │ │ ├── MultiMobile.vue │ │ ├── SingleNavMobile.vue │ │ └── SubmenuMobile.vue │ ├── TopNav │ │ ├── MegaMenu.vue │ │ ├── MixedNav.vue │ │ ├── MultiLevel.vue │ │ ├── SearchField.vue │ │ ├── Settings.vue │ │ ├── SingleNav.vue │ │ ├── SubMenuClick.vue │ │ ├── SubMenuHover.vue │ │ └── UserMenu.vue │ ├── data │ │ ├── blog.js │ │ ├── mega.js │ │ ├── multiple.js │ │ ├── sample-pages.js │ │ └── single.js │ ├── header-style.scss │ ├── index.js │ └── sidenav-style.scss ├── Hidden │ ├── Hidden.vue │ └── index.js ├── List │ ├── Description.vue │ ├── Detail.vue │ ├── RelatedItems.vue │ ├── Sidebar │ │ ├── HelpWidget.vue │ │ ├── ImageWidget.vue │ │ ├── NewsWidget.vue │ │ ├── PeopleWidget.vue │ │ ├── ProductWidget.vue │ │ ├── Sidebar.vue │ │ ├── TrendingWidget.vue │ │ └── index.js │ └── list.scss ├── Logo │ ├── Logo.vue │ ├── index.js │ └── logo-style.scss ├── Notification │ ├── Notification.vue │ ├── index.js │ └── notification-style.scss ├── PageNav │ ├── PageNav.vue │ ├── index.js │ └── pagenav-style.scss ├── Paper │ ├── Paper.vue │ ├── index.js │ └── paper.scss ├── Pricing │ ├── Pricing.vue │ ├── index.js │ └── pricing-style.scss ├── ScrollWrap │ ├── ScrollWrap.vue │ ├── index.js │ └── scroll-wrap-style.scss ├── Subscribe │ ├── SubscribeForm.vue │ ├── index.js │ └── subscribe-style.scss ├── Testimonials │ ├── Testimonials.vue │ ├── index.js │ └── testimonials-style.scss └── ThemeWrapper.vue ├── composables └── uiTheme.js ├── config ├── i18n.js ├── theme.js ├── theme.txt └── youtube.js ├── error.vue ├── lang ├── ar-AR.json ├── de-DE.json ├── en-US.json ├── id-ID.json ├── languages.js ├── pt-PT.json └── zh-ZH.json ├── layouts └── default.vue ├── nuxt.config.ts ├── package-lock.json ├── package.json ├── pages ├── about │ ├── index.vue │ └── team.vue ├── blank-page.vue ├── blog │ ├── detail-blog.vue │ └── index.vue ├── collection │ ├── detail-product.vue │ ├── index.vue │ └── products.vue ├── contact │ ├── index.vue │ └── with-map.vue ├── index.vue ├── login.vue ├── register.vue └── utils │ ├── coming-soon.vue │ ├── faq.vue │ ├── maintenance.vue │ └── pricing.vue ├── plugins ├── light-box.js ├── media-query.js ├── smooth-scroll.js ├── vuetify.js └── youtube.js ├── public ├── favicon.ico ├── favicons │ ├── android-icon-144x144.png │ ├── android-icon-192x192.png │ ├── android-icon-36x36.png │ ├── android-icon-48x48.png │ ├── android-icon-72x72.png │ ├── android-icon-96x96.png │ ├── apple-icon-114x114.png │ ├── apple-icon-120x120.png │ ├── apple-icon-144x144.png │ ├── apple-icon-152x152.png │ ├── apple-icon-180x180.png │ ├── apple-icon-57x57.png │ ├── apple-icon-60x60.png │ ├── apple-icon-72x72.png │ ├── apple-icon-76x76.png │ ├── apple-icon-precomposed.png │ ├── apple-icon.png │ ├── browserconfig.xml │ ├── favicon-16x16.png │ ├── favicon-32x32.png │ ├── favicon-96x96.png │ ├── favicon.ico │ ├── manifest.json │ ├── ms-icon-144x144.png │ ├── ms-icon-150x150.png │ ├── ms-icon-310x310.png │ └── ms-icon-70x70.png └── images │ ├── avatars │ ├── pp_boy.svg │ ├── pp_boy2.svg │ ├── pp_boy3.svg │ ├── pp_boy4.svg │ ├── pp_boy5.svg │ ├── pp_girl.svg │ ├── pp_girl2.svg │ ├── pp_girl3.svg │ ├── pp_girl4.svg │ └── pp_girl5.svg │ ├── decoration │ ├── circle-deco.svg │ ├── dot-deco.svg │ └── triangle-deco.svg │ ├── flag-logo.png │ ├── loading.gif │ ├── logos │ ├── agency.png │ ├── architect.png │ ├── cloud.png │ ├── coin.png │ ├── fashion.png │ ├── mobile.png │ ├── profile.png │ ├── saas.png │ └── starter.png │ └── starter │ └── Illustration.png └── tsconfig.json /.eslintrc.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | root: true, 3 | env: { 4 | browser: true, 5 | node: true, 6 | }, 7 | extends: [ 8 | 'eslint:recommended', 9 | 'plugin:vue/vue3-recommended', 10 | '@vue/airbnb', 11 | ], 12 | rules: { 13 | 'no-console': process.env.NODE_ENV === 'production' ? 'error' : 'off', 14 | 'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off', 15 | 'no-nested-ternary': 0, 16 | 'vuejs-accessibility/label-has-for': 0, 17 | 'vuejs-accessibility/anchor-has-content': 0, 18 | 'vue/component-tags-order': 0, 19 | 'vue/no-template-shadow': 0, 20 | 'no-restricted-exports': 0, 21 | 'vue/multi-word-component-names': 0, 22 | 'vue/max-attributes-per-line': 0, 23 | 'import/no-unresolved': 0, 24 | 'import/no-named-as-default': 0, 25 | 'no-unused-expressions': 0, 26 | 'id-length': 0, 27 | 'no-script-url': 0, 28 | 'import/no-extraneous-dependencies': 0, 29 | 'no-underscore-dangle': 0, 30 | 'global-require': 0, 31 | 'import/newline-after-import': 0, 32 | 'import/extensions': 0, 33 | 'prefer-template': 0, 34 | 'max-len': 0, 35 | 'function-paren-newline': 0, 36 | 'react/no-typos': 0, 37 | 'arrow-parens': 0, 38 | 'linebreak-style': 0 39 | }, 40 | }; 41 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | *.log* 3 | .nuxt 4 | .nitro 5 | .cache 6 | .output 7 | .env 8 | dist 9 | .DS_Store 10 | -------------------------------------------------------------------------------- /.npmrc: -------------------------------------------------------------------------------- 1 | shamefully-hoist=true 2 | strict-peer-dependencies=false 3 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2021 Ilham Meidi 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Awrora Starter - Vue JS Landing Page Template 2 | ---------- 3 | 4 | ### Read documentation here 5 | http://ilhammeidi.github.io/awrora-docs 6 | 7 | ### Template Feature 8 | - Modern Technologies. Built with one of most popular javascript library Vue.JS, Vuetify and Nuxt.JS with SSR 9 | - Premium designs. Simple and elegant multi color scheme 10 | - More Variant Components. This template including 7 Header type and 4 Footer type, plus Scroll Page Navigator and Chat Panel. 11 | - Dark Mode. Creative and modern design along with dark mode to make it easy on your eyes. 12 | - RTL Support.RTL adjustment styling with rtl-sass 13 | - Support multilanguage. Including 6 translation English, Deutsch, Arabic, Chinese, Bahasa Indonesia, Español. 14 | - Interactive and Attractive show. Stunning animation, parallax, scrolling effects, until video background will make your site wilder 15 | - Next Generation JavaScript written in ES6 16 | - Responsive design Based on standard 12 Grid System 17 | - Support mono repo, . Modern architecture to managing modules in multiple project. 18 | - Clean code maintained by eslint. 19 | - Fully vector icons and font icons. 20 | - And many more… 21 | 22 | # Get All Landing Page Collection 23 | ![Awrora](https://ilhammeidi.github.io/awrora-docs/images/banner.jpg) 24 | 25 | [GET IT NOW on Envato](https://themeforest.net/item/awrora-vue-js-landing-page-collection/31173494) 26 | 27 | [SEE DEMO](https://awrora.netlify.app/) 28 | 29 | ### Installation 30 | 31 | - Clone this project 32 | - Install module dependencies by run this script in terminal 33 | `npm install` 34 | - Finally run the app. 35 | `npm run dev` 36 | - Navigate to [http://localhost:8000](http://localhost:8000) 37 | 38 | ### Deployment 39 | 40 | - First you need to build the production assets first 41 | `npm run build` 42 | - Then start the app 43 | `npm start` 44 | - Navigate to [http://localhost:8000](http://localhost:8000) 45 | 46 | ### License 47 | This project is licensed under the terms of the [MIT license](https://github.com/ilhammeidi/boss-lite/blob/master/LICENSE.txt). 48 | -------------------------------------------------------------------------------- /assets/images/imgAPI.js: -------------------------------------------------------------------------------- 1 | const imgAPI = { 2 | avatar: [ 3 | '/images/avatars/pp_girl.svg', 4 | '/images/avatars/pp_girl2.svg', 5 | '/images/avatars/pp_girl3.svg', 6 | '/images/avatars/pp_girl4.svg', 7 | '/images/avatars/pp_girl5.svg', 8 | '/images/avatars/pp_girl.svg', 9 | '/images/avatars/pp_boy.svg', 10 | '/images/avatars/pp_boy2.svg', 11 | '/images/avatars/pp_boy3.svg', 12 | '/images/avatars/pp_boy4.svg', 13 | '/images/avatars/pp_boy5.svg', 14 | ], 15 | photo: [ 16 | 'http://via.placeholder.com/1280x640/2196F3/FFFFFF/', 17 | 'http://via.placeholder.com/1280x640/3F51B5/FFFFFF/', 18 | 'http://via.placeholder.com/1280x640/00BCD4/FFFFFF/', 19 | 'http://via.placeholder.com/1280x640/009688/FFFFFF/', 20 | 'http://via.placeholder.com/1280x640/01579B/FFFFFF/', 21 | 'http://via.placeholder.com/1280x640/0097A7/FFFFFF/', 22 | 'http://via.placeholder.com/1280x640/43A047/FFFFFF/', 23 | 'http://via.placeholder.com/1280x640/558B2F/FFFFFF/', 24 | 'http://via.placeholder.com/1280x640/1DE9B6/767676/', 25 | 'http://via.placeholder.com/1280x640/00E5FF/767676/', 26 | 'http://via.placeholder.com/1280x640/C6FF00/767676/', 27 | ], 28 | ui: [ 29 | 'http://via.placeholder.com/200x78/2f688b/FFFFFF/', 30 | 'http://via.placeholder.com/200x78/fcbdff/767676/', 31 | 'http://via.placeholder.com/200x78/ceff00/767676/', 32 | 'http://via.placeholder.com/200x78/ffce00/767676/', 33 | ], 34 | }; 35 | 36 | export default imgAPI; 37 | -------------------------------------------------------------------------------- /assets/images/starter-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ilhammeidi/awrora-starter/129a3418485c05204fba297431664771487f2fc7/assets/images/starter-logo.png -------------------------------------------------------------------------------- /assets/scss/_common.scss: -------------------------------------------------------------------------------- 1 | .use-text { 2 | &-title { 3 | font-weight: $font-bold; 4 | font-size: 48px; 5 | line-height: 72px; 6 | @include breakpoints-down(md) { 7 | font-size: 38px; 8 | line-height: 60px; 9 | } 10 | @include breakpoints-down(xs) { 11 | font-size: 28px; 12 | line-height: 44px; 13 | } 14 | } 15 | &-title2 { 16 | font-size: 36px; 17 | line-height: 56px; 18 | font-weight: $font-bold; 19 | @include breakpoints-down(md) { 20 | font-size: 32px; 21 | line-height: 48px; 22 | } 23 | @include breakpoints-down(xs) { 24 | font-size: 24px; 25 | line-height: 36px; 26 | } 27 | } 28 | &-subtitle { 29 | font-weight: $font-medium; 30 | font-size: 28px; 31 | line-height: 44px; 32 | @include breakpoints-down(md) { 33 | font-size: 24px; 34 | line-height: 36px; 35 | } 36 | @include breakpoints-down(xs) { 37 | font-size: 18px; 38 | line-height: 28px; 39 | } 40 | } 41 | &-subtitle2 { 42 | font-weight: $font-regular; 43 | font-size: 22px; 44 | line-height: 32px; 45 | @include breakpoints-down(md) { 46 | font-size: 20px; 47 | line-height: 32px 48 | } 49 | @include breakpoints-down(xs) { 50 | font-size: 16px; 51 | line-height: 24px; 52 | } 53 | } 54 | &-paragraph { 55 | font-weight: $font-regular; 56 | font-size: 16px; 57 | line-height: 24px 58 | } 59 | &-caption { 60 | font-weight: $font-regular; 61 | font-size: 16px; 62 | line-height: 24px; 63 | @include breakpoints-down(xs) { 64 | font-size: 14px; 65 | line-height: 22px; 66 | } 67 | } 68 | } 69 | 70 | .use-hidden { 71 | &-lg-down { 72 | @include breakpoints-down(lg) { 73 | display: none !important; 74 | } 75 | } 76 | &-md-down { 77 | @include breakpoints-down(md) { 78 | display: none !important; 79 | } 80 | } 81 | &-sm-down { 82 | @include breakpoints-down(sm) { 83 | display: none !important; 84 | } 85 | } 86 | &-xs-down { 87 | @include breakpoints-down(xs) { 88 | display: none !important; 89 | } 90 | } 91 | &-lg-up { 92 | @include breakpoints-up(lg) { 93 | display: none !important; 94 | } 95 | } 96 | &-md-up { 97 | @include breakpoints-up(md) { 98 | display: none !important; 99 | } 100 | } 101 | &-sm-up { 102 | @include breakpoints-up(sm) { 103 | display: none !important; 104 | } 105 | } 106 | } 107 | 108 | .use-rtl-flip { 109 | .v-locale--is-rtl & { 110 | transform: scaleX(-1) 111 | } 112 | } 113 | -------------------------------------------------------------------------------- /assets/scss/_functions.scss: -------------------------------------------------------------------------------- 1 | /** spacing funcation 2 | ** Sample 1: margin-left: spacing(5); 3 | ** Sample 2: @include margin-left(spacing(5)); 4 | **/ 5 | 6 | @function spacing($top, $right: -1, $bottom: -1, $left: -1) { 7 | @if ($left > -1) { 8 | @return ($top * $unit) ($right * $unit) ($bottom * $unit) ($left * $unit); 9 | } 10 | 11 | @if ($bottom > -1) { 12 | @return ($top * $unit) ($right * $unit) ($bottom * $unit) ($right * $unit); 13 | } 14 | 15 | @if ($right > -1) { 16 | @return ($top * $unit) ($right * $unit) ($top * $unit) ($right * $unit); 17 | } 18 | 19 | @return ($top * $unit) 20 | } 21 | -------------------------------------------------------------------------------- /assets/scss/_url-img.scss: -------------------------------------------------------------------------------- 1 | $imgAPI-starter0: 'https://via.placeholder.com/1280x640/2196F3/FFFFFF/'; 2 | $imgAPI-starter1: 'https://via.placeholder.com/1280x640/3F51B5/FFFFFF/'; 3 | $imgAPI-starter2: 'https://via.placeholder.com/1280x640/00BCD4/FFFFFF/'; 4 | $imgAPI-starter3: 'https://via.placeholder.com/1280x640/009688/FFFFFF/'; 5 | $imgAPI-starter4: 'https://via.placeholder.com/1280x640/01579B/FFFFFF/'; 6 | $imgAPI-starter5: 'https://via.placeholder.com/1280x640/0097A7/FFFFFF/'; 7 | $imgAPI-starter6: 'https://via.placeholder.com/1280x640/43A047/FFFFFF/'; 8 | $imgAPI-starter7: 'https://via.placeholder.com/1280x640/558B2F/FFFFFF/'; 9 | $imgAPI-starter8: 'https://via.placeholder.com/1280x640/1DE9B6/767676/'; 10 | $imgAPI-starter9: 'https://via.placeholder.com/1280x640/00E5FF/767676/'; 11 | $imgAPI-starter10: 'https://via.placeholder.com/1280x640/C6FF00/767676/'; 12 | -------------------------------------------------------------------------------- /assets/scss/_variables.scss: -------------------------------------------------------------------------------- 1 | // Base unit 2 | $unit: 8px; 3 | 4 | // Spacing unit 5 | $spacing1: 1 * $unit; 6 | $spacing2: 2 * $unit; 7 | $spacing3: 3 * $unit; 8 | $spacing4: 4 * $unit; 9 | $spacing5: 5 * $unit; 10 | $spacing6: 6 * $unit; 11 | $spacing7: 7 * $unit; 12 | $spacing8: 8 * $unit; 13 | $spacing9: 9 * $unit; 14 | $spacing10: 10 * $unit; 15 | $spacing11: 11 * $unit; 16 | $spacing12: 12 * $unit; 17 | $spacing13: 13 * $unit; 18 | $spacing14: 14 * $unit; 19 | $spacing15: 15 * $unit; 20 | $spacing16: 16 * $unit; 21 | $spacing17: 17 * $unit; 22 | $spacing18: 18 * $unit; 23 | $spacing19: 19 * $unit; 24 | $spacing20: 20 * $unit; 25 | 26 | // Font weight 27 | $font-light: var(--font-light); 28 | $font-regular: var(--font-regular); 29 | $font-medium: var(--font-medium); 30 | $font-bold: var(--font-bold); 31 | 32 | // Link 33 | $palette-link: var(--v-anchor-base); 34 | 35 | // Theme color palette primary 36 | $palette-primary-main: rgb(var(--v-theme-primary)); 37 | $palette-primary-light: rgb(var(--v-theme-primarylight)); 38 | $palette-primary-dark: rgb(var(--v-theme-primarydark)); 39 | 40 | // Theme color palette secondary 41 | $palette-secondary-main: rgb(var(--v-theme-secondary)); 42 | $palette-secondary-light: rgb(var(--v-theme-secondarylight)); 43 | $palette-secondary-dark: rgb(var(--v-theme-secondarydark)); 44 | 45 | // Theme color palette accent 46 | $palette-accent-main: rgb(var(--v-theme-accent)); 47 | $palette-accent-light: rgb(var(--v-theme-accentlight)); 48 | $palette-accent-dark: rgb(var(--v-theme-accentdark)); 49 | 50 | // Common color palette 51 | $palette-common-white: #FFF; 52 | $palette-common-black: #000; 53 | 54 | // Light color palette 55 | $light-text-primary: rgba(0, 0, 0, 0.87); 56 | $light-text-secondary: rgba(0, 0, 0, 0.54); 57 | $light-text-disabled: rgba(0, 0, 0, 0.38); 58 | $light-text-hint: rgba(0, 0, 0, 0.38); 59 | 60 | $light-divider: rgba(0, 0, 0, 0.12); 61 | 62 | $light-background-paper: #fff; 63 | $light-background-default: #fafafa; 64 | 65 | // Dark Color Palette 66 | $dark-text-primary: #fff; 67 | $dark-text-secondary: rgba(255, 255, 255, 0.7); 68 | $dark-text-disabled: rgba(255, 255, 255, 0.5); 69 | $dark-text-hint: rgba(255, 255, 255, 0.5); 70 | 71 | $dark-divider: rgba(255, 255, 255, 0.12); 72 | 73 | $dark-background-paper: #424242; 74 | $dark-background-default: #303030; 75 | 76 | // Rounded Border Radius 77 | $rounded-small: 8px; 78 | $rounded-medium: 12px; 79 | $rounded-big: 20px; 80 | -------------------------------------------------------------------------------- /assets/scss/pages.scss: -------------------------------------------------------------------------------- 1 | @function section-margin($margin) { 2 | @return $margin * 15; 3 | } 4 | .main-wrap { 5 | position: relative; 6 | width: 100%; 7 | @include palette-text-primary; 8 | .v-theme--dark & { 9 | background-color: $dark-background-default; 10 | } 11 | .v-theme--light & { 12 | background-color: $light-background-paper; 13 | } 14 | } 15 | .space-bottom { 16 | margin-bottom: section-margin($spacing1); 17 | @include breakpoints-down(md) { 18 | margin-bottom: section-margin(6px); 19 | } 20 | } 21 | .space-top { 22 | margin-top: section-margin($spacing1); 23 | @include breakpoints-down(md) { 24 | margin-top: section-margin(6px); 25 | } 26 | } 27 | .space-bottom-short { 28 | margin-bottom: section-margin($spacing1 * 0.5); 29 | } 30 | .space-top-short { 31 | margin-top: section-margin($spacing1 * 0.5); 32 | } 33 | .container-wrap { 34 | & > section { 35 | position: relative; 36 | } 37 | } 38 | 39 | .container-general { 40 | position: relative; 41 | padding-top: 32px; 42 | margin-top: $spacing7; 43 | margin-bottom: $spacing5; 44 | @include breakpoints-up(sm) { 45 | padding-left: 32px; 46 | padding-right: 32px; 47 | } 48 | } 49 | 50 | .full-screen-container { 51 | height: 100vh; 52 | display: flex; 53 | } 54 | 55 | .maintenance-icon { 56 | border-radius: 50%; 57 | margin: $spacing1; 58 | padding: $spacing2; 59 | width: auto; 60 | height: auto; 61 | &.v-icon { 62 | font-size: 48px; 63 | } 64 | @include use-theme(background, $light-divider, $dark-divider); 65 | @include breakpoints-up(sm) { 66 | padding: $spacing3; 67 | margin: $spacing3; 68 | } 69 | } 70 | 71 | .header-filter { 72 | z-index: 10 73 | } 74 | -------------------------------------------------------------------------------- /assets/scss/styles.scss: -------------------------------------------------------------------------------- 1 | /* 2 | ** RTL Mixins including margin, pading, position, border and border radius 3 | ** See documentation https://www.npmjs.com/package/rtl-sass 4 | */ 5 | @import '@/node_modules/rtl-sass/src/_rtl.scss'; 6 | 7 | /* 8 | ** Color Var 9 | */ 10 | @import './color-var'; 11 | 12 | /* 13 | ** Custom variable 14 | */ 15 | @import './variables'; 16 | 17 | /* 18 | ** Custom mixins 19 | */ 20 | @import './mixins'; 21 | 22 | /* 23 | ** Custom functions 24 | */ 25 | @import './functions'; 26 | 27 | /* 28 | ** Custom media queries 29 | */ 30 | @import './media-queries'; 31 | 32 | /* 33 | ** Commons scss class 34 | */ 35 | @import './common'; 36 | 37 | /* 38 | ** Image API variable 39 | */ 40 | @import './url-img'; 41 | -------------------------------------------------------------------------------- /assets/scss/transition.scss: -------------------------------------------------------------------------------- 1 | /* Fade Up */ 2 | #main-wrap { 3 | opacity: 0; 4 | &.page-fade-transition-exit { 5 | opacity: 1; 6 | -webkit-transition: opacity 400ms; 7 | transition: opacity 400ms; 8 | } 9 | } -------------------------------------------------------------------------------- /assets/scss/vendors/slick-carousel/ajax-loader.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ilhammeidi/awrora-starter/129a3418485c05204fba297431664771487f2fc7/assets/scss/vendors/slick-carousel/ajax-loader.gif -------------------------------------------------------------------------------- /assets/scss/vendors/slick-carousel/fonts/slick.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ilhammeidi/awrora-starter/129a3418485c05204fba297431664771487f2fc7/assets/scss/vendors/slick-carousel/fonts/slick.eot -------------------------------------------------------------------------------- /assets/scss/vendors/slick-carousel/fonts/slick.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Generated by Fontastic.me 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /assets/scss/vendors/slick-carousel/fonts/slick.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ilhammeidi/awrora-starter/129a3418485c05204fba297431664771487f2fc7/assets/scss/vendors/slick-carousel/fonts/slick.ttf -------------------------------------------------------------------------------- /assets/scss/vendors/slick-carousel/fonts/slick.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ilhammeidi/awrora-starter/129a3418485c05204fba297431664771487f2fc7/assets/scss/vendors/slick-carousel/fonts/slick.woff -------------------------------------------------------------------------------- /assets/scss/vendors/slick-carousel/slick.css: -------------------------------------------------------------------------------- 1 | /* Slider */ 2 | .slick-slider 3 | { 4 | position: relative; 5 | direction: ltr; 6 | display: block; 7 | box-sizing: border-box; 8 | 9 | -webkit-user-select: none; 10 | -moz-user-select: none; 11 | -ms-user-select: none; 12 | user-select: none; 13 | 14 | -webkit-touch-callout: none; 15 | -khtml-user-select: none; 16 | -ms-touch-action: pan-y; 17 | touch-action: pan-y; 18 | -webkit-tap-highlight-color: transparent; 19 | } 20 | 21 | .slick-list 22 | { 23 | position: relative; 24 | 25 | display: block; 26 | overflow: hidden; 27 | 28 | margin: 0; 29 | padding: 0; 30 | } 31 | .slick-list:focus 32 | { 33 | outline: none; 34 | } 35 | .slick-list.dragging 36 | { 37 | cursor: pointer; 38 | cursor: hand; 39 | } 40 | 41 | .slick-slider .slick-track, 42 | .slick-slider .slick-list 43 | { 44 | -webkit-transform: translate3d(0, 0, 0); 45 | -moz-transform: translate3d(0, 0, 0); 46 | -ms-transform: translate3d(0, 0, 0); 47 | -o-transform: translate3d(0, 0, 0); 48 | transform: translate3d(0, 0, 0); 49 | } 50 | 51 | .slick-track 52 | { 53 | position: relative; 54 | top: 0; 55 | left: 0; 56 | 57 | display: block; 58 | margin-left: auto; 59 | margin-right: auto; 60 | } 61 | .slick-track:before, 62 | .slick-track:after 63 | { 64 | display: table; 65 | 66 | content: ''; 67 | } 68 | .slick-track:after 69 | { 70 | clear: both; 71 | } 72 | .slick-loading .slick-track 73 | { 74 | visibility: hidden; 75 | } 76 | 77 | .slick-slide 78 | { 79 | display: none; 80 | float: left; 81 | height: 100%; 82 | min-height: 1px; 83 | } 84 | .slick-slide img 85 | { 86 | display: block; 87 | } 88 | .slick-slide.slick-loading img 89 | { 90 | display: none; 91 | } 92 | .slick-slide.dragging img 93 | { 94 | pointer-events: none; 95 | } 96 | .slick-initialized .slick-slide 97 | { 98 | display: block; 99 | } 100 | .slick-loading .slick-slide 101 | { 102 | visibility: hidden; 103 | } 104 | .slick-vertical .slick-slide 105 | { 106 | display: block; 107 | 108 | height: auto; 109 | 110 | border: 1px solid transparent; 111 | } 112 | .slick-arrow.slick-hidden { 113 | display: none; 114 | } 115 | -------------------------------------------------------------------------------- /assets/text/brand.js: -------------------------------------------------------------------------------- 1 | const brand = { 2 | starter: { 3 | name: 'Starter', 4 | desc: 'Awrora Starter Template', 5 | prefix: 'awrora', 6 | footerText: 'Awrora Theme All Rights Reserved 2020', 7 | logoText: 'Awrora Theme', 8 | projectName: 'Starter Project', 9 | url: 'awrora.ux-maestro.com', 10 | img: '/images/starter-logo.png', 11 | notifMsg: 12 | 'Donec sit amet nulla sed arcu pulvinar ultricies commodo id ligula.', 13 | }, 14 | }; 15 | 16 | export default brand; 17 | -------------------------------------------------------------------------------- /assets/text/link.js: -------------------------------------------------------------------------------- 1 | const link = { 2 | starter: { 3 | home: '/', 4 | about: '/about', 5 | team: '/about/team', 6 | blog: '/blog', 7 | blogDetail: '/blog/detail-blog', 8 | login: '/login', 9 | register: '/register', 10 | contact: '/contact', 11 | contactMap: '/contact/with-map', 12 | card: '/collection', 13 | product: '/collection/products', 14 | productDetail: '/collection/detail-product', 15 | pricing: '/utils/pricing', 16 | faq: '/utils/faq', 17 | maintenance: '/utils/maintenance', 18 | comingSoon: '/utils/coming-soon', 19 | }, 20 | }; 21 | 22 | export default link; 23 | -------------------------------------------------------------------------------- /components/About/Banner.vue: -------------------------------------------------------------------------------- 1 | 26 | 27 | 30 | -------------------------------------------------------------------------------- /components/About/Progress.vue: -------------------------------------------------------------------------------- 1 | 77 | 78 | 81 | 82 | 101 | -------------------------------------------------------------------------------- /components/About/TeamGrid.vue: -------------------------------------------------------------------------------- 1 | 23 | 24 | 39 | -------------------------------------------------------------------------------- /components/About/TeamSlider.vue: -------------------------------------------------------------------------------- 1 | 38 | 39 | 42 | 43 | 77 | -------------------------------------------------------------------------------- /components/About/Video.vue: -------------------------------------------------------------------------------- 1 | 45 | 46 | 49 | 50 | 92 | -------------------------------------------------------------------------------- /components/BannerSlider/index.js: -------------------------------------------------------------------------------- 1 | export { default } from './BannerSlider'; 2 | -------------------------------------------------------------------------------- /components/BannerSlider/slider-styles.scss: -------------------------------------------------------------------------------- 1 | .banner-wrap { 2 | position: relative; 3 | display: block; 4 | } 5 | 6 | .slide { 7 | position: relative; 8 | @include breakpoints-up('sm') { 9 | height: 500px; 10 | } 11 | @include breakpoints-down('xs') { 12 | padding: spacing(15, 0, 5) 13 | } 14 | } 15 | 16 | .img { 17 | @include right(1%); 18 | max-width: 40%; 19 | img { 20 | width: 100%; 21 | } 22 | @include breakpoints-up('sm') { 23 | position: absolute; 24 | top: 100px; 25 | } 26 | @include breakpoints-up('md') { 27 | @include right(10%); 28 | max-width: 50%; 29 | } 30 | @include breakpoints-down('xs') { 31 | margin: spacing(4, 0) 32 | } 33 | } 34 | 35 | .inner { 36 | display: flex; 37 | height: 100%; 38 | align-items: center; 39 | @include breakpoints-down('xs') { 40 | flex-direction: column; 41 | justify-content: center; 42 | text-align: center; 43 | } 44 | } 45 | 46 | .text { 47 | h4 { 48 | font-weight: $font-bold; 49 | margin-bottom: $spacing2; 50 | } 51 | h5 { 52 | @include palette-text-secondary 53 | } 54 | } 55 | 56 | .slide-nav { 57 | display: flex; 58 | .v-btn { 59 | text-transform: none; 60 | height: auto; 61 | padding: $spacing1; 62 | flex: 1; 63 | font-weight: $font-regular; 64 | :deep(.v-btn__content) { 65 | flex-direction: column; 66 | align-items: flex-start; 67 | text-align: left; 68 | } 69 | strong { 70 | text-transform: capitalize; 71 | font-size: 28px; 72 | display: block; 73 | font-weight: $font-bold; 74 | } 75 | &.active { 76 | color: $palette-primary-main 77 | } 78 | } 79 | } 80 | 81 | .divider { 82 | margin: spacing(0, 2) 83 | } 84 | -------------------------------------------------------------------------------- /components/Blog/Blog.vue: -------------------------------------------------------------------------------- 1 | 37 | 38 | 41 | 42 | 75 | -------------------------------------------------------------------------------- /components/Blog/Headline.vue: -------------------------------------------------------------------------------- 1 | 18 | 19 | 22 | 23 | 34 | -------------------------------------------------------------------------------- /components/Blog/Sidebar/CommentWidget.vue: -------------------------------------------------------------------------------- 1 | 23 | 24 | 74 | -------------------------------------------------------------------------------- /components/Blog/Sidebar/GalleryWidget.vue: -------------------------------------------------------------------------------- 1 | 43 | 44 | 47 | 48 | 76 | -------------------------------------------------------------------------------- /components/Blog/Sidebar/ListWidget.vue: -------------------------------------------------------------------------------- 1 | 28 | 29 | 52 | -------------------------------------------------------------------------------- /components/Blog/Sidebar/PostWidget.vue: -------------------------------------------------------------------------------- 1 | 22 | 23 | 58 | -------------------------------------------------------------------------------- /components/Blog/Sidebar/ProfileWidget.vue: -------------------------------------------------------------------------------- 1 | 52 | 53 | 62 | -------------------------------------------------------------------------------- /components/Blog/Sidebar/Sidebar.vue: -------------------------------------------------------------------------------- 1 | 16 | 17 | 36 | -------------------------------------------------------------------------------- /components/Blog/Sidebar/SubscribeWidget.vue: -------------------------------------------------------------------------------- 1 | 27 | 28 | 31 | 32 | 41 | -------------------------------------------------------------------------------- /components/Blog/Sidebar/index.js: -------------------------------------------------------------------------------- 1 | export { default } from './Sidebar'; 2 | -------------------------------------------------------------------------------- /components/Blog/blog-style.scss: -------------------------------------------------------------------------------- 1 | .blog-headline { 2 | cursor: pointer; 3 | :deep(.v-img__img) { 4 | height: auto 5 | } 6 | } 7 | 8 | .content { 9 | display: block; 10 | color: #fff; 11 | text-decoration: none; 12 | box-sizing: border-box; 13 | padding: $spacing2; 14 | @include breakpoints-up(md) { 15 | padding: $spacing8; 16 | } 17 | & > * { 18 | white-space: normal; 19 | } 20 | } 21 | 22 | .headline-title { 23 | font-weight: $font-medium; 24 | margin-bottom: $spacing4 25 | } 26 | 27 | .title-blog { 28 | font-weight: $font-medium 29 | } 30 | 31 | .image-blog { 32 | margin: spacing(5, 0); 33 | img { 34 | width: 100% 35 | } 36 | } 37 | 38 | .blog-content { 39 | @include breakpoints-down(xs) { 40 | margin-top: $spacing2 41 | } 42 | ul, ol, p { 43 | margin-bottom: $spacing2 44 | } 45 | } 46 | 47 | .list { 48 | list-style: disc 49 | } 50 | 51 | .share-socmed { 52 | border-top: 1px solid; 53 | border-bottom: 1px solid; 54 | @include palette-divider; 55 | padding: spacing(3, 0); 56 | margin: spacing(3, 0); 57 | :deep(.v-btn) { 58 | border-width: 2px; 59 | @include margin-right($spacing2) 60 | } 61 | } 62 | 63 | .facebook { 64 | border-color: #0D47A1; 65 | :deep(.v-icon) { 66 | color: #0D47A1; 67 | } 68 | } 69 | 70 | .twitter { 71 | border-color: #00BCD4; 72 | :deep(.v-icon) { 73 | color: #00BCD4; 74 | } 75 | } 76 | 77 | .linkedin { 78 | border-color: #2196F3; 79 | :deep(.v-icon) { 80 | color: #2196F3; 81 | } 82 | } 83 | 84 | .subtitle { 85 | font-weight: $font-bold; 86 | margin-bottom: $spacing3; 87 | @include use-theme(color, $palette-primary-dark, $palette-primary-light); 88 | } 89 | 90 | .gallery-item { 91 | padding: 2px; 92 | } 93 | 94 | .form { 95 | display: flex; 96 | align-items: center; 97 | padding: spacing(1, 2) 98 | } 99 | 100 | .input { 101 | flex: 1; 102 | 103 | } 104 | 105 | .send { 106 | @include margin-left($spacing2); 107 | } 108 | -------------------------------------------------------------------------------- /components/Blog/index.js: -------------------------------------------------------------------------------- 1 | export { default } from './Blog'; 2 | -------------------------------------------------------------------------------- /components/CallAction/CallAction.vue: -------------------------------------------------------------------------------- 1 | 32 | 33 | 36 | 37 | 47 | -------------------------------------------------------------------------------- /components/CallAction/action-style.scss: -------------------------------------------------------------------------------- 1 | .root { 2 | position: relative; 3 | p { 4 | margin: 0 5 | } 6 | } 7 | 8 | .background { 9 | width: 560px; 10 | height: 560px; 11 | top: $spacing10 * -5; 12 | @include left(20%); 13 | position: absolute; 14 | transform: scale(3); 15 | &.front { 16 | opacity: 0.2; 17 | .v-theme--dark & { 18 | fill: $palette-primary-light; 19 | } 20 | .v-theme--light & { 21 | fill: $palette-primary-light 22 | } 23 | } 24 | &.base { 25 | .v-theme--dark & { 26 | fill: $palette-common-black 27 | } 28 | .v-theme--light & { 29 | fill: $palette-common-white 30 | } 31 | } 32 | } 33 | 34 | .button.v-btn { 35 | @include breakpoints-up(md) { 36 | width: 240px; 37 | height: 64px; 38 | font-size: 18px 39 | } 40 | @include breakpoints-down(sm) { 41 | margin: 0 auto 42 | } 43 | } 44 | 45 | .paper { 46 | padding: $spacing4; 47 | border: 2px solid $palette-secondary-main; 48 | @include breakpoints-down(sm) { 49 | text-align: center 50 | } 51 | @include breakpoints-up(lg) { 52 | padding: spacing(4, 10); 53 | margin: spacing(0, 4); 54 | } 55 | @include breakpoints-down(sm) { 56 | margin-bottom: $spacing5 57 | } 58 | @include breakpoints-down(xs) { 59 | padding: spacing(4, 1); 60 | text-align: center 61 | } 62 | h4 { 63 | font-weight: 700; 64 | .v-theme--dark & { 65 | color: $palette-secondary-light 66 | } 67 | .v-theme--light & { 68 | color: $palette-secondary-dark 69 | } 70 | font-family: 'Roboto Condensed'; 71 | @include breakpoints-down(xs) { 72 | font-size: 28px !important; 73 | margin-bottom: $spacing2 74 | } 75 | } 76 | p { 77 | font-size: 24px; 78 | @include breakpoints-down(sm) { 79 | margin-bottom: $spacing5 80 | } 81 | @include breakpoints-down(xs) { 82 | font-size: 18px; 83 | margin-bottom: $spacing3 84 | } 85 | } 86 | } 87 | 88 | .right-icon { 89 | @include margin-left($spacing1); 90 | .v-locale--is-rtl & { 91 | transform: rotate(180deg) 92 | } 93 | } 94 | -------------------------------------------------------------------------------- /components/CallAction/index.js: -------------------------------------------------------------------------------- 1 | export { default } from './CallAction'; 2 | -------------------------------------------------------------------------------- /components/Cards/MediaCard.vue: -------------------------------------------------------------------------------- 1 | 39 | 40 | 43 | 44 | 74 | -------------------------------------------------------------------------------- /components/Cards/NewsCard.vue: -------------------------------------------------------------------------------- 1 | 37 | 38 | 41 | 42 | 79 | -------------------------------------------------------------------------------- /components/Cards/PostCard.vue: -------------------------------------------------------------------------------- 1 | 43 | 44 | 47 | 48 | 82 | -------------------------------------------------------------------------------- /components/Cards/PricingCard.vue: -------------------------------------------------------------------------------- 1 | 47 | 48 | 51 | 52 | 82 | -------------------------------------------------------------------------------- /components/Cards/ProductCard.vue: -------------------------------------------------------------------------------- 1 | 37 | 38 | 41 | 42 | 80 | -------------------------------------------------------------------------------- /components/Cards/TestiCard.vue: -------------------------------------------------------------------------------- 1 | 22 | 23 | 26 | 27 | 45 | -------------------------------------------------------------------------------- /components/Cards/media-card.scss: -------------------------------------------------------------------------------- 1 | /* General */ 2 | 3 | .media-card { 4 | overflow: hidden; 5 | position: relative; 6 | margin: spacing(6, 0, 2); 7 | height: 340px; 8 | figure { 9 | margin: 0; 10 | height: 100%; 11 | img { 12 | object-fit: cover 13 | } 14 | } 15 | .v-badge { 16 | width: 100%; 17 | position: absolute; 18 | } 19 | } 20 | 21 | .play-btn.v-btn { 22 | position: absolute; 23 | width: 80px; 24 | height: 80px; 25 | top: 50%; 26 | left: 50%; 27 | border-radius: 50%; 28 | transform: translate(-50%, -50%); 29 | @include palette-background-paper; 30 | span { 31 | &:before { 32 | font-size: 60px; 33 | margin-left: $spacing1; 34 | @include use-theme(color, $palette-secondary-main, $palette-secondary-light) 35 | } 36 | } 37 | } 38 | 39 | .property { 40 | transition: all 0.3s ease-out; 41 | position: absolute; 42 | width: 100%; 43 | height: 100%; 44 | min-height: 170px; 45 | padding: $spacing3; 46 | top: 0; 47 | @include text-align(left); 48 | display: flex; 49 | flex-direction: column; 50 | justify-content: flex-end; 51 | @include left(0); 52 | color: $palette-common-white; 53 | background: linear-gradient(to bottom, rgba(238, 238, 238, 0) 20%, #000 90%); 54 | } 55 | 56 | .media-title { 57 | color: $palette-common-white; 58 | line-height: 22px 59 | } 60 | 61 | /* Orientation */ 62 | .landscape { 63 | .media-title { 64 | text-align: left; 65 | } 66 | } 67 | 68 | .portrait { 69 | max-width: 400px; 70 | .media-title { 71 | text-align: center; 72 | justify-content: center; 73 | } 74 | } 75 | 76 | /* Type */ 77 | 78 | .cover-link { 79 | width: 100%; 80 | height: 100%; 81 | position: absolute; 82 | top: 0; 83 | left: 0; 84 | cursor: pointer; 85 | z-index: 1; 86 | } 87 | 88 | .photo { 89 | cursor: pointer; 90 | } 91 | -------------------------------------------------------------------------------- /components/Cards/pricing-card.scss: -------------------------------------------------------------------------------- 1 | .price { 2 | &-card { 3 | text-align: center; 4 | @include breakpoints-down(xs) { 5 | max-width: 320px; 6 | margin: 0 auto; 7 | } 8 | h2 { 9 | @include palette-text-primary 10 | } 11 | h6 { 12 | @include palette-text-secondary 13 | } 14 | ul { 15 | list-style: none; 16 | li { 17 | @include palette-text-secondary 18 | } 19 | } 20 | } 21 | &-header { 22 | display: block; 23 | padding: $spacing2; 24 | position: relative; 25 | @include use-theme(background-color, #EEEEEE, #424242); 26 | .icon { 27 | position: absolute; 28 | top: $spacing1; 29 | @include right($spacing1); 30 | @include palette-text-primary 31 | } 32 | } 33 | } -------------------------------------------------------------------------------- /components/Cards/testi-card.scss: -------------------------------------------------------------------------------- 1 | .card { 2 | padding: $spacing3; 3 | &-pricing { 4 | display: flex; 5 | justify-content: center; 6 | align-items: baseline; 7 | margin-bottom: $spacing2; 8 | } 9 | } 10 | .name { 11 | display: flex; 12 | margin-top: $spacing1; 13 | align-items: center; 14 | span { 15 | display: inline-block; 16 | @include margin-left($spacing1) 17 | } 18 | } 19 | 20 | .avatar { 21 | width: 30px; 22 | height: 30px; 23 | img { 24 | width: 100% 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /components/Chat/index.js: -------------------------------------------------------------------------------- 1 | export { default } from './Chat'; 2 | -------------------------------------------------------------------------------- /components/Comment/Form.vue: -------------------------------------------------------------------------------- 1 | 34 | 35 | 38 | 39 | 57 | -------------------------------------------------------------------------------- /components/Comment/Help.vue: -------------------------------------------------------------------------------- 1 | 73 | 74 | 77 | -------------------------------------------------------------------------------- /components/Comment/Item.vue: -------------------------------------------------------------------------------- 1 | 24 | 25 | 28 | 29 | 57 | -------------------------------------------------------------------------------- /components/Comment/comment.scss: -------------------------------------------------------------------------------- 1 | .form-comment { 2 | @include use-theme(background-color, $palette-primary-light, $palette-primary-dark); 3 | padding: $spacing1; 4 | @include breakpoints-up(sm) { 5 | padding: spacing(2, 3); 6 | } 7 | } 8 | 9 | .write { 10 | position: relative; 11 | display: flex; 12 | align-items: center; 13 | :deep(fieldset) { 14 | height: 41px; 15 | } 16 | :deep(.v-field__field) { 17 | @include padding-right(140px); 18 | min-height: 0; 19 | margin-bottom: 0; 20 | input { 21 | max-height: none; 22 | } 23 | } 24 | :deep(.v-text-field__details) { 25 | display: none; 26 | } 27 | .send-btn { 28 | position: absolute; 29 | top: 12px; 30 | @include right($spacing1); 31 | @include use-theme(background-color, $palette-primary-light, $palette-primary-dark); 32 | } 33 | } 34 | 35 | .avatar { 36 | @include margin-right($spacing1) 37 | } 38 | 39 | .comment-list { 40 | margin-top: $spacing2 41 | } 42 | 43 | .date { 44 | height: auto; 45 | padding: 0; 46 | font-size: 12px; 47 | margin-left: -16px 48 | } 49 | 50 | .content { 51 | margin-top: $spacing1; 52 | margin-bottom: $spacing2; 53 | line-height: 1.5; 54 | } 55 | 56 | .help-item { 57 | text-transform: uppercase; 58 | font-size: 13px; 59 | } 60 | -------------------------------------------------------------------------------- /components/CompanyLogo/CompanyLogo.vue: -------------------------------------------------------------------------------- 1 | 13 | 14 | 17 | 18 | 34 | -------------------------------------------------------------------------------- /components/CompanyLogo/index.js: -------------------------------------------------------------------------------- 1 | export { default } from './CompanyLogo'; 2 | -------------------------------------------------------------------------------- /components/CompanyLogo/logo-style.scss: -------------------------------------------------------------------------------- 1 | .root { 2 | display: flex; 3 | @include breakpoints-up(sm) { 4 | justify-content: center; 5 | } 6 | @include breakpoints-down(xs) { 7 | overflow-x: auto 8 | } 9 | img { 10 | height: 64px; 11 | margin: $spacing4; 12 | filter: grayscale(1) contrast(0.5) brightness(1.5); 13 | transition: all 0.3s ease-out; 14 | &:hover { 15 | filter: none 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /components/Corner/Corner.vue: -------------------------------------------------------------------------------- 1 | 5 | 6 | 24 | -------------------------------------------------------------------------------- /components/Corner/index.js: -------------------------------------------------------------------------------- 1 | export { default } from './Corner'; 2 | -------------------------------------------------------------------------------- /components/Counter/counter-style.scss: -------------------------------------------------------------------------------- 1 | .counter-wrap { 2 | padding: spacing(6.5, 0); 3 | position: relative; 4 | &.dark { 5 | background: $palette-primary-main; 6 | .counter-item { 7 | color: $palette-common-white; 8 | .icon { 9 | color: $palette-common-white; 10 | } 11 | } 12 | } 13 | } 14 | 15 | #watched_counter{ 16 | position: absolute; 17 | top: -500px; 18 | width: 10px; 19 | height: 10px; 20 | } 21 | 22 | .counter-item { 23 | align-items: center; 24 | justify-content: center; 25 | @include breakpoints-up(md) { 26 | display: flex 27 | } 28 | @include breakpoints-down(sm) { 29 | text-align: center; 30 | } 31 | @include breakpoints-down(xs) { 32 | display: flex; 33 | text-align: left; 34 | } 35 | .icon { 36 | width: 40px; 37 | height: 40px; 38 | font-size: 80px; 39 | line-height: 80px; 40 | @include breakpoints-up(md) { 41 | @include margin-right($spacing2); 42 | width: 80px; 43 | height: 80px; 44 | } 45 | @include breakpoints-down(xs) { 46 | @include margin-right($spacing2); 47 | width: 80px; 48 | height: 80px; 49 | } 50 | } 51 | .text { 52 | h4 { 53 | font-weight: bold; 54 | } 55 | } 56 | } -------------------------------------------------------------------------------- /components/Counter/index.js: -------------------------------------------------------------------------------- 1 | export { default } from './Counter'; 2 | -------------------------------------------------------------------------------- /components/Error/Error.vue: -------------------------------------------------------------------------------- 1 | 38 | 39 | 42 | 43 | 64 | -------------------------------------------------------------------------------- /components/Error/error-style.scss: -------------------------------------------------------------------------------- 1 | .error-wrap { 2 | width: 100%; 3 | display: flex; 4 | align-items: flex-end; 5 | @include breakpoints-up(md) { 6 | min-height: 80vh; 7 | } 8 | @include breakpoints-down(sm) { 9 | margin: spacing(10, 0) 10 | } 11 | } 12 | 13 | .flex { 14 | display: flex; 15 | justify-content: center 16 | } 17 | 18 | .illustration { 19 | margin: spacing(2, 5); 20 | img { 21 | max-width: 300px; 22 | @include breakpoints-down(xs) { 23 | max-width: 200px; 24 | } 25 | } 26 | } 27 | 28 | .text { 29 | @include breakpoints-up(md) { 30 | @include border-left(1px solid); 31 | @include palette-divider; 32 | @include padding-left($spacing5); 33 | } 34 | @include breakpoints-down(sm) { 35 | text-align: center; 36 | } 37 | h3 { 38 | font-size: 106px; 39 | text-transform: capitalize; 40 | font-weight: $font-bold; 41 | } 42 | h4 { 43 | font-weight: $font-bold; 44 | margin-bottom: $spacing3 45 | } 46 | p { 47 | font-size: 22px; 48 | @include palette-text-secondary 49 | } 50 | } 51 | 52 | .button { 53 | margin-top: $spacing4 54 | } 55 | -------------------------------------------------------------------------------- /components/Error/index.js: -------------------------------------------------------------------------------- 1 | export { default } from './Error'; 2 | -------------------------------------------------------------------------------- /components/Faq/FaqList.vue: -------------------------------------------------------------------------------- 1 | 36 | 37 | 40 | 41 | 85 | -------------------------------------------------------------------------------- /components/Faq/TopicList.vue: -------------------------------------------------------------------------------- 1 | 14 | 15 | 18 | 19 | 53 | -------------------------------------------------------------------------------- /components/Faq/faq-style.scss: -------------------------------------------------------------------------------- 1 | .root { 2 | position: relative; 3 | z-index: 56 4 | } 5 | 6 | .text { 7 | position: relative; 8 | z-index: 20 9 | } 10 | 11 | .illustration { 12 | position: relative; 13 | margin: spacing(6, 6, 0); 14 | > div { 15 | top: -400px; 16 | } 17 | img { 18 | display: block; 19 | width: 280px 20 | } 21 | } 22 | 23 | .accordion { 24 | position: relative; 25 | margin-bottom: $spacing4; 26 | } 27 | 28 | .item { 29 | margin-bottom: $spacing3 30 | } 31 | 32 | .paper { 33 | border-radius: $rounded-medium !important; 34 | margin-bottom: $spacing3; 35 | overflow: hidden; 36 | .v-theme--dark & { 37 | box-shadow: 0px 1px 3px 0px rgba(64, 64, 64, 1), 0px 1px 1px 0px rgba(42, 42, 42, 1), 0px 2px 1px -1px rgba(20, 20, 20, 1) 38 | } 39 | .v-theme--light & { 40 | box-shadow: 0 1.5px 12px 2px rgba(0, 0, 0, 0.06) 41 | } 42 | } 43 | 44 | .heading { 45 | font-weight: $font-medium; 46 | padding: spacing(1, 2, 1, 0); 47 | font-size: 18px; 48 | line-height: 1.5; 49 | margin-bottom: 0; 50 | @include breakpoints-down(xs) { 51 | font-size: 16px; 52 | } 53 | } 54 | 55 | .content { 56 | .icon { 57 | position: absolute; 58 | top: 20px; 59 | @include right($spacing2) 60 | } 61 | } 62 | 63 | .expanded { 64 | &.v-expansion-panel { 65 | background: $palette-secondary-main !important; 66 | } 67 | .heading { 68 | color: $palette-common-white; 69 | padding-top: 0; 70 | padding-bottom: 0; 71 | } 72 | :deep(.v-icon) { 73 | color: $palette-common-white !important; 74 | transform: rotate(180deg) 75 | } 76 | } 77 | 78 | .detail { 79 | @include palette-background-paper; 80 | padding-top: $spacing3; 81 | border-radius: 0 0 $rounded-medium $rounded-medium; 82 | p { 83 | font-size: 18px; 84 | @include breakpoints-down(xs) { 85 | font-size: 16px; 86 | } 87 | } 88 | } 89 | 90 | .icon { 91 | @include use-theme(color, $palette-primary-main, $palette-primary-light); 92 | } 93 | 94 | .topic-list { 95 | padding: 0; 96 | li { 97 | padding: spacing(2, 0); 98 | border-bottom: 1px solid; 99 | @include palette-divider; 100 | list-style: none; 101 | a { 102 | text-decoration: none; 103 | &:hover { 104 | text-decoration: underline 105 | } 106 | } 107 | } 108 | } 109 | -------------------------------------------------------------------------------- /components/Faq/index.js: -------------------------------------------------------------------------------- 1 | export { default } from './Faq'; 2 | -------------------------------------------------------------------------------- /components/Feature/Feature.vue: -------------------------------------------------------------------------------- 1 | 7 | 8 | 19 | -------------------------------------------------------------------------------- /components/Feature/MainFeature.vue: -------------------------------------------------------------------------------- 1 | 73 | 74 | 77 | -------------------------------------------------------------------------------- /components/Feature/index.js: -------------------------------------------------------------------------------- 1 | export { default } from './Feature'; 2 | -------------------------------------------------------------------------------- /components/Filter/Search.vue: -------------------------------------------------------------------------------- 1 | 28 | 29 | 32 | -------------------------------------------------------------------------------- /components/Filter/filter.scss: -------------------------------------------------------------------------------- 1 | .filter { 2 | @include breakpoints-down(sm) { 3 | padding: $spacing4; 4 | height: 100%; 5 | position: absolute; 6 | width: 100%; 7 | } 8 | } 9 | 10 | .filter-block { 11 | margin-bottom: 50px; 12 | } 13 | 14 | .sorter { 15 | @include breakpoints-down(xs) { 16 | flex-direction: column-reverse; 17 | } 18 | } 19 | 20 | .btn-tag { 21 | position: relative; 22 | cursor: pointer; 23 | label { 24 | display: inline-block; 25 | padding: 1px 6px; 26 | margin: 4px; 27 | border-radius: $rounded-small; 28 | border: 1px solid $palette-primary-main; 29 | cursor: pointer; 30 | position: relative; 31 | transition: all 0.3s ease; 32 | @include palette-background-default; 33 | } 34 | input { 35 | opacity: 0; 36 | position: absolute; 37 | &:checked + label { 38 | color: $palette-common-white; 39 | background: $palette-primary-main; 40 | } 41 | } 42 | } 43 | 44 | .title-filter { 45 | font-weight: $font-medium; 46 | font-size: 18px; 47 | @include palette-text-primary; 48 | padding: 0 49 | } 50 | 51 | .input-price { 52 | width: 75px; 53 | display: inline-block; 54 | } 55 | 56 | .search-banner { 57 | height: 520px; 58 | display: flex; 59 | align-items: center; 60 | @include use-theme(background-color, $palette-primary-light, $palette-primary-dark); 61 | } 62 | 63 | .search { 64 | position: relative; 65 | display: flex; 66 | margin: $spacing4 auto; 67 | align-items: center; 68 | @include breakpoints-up(sm) { 69 | width: 600px; 70 | } 71 | :deep(fieldset) { 72 | height: 41px; 73 | } 74 | :deep(.v-field__field) { 75 | @include padding-left($spacing5); 76 | min-height: 0; 77 | margin-bottom: 0; 78 | input { 79 | max-height: none; 80 | } 81 | } 82 | :deep(.v-text-field__details) { 83 | display: none; 84 | } 85 | .search-icon { 86 | position: absolute; 87 | top: $spacing2; 88 | @include left($spacing2); 89 | } 90 | } 91 | 92 | .apply-range { 93 | @include rtl-flip 94 | } 95 | -------------------------------------------------------------------------------- /components/Footer/Basic.vue: -------------------------------------------------------------------------------- 1 | 36 | 37 | 40 | 41 | 52 | -------------------------------------------------------------------------------- /components/Footer/Main.vue: -------------------------------------------------------------------------------- 1 | 7 | 8 | 30 | -------------------------------------------------------------------------------- /components/Footer/footer-basic.scss: -------------------------------------------------------------------------------- 1 | .footer { 2 | padding-top: $spacing10; 3 | text-align: center; 4 | @include breakpoints-down(sm) { 5 | padding-top: $spacing5 6 | } 7 | nav { 8 | margin: spacing(6, 0); 9 | ul { 10 | margin: 0; 11 | padding: 0; 12 | li { 13 | display: inline-block; 14 | margin: spacing(0, 1); 15 | a { 16 | @include use-theme(color, $palette-primary-main, $palette-primary-light); 17 | text-transform: capitalize; 18 | text-decoration: none !important; 19 | padding: spacing(0, 1); 20 | font-size: 18px; 21 | @include breakpoints-down(xs) { 22 | font-size: 16px 23 | } 24 | } 25 | } 26 | } 27 | } 28 | } 29 | 30 | .socmed { 31 | display: flex; 32 | width: 200px; 33 | margin: $spacing8 auto; 34 | justify-content: space-between; 35 | } 36 | 37 | .icon { 38 | padding: $spacing1; 39 | width: 40px; 40 | height: 40px; 41 | @include use-theme(background, $palette-primary-light, $palette-primary-main); 42 | &.v-btn { 43 | i { 44 | @include use-theme(color, $palette-primary-dark, $palette-primary-light); 45 | width: 25px; 46 | height: 25px; 47 | font-size: 22px; 48 | } 49 | } 50 | &:hover { 51 | background: $palette-primary-dark; 52 | i { 53 | color: $palette-primary-light !important; 54 | } 55 | } 56 | } 57 | .copyright { 58 | display: block; 59 | @include use-theme(color, $palette-primary-dark, $palette-primary-light); 60 | @include use-theme(background, $palette-primary-light, $palette-primary-main); 61 | padding: spacing(1.5); 62 | margin-top: spacing(3); 63 | p { 64 | margin-bottom: 0 65 | } 66 | } 67 | -------------------------------------------------------------------------------- /components/Footer/footer-contact.scss: -------------------------------------------------------------------------------- 1 | .footer { 2 | text-align: center; 3 | padding-bottom: $spacing5; 4 | margin-top: $spacing20; 5 | @include breakpoints-down(md) { 6 | margin-top: $spacing10 7 | } 8 | } 9 | .logo { 10 | @include palette-text-secondary; 11 | margin-bottom: $spacing5; 12 | @include breakpoints-down(md) { 13 | margin-top: $spacing5 14 | } 15 | img { 16 | width: 80px; 17 | } 18 | h4 { 19 | text-transform: uppercase 20 | } 21 | } 22 | .margin { 23 | margin: $spacing2 24 | } 25 | .socmed { 26 | margin: spacing(6, 0); 27 | button { 28 | @include use-theme(background, $palette-primary-light, $palette-primary-dark); 29 | margin: $spacing1; 30 | i { 31 | @include use-theme(color, $palette-primary-dark, $palette-primary-light); 32 | } 33 | } 34 | i { 35 | position: relative; 36 | @include left(-2px); 37 | top: 1px; 38 | font-size: 24px 39 | } 40 | } 41 | .contact { 42 | @include palette-text-secondary; 43 | } 44 | .divider { 45 | margin: 12px; 46 | border: none; 47 | background: none 48 | } 49 | 50 | .form-wrap { 51 | position: relative 52 | } 53 | .form-box { 54 | padding: $spacing2; 55 | @include breakpoints-up(sm) { 56 | padding: $spacing7 57 | } 58 | @include breakpoints-down(xs) { 59 | padding: spacing(4, 2) 60 | } 61 | &:before { 62 | content: ""; 63 | @include left(-16px); 64 | bottom: -16px; 65 | width: 45%; 66 | height: 30%; 67 | border: 16px solid; 68 | border-image-source: linear-gradient(120deg, $palette-secondary-main, $palette-primary-main); 69 | border-image-slice: 1; 70 | border-top: 0; 71 | @include border-right(0); 72 | position: absolute 73 | } 74 | } 75 | 76 | .title-main { 77 | @include text-align(left); 78 | @include use-theme(color, $palette-primary-dark, $palette-primary-light); 79 | } 80 | .input { 81 | width: 100%; 82 | margin-bottom: $spacing5; 83 | @include breakpoints-down(xs) { 84 | margin-bottom: $spacing3 85 | } 86 | } 87 | 88 | .form { 89 | @include text-align(left); 90 | position: relative; 91 | } 92 | .btn-area { 93 | display: flex; 94 | justify-content: space-between; 95 | margin: spacing(0, 0, 3); 96 | @include breakpoints-up(sm) { 97 | margin: spacing(3, 0, 0) 98 | } 99 | @include breakpoints-down(xs) { 100 | .v-btn { 101 | width: 100% 102 | } 103 | } 104 | } 105 | -------------------------------------------------------------------------------- /components/Footer/footer-sitemap.scss: -------------------------------------------------------------------------------- 1 | .link { 2 | margin: spacing(1, 1.5); 3 | } 4 | .title { 5 | text-transform: capitalize 6 | } 7 | .footer { 8 | border-top: 1px solid; 9 | @include palette-divider; 10 | margin-top: $spacing4; 11 | @include breakpoints-up(sm) { 12 | margin-top: $spacing8; 13 | padding-top: $spacing6; 14 | padding-bottom: $spacing6; 15 | } 16 | ul { 17 | margin: 0; 18 | padding: 0; 19 | li { 20 | list-style: none; 21 | line-height: 32px; 22 | a { 23 | @include palette-text-secondary; 24 | text-decoration: none; 25 | &:hover { 26 | color: $palette-primary-main 27 | } 28 | } 29 | } 30 | } 31 | .body-2 { 32 | @include palette-text-secondary 33 | } 34 | } 35 | .logo { 36 | text-align: center; 37 | margin-top: $spacing4; 38 | img { 39 | width: 64px 40 | } 41 | } 42 | .socmed { 43 | display: flex; 44 | justify-content: center; 45 | .button { 46 | margin: $spacing1 47 | } 48 | .icon { 49 | width: 24px; 50 | height: 24px; 51 | font-size: 24px 52 | } 53 | } 54 | .select-lang { 55 | margin: 0 auto !important; 56 | width: 200px; 57 | display: inherit; 58 | margin-top: $spacing2 59 | } 60 | .site-map-item { 61 | @include breakpoints-down('md') { 62 | padding-bottom: 0 !important; 63 | padding-top: 0 !important 64 | } 65 | } 66 | .accordion-root { 67 | :deep(.v-expansion-panel__shadow) { 68 | background: none; 69 | box-shadow: none; 70 | } 71 | } 72 | #main-wrap .accordion-content.v-expansion-panel { 73 | background-color: transparent; 74 | &:before, &:after { 75 | display: none 76 | } 77 | } 78 | .accordion-icon { 79 | padding: 0 80 | } 81 | -------------------------------------------------------------------------------- /components/Footer/index.js: -------------------------------------------------------------------------------- 1 | export { default } from './Main'; 2 | -------------------------------------------------------------------------------- /components/Forms/AuthFrame.vue: -------------------------------------------------------------------------------- 1 | 34 | 35 | 38 | 39 | 70 | -------------------------------------------------------------------------------- /components/Forms/SocialAuth.vue: -------------------------------------------------------------------------------- 1 | 17 | 18 | 21 | -------------------------------------------------------------------------------- /components/Header/Basic.vue: -------------------------------------------------------------------------------- 1 | 34 | 35 | 38 | 39 | 94 | -------------------------------------------------------------------------------- /components/Header/DropList.vue: -------------------------------------------------------------------------------- 1 | 49 | 50 | 53 | 54 | 105 | -------------------------------------------------------------------------------- /components/Header/Main.vue: -------------------------------------------------------------------------------- 1 | 12 | 13 | 47 | -------------------------------------------------------------------------------- /components/Header/Mega.vue: -------------------------------------------------------------------------------- 1 | 47 | 48 | 51 | 52 | 103 | -------------------------------------------------------------------------------- /components/Header/Search.vue: -------------------------------------------------------------------------------- 1 | 29 | 30 | 33 | 34 | 79 | -------------------------------------------------------------------------------- /components/Header/SideNav/MegaMobile.vue: -------------------------------------------------------------------------------- 1 | 69 | 70 | 73 | 74 | 97 | -------------------------------------------------------------------------------- /components/Header/SideNav/MixedMobile.vue: -------------------------------------------------------------------------------- 1 | 63 | 64 | 67 | 68 | 95 | -------------------------------------------------------------------------------- /components/Header/SideNav/MultiMobile.vue: -------------------------------------------------------------------------------- 1 | 54 | 55 | 58 | 59 | 87 | -------------------------------------------------------------------------------- /components/Header/SideNav/SingleNavMobile.vue: -------------------------------------------------------------------------------- 1 | 39 | 40 | 43 | 44 | 62 | -------------------------------------------------------------------------------- /components/Header/SideNav/SubmenuMobile.vue: -------------------------------------------------------------------------------- 1 | 33 | 34 | 37 | 38 | 62 | -------------------------------------------------------------------------------- /components/Header/TopNav/MultiLevel.vue: -------------------------------------------------------------------------------- 1 | 46 | 47 | 50 | 51 | 80 | -------------------------------------------------------------------------------- /components/Header/TopNav/SearchField.vue: -------------------------------------------------------------------------------- 1 | 15 | 16 | 19 | 20 | 30 | -------------------------------------------------------------------------------- /components/Header/TopNav/SingleNav.vue: -------------------------------------------------------------------------------- 1 | 27 | 28 | 31 | 32 | 95 | -------------------------------------------------------------------------------- /components/Header/TopNav/SubMenuClick.vue: -------------------------------------------------------------------------------- 1 | 41 | 42 | 45 | 46 | 75 | -------------------------------------------------------------------------------- /components/Header/TopNav/SubMenuHover.vue: -------------------------------------------------------------------------------- 1 | 35 | 36 | 39 | 40 | 69 | -------------------------------------------------------------------------------- /components/Header/TopNav/UserMenu.vue: -------------------------------------------------------------------------------- 1 | 24 | 25 | 28 | 29 | 54 | -------------------------------------------------------------------------------- /components/Header/data/blog.js: -------------------------------------------------------------------------------- 1 | import sample from './sample-pages'; 2 | 3 | const multiple = [ 4 | { 5 | name: 'Category 1', 6 | child: [ 7 | { 8 | name: 'Eu Rhoncus Odio', 9 | link: '/', 10 | }, 11 | { 12 | name: 'Eu Rhoncus Odio', 13 | link: '/', 14 | }, 15 | { 16 | name: 'Eu Rhoncus Odio', 17 | link: '/', 18 | }, 19 | { 20 | name: 'Eu Rhoncus Odio', 21 | link: '/', 22 | }, 23 | ], 24 | }, 25 | { 26 | name: 'Category 2', 27 | child: [ 28 | { 29 | name: 'Eu Rhoncus Odio', 30 | link: '/', 31 | }, 32 | { 33 | name: 'Eu Rhoncus Odio', 34 | link: '/', 35 | }, 36 | { 37 | name: 'Eu Rhoncus Odio', 38 | link: '/', 39 | }, 40 | { 41 | name: 'Eu Rhoncus Odio', 42 | link: '/', 43 | }, 44 | ], 45 | }, 46 | { 47 | name: 'Category 3', 48 | child: [ 49 | { 50 | name: 'Eu Rhoncus Odio', 51 | link: '/', 52 | }, 53 | { 54 | name: 'Eu Rhoncus Odio', 55 | link: '/', 56 | }, 57 | { 58 | name: 'Eu Rhoncus Odio', 59 | link: '/', 60 | }, 61 | { 62 | name: 'Eu Rhoncus Odio', 63 | link: '/', 64 | }, 65 | ], 66 | }, 67 | { 68 | name: 'Sample Pages', 69 | child: sample, 70 | }, 71 | ]; 72 | 73 | export default multiple; 74 | -------------------------------------------------------------------------------- /components/Header/data/multiple.js: -------------------------------------------------------------------------------- 1 | import sample from './sample-pages'; 2 | 3 | const defaultChild = [ 4 | { 5 | name: '1Vivamus Condimentum', 6 | link: '#', 7 | }, 8 | { 9 | name: '2Lorem', 10 | child: [ 11 | { 12 | name: '1Vivamus Condimentum', 13 | link: '#', 14 | }, 15 | { 16 | name: '1Vivamus Condimentum', 17 | link: '#', 18 | }, 19 | ], 20 | }, 21 | { 22 | name: '3Eu Rhoncus Odio', 23 | link: '#', 24 | }, 25 | { 26 | name: '4Praesent Tristique', 27 | link: '#', 28 | }, 29 | ]; 30 | 31 | const multiple = [ 32 | { 33 | name: 'First Menu', 34 | link: '#', 35 | }, 36 | { 37 | name: 'Second Menu', 38 | child: [ 39 | { 40 | name: 'Eu Rhoncus Odio', 41 | link: '#', 42 | }, 43 | { 44 | name: 'In Lorem', 45 | child: defaultChild, 46 | }, 47 | { 48 | name: 'Eu Rhoncus Odio', 49 | child: defaultChild, 50 | }, 51 | { 52 | name: 'Praesent Tristique', 53 | child: defaultChild, 54 | }, 55 | ], 56 | }, 57 | { 58 | name: 'Third Menu', 59 | child: [ 60 | { 61 | name: 'Eu Rhoncus Odio', 62 | link: '#', 63 | }, 64 | { 65 | name: 'In Lorem', 66 | child: defaultChild, 67 | }, 68 | { 69 | name: 'Eu Rhoncus Odio', 70 | child: defaultChild, 71 | }, 72 | { 73 | name: 'Praesent Tristique', 74 | child: defaultChild, 75 | }, 76 | ], 77 | }, 78 | { 79 | name: 'Fourth Menu', 80 | child: [ 81 | { 82 | name: 'Eu Rhoncus Odio', 83 | link: '#', 84 | }, 85 | { 86 | name: 'In Lorem', 87 | child: defaultChild, 88 | }, 89 | { 90 | name: 'Eu Rhoncus Odio', 91 | child: defaultChild, 92 | }, 93 | { 94 | name: 'Praesent Tristique', 95 | child: defaultChild, 96 | }, 97 | ], 98 | }, 99 | { 100 | name: 'inner Pages', 101 | child: sample, 102 | }, 103 | ]; 104 | 105 | export default multiple; 106 | -------------------------------------------------------------------------------- /components/Header/data/sample-pages.js: -------------------------------------------------------------------------------- 1 | import imgAPI from '@/assets/images/imgAPI'; 2 | 3 | const sample = [ 4 | { 5 | name: 'company', 6 | thumb: imgAPI.ui[3], 7 | child: [ 8 | { 9 | name: 'about', 10 | link: '/about', 11 | }, 12 | { 13 | name: 'team', 14 | link: '/about/team', 15 | }, 16 | { 17 | name: 'blog', 18 | link: '/blog', 19 | }, 20 | { 21 | name: 'blog detail', 22 | link: '/blog/detail-blog', 23 | }, 24 | ], 25 | }, 26 | { 27 | name: 'Form', 28 | thumb: imgAPI.ui[1], 29 | child: [ 30 | { 31 | name: 'login', 32 | link: '/login', 33 | }, 34 | { 35 | name: 'register', 36 | link: '/register', 37 | }, 38 | { 39 | name: 'contact', 40 | link: '/contact', 41 | }, 42 | { 43 | name: 'contact map', 44 | link: '/contact/with-map', 45 | }, 46 | ], 47 | }, 48 | { 49 | name: 'items', 50 | thumb: imgAPI.ui[0], 51 | child: [ 52 | { 53 | name: 'card', 54 | link: '/collection', 55 | }, 56 | { 57 | name: 'product', 58 | link: '/collection/products', 59 | }, 60 | { 61 | name: 'product detail', 62 | link: '/collection/detail-product', 63 | }, 64 | ], 65 | }, 66 | { 67 | name: 'utilities', 68 | thumb: imgAPI.ui[2], 69 | child: [ 70 | { 71 | name: 'pricing', 72 | link: '/utils/pricing', 73 | }, 74 | { 75 | name: 'faq', 76 | link: '/utils/faq', 77 | }, 78 | { 79 | name: 'maintenance', 80 | link: '/utils/maintenance', 81 | }, 82 | { 83 | name: 'coming soon', 84 | link: '/utils/coming-soon', 85 | }, 86 | { 87 | name: 'error', 88 | link: '/error', 89 | }, 90 | ], 91 | }, 92 | ]; 93 | 94 | export default sample; 95 | -------------------------------------------------------------------------------- /components/Header/data/single.js: -------------------------------------------------------------------------------- 1 | const single = ['feature', 'testimonials', 'pricing', 'blog', 'subscribe']; 2 | 3 | export default single; 4 | -------------------------------------------------------------------------------- /components/Header/index.js: -------------------------------------------------------------------------------- 1 | export { default } from './Main'; 2 | -------------------------------------------------------------------------------- /components/Header/sidenav-style.scss: -------------------------------------------------------------------------------- 1 | $identation: 8px; 2 | 3 | .side-multilv { 4 | padding-top: $spacing6; 5 | > div { 6 | @include margin-left(0); 7 | } 8 | .v-list-group--no-action.v-list-group--sub-group > .v-list-group__items > .v-list-item { 9 | @include padding-left($identation); 10 | } 11 | .v-list-group--sub-group .v-list-item__icon:first-child { 12 | @include margin-right($identation); 13 | } 14 | .v-list-group--sub-group .v-list-group__items .v-list-item { 15 | @include padding-left($identation * 2) 16 | } 17 | } 18 | 19 | .has-child { 20 | @include padding-left(0); 21 | } 22 | 23 | .has-grand-child { 24 | > div { 25 | @include margin-left(0); 26 | } 27 | } 28 | 29 | .group-child { 30 | :deep(.v-list-group__items) { 31 | @include padding-left($identation * 2); 32 | } 33 | } 34 | 35 | .side-group { 36 | :deep(.v-list-group__items) { 37 | @include padding-left($identation * 2); 38 | } 39 | :deep(.v-list-group__header) { 40 | @include padding-left($identation !important); 41 | } 42 | &.v-list-group--sub-group .v-list-item__icon:first-child { 43 | @include margin-right(0); 44 | } 45 | .side-group { 46 | :deep(.v-list-item__icon) { 47 | margin-right: -16px; 48 | } 49 | } 50 | } 51 | 52 | .side-group-link { 53 | @include padding-left($identation !important) 54 | } 55 | 56 | .menu-list { 57 | text-transform: capitalize; 58 | font-size: 14px; 59 | } 60 | 61 | .title-mega { 62 | text-transform: uppercase; 63 | font-weight: $font-bold; 64 | font-size: 11px; 65 | color: $palette-primary-main; 66 | } 67 | 68 | .current { 69 | @include use-theme(background, $palette-primary-light, $palette-primary-dark); 70 | @include use-theme(color, $palette-primary-dark, $palette-primary-light); 71 | } 72 | -------------------------------------------------------------------------------- /components/Hidden/Hidden.vue: -------------------------------------------------------------------------------- 1 | 8 | 9 | 46 | -------------------------------------------------------------------------------- /components/Hidden/index.js: -------------------------------------------------------------------------------- 1 | export { default } from './Hidden'; 2 | -------------------------------------------------------------------------------- /components/List/Description.vue: -------------------------------------------------------------------------------- 1 | 52 | 53 | 56 | 57 | 72 | -------------------------------------------------------------------------------- /components/List/RelatedItems.vue: -------------------------------------------------------------------------------- 1 | 30 | 31 | 34 | 35 | 54 | -------------------------------------------------------------------------------- /components/List/Sidebar/HelpWidget.vue: -------------------------------------------------------------------------------- 1 | 16 | 17 | 20 | -------------------------------------------------------------------------------- /components/List/Sidebar/ImageWidget.vue: -------------------------------------------------------------------------------- 1 | 43 | 44 | 47 | 48 | 76 | -------------------------------------------------------------------------------- /components/List/Sidebar/NewsWidget.vue: -------------------------------------------------------------------------------- 1 | 30 | 31 | 71 | -------------------------------------------------------------------------------- /components/List/Sidebar/PeopleWidget.vue: -------------------------------------------------------------------------------- 1 | 31 | 32 | 77 | -------------------------------------------------------------------------------- /components/List/Sidebar/ProductWidget.vue: -------------------------------------------------------------------------------- 1 | 38 | 39 | 42 | 43 | 79 | -------------------------------------------------------------------------------- /components/List/Sidebar/Sidebar.vue: -------------------------------------------------------------------------------- 1 | 16 | 17 | 36 | -------------------------------------------------------------------------------- /components/List/Sidebar/TrendingWidget.vue: -------------------------------------------------------------------------------- 1 | 23 | 24 | 59 | -------------------------------------------------------------------------------- /components/List/Sidebar/index.js: -------------------------------------------------------------------------------- 1 | export { default } from './Sidebar'; 2 | -------------------------------------------------------------------------------- /components/Logo/Logo.vue: -------------------------------------------------------------------------------- 1 | 7 | 8 | 11 | 12 | 31 | -------------------------------------------------------------------------------- /components/Logo/index.js: -------------------------------------------------------------------------------- 1 | export { default } from './Logo'; 2 | -------------------------------------------------------------------------------- /components/Logo/logo-style.scss: -------------------------------------------------------------------------------- 1 | .logo { 2 | font-size: 24px; 3 | font-weight: $font-bold; 4 | @include palette-text-primary; 5 | display: flex; 6 | img { 7 | transition: all 0.3s ease; 8 | width: 54px; 9 | height: 54px; 10 | } 11 | } 12 | 13 | .landscape { 14 | align-items: center; 15 | position: relative; 16 | top: -2px; 17 | img { 18 | @include margin-right($spacing1) 19 | } 20 | } 21 | 22 | .portrait { 23 | display: block; 24 | margin: 0 auto 8px; 25 | img { 26 | margin: 0 auto $spacing1; 27 | display: block; 28 | } 29 | } -------------------------------------------------------------------------------- /components/Notification/Notification.vue: -------------------------------------------------------------------------------- 1 | 23 | 24 | 27 | 28 | 37 | -------------------------------------------------------------------------------- /components/Notification/index.js: -------------------------------------------------------------------------------- 1 | export { default } from './Notification'; 2 | -------------------------------------------------------------------------------- /components/Notification/notification-style.scss: -------------------------------------------------------------------------------- 1 | .notification { 2 | width: 95%; 3 | margin: 0 auto; 4 | @include breakpoints-up(lg) { 5 | width: 80% 6 | } 7 | :deep(.v-snackbar__wrapper) { 8 | width: 100%; 9 | margin-bottom: $spacing2; 10 | max-width: none; 11 | font-size: 16px; 12 | color: $palette-common-white; 13 | background: $palette-common-black; 14 | @include breakpoints-up(sm) { 15 | padding: spacing(0.5, 2) 16 | } 17 | > div:first-child { 18 | display: flex; 19 | align-items: center; 20 | .action { 21 | @include breakpoints-up(sm) { 22 | flex: 1; 23 | @include margin-right($spacing2) 24 | } 25 | @include breakpoints-down(xs) { 26 | text-align: center 27 | } 28 | } 29 | } 30 | } 31 | .button.v-btn { 32 | width: 100%; 33 | @include breakpoints-up(sm) { 34 | width: 150px; 35 | } 36 | } 37 | } 38 | 39 | 40 | .action { 41 | @include breakpoints-down(xs) { 42 | width: 100%; 43 | padding: 0; 44 | margin: 0 45 | } 46 | } -------------------------------------------------------------------------------- /components/PageNav/index.js: -------------------------------------------------------------------------------- 1 | export { default } from './PageNav'; 2 | -------------------------------------------------------------------------------- /components/PageNav/pagenav-style.scss: -------------------------------------------------------------------------------- 1 | .fab { 2 | transform: scale(0.5); 3 | transition: all 0.5s ease; 4 | opacity: 0; 5 | position: absolute; 6 | bottom: 0; 7 | right: 0; 8 | font-weight: $font-bold; 9 | .icon { 10 | color: $palette-common-white; 11 | font-size: 40px; 12 | } 13 | &:hover { 14 | .icon { 15 | color: $palette-primary-light 16 | } 17 | } 18 | } 19 | 20 | .page-nav { 21 | z-index: 200; 22 | position: fixed; 23 | bottom: 40px; 24 | right: 40px; 25 | width: 56px; 26 | &.show { 27 | .fab { 28 | opacity: 1; 29 | transform: scale(1); 30 | } 31 | } 32 | .section-nav { 33 | margin: 0 0 76px 22px; 34 | padding: 0; 35 | position: relative; 36 | a { 37 | margin-bottom: $spacing2; 38 | opacity: 0; 39 | position: relative; 40 | transition: all 0.4s ease; 41 | width: 12px; 42 | height: 12px; 43 | @include shadow2; 44 | border-radius: 12px; 45 | @include palette-background-paper; 46 | border: 1px solid; 47 | @include use-theme(border-color, $light-text-hint, $dark-text-hint); 48 | display: block; 49 | transition: all 0.4s ease; 50 | color: transparent; 51 | &.active { 52 | background: $palette-primary-main; 53 | height: 30px; 54 | border: 1px solid $palette-primary-light; 55 | } 56 | } 57 | } 58 | &:hover { 59 | .section-nav a { 60 | opacity: 1; 61 | top: 0 !important; 62 | } 63 | } 64 | } 65 | 66 | .tooltip { 67 | text-transform: capitalize; 68 | font-size: 14; 69 | } -------------------------------------------------------------------------------- /components/Paper/Paper.vue: -------------------------------------------------------------------------------- 1 | 21 | 22 | 25 | 26 | 48 | -------------------------------------------------------------------------------- /components/Paper/index.js: -------------------------------------------------------------------------------- 1 | export { default } from './Paper'; 2 | -------------------------------------------------------------------------------- /components/Paper/paper.scss: -------------------------------------------------------------------------------- 1 | .paper { 2 | header { 3 | padding: spacing(0, 2); 4 | display: flex; 5 | align-items: flex-start; 6 | margin-bottom: $spacing1; 7 | } 8 | &.color { 9 | color: $palette-common-white; 10 | background: $palette-primary-main; 11 | :deep(.v-card__subtitle) { 12 | color: $palette-common-white; 13 | } 14 | } 15 | :deep(.v-card-subtitle) { 16 | white-space: normal; 17 | } 18 | } 19 | 20 | .icon { 21 | height: auto; 22 | color: $palette-primary-main; 23 | padding: spacing(2, 0) 24 | } 25 | -------------------------------------------------------------------------------- /components/Pricing/Pricing.vue: -------------------------------------------------------------------------------- 1 | 32 | 33 | 36 | 37 | 95 | -------------------------------------------------------------------------------- /components/Pricing/index.js: -------------------------------------------------------------------------------- 1 | export { default } from './Pricing'; 2 | -------------------------------------------------------------------------------- /components/Pricing/pricing-style.scss: -------------------------------------------------------------------------------- 1 | .pricing-wrap { 2 | margin-top: $spacing5 3 | } 4 | -------------------------------------------------------------------------------- /components/ScrollWrap/ScrollWrap.vue: -------------------------------------------------------------------------------- 1 | 10 | 11 | 41 | -------------------------------------------------------------------------------- /components/ScrollWrap/index.js: -------------------------------------------------------------------------------- 1 | export { default } from './ScrollWrap' 2 | -------------------------------------------------------------------------------- /components/ScrollWrap/scroll-wrap-style.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ilhammeidi/awrora-starter/129a3418485c05204fba297431664771487f2fc7/components/ScrollWrap/scroll-wrap-style.scss -------------------------------------------------------------------------------- /components/Subscribe/SubscribeForm.vue: -------------------------------------------------------------------------------- 1 | 48 | 49 | 52 | 53 | 63 | -------------------------------------------------------------------------------- /components/Subscribe/index.js: -------------------------------------------------------------------------------- 1 | export { default } from './SubscribeForm'; 2 | -------------------------------------------------------------------------------- /components/Subscribe/subscribe-style.scss: -------------------------------------------------------------------------------- 1 | .subscribe-wrap { 2 | max-width: 600px; 3 | margin: 0 auto -32px; 4 | position: relative; 5 | } 6 | 7 | .paper { 8 | padding: $spacing4; 9 | width: 100% 10 | } 11 | .text-field { 12 | top: $spacing2; 13 | position: relative; 14 | } 15 | .right-icon { 16 | @include margin-left($spacing1); 17 | @include use-rtl(transform, scale(-1)) 18 | } -------------------------------------------------------------------------------- /components/Testimonials/index.js: -------------------------------------------------------------------------------- 1 | export { default } from './Testimonials'; 2 | -------------------------------------------------------------------------------- /components/Testimonials/testimonials-style.scss: -------------------------------------------------------------------------------- 1 | .testimonial-wrap { 2 | width: 100%; 3 | position: relative; 4 | overflow: hidden 5 | } 6 | .carousel { 7 | margin-top: $spacing3 8 | } 9 | .item { 10 | padding: $spacing2 11 | } 12 | -------------------------------------------------------------------------------- /components/ThemeWrapper.vue: -------------------------------------------------------------------------------- 1 | 13 | 14 | 55 | -------------------------------------------------------------------------------- /composables/uiTheme.js: -------------------------------------------------------------------------------- 1 | import { useState } from '#app'; 2 | 3 | export const useRtl = () => (useState('rtl', () => undefined)); 4 | export const useThemeMode = () => (useState('mode', () => undefined)); 5 | export const useHeader = () => useState( 6 | 'header', 7 | () => 'mixed', /* available: mixed, basic, droplist, mega, hamburger, navscroll, search */ 8 | ); 9 | export const useFooter = () => useState( 10 | 'footer', 11 | () => 'sitemap', /* basic, blog, contact, sitemap */ 12 | ); 13 | export const useCorner = () => useState( 14 | 'corner', 15 | () => 'chat', /* chat, nav */ 16 | ); 17 | 18 | const states = { 19 | themeMode: useThemeMode, 20 | rtl: useRtl, 21 | header: useHeader, 22 | footer: useFooter, 23 | corner: useCorner, 24 | }; 25 | 26 | export function toggleDark() { 27 | const themeMode = useThemeMode(); 28 | const storedTheme = localStorage.getItem('awroraDarkMode'); 29 | 30 | themeMode.value = storedTheme === 'dark' ? 'light' : 'dark'; 31 | localStorage.setItem('awroraDarkMode', themeMode.value); 32 | } 33 | 34 | export function setRtl(val) { 35 | const rtl = useRtl(); 36 | rtl.value = val; 37 | } 38 | 39 | export default states; 40 | -------------------------------------------------------------------------------- /config/i18n.js: -------------------------------------------------------------------------------- 1 | export default { 2 | legacy: false, 3 | locale: 'en', 4 | fallbackLocale: 'en', 5 | }; 6 | -------------------------------------------------------------------------------- /config/theme.js: -------------------------------------------------------------------------------- 1 | // Colors 2 | import colors from 'vuetify/lib/util/colors'; 3 | 4 | const palette = { 5 | greenLeaf: { 6 | primary: colors.green.base, // primary main 7 | primarylight: colors.green.lighten4, // primary light 8 | primarydark: colors.green.darken4, // primary dark 9 | secondary: colors.blueGrey.base, // secondary main 10 | secondarylight: colors.blueGrey.lighten4, // secondary light 11 | secondarydark: colors.blueGrey.darken3, // secondary dark 12 | accent: colors.cyan.base, // accent main 13 | accentlight: colors.cyan.lighten4, // accent light 14 | accentdark: colors.cyan.darken4, // accent dark 15 | anchor: colors.green.base, // link 16 | }, 17 | }; 18 | 19 | const theme = { 20 | ...palette.greenLeaf, 21 | }; 22 | 23 | export default theme; 24 | -------------------------------------------------------------------------------- /config/youtube.js: -------------------------------------------------------------------------------- 1 | const useYoutube = { 2 | use: true, 3 | }; 4 | 5 | export default useYoutube; 6 | -------------------------------------------------------------------------------- /error.vue: -------------------------------------------------------------------------------- 1 | 15 | 16 | 42 | -------------------------------------------------------------------------------- /lang/languages.js: -------------------------------------------------------------------------------- 1 | export default [ 2 | { 3 | code: 'ar', 4 | iso: 'ar-AR', 5 | name: 'Arabic', 6 | file: 'ar-AR.json', 7 | dir: 'rtl' 8 | }, 9 | { 10 | code: 'de', 11 | iso: 'de-DE', 12 | name: 'Deutch', 13 | file: 'de-DE.json', 14 | dir: 'ltr' 15 | }, 16 | { 17 | code: 'id', 18 | iso: 'id-ID', 19 | name: 'Bahasa Indonesia', 20 | file: 'id-ID.json', 21 | dir: 'ltr' 22 | }, 23 | { 24 | code: 'pt', 25 | iso: 'pt-PT', 26 | name: 'Portuguese', 27 | file: 'pt-PT.json', 28 | dir: 'ltr' 29 | }, 30 | { 31 | code: 'zh', 32 | iso: 'zh-ZH', 33 | name: 'Chinese', 34 | file: 'zh-ZH.json', 35 | dir: 'ltr' 36 | }, 37 | { 38 | code: 'en', 39 | iso: 'eng-US', 40 | name: 'English', 41 | file: 'en-US.json', 42 | dir: 'ltr' 43 | } 44 | ] 45 | -------------------------------------------------------------------------------- /layouts/default.vue: -------------------------------------------------------------------------------- 1 | 39 | 40 | 45 | 46 | 86 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "stater-project", 3 | "version": "2.0.0", 4 | "description": "Awrora VueJs Starter Project", 5 | "keywords": [ 6 | "starter kit", 7 | "empty project", 8 | "starter kit", 9 | "kick start", 10 | "boilerplate" 11 | ], 12 | "author": "Awrora Theme", 13 | "license": "Envato", 14 | "private": true, 15 | "scripts": { 16 | "build": "nuxt build", 17 | "dev": "nuxt dev", 18 | "generate": "nuxt generate", 19 | "preview": "nuxt preview", 20 | "postinstall": "nuxt prepare" 21 | }, 22 | "dependencies": { 23 | "@mdi/font": "^7.0.96", 24 | "@splidejs/vue-splide": "^0.6.12", 25 | "rtl-sass": "^1.5.0", 26 | "vite-plugin-vuetify": "^1.0.2", 27 | "vue-countup-v3": "^1.1.0", 28 | "vue-easy-lightbox": "^1.14.0", 29 | "vue-wow": "^1.2.0", 30 | "vue3-google-map": "^0.15.0", 31 | "vue3-mq": "^3.1.3", 32 | "vue3-smooth-scroll": "^0.8.1", 33 | "vue3-youtube": "^0.1.9", 34 | "vuetify": "^3.1.6" 35 | }, 36 | "devDependencies": { 37 | "@nuxtjs/i18n": "8.0.0-beta.10", 38 | "@vue/eslint-config-airbnb": "^6.0.0", 39 | "animate.css": "^3.7.2", 40 | "aos": "^2.3.4", 41 | "eslint": "^7.32.0", 42 | "eslint-config-prettier": "^3.1.0", 43 | "eslint-plugin-import": "^2.25.3", 44 | "eslint-plugin-prettier": "2.6.2", 45 | "eslint-plugin-vue": "^8.0.3", 46 | "eslint-plugin-vuejs-accessibility": "^1.1.0", 47 | "nuxt": "^3.2.3", 48 | "prettier": "^2.8.4", 49 | "sass": "^1.58.3", 50 | "vite-plugin-eslint": "^1.8.1" 51 | } 52 | } 53 | -------------------------------------------------------------------------------- /pages/about/index.vue: -------------------------------------------------------------------------------- 1 | 36 | 37 | 40 | 41 | 77 | -------------------------------------------------------------------------------- /pages/about/team.vue: -------------------------------------------------------------------------------- 1 | 26 | 27 | 30 | 31 | 59 | -------------------------------------------------------------------------------- /pages/blank-page.vue: -------------------------------------------------------------------------------- 1 | 17 | 18 | 21 | 22 | 40 | -------------------------------------------------------------------------------- /pages/blog/detail-blog.vue: -------------------------------------------------------------------------------- 1 | 21 | 22 | 25 | 26 | 48 | -------------------------------------------------------------------------------- /pages/collection/detail-product.vue: -------------------------------------------------------------------------------- 1 | 15 | 16 | 19 | 20 | 46 | -------------------------------------------------------------------------------- /pages/contact/index.vue: -------------------------------------------------------------------------------- 1 | 10 | 11 | 14 | 15 | 34 | -------------------------------------------------------------------------------- /pages/contact/with-map.vue: -------------------------------------------------------------------------------- 1 | 10 | 11 | 14 | 15 | 40 | -------------------------------------------------------------------------------- /pages/login.vue: -------------------------------------------------------------------------------- 1 | 10 | 11 | 14 | 15 | 40 | -------------------------------------------------------------------------------- /pages/register.vue: -------------------------------------------------------------------------------- 1 | 10 | 11 | 14 | 15 | 40 | -------------------------------------------------------------------------------- /pages/utils/faq.vue: -------------------------------------------------------------------------------- 1 | 25 | 26 | 29 | 30 | 60 | -------------------------------------------------------------------------------- /pages/utils/maintenance.vue: -------------------------------------------------------------------------------- 1 | 32 | 33 | 36 | 37 | 54 | -------------------------------------------------------------------------------- /pages/utils/pricing.vue: -------------------------------------------------------------------------------- 1 | 13 | 14 | 17 | 18 | 39 | -------------------------------------------------------------------------------- /plugins/light-box.js: -------------------------------------------------------------------------------- 1 | import VueEasyLightbox from 'vue-easy-lightbox'; 2 | import { defineNuxtPlugin } from '#app'; 3 | 4 | export default defineNuxtPlugin(nuxtApp => { 5 | nuxtApp.vueApp.use(VueEasyLightbox); 6 | }); 7 | -------------------------------------------------------------------------------- /plugins/media-query.js: -------------------------------------------------------------------------------- 1 | import { Vue3Mq } from 'vue3-mq'; 2 | import { defineNuxtPlugin } from '#app'; 3 | 4 | export default defineNuxtPlugin((nuxtApp) => { 5 | nuxtApp.vueApp.use(Vue3Mq, { 6 | defaultBreakpoint: 'xxl', 7 | preset: 'vuetify', 8 | }); 9 | }); 10 | -------------------------------------------------------------------------------- /plugins/smooth-scroll.js: -------------------------------------------------------------------------------- 1 | import VueSmoothScroll from 'vue3-smooth-scroll'; 2 | import { defineNuxtPlugin } from '#app'; 3 | 4 | export default defineNuxtPlugin(nuxtApp => { 5 | nuxtApp.vueApp.use(VueSmoothScroll, { 6 | updateHistory: false, 7 | }); 8 | }); 9 | -------------------------------------------------------------------------------- /plugins/vuetify.js: -------------------------------------------------------------------------------- 1 | // Styles 2 | import '@mdi/font/css/materialdesignicons.css'; 3 | import 'vuetify/styles'; 4 | 5 | // Composables 6 | import { createVuetify } from 'vuetify'; 7 | import * as components from 'vuetify/components'; 8 | import * as directives from 'vuetify/directives'; 9 | 10 | import { defineNuxtPlugin } from '#app'; 11 | 12 | import theme from '../config/theme'; 13 | 14 | export default defineNuxtPlugin(nuxtApp => { 15 | const vuetify = createVuetify({ 16 | components, 17 | directives, 18 | ssr: true, 19 | theme: { 20 | options: { customProperties: true }, 21 | defaultTheme: 'light', 22 | themes: { 23 | light: { 24 | colors: { 25 | ...theme, 26 | }, 27 | }, 28 | dark: { 29 | colors: { 30 | ...theme, 31 | }, 32 | }, 33 | }, 34 | }, 35 | }); 36 | 37 | nuxtApp.vueApp.use(vuetify); 38 | }); 39 | -------------------------------------------------------------------------------- /plugins/youtube.js: -------------------------------------------------------------------------------- 1 | import YouTube from 'vue3-youtube'; 2 | import { defineNuxtPlugin } from '#app'; 3 | 4 | export default defineNuxtPlugin(nuxtApp => { 5 | nuxtApp.vueApp.component('YouTube', YouTube); 6 | }); 7 | -------------------------------------------------------------------------------- /public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ilhammeidi/awrora-starter/129a3418485c05204fba297431664771487f2fc7/public/favicon.ico -------------------------------------------------------------------------------- /public/favicons/android-icon-144x144.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ilhammeidi/awrora-starter/129a3418485c05204fba297431664771487f2fc7/public/favicons/android-icon-144x144.png -------------------------------------------------------------------------------- /public/favicons/android-icon-192x192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ilhammeidi/awrora-starter/129a3418485c05204fba297431664771487f2fc7/public/favicons/android-icon-192x192.png -------------------------------------------------------------------------------- /public/favicons/android-icon-36x36.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ilhammeidi/awrora-starter/129a3418485c05204fba297431664771487f2fc7/public/favicons/android-icon-36x36.png -------------------------------------------------------------------------------- /public/favicons/android-icon-48x48.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ilhammeidi/awrora-starter/129a3418485c05204fba297431664771487f2fc7/public/favicons/android-icon-48x48.png -------------------------------------------------------------------------------- /public/favicons/android-icon-72x72.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ilhammeidi/awrora-starter/129a3418485c05204fba297431664771487f2fc7/public/favicons/android-icon-72x72.png -------------------------------------------------------------------------------- /public/favicons/android-icon-96x96.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ilhammeidi/awrora-starter/129a3418485c05204fba297431664771487f2fc7/public/favicons/android-icon-96x96.png -------------------------------------------------------------------------------- /public/favicons/apple-icon-114x114.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ilhammeidi/awrora-starter/129a3418485c05204fba297431664771487f2fc7/public/favicons/apple-icon-114x114.png -------------------------------------------------------------------------------- /public/favicons/apple-icon-120x120.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ilhammeidi/awrora-starter/129a3418485c05204fba297431664771487f2fc7/public/favicons/apple-icon-120x120.png -------------------------------------------------------------------------------- /public/favicons/apple-icon-144x144.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ilhammeidi/awrora-starter/129a3418485c05204fba297431664771487f2fc7/public/favicons/apple-icon-144x144.png -------------------------------------------------------------------------------- /public/favicons/apple-icon-152x152.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ilhammeidi/awrora-starter/129a3418485c05204fba297431664771487f2fc7/public/favicons/apple-icon-152x152.png -------------------------------------------------------------------------------- /public/favicons/apple-icon-180x180.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ilhammeidi/awrora-starter/129a3418485c05204fba297431664771487f2fc7/public/favicons/apple-icon-180x180.png -------------------------------------------------------------------------------- /public/favicons/apple-icon-57x57.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ilhammeidi/awrora-starter/129a3418485c05204fba297431664771487f2fc7/public/favicons/apple-icon-57x57.png -------------------------------------------------------------------------------- /public/favicons/apple-icon-60x60.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ilhammeidi/awrora-starter/129a3418485c05204fba297431664771487f2fc7/public/favicons/apple-icon-60x60.png -------------------------------------------------------------------------------- /public/favicons/apple-icon-72x72.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ilhammeidi/awrora-starter/129a3418485c05204fba297431664771487f2fc7/public/favicons/apple-icon-72x72.png -------------------------------------------------------------------------------- /public/favicons/apple-icon-76x76.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ilhammeidi/awrora-starter/129a3418485c05204fba297431664771487f2fc7/public/favicons/apple-icon-76x76.png -------------------------------------------------------------------------------- /public/favicons/apple-icon-precomposed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ilhammeidi/awrora-starter/129a3418485c05204fba297431664771487f2fc7/public/favicons/apple-icon-precomposed.png -------------------------------------------------------------------------------- /public/favicons/apple-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ilhammeidi/awrora-starter/129a3418485c05204fba297431664771487f2fc7/public/favicons/apple-icon.png -------------------------------------------------------------------------------- /public/favicons/browserconfig.xml: -------------------------------------------------------------------------------- 1 | 2 | #ffffff -------------------------------------------------------------------------------- /public/favicons/favicon-16x16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ilhammeidi/awrora-starter/129a3418485c05204fba297431664771487f2fc7/public/favicons/favicon-16x16.png -------------------------------------------------------------------------------- /public/favicons/favicon-32x32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ilhammeidi/awrora-starter/129a3418485c05204fba297431664771487f2fc7/public/favicons/favicon-32x32.png -------------------------------------------------------------------------------- /public/favicons/favicon-96x96.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ilhammeidi/awrora-starter/129a3418485c05204fba297431664771487f2fc7/public/favicons/favicon-96x96.png -------------------------------------------------------------------------------- /public/favicons/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ilhammeidi/awrora-starter/129a3418485c05204fba297431664771487f2fc7/public/favicons/favicon.ico -------------------------------------------------------------------------------- /public/favicons/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "App", 3 | "icons": [ 4 | { 5 | "src": "\/android-icon-36x36.png", 6 | "sizes": "36x36", 7 | "type": "image\/png", 8 | "density": "0.75" 9 | }, 10 | { 11 | "src": "\/android-icon-48x48.png", 12 | "sizes": "48x48", 13 | "type": "image\/png", 14 | "density": "1.0" 15 | }, 16 | { 17 | "src": "\/android-icon-72x72.png", 18 | "sizes": "72x72", 19 | "type": "image\/png", 20 | "density": "1.5" 21 | }, 22 | { 23 | "src": "\/android-icon-96x96.png", 24 | "sizes": "96x96", 25 | "type": "image\/png", 26 | "density": "2.0" 27 | }, 28 | { 29 | "src": "\/android-icon-144x144.png", 30 | "sizes": "144x144", 31 | "type": "image\/png", 32 | "density": "3.0" 33 | }, 34 | { 35 | "src": "\/android-icon-192x192.png", 36 | "sizes": "192x192", 37 | "type": "image\/png", 38 | "density": "4.0" 39 | } 40 | ] 41 | } -------------------------------------------------------------------------------- /public/favicons/ms-icon-144x144.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ilhammeidi/awrora-starter/129a3418485c05204fba297431664771487f2fc7/public/favicons/ms-icon-144x144.png -------------------------------------------------------------------------------- /public/favicons/ms-icon-150x150.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ilhammeidi/awrora-starter/129a3418485c05204fba297431664771487f2fc7/public/favicons/ms-icon-150x150.png -------------------------------------------------------------------------------- /public/favicons/ms-icon-310x310.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ilhammeidi/awrora-starter/129a3418485c05204fba297431664771487f2fc7/public/favicons/ms-icon-310x310.png -------------------------------------------------------------------------------- /public/favicons/ms-icon-70x70.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ilhammeidi/awrora-starter/129a3418485c05204fba297431664771487f2fc7/public/favicons/ms-icon-70x70.png -------------------------------------------------------------------------------- /public/images/avatars/pp_boy.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /public/images/avatars/pp_girl.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | 8 | 9 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /public/images/decoration/circle-deco.svg: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /public/images/decoration/triangle-deco.svg: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /public/images/flag-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ilhammeidi/awrora-starter/129a3418485c05204fba297431664771487f2fc7/public/images/flag-logo.png -------------------------------------------------------------------------------- /public/images/loading.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ilhammeidi/awrora-starter/129a3418485c05204fba297431664771487f2fc7/public/images/loading.gif -------------------------------------------------------------------------------- /public/images/logos/agency.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ilhammeidi/awrora-starter/129a3418485c05204fba297431664771487f2fc7/public/images/logos/agency.png -------------------------------------------------------------------------------- /public/images/logos/architect.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ilhammeidi/awrora-starter/129a3418485c05204fba297431664771487f2fc7/public/images/logos/architect.png -------------------------------------------------------------------------------- /public/images/logos/cloud.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ilhammeidi/awrora-starter/129a3418485c05204fba297431664771487f2fc7/public/images/logos/cloud.png -------------------------------------------------------------------------------- /public/images/logos/coin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ilhammeidi/awrora-starter/129a3418485c05204fba297431664771487f2fc7/public/images/logos/coin.png -------------------------------------------------------------------------------- /public/images/logos/fashion.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ilhammeidi/awrora-starter/129a3418485c05204fba297431664771487f2fc7/public/images/logos/fashion.png -------------------------------------------------------------------------------- /public/images/logos/mobile.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ilhammeidi/awrora-starter/129a3418485c05204fba297431664771487f2fc7/public/images/logos/mobile.png -------------------------------------------------------------------------------- /public/images/logos/profile.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ilhammeidi/awrora-starter/129a3418485c05204fba297431664771487f2fc7/public/images/logos/profile.png -------------------------------------------------------------------------------- /public/images/logos/saas.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ilhammeidi/awrora-starter/129a3418485c05204fba297431664771487f2fc7/public/images/logos/saas.png -------------------------------------------------------------------------------- /public/images/logos/starter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ilhammeidi/awrora-starter/129a3418485c05204fba297431664771487f2fc7/public/images/logos/starter.png -------------------------------------------------------------------------------- /public/images/starter/Illustration.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ilhammeidi/awrora-starter/129a3418485c05204fba297431664771487f2fc7/public/images/starter/Illustration.png -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | // https://nuxt.com/docs/guide/concepts/typescript 3 | "extends": "./.nuxt/tsconfig.json" 4 | } 5 | --------------------------------------------------------------------------------