Skip to content

Commit e23c99d

Browse files
Squashed commit of the following:
commit 235e70a0404172e2b49151f4383a2ffa987d187c Author: Moritz Sternemann <[email protected]> Date: Fri Mar 19 18:26:32 2021 +0100 feat: Replace BaseButton confirm with native browser popup commit 6bdeee4 Author: Moritz Sternemann <[email protected]> Date: Fri Mar 19 00:18:31 2021 +0100 chore(release): 3.14.0-pre.16 commit b3fb110 Author: Moritz Sternemann <[email protected]> Date: Fri Mar 19 00:17:40 2021 +0100 feat: 404 page for scholar not found commit 451abd5 Author: Moritz Sternemann <[email protected]> Date: Thu Mar 18 23:46:51 2021 +0100 fix: Inset MapKit controls only when necessary commit 2862201 Author: Moritz Sternemann <[email protected]> Date: Thu Mar 18 23:32:16 2021 +0100 chore: Increase character limit of bio and submission to 500 commit 6d68dd6 Author: Moritz Sternemann <[email protected]> Date: Thu Mar 18 23:31:51 2021 +0100 fix: Enforce maxLength property of textarea commit ae5df15 Author: Moritz Sternemann <[email protected]> Date: Thu Mar 18 14:50:26 2021 +0100 chore(release): 3.14.0-pre.15 commit 192519a Author: Moritz Sternemann <[email protected]> Date: Thu Mar 18 14:50:17 2021 +0100 chore: Update cloudkit for cookie fix commit 9d91f96 Author: Moritz Sternemann <[email protected]> Date: Wed Mar 17 00:37:19 2021 +0100 chore: Update sentry-cli commit 7c014b9 Author: Moritz Sternemann <[email protected]> Date: Wed Mar 17 00:34:27 2021 +0100 chore(release): 3.14.0-pre.14 commit d4a82ba Author: Moritz Sternemann <[email protected]> Date: Wed Mar 17 00:34:16 2021 +0100 chore: Update standard-version commit fdead61 Author: Moritz Sternemann <[email protected]> Date: Wed Mar 17 00:33:19 2021 +0100 chore: Update cross-env commit 045b508 Author: Moritz Sternemann <[email protected]> Date: Wed Mar 17 00:15:24 2021 +0100 fix: Add blob: to image CSP commit d0d9792 Author: Moritz Sternemann <[email protected]> Date: Wed Mar 17 00:13:14 2021 +0100 fix: Add iCloud to connect CSP commit cd7d110 Author: Moritz Sternemann <[email protected]> Date: Wed Mar 17 00:12:56 2021 +0100 fix: Add sentry to connect CSP commit 3ebdb6e Author: Moritz Sternemann <[email protected]> Date: Wed Dec 30 23:36:42 2020 +0100 fix: Create ScholarPrivate on save if missing commit 1c4e4fb Author: Moritz Sternemann <[email protected]> Date: Wed Dec 30 23:35:36 2020 +0100 chore: Update @wwdcscholars/cloudkit commit 7fa61ad Author: Moritz Sternemann <[email protected]> Date: Tue Dec 29 22:52:41 2020 +0100 chore(release): 3.14.0-pre.13 commit 21411a6 Author: Moritz Sternemann <[email protected]> Date: Tue Dec 29 22:52:37 2020 +0100 fix: Change child CSP to blob for workers commit 6e03564 Author: Moritz Sternemann <[email protected]> Date: Tue Dec 29 22:47:30 2020 +0100 chore(release): 3.14.0-pre.12 commit 9fde003 Author: Moritz Sternemann <[email protected]> Date: Tue Dec 29 22:47:24 2020 +0100 fix: Fix CSP syntax commit 2556be6 Author: Moritz Sternemann <[email protected]> Date: Tue Dec 29 22:43:45 2020 +0100 fix: Change devtool to webpack documented value commit ea0de93 Author: Moritz Sternemann <[email protected]> Date: Tue Dec 29 22:42:32 2020 +0100 chore(release): 3.14.0-pre.11 commit c202f93 Author: Moritz Sternemann <[email protected]> Date: Tue Dec 29 22:42:20 2020 +0100 fix: Add self to child CSP for workers commit 48c41ef Author: Moritz Sternemann <[email protected]> Date: Tue Dec 29 22:40:59 2020 +0100 fix: Add data to img CSP commit f446f0c Author: Moritz Sternemann <[email protected]> Date: Tue Dec 29 22:30:38 2020 +0100 chore(release): 3.14.0-pre.10 commit 4f35b32 Author: Moritz Sternemann <[email protected]> Date: Tue Dec 29 22:30:34 2020 +0100 fix: Add cloudkit and mapkit to connect CSP, add data for font CSP font-src: data is required for a font in the swiper dependency commit 8d1c64e Author: Moritz Sternemann <[email protected]> Date: Tue Dec 29 22:17:35 2020 +0100 chore(release): 3.14.0-pre.9 commit 80014c7 Author: Moritz Sternemann <[email protected]> Date: Tue Dec 29 22:17:01 2020 +0100 fix: Add unsafe-inline to style- and script CSP, Move stats domain to connect CSP commit 14e2fd6 Author: Moritz Sternemann <[email protected]> Date: Tue Dec 29 19:04:24 2020 +0100 chore(release): 3.14.0-pre.8 commit 9a7f350 Author: Moritz Sternemann <[email protected]> Date: Sun Dec 27 19:51:42 2020 +0100 feat: Load year infos in ProfileSubmission module fixing a bug where submission screenshots did not load commit adb8f82 Author: Moritz Sternemann <[email protected]> Date: Sat Dec 26 20:06:28 2020 +0100 chore: Use proper sentry breadcrumb filtering commit 02be9e1 Author: Moritz Sternemann <[email protected]> Date: Sat Dec 26 20:06:09 2020 +0100 chore: Update CloudKit and Plausible dependencies commit 484cb21 Author: Moritz Sternemann <[email protected]> Date: Tue Dec 8 22:20:27 2020 +0100 feat: Add report-only Content-Security-Policy header for testing commit f4825aa Author: Moritz Sternemann <[email protected]> Date: Tue Dec 8 01:52:52 2020 +0100 chore(release): 3.14.0-pre.7 commit fee8443 Author: Moritz Sternemann <[email protected]> Date: Tue Dec 8 01:52:43 2020 +0100 chore: Update vue-plausible commit 4d85e83 Author: Moritz Sternemann <[email protected]> Date: Mon Dec 7 21:12:38 2020 +0100 chore(release): 3.14.0-pre.6 commit 32b5942 Author: Moritz Sternemann <[email protected]> Date: Mon Dec 7 21:12:30 2020 +0100 ci: Move cross-env call to each script commit ff93e76 Author: Moritz Sternemann <[email protected]> Date: Mon Dec 7 21:02:15 2020 +0100 chore(release): 3.14.0-pre.5 commit d9b1274 Author: Moritz Sternemann <[email protected]> Date: Mon Dec 7 21:02:08 2020 +0100 ci: Call release lanes with proper environment commit 3f0831b Author: Moritz Sternemann <[email protected]> Date: Mon Dec 7 20:57:35 2020 +0100 chore(release): 3.14.0-pre.4 commit 460e6d8 Author: Moritz Sternemann <[email protected]> Date: Wed Dec 2 12:50:23 2020 +0100 fix: Don't load scholar in sign-in It's not needed and interfered with loading in the scholar profile page commit 15f14ad Author: Moritz Sternemann <[email protected]> Date: Wed Dec 2 12:49:32 2020 +0100 fix: Hide social media row if none available commit 9c69a8a Author: Moritz Sternemann <[email protected]> Date: Wed Dec 2 12:44:37 2020 +0100 ci: Add api host configuration field for plausible commit fe729d5 Author: Moritz Sternemann <[email protected]> Date: Wed Dec 2 12:43:50 2020 +0100 ci: Add redirect from netlify domain to custom domain for staging commit 5791e47 Author: Moritz Sternemann <[email protected]> Date: Sun Nov 29 20:50:55 2020 +0100 chore: Move apple-app-site-association to preferred directory commit e4b23f6 Author: Moritz Sternemann <[email protected]> Date: Sun Nov 29 14:56:48 2020 +0100 chore(release): 3.14.0-pre.3 commit 99201e9 Author: Moritz Sternemann <[email protected]> Date: Sun Nov 29 14:43:52 2020 +0100 ci: Get base url from environment for sentry deploy commit 3118908 Author: Moritz Sternemann <[email protected]> Date: Sun Nov 29 13:30:01 2020 +0100 feat: Shimmer loading for scholars list commit 529bd57 Author: Moritz Sternemann <[email protected]> Date: Sun Nov 29 00:25:36 2020 +0100 fix: Remove obsolete statement from privacy policy commit edf4d0e Author: Moritz Sternemann <[email protected]> Date: Sun Nov 29 00:19:46 2020 +0100 feat: Throttle and debounce MapKit searches commit 9ed5f00 Author: Moritz Sternemann <[email protected]> Date: Sun Nov 29 00:01:35 2020 +0100 refactor: Make proper use of mapkit object constructor options and dynamic parameters commit 1b3ff98 Author: Moritz Sternemann <[email protected]> Date: Sat Nov 28 23:59:14 2020 +0100 chore: Upgrade @wwdcscholars/cloudkit commit fc8d624 Author: Moritz Sternemann <[email protected]> Date: Sat Nov 28 20:30:59 2020 +0100 refactor(profile): Update form data handling for recent data fetching changes commit 236bd88 Author: Moritz Sternemann <[email protected]> Date: Sat Nov 28 20:27:34 2020 +0100 fix: Remove currently unused Twitter and YouTube entries from privacy policy commit 1ddeebe Author: Moritz Sternemann <[email protected]> Date: Sat Nov 28 20:25:49 2020 +0100 docs: Update readme for recent deployment changes commit 384c736 Author: Moritz Sternemann <[email protected]> Date: Sat Nov 28 20:23:26 2020 +0100 feat: Replace Google Maps with Apple MapKit JS commit e706736 Author: Moritz Sternemann <[email protected]> Date: Sat Nov 28 20:16:45 2020 +0100 feat: Temporarly remove netlify footer link commit 1cabd24 Author: Moritz Sternemann <[email protected]> Date: Sat Nov 28 20:15:54 2020 +0100 feat: Update privacy policy for plausible, add stats link to footer commit 6ca8428 Author: Moritz Sternemann <[email protected]> Date: Mon Nov 23 11:48:06 2020 +0100 chore(release): 3.14.0-pre.2 commit c74b2be Author: Moritz Sternemann <[email protected]> Date: Mon Nov 23 11:47:27 2020 +0100 fix: Align App Store link properly commit a513f41 Author: Moritz Sternemann <[email protected]> Date: Mon Nov 23 11:19:44 2020 +0100 chore(release): 3.14.0-pre.1 commit ce126db Author: Moritz Sternemann <[email protected]> Date: Mon Nov 23 11:19:25 2020 +0100 build: Add prerelease npm script commit f14ea74 Author: Moritz Sternemann <[email protected]> Date: Mon Nov 23 11:16:09 2020 +0100 feat: Replace Google Analytics with Plausible Analytics commit 688bd4d Author: Moritz Sternemann <[email protected]> Date: Sat Nov 21 19:52:51 2020 +0100 feat(profile): Load existing GDPRRequests in profile/account commit 994b489 Author: Moritz Sternemann <[email protected]> Date: Sat Nov 21 18:37:57 2020 +0100 chore(release): 3.14.0-pre.0 commit 4903dd4 Author: Moritz Sternemann <[email protected]> Date: Sat Nov 21 18:37:31 2020 +0100 build: Release command builds prod commit 3458a46 Author: Moritz Sternemann <[email protected]> Date: Sat Nov 21 18:29:41 2020 +0100 ci: Add branch-deploy context, build for staging commit 9fdcb21 Author: Moritz Sternemann <[email protected]> Date: Sat Nov 21 18:28:48 2020 +0100 ci: Add netlify config file commit 8494cb9 Author: Moritz Sternemann <[email protected]> Date: Sat Nov 21 18:28:07 2020 +0100 build: Use env prefix for sentry environment commit cf5824c Author: Moritz Sternemann <[email protected]> Date: Sat Nov 21 18:27:14 2020 +0100 build: Change build to build:prod command, add build:stage command commit 5f90ad7 Author: Moritz Sternemann <[email protected]> Date: Mon Sep 28 16:07:51 2020 +0200 feat: Add title to about, profile, imprint and privacy policy pages commit 7a11b76 Author: Moritz Sternemann <[email protected]> Date: Mon Sep 28 15:56:15 2020 +0200 feat: Auth state handling in profile for new nuxt fetch commit ca49876 Author: Moritz Sternemann <[email protected]> Date: Mon Sep 28 15:55:27 2020 +0200 fix: Correctly redirect to profile edit after sign in commit f870e94 Author: Moritz Sternemann <[email protected]> Date: Mon Sep 28 15:55:06 2020 +0200 feat: Add isPending bool to auth and use it in components commit 8346881 Author: Moritz Sternemann <[email protected]> Date: Mon Sep 28 00:36:36 2020 +0200 fix: Correctly select tab bar yer when the route does not exactly match commit 1055047 Author: Moritz Sternemann <[email protected]> Date: Mon Sep 28 00:29:41 2020 +0200 fix: Scroll tab bar into view whenever it changes commit 894e5ef Author: Moritz Sternemann <[email protected]> Date: Mon Sep 28 00:02:08 2020 +0200 chore: Update dependencies commit 70564ee Merge: 29bdb3e d28f9ad Author: Moritz Sternemann <[email protected]> Date: Sun Sep 27 21:35:01 2020 +0200 Merge branch 'master' into develop # Conflicts: # components/Navigation.vue # package-lock.json # package.json # store/scholars.ts commit 29bdb3e Author: Moritz Sternemann <[email protected]> Date: Sun Sep 27 19:52:10 2020 +0200 fix: Wrap year selector in scholar profile commit 4d2d04b Author: Moritz Sternemann <[email protected]> Date: Sun Sep 27 00:14:48 2020 +0200 feat: Highlight year link if param is provided for latest year commit 94386cc Author: Moritz Sternemann <[email protected]> Date: Sat Sep 26 23:54:59 2020 +0200 fix: Move profile button dropdown above header shadow commit 262fb47 Author: Moritz Sternemann <[email protected]> Date: Sat Sep 26 23:52:22 2020 +0200 feat: Scroll to selected link in tab bars commit d4fd1f9 Author: Moritz Sternemann <[email protected]> Date: Sat Sep 26 23:52:03 2020 +0200 feat: Mobile adjustments for Profile Editing commit 69ffd31 Author: Moritz Sternemann <[email protected]> Date: Sat Sep 26 23:00:28 2020 +0200 feat: Mobile adjustments for Signin commit 96985cd Author: Moritz Sternemann <[email protected]> Date: Sat Sep 26 21:59:32 2020 +0200 feat: Mobile adjustments for About and Scholar commit 74fcc1d Author: Moritz Sternemann <[email protected]> Date: Sun Aug 23 11:32:54 2020 +0200 feat: Replace Navigation with separate desktop and mobile versions commit 81a5000 Author: Moritz Sternemann <[email protected]> Date: Sun Aug 16 14:24:54 2020 +0200 feat: Maintain scroll position on navigation when it makes sense commit 454446c Author: Moritz Sternemann <[email protected]> Date: Sun Aug 16 14:21:25 2020 +0200 fix: Highlight nav link on default year route commit eba42ba Author: Moritz Sternemann <[email protected]> Date: Sun Aug 16 14:19:20 2020 +0200 feat(Profile): Add convenience method to submit forms commit 90d0a18 Author: Moritz Sternemann <[email protected]> Date: Sun Aug 16 14:18:24 2020 +0200 feat(Profile): Add editing API access logic commit 91d4a2b Author: Moritz Sternemann <[email protected]> Date: Sun Aug 16 14:17:16 2020 +0200 feat(Profile): Add imageOrString validation rule for InputImage fields commit 5d63f03 Author: Moritz Sternemann <[email protected]> Date: Sun Aug 16 14:16:32 2020 +0200 feat: Add globals plugin for configuration data commit a98f899 Author: Moritz Sternemann <[email protected]> Date: Sun Aug 16 14:15:35 2020 +0200 feat: Improved wording and styling for signin page commit 00fb080 Author: Moritz Sternemann <[email protected]> Date: Sun Aug 16 14:15:06 2020 +0200 feat(Profile): Handle non-existent profile commit b429f61 Author: Moritz Sternemann <[email protected]> Date: Sun Aug 16 14:14:07 2020 +0200 feat(Profile): Functionality of account page commit d6f6d66 Author: Moritz Sternemann <[email protected]> Date: Sun Aug 16 14:12:58 2020 +0200 feat(Profile): Submission of scholarship year changes commit 9ba6e42 Author: Moritz Sternemann <[email protected]> Date: Sun Aug 16 14:11:19 2020 +0200 feat(Profile): Submission of social changes commit b99b4ba Author: Moritz Sternemann <[email protected]> Date: Sun Aug 16 14:10:52 2020 +0200 feat(Profile): Submission of basic profile edits commit e9d89e4 Author: Moritz Sternemann <[email protected]> Date: Sun Aug 16 14:08:44 2020 +0200 feat(auth): Make auth async on site load commit 8d4a5a6 Author: Moritz Sternemann <[email protected]> Date: Sun Aug 16 14:05:02 2020 +0200 feat(Components): Add LoadingSpinner commit cf75361 Author: Moritz Sternemann <[email protected]> Date: Sun Jun 14 00:10:59 2020 +0200 feat(Components): Give ScholarThumbnails an id to improve list rendering commit e46bd62 Author: Moritz Sternemann <[email protected]> Date: Sun Jun 14 00:10:13 2020 +0200 feat(Components): Add button with confirm dialog commit 55dc3a3 Author: Moritz Sternemann <[email protected]> Date: Sun Jun 14 00:09:34 2020 +0200 fix(Components): Handle unsuccessful reverse geocoding in InputLocation commit 4b84913 Author: Moritz Sternemann <[email protected]> Date: Wed Feb 26 12:05:10 2020 +0100 fix: Remove unnecessary image type validation This is checked by the dimensions rule commit fe8a53b Author: Moritz Sternemann <[email protected]> Date: Wed Feb 26 11:49:50 2020 +0100 feat: Add input validation to profile pages commit 037ea10 Author: Moritz Sternemann <[email protected]> Date: Wed Feb 26 11:48:00 2020 +0100 feat: Add some custom input validation rules commit ab7d20b Author: Moritz Sternemann <[email protected]> Date: Wed Feb 26 11:47:28 2020 +0100 feat: Wrap form fields in ValidationProvider commit b499862 Author: Moritz Sternemann <[email protected]> Date: Wed Feb 26 11:47:11 2020 +0100 feat: Input validation using vee-validate and basic rules commit 764e8c0 Author: Moritz Sternemann <[email protected]> Date: Wed Feb 26 11:42:43 2020 +0100 feat: Display error message commit 18a68a3 Author: Moritz Sternemann <[email protected]> Date: Wed Feb 26 11:41:45 2020 +0100 feat: Add disabled prop to BaseButton commit bb34fee Author: Moritz Sternemann <[email protected]> Date: Wed Feb 26 11:41:23 2020 +0100 feat: Split InputImage to InputImage and InputImageMultiple commit 6023739 Author: Moritz Sternemann <[email protected]> Date: Wed Feb 26 11:40:42 2020 +0100 fix: InputDate styling commit e8a9f00 Author: Moritz Sternemann <[email protected]> Date: Wed Feb 26 11:35:11 2020 +0100 feat: Add disabled property to to InputText commit d5c1e9e Author: Moritz Sternemann <[email protected]> Date: Sun Feb 16 12:49:07 2020 +0100 feat(profile): Implement scholar profile pages, no editing yet commit 7775ca5 Author: Moritz Sternemann <[email protected]> Date: Sun Feb 16 12:48:10 2020 +0100 feat(auth): Enable authentication commit da9d808 Author: Moritz Sternemann <[email protected]> Date: Sun Feb 16 12:46:33 2020 +0100 feat: Add nuxt typing for CKConnection instance commit 0e49fd9 Author: Moritz Sternemann <[email protected]> Date: Sun Feb 16 00:11:42 2020 +0100 chore: Update dependencies
1 parent 1fb3065 commit e23c99d

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

