From feaaff638c8e161ab26dceab7e855202b8171835 Mon Sep 17 00:00:00 2001 From: Rajandeep98 Date: Tue, 22 Oct 2024 15:17:33 -0700 Subject: [PATCH] sbc273_sbc275_sbc276_sbc277_sbc271 --- frontend/.gitignore | 4 + frontend/components/NuxtLogo.vue | 19 ---- frontend/components/Tutorial.vue | 122 --------------------- frontend/components/app_footer/NavLink.vue | 24 ++++ frontend/components/app_footer/index.vue | 33 ++++++ frontend/components/app_header/NavLink.vue | 24 ++++ frontend/components/app_header/index.vue | 20 ++++ frontend/components/button.vue | 17 +++ frontend/components/dropdown.vue | 77 +++++++++++++ frontend/config/dev.env.js | 10 -- frontend/config/index.js | 52 --------- frontend/config/prod.env.js | 10 -- frontend/layouts/default.vue | 12 ++ frontend/nuxt.config.ts | 7 +- frontend/package-lock.json | 46 ++++++++ frontend/package.json | 3 + frontend/pages/index.vue | 60 +++++++++- frontend/plugins/font-awesome.ts | 10 ++ frontend/public/images/top-nav.png | Bin 0 -> 22268 bytes 19 files changed, 333 insertions(+), 217 deletions(-) delete mode 100644 frontend/components/NuxtLogo.vue delete mode 100644 frontend/components/Tutorial.vue create mode 100644 frontend/components/app_footer/NavLink.vue create mode 100644 frontend/components/app_footer/index.vue create mode 100644 frontend/components/app_header/NavLink.vue create mode 100644 frontend/components/app_header/index.vue create mode 100644 frontend/components/button.vue create mode 100644 frontend/components/dropdown.vue delete mode 100644 frontend/config/dev.env.js delete mode 100644 frontend/config/index.js delete mode 100644 frontend/config/prod.env.js create mode 100644 frontend/layouts/default.vue create mode 100644 frontend/plugins/font-awesome.ts create mode 100644 frontend/public/images/top-nav.png diff --git a/frontend/.gitignore b/frontend/.gitignore index befff2d31..2ce339e01 100644 --- a/frontend/.gitignore +++ b/frontend/.gitignore @@ -90,3 +90,7 @@ sw.* # Vim swap files *.swp + +.nuxt/ +.output/ +dist \ No newline at end of file diff --git a/frontend/components/NuxtLogo.vue b/frontend/components/NuxtLogo.vue deleted file mode 100644 index f038904c4..000000000 --- a/frontend/components/NuxtLogo.vue +++ /dev/null @@ -1,19 +0,0 @@ - - - diff --git a/frontend/components/Tutorial.vue b/frontend/components/Tutorial.vue deleted file mode 100644 index 500cf2ff1..000000000 --- a/frontend/components/Tutorial.vue +++ /dev/null @@ -1,122 +0,0 @@ - - - - diff --git a/frontend/components/app_footer/NavLink.vue b/frontend/components/app_footer/NavLink.vue new file mode 100644 index 000000000..e5180f1eb --- /dev/null +++ b/frontend/components/app_footer/NavLink.vue @@ -0,0 +1,24 @@ + + \ No newline at end of file diff --git a/frontend/components/app_footer/index.vue b/frontend/components/app_footer/index.vue new file mode 100644 index 000000000..5be458eb5 --- /dev/null +++ b/frontend/components/app_footer/index.vue @@ -0,0 +1,33 @@ + + \ No newline at end of file diff --git a/frontend/components/app_header/NavLink.vue b/frontend/components/app_header/NavLink.vue new file mode 100644 index 000000000..e5180f1eb --- /dev/null +++ b/frontend/components/app_header/NavLink.vue @@ -0,0 +1,24 @@ + + \ No newline at end of file diff --git a/frontend/components/app_header/index.vue b/frontend/components/app_header/index.vue new file mode 100644 index 000000000..f037b6665 --- /dev/null +++ b/frontend/components/app_header/index.vue @@ -0,0 +1,20 @@ + + + \ No newline at end of file diff --git a/frontend/components/button.vue b/frontend/components/button.vue new file mode 100644 index 000000000..a968d0eed --- /dev/null +++ b/frontend/components/button.vue @@ -0,0 +1,17 @@ + + diff --git a/frontend/components/dropdown.vue b/frontend/components/dropdown.vue new file mode 100644 index 000000000..4b8833eab --- /dev/null +++ b/frontend/components/dropdown.vue @@ -0,0 +1,77 @@ + + + + + diff --git a/frontend/config/dev.env.js b/frontend/config/dev.env.js deleted file mode 100644 index c9558f850..000000000 --- a/frontend/config/dev.env.js +++ /dev/null @@ -1,10 +0,0 @@ -const merge = require('webpack-merge') -const prodEnv = require('./prod.env') - -module.exports = merge(prodEnv, { - NODE_ENV: '"localhost"', - API_URL: '"http://localhost:5000/api/v1"', - SOCKET_URL: '"http://localhost:5000"', - KEYCLOAK_JSON_URL: '"http://localhost:8080/static/keycloak.json"', - REFRESH_TOKEN_SECONDS_LEFT: 180 -}) diff --git a/frontend/config/index.js b/frontend/config/index.js deleted file mode 100644 index 2a7218d7b..000000000 --- a/frontend/config/index.js +++ /dev/null @@ -1,52 +0,0 @@ -// see http://vuejs-templates.github.io/webpack for documentation. -const path = require('path') - -module.exports = { - build: { - env: require('./prod.env'), - index: path.resolve(__dirname, '../dist/index.html'), - assetsRoot: path.resolve(__dirname, '../dist'), - assetsSubDirectory: 'static', - assetsPublicPath: '/', - productionSourceMap: true, - // Gzip off by default as many popular static hosts such as - // Surge or Netlify already gzip all static assets for you. - // Before setting to `true`, make sure to: - // npm install --save-dev compression-webpack-plugin - productionGzip: false, - productionGzipExtensions: ['js', 'css'], - // Run the build command with an extra argument to - // View the bundle analyzer report after build finishes: - // `npm run build --report` - // Set to `true` or `false` to always turn it on or off - bundleAnalyzerReport: process.env.npm_config_report - }, - dev: { - env: require('./dev.env'), - port: 8080, - autoOpenBrowser: true, - assetsSubDirectory: 'static', - assetsPublicPath: '/', - proxyTable: {}, - // CSS Sourcemaps off by default because relative paths are "buggy" - // with this option, according to the CSS-Loader README - // (https://github.com/webpack/css-loader#sourcemaps) - // In our experience, they generally work as expected, - // just be aware of this issue when enabling this option. - cssSourceMap: false - }, - prod: { - env: require('./prod.env'), - port: 8080, - autoOpenBrowser: true, - assetsSubDirectory: 'static', - assetsPublicPath: '/', - proxyTable: {}, - // CSS Sourcemaps off by default because relative paths are "buggy" - // with this option, according to the CSS-Loader README - // (https://github.com/webpack/css-loader#sourcemaps) - // In our experience, they generally work as expected, - // just be aware of this issue when enabling this option. - cssSourceMap: false - } -} diff --git a/frontend/config/prod.env.js b/frontend/config/prod.env.js deleted file mode 100644 index 1f3621c8f..000000000 --- a/frontend/config/prod.env.js +++ /dev/null @@ -1,10 +0,0 @@ -const merge = require('webpack-merge') -const prodEnv = require('./prod.env') - -module.exports = merge(prodEnv, { - NODE_ENV: '"production"', - API_URL: '"/api/v1"', - SOCKET_URL: '""', - KEYCLOAK_JSON_URL: '"/static/keycloak/keycloak.json"', - REFRESH_TOKEN_SECONDS_LEFT: 1700 -}) diff --git a/frontend/layouts/default.vue b/frontend/layouts/default.vue new file mode 100644 index 000000000..3123e3538 --- /dev/null +++ b/frontend/layouts/default.vue @@ -0,0 +1,12 @@ + + diff --git a/frontend/nuxt.config.ts b/frontend/nuxt.config.ts index 11a92bf0f..4532ce028 100644 --- a/frontend/nuxt.config.ts +++ b/frontend/nuxt.config.ts @@ -5,6 +5,7 @@ export default defineNuxtConfig({ devServer: { port: 8080, }, + devtools: { enabled: true }, app: { head: { charset: 'utf-8', @@ -14,7 +15,7 @@ export default defineNuxtConfig({ baseURL: '/', }, - css: ['~/assets/css/main.scss'], // Global CSS + css: ['~/assets/css/main.scss'], vite: { optimizeDeps: { @@ -25,11 +26,11 @@ export default defineNuxtConfig({ }, }, - plugins: [], + plugins: ['~/plugins/font-awesome.ts'], components: true, buildModules: [ - '@nuxt/typescript-build', // TypeScript support + '@nuxt/typescript-build', ], modules: [ diff --git a/frontend/package-lock.json b/frontend/package-lock.json index 4c6880adf..d4fe33621 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -10,6 +10,9 @@ "dependencies": { "@bcgov/bc-sans": "^2.1.0", "@bcgov/design-tokens": "^3.1.1", + "@fortawesome/fontawesome-svg-core": "^6.6.0", + "@fortawesome/free-solid-svg-icons": "^6.6.0", + "@fortawesome/vue-fontawesome": "^3.0.8", "@headlessui/vue": "^1.7.22", "@nuxt/content": "^2.13.2", "@nuxt/image": "^1.7.0", @@ -1020,6 +1023,49 @@ "node": ">=14" } }, + "node_modules/@fortawesome/fontawesome-common-types": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-6.6.0.tgz", + "integrity": "sha512-xyX0X9mc0kyz9plIyryrRbl7ngsA9jz77mCZJsUkLl+ZKs0KWObgaEBoSgQiYWAsSmjz/yjl0F++Got0Mdp4Rw==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/@fortawesome/fontawesome-svg-core": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-6.6.0.tgz", + "integrity": "sha512-KHwPkCk6oRT4HADE7smhfsKudt9N/9lm6EJ5BVg0tD1yPA5hht837fB87F8pn15D8JfTqQOjhKTktwmLMiD7Kg==", + "license": "MIT", + "dependencies": { + "@fortawesome/fontawesome-common-types": "6.6.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@fortawesome/free-solid-svg-icons": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/@fortawesome/free-solid-svg-icons/-/free-solid-svg-icons-6.6.0.tgz", + "integrity": "sha512-IYv/2skhEDFc2WGUcqvFJkeK39Q+HyPf5GHUrT/l2pKbtgEIv1al1TKd6qStR5OIwQdN1GZP54ci3y4mroJWjA==", + "license": "(CC-BY-4.0 AND MIT)", + "dependencies": { + "@fortawesome/fontawesome-common-types": "6.6.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@fortawesome/vue-fontawesome": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/@fortawesome/vue-fontawesome/-/vue-fontawesome-3.0.8.tgz", + "integrity": "sha512-yyHHAj4G8pQIDfaIsMvQpwKMboIZtcHTUvPqXjOHyldh1O1vZfH4W03VDPv5RvI9P6DLTzJQlmVgj9wCf7c2Fw==", + "license": "MIT", + "peerDependencies": { + "@fortawesome/fontawesome-svg-core": "~1 || ~6", + "vue": ">= 3.0.0 < 4" + } + }, "node_modules/@headlessui/tailwindcss": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/@headlessui/tailwindcss/-/tailwindcss-0.2.1.tgz", diff --git a/frontend/package.json b/frontend/package.json index dcb88b961..3600faeda 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -18,6 +18,9 @@ "dependencies": { "@bcgov/bc-sans": "^2.1.0", "@bcgov/design-tokens": "^3.1.1", + "@fortawesome/fontawesome-svg-core": "^6.6.0", + "@fortawesome/free-solid-svg-icons": "^6.6.0", + "@fortawesome/vue-fontawesome": "^3.0.8", "@headlessui/vue": "^1.7.22", "@nuxt/content": "^2.13.2", "@nuxt/image": "^1.7.0", diff --git a/frontend/pages/index.vue b/frontend/pages/index.vue index d8766ff87..7be5f9965 100644 --- a/frontend/pages/index.vue +++ b/frontend/pages/index.vue @@ -1,10 +1,68 @@ + diff --git a/frontend/plugins/font-awesome.ts b/frontend/plugins/font-awesome.ts new file mode 100644 index 000000000..13077aff9 --- /dev/null +++ b/frontend/plugins/font-awesome.ts @@ -0,0 +1,10 @@ +import { library } from '@fortawesome/fontawesome-svg-core'; +import { FontAwesomeIcon } from '@fortawesome/vue-fontawesome'; +import { defineNuxtPlugin } from '#app'; +import { faCheck, faBars } from '@fortawesome/free-solid-svg-icons'; + +library.add(faCheck, faBars); + +export default defineNuxtPlugin((nuxtApp) => { + nuxtApp.vueApp.component('font-awesome-icon', FontAwesomeIcon); +}); diff --git a/frontend/public/images/top-nav.png b/frontend/public/images/top-nav.png new file mode 100644 index 0000000000000000000000000000000000000000..e8d6c357a25020d6c921fafe10100cc80b8e3991 GIT binary patch literal 22268 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 literal 0 HcmV?d00001