diff --git a/01_Requirements/REQ0189/index.md b/01_Requirements/REQ0189/index.md new file mode 100644 index 0000000..4f8a870 --- /dev/null +++ b/01_Requirements/REQ0189/index.md @@ -0,0 +1,20 @@ +--- +tags: mobile, payment +--- + +# REQ0189 party payment flow + +frontend page to handle party-user pay join event + +edit page T.B.A. + +## TODO + +## sources + +T.B.A. + +## branch + +develop/requirements/REQ0189 +develop/mobile/DummyPayPage/trunk diff --git a/03_source/mobile/src/App.tsx b/03_source/mobile/src/App.tsx index 2e71964..fee147f 100644 --- a/03_source/mobile/src/App.tsx +++ b/03_source/mobile/src/App.tsx @@ -66,6 +66,7 @@ import PrivacyAgreement from './pages/PrivacyAgreement'; import EventDetail from './pages/EventDetail'; import MemberProfile from './pages/MemberProfile'; import OrderDetail from './pages/OrderDetail'; +import DummyPayPage from './pages/DummyPayPage'; setupIonicReact(); @@ -131,6 +132,8 @@ const IonicApp: React.FC = ({ darkMode, schedule, setIsLoggedIn, {/* Event and profile detail pages */} + + diff --git a/03_source/mobile/src/pages/DummyPayPage/index.tsx b/03_source/mobile/src/pages/DummyPayPage/index.tsx new file mode 100644 index 0000000..a16c17c --- /dev/null +++ b/03_source/mobile/src/pages/DummyPayPage/index.tsx @@ -0,0 +1,37 @@ +// REQ0041/home_discover_event_tab + +import { + IonPage, + IonHeader, + IonToolbar, + IonButtons, + IonButton, + IonIcon, + IonTitle, + IonContent, +} from '@ionic/react'; +import { menuOutline } from 'ionicons/icons'; +import React, { useEffect, useRef, useState } from 'react'; +import './style.scss'; + +const DummyPayPage: React.FC = () => { + return ( + + + + + {/* */} + + + + + Discover Events + + + + DummyPayPage + + ); +}; + +export default DummyPayPage; diff --git a/03_source/mobile/src/pages/DummyPayPage/style.scss b/03_source/mobile/src/pages/DummyPayPage/style.scss new file mode 100644 index 0000000..5fae6e3 --- /dev/null +++ b/03_source/mobile/src/pages/DummyPayPage/style.scss @@ -0,0 +1,103 @@ +#about-page { + ion-toolbar { + position: absolute; + + top: 0; + left: 0; + right: 0; + + --background: transparent; + --color: white; + } + + ion-toolbar ion-back-button, + ion-toolbar ion-button, + ion-toolbar ion-menu-button { + --color: white; + } + + .about-header { + position: relative; + + width: 100%; + height: 30%; + } + + .about-header .about-image { + position: absolute; + + top: 0; + left: 0; + bottom: 0; + right: 0; + + background-position: center; + background-size: cover; + background-repeat: no-repeat; + + opacity: 0; + + transition: opacity 500ms ease-in-out; + } + + .about-header .madison { + background-image: url('/assets/img/about/madison.jpg'); + } + + .about-header .austin { + background-image: url('/assets/img/about/austin.jpg'); + } + + .about-header .chicago { + background-image: url('/assets/img/about/chicago.jpg'); + } + + .about-header .seattle { + background-image: url('/assets/img/about/seattle.jpg'); + } + + .about-info { + position: relative; + margin-top: -10px; + border-radius: 10px; + background: var(--ion-background-color, #fff); + z-index: 2; // display rounded border above header image + } + + .about-info h3 { + margin-top: 0; + } + + .about-info ion-list { + padding-top: 0; + } + + .about-info p { + line-height: 130%; + + color: var(--ion-color-dark); + } + + .about-info ion-icon { + margin-inline-end: 32px; + } + + /* + * iOS Only + */ + + .ios .about-info { + --ion-padding: 19px; + } + + .ios .about-info h3 { + font-weight: 700; + } +} + +#date-input-popover { + --offset-y: -var(--ion-safe-area-bottom); + + --max-width: 90%; + --width: 336px; +}