86 files changed

+26054
-3875
lines changed

.github/release_sentry.sh

+13-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
#!/bin/sh
22

3+
# Load environment variables
4+
export $(egrep -v '^#' .env | xargs)
5+
36
# Add node_modules/.bin to PATH
47
PATH=$PATH:node_modules/.bin
58

@@ -13,7 +16,16 @@ URL=https://www.wwdcscholars.com
1316
# Get version (current tag)
1417
VERSION=app@`git describe --tags`
1518

19+
if [ "$NODE_ENV" = "production" ]; then
20+
BASE_URL="$PROD_BASE_URL"
21+
elif [ "$NODE_ENV" = "staging" ]; then
22+
BASE_URL="$STAGE_BASE_URL"
23+
else
24+
echo "Neither production nor staging environment, skipping sentry release."
25+
exit 1
26+
fi
27+
1628
# Create new version in sentry
1729
sentry-cli releases -o $ORG -p $PRJ new --finalize $VERSION
1830
sentry-cli releases -o $ORG -p $PRJ set-commits --auto $VERSION
19-
sentry-cli releases -o $ORG -p $PRJ files $VERSION upload-sourcemaps --no-rewrite --url-prefix $URL ./dist
31+
sentry-cli releases -o $ORG -p $PRJ files $VERSION upload-sourcemaps --no-rewrite --url-prefix "https://$BASE_URL" ./dist

