From b1db052908a2f53ec985adf0d1a45d271e9ba977 Mon Sep 17 00:00:00 2001 From: Robin Lopez Date: Mon, 25 Mar 2024 11:31:04 +0100 Subject: [PATCH] #74 (style) - Clean styles for actionsCardButton (Like, favorites, watch later) + add components for card speaker --- .../speaker-card/SpeakerLikeButton.vue | 27 +++ .../speaker-card/SpeakerResumeTalk.vue | 94 ++++++++ .../src/components/talk-card/ScheduleTalk.vue | 21 -- mobile/src/styles/components/_avatar.scss | 8 + .../ionic/customs/_custom-ion-buttons.scss | 56 +++-- .../src/views/event/SpeakersDirectoryPage.vue | 226 ++++++++++++------ 6 files changed, 316 insertions(+), 116 deletions(-) create mode 100644 mobile/src/components/speaker-card/SpeakerLikeButton.vue create mode 100644 mobile/src/components/speaker-card/SpeakerResumeTalk.vue diff --git a/mobile/src/components/speaker-card/SpeakerLikeButton.vue b/mobile/src/components/speaker-card/SpeakerLikeButton.vue new file mode 100644 index 00000000..d5d0b454 --- /dev/null +++ b/mobile/src/components/speaker-card/SpeakerLikeButton.vue @@ -0,0 +1,27 @@ + + + + + diff --git a/mobile/src/components/speaker-card/SpeakerResumeTalk.vue b/mobile/src/components/speaker-card/SpeakerResumeTalk.vue new file mode 100644 index 00000000..5186b290 --- /dev/null +++ b/mobile/src/components/speaker-card/SpeakerResumeTalk.vue @@ -0,0 +1,94 @@ + + + + + diff --git a/mobile/src/components/talk-card/ScheduleTalk.vue b/mobile/src/components/talk-card/ScheduleTalk.vue index eeef89d8..cf380570 100644 --- a/mobile/src/components/talk-card/ScheduleTalk.vue +++ b/mobile/src/components/talk-card/ScheduleTalk.vue @@ -318,7 +318,6 @@ const theme = { } //* States card talk *// - &._is-highlighted { border : { top: 2px solid var(--app-primary); @@ -380,27 +379,7 @@ const theme = { .talkCard-footer { border-color: var(--app-primary-shade); - - /* TODO RLZ: move it to a proper place in talk actions components */ - :deep(.btnActionCard) { border-color: var(--app-primary-shade);} - } - } - - //* TODO - Start - Delete when btn is component *// - //* Change style type actions *// - ion-button { - &.btn-watchLater { - --background: var(--voxxrin-event-theme-colors-secondary-hex); - --color: var(--voxxrin-event-theme-colors-secondary-contrast-hex); - border-left: 1px solid var(--voxxrin-event-theme-colors-secondary-hex); - } - - &.btn-feedbackSelect { - --background: var(--voxxrin-event-theme-colors-primary-hex); - --color: var(--voxxrin-event-theme-colors-primary-contrast-hex); - border-left: 1px solid var(--voxxrin-event-theme-colors-primary-hex); } - //* END - Delete when btn is component *// } } diff --git a/mobile/src/styles/components/_avatar.scss b/mobile/src/styles/components/_avatar.scss index f0a4037d..008d83cc 100644 --- a/mobile/src/styles/components/_avatar.scss +++ b/mobile/src/styles/components/_avatar.scss @@ -56,6 +56,10 @@ color: var(--app-primary); font-size: 16px; line-height: 1.2; + + @media (prefers-color-scheme: dark) { + color: var(--app-white); + } } &-subTitle { @@ -64,6 +68,10 @@ align-items: center; gap: var(--app-gutters-tiny); font-weight: 500; + + @media (prefers-color-scheme: dark) { + color: var(--app-whit-90); + } } } } diff --git a/mobile/src/styles/vendors/ionic/customs/_custom-ion-buttons.scss b/mobile/src/styles/vendors/ionic/customs/_custom-ion-buttons.scss index 44aff47e..5084bee5 100644 --- a/mobile/src/styles/vendors/ionic/customs/_custom-ion-buttons.scss +++ b/mobile/src/styles/vendors/ionic/customs/_custom-ion-buttons.scss @@ -103,28 +103,46 @@ ion-button { } } } +} - /* TODO RLZ: move it to a proper place in talk actions components */ - &.btnActionCard { - height: 100% !important; - min-height: 55px !important; - width: 58px !important; - margin: 0; - --border-radius: 0; - --background: rgba(white, 0.5); - --color: var(--app-primary); - border-left: 1px solid var(--app-grey-line); - font-size: 22px; - --padding-start: 0; - --padding-end: 0; - --background-activated-opacity: 0.1; - --background-hover-opacity: 0.1; - --box-shadow: none; +.btnActionCard { + height: 100% !important; + min-height: 55px !important; + width: 58px !important; + margin: 0; + --border-radius: 0; + --background: rgba(white, 0.5); + --color: var(--app-primary); + border-left: 1px solid var(--app-grey-line); + font-size: 22px; + --padding-start: 0; + --padding-end: 0; + --background-activated-opacity: 0.1; + --background-hover-opacity: 0.1; + --box-shadow: none; + &.button-solid { @media (prefers-color-scheme: dark) { - --background: rgba(white, 0.2); - --color: var(--app-white); - border-left: 1px solid var(--app-line-contrast); + border-color: var(--app-line-contrast); + --background: transparent; + color: var(--app-white); + } + } + + .btnActionCard-group { + display: flex; + flex-direction: column; + align-items: center; + row-gap: 2px; + + &-icon { + position: relative; + font-size: 26px; + } + + &-nb { + font-size: 14px !important; + font-weight: 700; } } } diff --git a/mobile/src/views/event/SpeakersDirectoryPage.vue b/mobile/src/views/event/SpeakersDirectoryPage.vue index 1ea196f9..1f428c49 100644 --- a/mobile/src/views/event/SpeakersDirectoryPage.vue +++ b/mobile/src/views/event/SpeakersDirectoryPage.vue @@ -8,7 +8,9 @@ - + +
@@ -26,82 +28,15 @@
- - -
- - C'est pas Versailles ici ! Eteignez vos envs projets K8S la nuit pour sauver la planète. - - -
-
- - -
- - Unlocking the Secrets of the Devoxx Mobile App: A Deep Dive into Open Source PWA with Vue and Firebase - - -
-
+
@@ -120,7 +55,9 @@ import {managedRef as ref} from "@/views/vue-utils"; import PoweredVoxxrin from "@/components/ui/PoweredVoxxrin.vue"; import {IonBadge, IonInput, IonThumbnail} from "@ionic/vue"; - import {business, businessSharp, heartOutline} from "ionicons/icons"; + import {businessSharp, informationCircleSharp} from "ionicons/icons"; + import SpeakerLikeButton from "@/components/speaker-card/SpeakerLikeButton.vue"; + import SpeakerResumeTalk from "@/components/speaker-card/SpeakerResumeTalk.vue"; const { LL } = typesafeI18n() @@ -130,7 +67,7 @@ const baseUrl = import.meta.env.BASE_URL; -