diff --git a/src/pages/workouts/Definitions.vue b/src/pages/workouts/Definitions.vue index f4e6a7c..6031cc1 100644 --- a/src/pages/workouts/Definitions.vue +++ b/src/pages/workouts/Definitions.vue @@ -63,5 +63,16 @@ export const speedConvert = (speed: number) => { return Math.round(speed*3.6) } + export type ChartDataset = { + "radius": number, + "label": string, + "backgroundColor": string, + "borderColor": string, + "data": Array, + } + export type ChartData = { + "labels": Array, + "datasets": Array, + } export default {} \ No newline at end of file diff --git a/src/pages/workouts/Feed.vue b/src/pages/workouts/Feed.vue index 0097826..b9d691c 100644 --- a/src/pages/workouts/Feed.vue +++ b/src/pages/workouts/Feed.vue @@ -5,25 +5,7 @@
Публичные тренировки не найдены
@@ -33,7 +15,8 @@ import { ref, inject } from 'vue'; import { useToast } from "vuestic-ui/web-components"; import { useRouter } from "vue-router"; - import { WorkoutItem, secondsToDuration, distConvert, formatTime, speedConvert } from "./Definitions.vue"; + import { WorkoutItem } from "./Definitions.vue"; + import WorkoutListItem from "./components/WorkoutListItem.vue"; const { push } = useRouter(); @@ -69,17 +52,57 @@ cursor: pointer; height: 300px; width: 100%; - background-position: 50% 50%; background-repeat: no-repeat; - background-size: cover; + background-size: auto; + background-position: center center; + overflow: hidden; + position: relative; } - + + + .image-container img { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + object-fit: cover; + } + @media (min-width: 1300px) { + .image-container::before, + .image-container::after { + content: ""; + position: absolute; + width: 24%; + height: 300px; + background-image: inherit; + background-size: inherit; + filter: blur(10px); + } + + .image-container::before { + left: 0; + } + + .image-container::after { + right: 0; + } + + .image-container::before { + left: 0; + background-position: left center; + } + + .image-container:after { + right: 0; + background-position: right center; + } +} .news-feed { display: flex; flex-direction: column; align-items: center; justify-content: center; - margin-top: 7rem; } .news-item { diff --git a/src/pages/workouts/WorkoutItem.vue b/src/pages/workouts/WorkoutItem.vue index 49d0117..83aa530 100644 --- a/src/pages/workouts/WorkoutItem.vue +++ b/src/pages/workouts/WorkoutItem.vue @@ -1,390 +1,55 @@ @@ -392,63 +57,7 @@ initWorkout(route.params.id as string); \ No newline at end of file diff --git a/src/pages/workouts/WorkoutList.vue b/src/pages/workouts/WorkoutList.vue index 8c8520c..f5c991b 100644 --- a/src/pages/workouts/WorkoutList.vue +++ b/src/pages/workouts/WorkoutList.vue @@ -7,26 +7,7 @@
Тренировки не найдены
@@ -36,7 +17,8 @@ import { AxiosResponse, AxiosInstance } from "axios"; import { ref, inject } from 'vue'; import { useToast } from "vuestic-ui/web-components"; import { useRouter } from "vue-router"; -import { WorkoutItem, formatTime, secondsToDuration, distConvert, speedConvert } from "./Definitions.vue"; +import { WorkoutItem } from "./Definitions.vue"; +import WorkoutListItem from "./components/WorkoutListItem.vue"; const { push } = useRouter(); @@ -103,7 +85,6 @@ initWorkouts(); flex-direction: column; align-items: center; justify-content: center; - margin-top: 7rem; } .news-item { diff --git a/src/pages/workouts/WorkoutPublicItem.vue b/src/pages/workouts/WorkoutPublicItem.vue index 38d00b4..1d43969 100644 --- a/src/pages/workouts/WorkoutPublicItem.vue +++ b/src/pages/workouts/WorkoutPublicItem.vue @@ -1,304 +1,55 @@ @@ -306,45 +57,7 @@ initWorkout(route.params.id as string); \ No newline at end of file