CHANGELOG.md

+217
Large diffs are not rendered by default.

README.md

+8-11
Original file line numberDiff line numberDiff line change
@@ -6,18 +6,20 @@ WWDCScholars is a community of [Apple WWDC Scholarship](https://developer.apple.
66
This repository contains the [Vue.js](https://vuejs.org) based website that lists current and previous scholarship winners from all around the world.
77

88
## Getting Started
9-
WWDCScholars is based on [Apple's BaaS, CloudKit](https://developer.apple.com/icloud/cloudkit/). To use this project you need to obtain credentials for [CloudKit](https://developer.apple.com/library/content/documentation/DataManagement/Conceptual/CloudKitQuickStart/Introduction/Introduction.html#//apple_ref/doc/uid/TP40014987), the [Google Maps API](https://developers.google.com/maps/) and the [Sentry Error Tracking Service](https://sentry.io/).
9+
WWDCScholars is based on [Apple's BaaS, CloudKit](https://developer.apple.com/icloud/cloudkit/). To use this project you need to obtain credentials for [CloudKit](https://developer.apple.com/library/content/documentation/DataManagement/Conceptual/CloudKitQuickStart/Introduction/Introduction.html#//apple_ref/doc/uid/TP40014987), the [Apple MapKit JS API](https://developer.apple.com/documentation/mapkitjs/) and the [Sentry Error Tracking Service](https://sentry.io/).
1010

1111
#### Create a `.env` file at the root of this project that looks like this:
1212
```
13-
CLOUDKIT_CONTAINER_IDENTIFIER="<CloudKit Container Identifier>"
14-
CLOUDKIT_API_TOKEN="<CloudKit API Token>"
15-
CLOUDKIT_ENVIRONMENT="<CloudKit Environment>"
13+
DEV_CLOUDKIT_CONTAINER_IDENTIFIER="<CloudKit Container Identifier>"
14+
DEV_CLOUDKIT_API_TOKEN="<CloudKit API Token>"
15+
DEV_CLOUDKIT_ENVIRONMENT="<CloudKit Environment>"
1616
17-
GOOGLE_MAPS_API_KEY="<Google Maps API Key>"
17+
DEV_MAPKIT_JWT="<MapKit JS JWT>"
1818
1919
SENTRY_DSN="<Sentry DSN>"
20-
SENTRY_ENVIRONMENT="<Sentry Environment>"
20+
DEV_SENTRY_ENVIRONMENT="<Sentry Environment>"
21+
22+
DEV_PLAUSIBLE_DOMAIN="" # no analytics for dev environment
2123
2224
WWDC_YEAR="<The WWDCYear key to use>"
2325
```
@@ -33,13 +35,8 @@ $ npm install
3335
$ npm dev
3436
```
3537
- In production mode for static hosting
36-
```
37-
$ npm generate
38-
```
39-
- In production mode with server-side rendering support
4038
```
4139
$ npm build
42-
$ npm start
4340
```
4441
When building for production you can find the results in `dist/`.
4542

app/router.scrollBehavior.js

+32
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
export default function(to, from, savedPosition) {
2+
// if the returned position is falsy or an empty object,
3+
// will retain current scroll position.
4+
5+
if (savedPosition) {
6+
return savedPosition
7+
}
8+
9+
// switching between different submissions
10+
if (from.name === 's-id-year' && to.name === 's-id-year') {
11+
return null
12+
}
13+
14+
return new Promise((resolve) => {
15+
// wait for the out transition to complete (if necessary)
16+
this.app.$root.$once('triggerScroll', () => {
17+
// if the resolved position is falsy or an empty object,
18+
// will retain current scroll position.
19+
20+
// keep position when going back to scholars list
21+
if (from.name === 's-id-year' && to.name === 'index') {
22+
if (from.params?.id) {
23+
resolve({ selector: `#${from.params.id}` })
24+
}
25+
26+
resolve(null)
27+
}
28+
29+
resolve({ x: 0, y: 0 })
30+
})
31+
})
32+
}

