diff --git a/fittrackee_client/src/components/Error.vue b/fittrackee_client/src/components/Error.vue new file mode 100644 index 00000000..6a2d715e --- /dev/null +++ b/fittrackee_client/src/components/Error.vue @@ -0,0 +1,63 @@ + + + + + diff --git a/fittrackee_client/src/locales/en/common.json b/fittrackee_client/src/locales/en/common.json new file mode 100644 index 00000000..f5c4b057 --- /dev/null +++ b/fittrackee_client/src/locales/en/common.json @@ -0,0 +1,3 @@ +{ + "HOME": "Home" +} \ No newline at end of file diff --git a/fittrackee_client/src/locales/en/en.ts b/fittrackee_client/src/locales/en/en.ts index 1428c936..c24b9657 100644 --- a/fittrackee_client/src/locales/en/en.ts +++ b/fittrackee_client/src/locales/en/en.ts @@ -1,12 +1,16 @@ import AdministrationTranslations from './administration.json' +import CommonTranslations from './common.json' import DashboardTranslations from './dashboard.json' +import ErrorTranslations from './error.json' import StatisticsTranslations from './statistics.json' import UserTranslations from './user.json' import WorkoutsTranslations from './workouts.json' export default { administration: AdministrationTranslations, + common: CommonTranslations, dashboard: DashboardTranslations, + error: ErrorTranslations, statistics: StatisticsTranslations, user: UserTranslations, workouts: WorkoutsTranslations, diff --git a/fittrackee_client/src/locales/en/error.json b/fittrackee_client/src/locales/en/error.json new file mode 100644 index 00000000..7bc278eb --- /dev/null +++ b/fittrackee_client/src/locales/en/error.json @@ -0,0 +1,5 @@ +{ + "not-found": { + "PAGE": "Page not found" + } +} \ No newline at end of file diff --git a/fittrackee_client/src/locales/fr/common.json b/fittrackee_client/src/locales/fr/common.json new file mode 100644 index 00000000..8829e4f6 --- /dev/null +++ b/fittrackee_client/src/locales/fr/common.json @@ -0,0 +1,3 @@ +{ + "HOME": "Accueil" +} \ No newline at end of file diff --git a/fittrackee_client/src/locales/fr/error.json b/fittrackee_client/src/locales/fr/error.json new file mode 100644 index 00000000..c9e1e60a --- /dev/null +++ b/fittrackee_client/src/locales/fr/error.json @@ -0,0 +1,5 @@ +{ + "not-found": { + "PAGE": "Page introuvable" + } +} \ No newline at end of file diff --git a/fittrackee_client/src/locales/fr/fr.ts b/fittrackee_client/src/locales/fr/fr.ts index 1428c936..c24b9657 100644 --- a/fittrackee_client/src/locales/fr/fr.ts +++ b/fittrackee_client/src/locales/fr/fr.ts @@ -1,12 +1,16 @@ import AdministrationTranslations from './administration.json' +import CommonTranslations from './common.json' import DashboardTranslations from './dashboard.json' +import ErrorTranslations from './error.json' import StatisticsTranslations from './statistics.json' import UserTranslations from './user.json' import WorkoutsTranslations from './workouts.json' export default { administration: AdministrationTranslations, + common: CommonTranslations, dashboard: DashboardTranslations, + error: ErrorTranslations, statistics: StatisticsTranslations, user: UserTranslations, workouts: WorkoutsTranslations, diff --git a/fittrackee_client/src/router/index.ts b/fittrackee_client/src/router/index.ts index 5e982931..9a72a96c 100644 --- a/fittrackee_client/src/router/index.ts +++ b/fittrackee_client/src/router/index.ts @@ -1,5 +1,6 @@ import { createRouter, createWebHistory, RouteRecordRaw } from 'vue-router' import Dashboard from '@/views/DashBoard.vue' +import NotFound from '@/views/NotFound.vue' const routes: Array = [ { @@ -7,6 +8,7 @@ const routes: Array = [ name: 'Dashboard', component: Dashboard, }, + { path: '/:pathMatch(.*)*', name: 'not-found', component: NotFound }, ] const router = createRouter({ diff --git a/fittrackee_client/src/scss/base.scss b/fittrackee_client/src/scss/base.scss index 8a6a99fd..a2e13fa3 100644 --- a/fittrackee_client/src/scss/base.scss +++ b/fittrackee_client/src/scss/base.scss @@ -31,4 +31,26 @@ a { padding-right: 15px; max-width: $container-width; width: 100%; +} + +button { + border: solid 1px var(--app-color); + border-radius: 0; + box-shadow: 2px 2px 2px var(--app-shadow-color); + color: var(--app-color); + padding: 6px 14px; + + &:hover { + background: var(--app-color); + color: #FFFFFF; + } + + &:active { + box-shadow: 2px 0 2px var(--app-shadow-color); + transform: translateY(2px); + } +} + +.upper { + text-transform: uppercase; } \ No newline at end of file diff --git a/fittrackee_client/src/scss/colors.scss b/fittrackee_client/src/scss/colors.scss index af9d2ba7..7dba5d0d 100644 --- a/fittrackee_client/src/scss/colors.scss +++ b/fittrackee_client/src/scss/colors.scss @@ -8,4 +8,6 @@ --footer-background-color: #FFFFFF; --footer-color: #8b8c8c; + + --app-shadow-color: lightgrey; } \ No newline at end of file diff --git a/fittrackee_client/src/views/NotFound.vue b/fittrackee_client/src/views/NotFound.vue new file mode 100644 index 00000000..31dfa76a --- /dev/null +++ b/fittrackee_client/src/views/NotFound.vue @@ -0,0 +1,26 @@ + + +