assets/images/team-members.jpg

15.4 KB
Loading

assets/images/team-scholars.jpg

20.3 KB
Loading

assets/sass/app/_container.sass

+7-6
Original file line numberDiff line numberDiff line change
@@ -9,25 +9,26 @@
99
@mixin container-fixed()
1010
margin-left: auto
1111
margin-right: auto
12-
padding-left: 15px
13-
padding-right: 15px
12+
padding-left: 30px
13+
padding-right: 30px
1414
+clearfix
1515

1616
+for-tablet-landscape-up
1717
padding-left: 50px
1818
padding-right: 50px
1919

20+
+for-phone-only
21+
padding-left: 0
22+
padding-right: 0
23+
2024
.container
2125
+container-fixed
2226

23-
.container-outer
24-
25-
2627
.container-fluid
2728
+container-fixed
2829

2930
+for-desktop-up
30-
max-width: 1150px
31+
max-width: $container-max-width
3132

3233
> .section
3334
margin-top: 40px

assets/sass/app/_nuxt-progress.sass

+3
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,5 @@
11
.nuxt-progress
22
top: $header-height - 2px !important
3+
4+
+for-phone-only
5+
top: $header-height-mobile - 2px !important

assets/sass/app/_typography.sass

+13-3
Original file line numberDiff line numberDiff line change
@@ -3,17 +3,30 @@ h2
33
text-align: center
44
font-weight: 600
55

6+
+for-phone-only
7+
font-size: 28px
8+
69
h3
710
font-size: 28px
811
font-weight: 600
912

13+
+for-phone-only
14+
font-size: 20px
15+
1016
h4
1117
font-size: 20px
1218
font-weight: 400
1319

20+
+for-phone-only
21+
font-size: 12px
22+
1423
h2, h3, h4
1524
margin: 0
1625

26+
+for-phone-only
27+
padding-left: 15px
28+
padding-right: 15px
29+
1730
p
1831
font-size: 18px
1932
font-weight: 400
@@ -22,6 +35,3 @@ hr
2235
background-color: $sch-gray2
2336
height: 1.5px
2437
border: 0
25-
26-
+for-tablet-landscape-up
27-
margin: 50px -35px

assets/sass/imports/_vars.sass

+4
Original file line numberDiff line numberDiff line change
@@ -27,4 +27,8 @@ $border-radius-large: $border-radius * 4 !default
2727

2828
//== Header & Footer
2929
$header-height: 80px !default
30+
$header-height-mobile: 58px !default
3031
$footer-height: 17px !default
32+
33+
//== Container
34+
$container-max-width: 1150px !default

components/BaseButton.vue

+92-4
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,49 @@
11
<template lang="pug">
22
.btn
33
slot(v-if="hasNobtnSlot", name="nobtn")
4-
button(v-else)
4+
button(
5+
v-else,
6+
:disabled="disabled",
7+
@click="onClick"
8+
)
59
slot
610
</template>
711

812
<script lang="ts">
9-
import { Component, Vue } from 'nuxt-property-decorator'
13+
import { Component, Prop, Vue } from 'nuxt-property-decorator'
1014
1115
@Component
1216
export default class BaseButton extends Vue {
17+
@Prop({ type: Boolean, default: false })
18+
disabled!: boolean
19+
20+
@Prop({ type: String, default: undefined })
21+
confirm?: string
22+
1323
get hasNobtnSlot(): boolean {
1424
return !!this.$slots.nobtn
1525
}
26+
27+
onClick() {
28+
if (!this.confirm) {
29+
this.$emit('click')
30+
return
31+
}
32+
33+
if (confirm(this.confirm)) {
34+
this.$emit('click')
35+
} else {
36+
// not confirmed, do nothing
37+
}
38+
}
1639
}
1740
</script>
1841

1942
<style lang="sass" scoped>
2043
.btn
21-
> button, a
44+
position: relative
45+
46+
button, a
2247
display: block
2348
padding: 12px 15px
2449
min-width: 160px
@@ -32,6 +57,9 @@ export default class BaseButton extends Vue {
3257
text-decoration: none
3358
transition: background-color 100ms linear, border-color 100ms linear, color 100ms linear
3459
60+
+for-phone-only
61+
min-width: 100px
62+
3563
&:hover
3664
background-color: darken($background-gray, 6%)
3765
@@ -44,12 +72,68 @@ export default class BaseButton extends Vue {
4472
background-color: $background-gray
4573
color: $white
4674
75+
.btn-confirm
76+
position: absolute
77+
max-width: 360px
78+
bottom: calc(100% + 4px)
79+
padding: 8px
80+
background-color: $white
81+
border: 1px solid $sch-gray3
82+
border-radius: $border-radius
83+
opacity: 1
84+
transition: opacity 100ms linear
85+
+shadow
86+
87+
&.hidden
88+
opacity: 0
89+
90+
.text
91+
font-size: 0.8em
92+
overflow-wrap: break-word
93+
white-space: pre-line
94+
95+
.btn-confirm-actions
96+
display: flex
97+
justify-content: flex-end
98+
margin-top: 8px
99+
100+
button
101+
margin-left: 8px
102+
font-size: 0.8em
103+
padding: 3px 8px
104+
min-width: auto
105+
106+
&.btn-cancel
107+
background-color: $sch-gray0
108+
border-color: lighten($sch-gray0, 5%)
109+
110+
.triangle
111+
position: absolute
112+
bottom: -20px
113+
left: 70px
114+
width: 20px
115+
height: 20px
116+
overflow: hidden
117+
118+
&:after
119+
content: ''
120+
position: absolute
121+
display: block
122+
width: 10px
123+
height: 12px
124+
background-color: $white
125+
transform: rotate(45deg)
126+
top: -6px
127+
left: 5px
128+
border-bottom-right-radius: 2px
129+
+shadow
130+
47131
+form-colors
48132
$bg: dyn-temp('bg')
49133
$fg: dyn-temp('fg')
50134
51135
.btn
52-
> button, a
136+
button, a
53137
background-color: $bg
54138
border-color: $bg
55139
color: $fg
@@ -58,6 +142,10 @@ export default class BaseButton extends Vue {
58142
background-color: darken($bg, 10%)
59143
border-color: darken($bg, 10%)
60144
145+
&:disabled
146+
background-color: $sch-gray2
147+
border-color: $sch-gray1
148+
61149
&.btn-round > button, a
62150
background-color: $fg
63151
color: $bg

components/BaseForm.vue

+9-3
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ export default class BaseForm extends Vue {}
1414
.form
1515
width: 100%
1616
display: grid
17-
gird-template-columns: 1fr 1fr
17+
grid-template-columns: 1fr 1fr
1818
grid-gap: 0 15px
1919
2020
.group
@@ -28,6 +28,9 @@ export default class BaseForm extends Vue {}
2828
&.group-width-50
2929
grid-column: span 1
3030
31+
+for-phone-only
32+
grid-column: span 2
33+
3134
h3, .field, p
3235
grid-column: span 2
3336
@@ -40,14 +43,17 @@ export default class BaseForm extends Vue {}
4043
font-size: 1em
4144
font-weight: 400
4245
46+
+for-phone-only
47+
padding-left: 0
48+
padding-right: 0
49+
4350
.field
4451
&.field-width-50
4552
grid-column: span 1
4653
4754
/deep/ .btn-cta
48-
grid-column: 2
55+
grid-column: span 2
4956
justify-self: end
50-
white-space: nowrap
5157
width: auto
5258
</style>
5359

0 commit comments

Comments
 (0)