Compare commits

..

304 Commits

Author SHA1 Message Date
renovate[bot]
fa7267f17c fix(deps): update dependency @openedx/paragon to v23.14.0 (#1230)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-07 06:54:42 +00:00
renovate[bot]
7b754edef8 fix(deps): update dependency @edx/frontend-component-header to v6.4.1 (#1229)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-07 06:54:14 +00:00
renovate[bot]
0bb7ee2fd4 fix(deps): update dependency core-js to v3.43.0 (#1223)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-30 11:39:56 +00:00
renovate[bot]
335dd7819d chore(deps): update dependency glob to v11.0.3 (#1222)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-30 11:39:43 +00:00
renovate[bot]
b18a01c302 fix(deps): update dependency @openedx/paragon to v23.13.0 (#1226)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-30 05:06:16 +00:00
Brian Smith
981dccf2d5 feat!: add design tokens support (#1220)
BREAKING CHANGE: Pre-design-tokens theming is no longer supported.

Co-authored-by: Diana Olarte <diana.olarte@edunext.co>
2025-06-18 12:13:59 -04:00
renovate[bot]
e8be148ca9 fix(deps): update dependency @edx/frontend-component-footer to v14.9.0 (#1217)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-09 08:03:40 +00:00
renovate[bot]
167a8bd9a8 fix(deps): update dependency @edx/frontend-platform to v8.3.9 (#1216)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-09 07:58:23 +00:00
renovate[bot]
db2336ac09 fix(deps): update react-router monorepo to v6.30.1 (#1214)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-26 06:07:45 +00:00
renovate[bot]
a13c25d4ea fix(deps): update dependency @edx/frontend-component-footer to v14.7.2 (#1213)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-26 06:07:26 +00:00
renovate[bot]
9452b72525 fix(deps): update dependency @edx/frontend-platform to v8.3.7 (#1209)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-19 13:58:23 +00:00
renovate[bot]
3601cb6c05 chore(deps): update commitlint monorepo to v19.8.1 (#1206)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-12 07:18:40 +00:00
renovate[bot]
b73c0f0f26 fix(deps): update dependency @edx/frontend-platform to v8.3.6 (#1207)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-12 07:07:33 +00:00
renovate[bot]
37feffc0db fix(deps): update dependency core-js to v3.42.0 (#1205)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-05 06:10:05 +00:00
renovate[bot]
c9d2813009 fix(deps): update dependency @edx/frontend-component-footer to v14.7.1 (#1204)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-05 06:09:50 +00:00
renovate[bot]
8ec67d9ed2 fix(deps): update dependency @edx/frontend-component-footer to v14.7.0 (#1203)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-28 06:04:06 +00:00
renovate[bot]
1d149f12ea chore(deps): update dependency glob to v11.0.2 (#1202)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-28 06:03:48 +00:00
Brian Smith
9516ee0e92 feat: import FooterSlot from component package instead of slot package (#1198) 2025-04-24 12:11:20 -04:00
renovate[bot]
29fd7176c8 fix(deps): update dependency @edx/frontend-component-header to v6.4.0 (#1201)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-23 20:18:38 +00:00
renovate[bot]
16ddd7abba fix(deps): update dependency @edx/openedx-atlas to ^0.7.0 (#1200)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-21 05:46:19 +00:00
renovate[bot]
577ef6ab0b fix(deps): update dependency @edx/frontend-component-footer to v14.6.0 (#1199)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-21 05:46:13 +00:00
renovate[bot]
8268fa4eab fix(deps): update dependency @edx/frontend-component-header to v6.3.0 (#1197)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-14 06:11:54 +00:00
renovate[bot]
5665f8a0d6 fix(deps): update dependency @edx/frontend-component-footer to v14.4.0 (#1196)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-14 06:11:46 +00:00
renovate[bot]
4b7a3207e0 fix(deps): update dependency @edx/frontend-platform to v8.3.4 (#1195)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-07 07:51:52 +00:00
Hunia Fatima
3db0289aab feat: upgrade react to v18 (#1190) 2025-04-04 11:16:23 -04:00
renovate[bot]
85d3eca9e4 fix(deps): update react-router monorepo to v6.30.0 (#1192)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-31 06:47:19 +00:00
renovate[bot]
f7fd2959ac chore(deps): update dependency @openedx/frontend-build to v14.4.1 (#1191)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-31 06:47:09 +00:00
Brian Smith
8652206aa4 chore(deps): update @openedx dependencies to versions that support React 18 (#1189) 2025-03-27 16:17:12 -04:00
renovate[bot]
7a5e03967d fix(deps): update dependency core-js to v3.41.0 (#1188)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-24 06:30:58 +00:00
renovate[bot]
da19dfaadc fix(deps): update dependency @edx/frontend-platform to v8.3.3 (#1187)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-24 06:30:34 +00:00
renovate[bot]
60d960276d fix(deps): update dependency @edx/frontend-platform to v8.3.1 (#1178)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-18 11:02:27 +00:00
Awais Ansari
c8a6f9fbd8 test: updated profile test cases (#1182) 2025-03-18 15:58:48 +05:00
renovate[bot]
2ef5a7baff chore(deps): update commitlint monorepo to v19.8.0 (#1177)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-10 01:35:10 -04:00
renovate[bot]
d59c641b3d chore(deps): update dependency @openedx/frontend-build to v14.3.2 (#1176)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-10 01:34:58 -04:00
renovate[bot]
4ea80a2a09 chore(deps): update dependency @openedx/frontend-build to v14.3.1 (#1175)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-03 01:52:17 -05:00
renovate[bot]
45fe50f7f7 fix(deps): update dependency @openedx/paragon to v22.15.3 (#1174)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-03 01:51:54 -05:00
renovate[bot]
933a177c78 fix(deps): update dependency @openedx/paragon to v22.15.2 (#1170)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-24 06:10:14 +00:00
renovate[bot]
14fff570a4 fix(deps): update dependency @edx/frontend-component-header to v5.8.3 (#1169)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-24 01:09:59 -05:00
sundasnoreen12
3d0f3806e1 Merge pull request #1168 from openedx/revert-1166-sundas/INF-1779
Revert "feat: addd countries changes for embargo"
2025-02-22 15:47:48 +05:00
sundasnoreen12
b597e2cc14 Revert "feat: addd countries changes for embargo" 2025-02-22 15:44:11 +05:00
sundasnoreen12
22dc85470a Merge pull request #1166 from openedx/sundas/INF-1779
feat: addd countries changes for embargo
2025-02-22 15:10:21 +05:00
sundasnoreen12
9a26dc7088 refactor: refactored test file 2025-02-20 16:55:53 +05:00
sundasnoreen12
770a248d8c refactor: fixed review suggestions 2025-02-19 16:14:48 +05:00
sundasnoreen12
70cb1803b4 refactor: added constant 2025-02-17 21:09:11 +05:00
sundasnoreen12
e9aa787ade test: fixed test case 2025-02-17 18:29:21 +05:00
sundasnoreen12
01e2f1af79 test: fixed test cases 2025-02-17 18:10:57 +05:00
sundasnoreen12
1e67d51394 feat: addd countries changes for embargo 2025-02-17 13:18:02 +05:00
renovate[bot]
95936419c2 fix(deps): update react-router monorepo to v6.29.0 (#1162)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-10 08:50:22 +00:00
renovate[bot]
00ada93994 fix(deps): update font awesome to v6.7.2 (#1161)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-10 03:50:09 -05:00
renovate[bot]
c57a924cc3 fix(deps): update dependency core-js to v3.40.0 (#1160)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-10 05:36:00 +00:00
renovate[bot]
dc2f03dfad fix(deps): update dependency @openedx/paragon to v22.15.1 (#1159)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-10 00:35:51 -05:00
renovate[bot]
5c7a521705 chore(deps): update dependency @edx/browserslist-config to v1.5.0 (#1158)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-03 05:11:55 +00:00
renovate[bot]
074374b2af chore(deps): update commitlint monorepo to v19.7.1 (#1157)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-03 00:11:44 -05:00
renovate[bot]
0a3aad38dc fix(deps): update dependency @edx/frontend-platform to v8.1.5 (#1156)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-27 05:10:58 +00:00
renovate[bot]
1730b5a2c4 chore(deps): update dependency glob to v11.0.1 (#1155)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-27 00:10:45 -05:00
Deborah Kaplan
12269c2c8e Merge pull request #1154 from salman2013/salman/update-catalog-info-file
Add catalog-info.yaml file for release data
2025-01-14 11:06:08 -05:00
salman2013
630dbefb7e chore: Update catalog-info file and remove openedx.yaml 2025-01-14 15:04:47 +05:00
renovate[bot]
00c8697c59 chore(deps): update dependency @commitlint/config-angular to v19.7.0 (#1153)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-06 02:23:40 -05:00
renovate[bot]
8df3d06598 fix(deps): update dependency @edx/frontend-platform to v8.1.4 (#1152)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-06 07:23:31 +00:00
renovate[bot]
f6ed6ee1f5 fix(deps): update dependency @openedx/paragon to v22.13.0 (#1151)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-30 06:41:46 +00:00
renovate[bot]
7e8d22ec6a chore(deps): update dependency @edx/browserslist-config to v1.4.0 (#1150)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-30 01:41:34 -05:00
renovate[bot]
d0595e679d fix(deps): update react-router monorepo to v6.28.1 (#1149)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-23 03:37:53 -05:00
renovate[bot]
4c7e713b6e fix(deps): update dependency @edx/frontend-platform to v8.1.3 (#1148)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-23 08:37:41 +00:00
renovate[bot]
bc0683281f fix(deps): update dependency @edx/frontend-component-header to v5.8.2 (#1147)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-16 06:47:58 +00:00
renovate[bot]
b954345b38 chore(deps): update dependency @commitlint/cli to v19.6.1 (#1146)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-16 06:47:46 +00:00
renovate[bot]
ca4f78bd1c chore(deps): update dependency @edx/browserslist-config to v1.3.0 (#1143)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-09 06:42:17 +00:00
renovate[bot]
3dc8b156fe chore(deps): update dependency @openedx/frontend-build to v14.2.2 (#1142)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-09 01:41:56 -05:00
renovate[bot]
a818cd4dc4 fix(deps): update dependency @edx/frontend-component-header to v5.8.1 (#1141)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-02 08:30:04 +00:00
renovate[bot]
2e9dcd165e fix(deps): update dependency @openedx/frontend-slot-footer to v1.0.7 (#1140)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-02 03:29:49 -05:00
sundasnoreen12
53a52b8f06 Merge pull request #1139 from openedx/sundasMasterBranch-INF-1594
feat: fixed loading issue for wrong username
2024-11-26 19:59:05 +05:00
sundasnoreen12
c66facee92 feat: fixed loading issue for wrong username 2024-11-26 16:32:50 +05:00
renovate[bot]
3270e27c94 chore(deps): update dependency @openedx/frontend-build to v14.2.0 (#1136)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-25 03:33:45 -05:00
renovate[bot]
01cd125d4f chore(deps): update commitlint monorepo to v19.6.0 (#1135)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-25 08:33:31 +00:00
renovate[bot]
5fcef4edf4 fix(deps): update dependency @openedx/paragon to v22.10.0 (#1128)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-18 06:25:48 +00:00
renovate[bot]
d33c79a525 fix(deps): update dependency @edx/frontend-component-header to v5.7.2 (#1127)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-18 01:25:22 -05:00
renovate[bot]
d36c61d44e fix(deps): update react-router monorepo to v6.28.0 (#1126)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-11 07:10:19 +00:00
renovate[bot]
aed6081d37 fix(deps): update dependency core-js to v3.39.0 (#1125)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-11 07:09:23 +00:00
renovate[bot]
66a4eef910 fix(deps): update dependency @openedx/frontend-slot-footer to v1.0.6 (#1124)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-11 06:43:51 +00:00
renovate[bot]
6da6fedc57 fix(deps): update dependency @edx/frontend-component-header to v5.7.1 (#1123)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-11 06:43:30 +00:00
edX requirements bot
a7e095f3bf chore: update browserslist DB (#1091)
Co-authored-by: jsnwesson <62807795+jsnwesson@users.noreply.github.com>
2024-11-11 07:16:51 +05:00
Muhammad Adeel Tajamul
9a393d8e43 Merge pull request #1105 from openedx/renovate/glob-11.x
chore(deps): update dependency glob to v11
2024-11-11 07:16:06 +05:00
renovate[bot]
1a5c4f2404 chore(deps): update dependency glob to v11 2024-11-07 05:13:12 +00:00
Muhammad Adeel Tajamul
13aaca03fd Merge pull request #1118 from openedx/renovate/reselect-5.x
fix(deps): update dependency reselect to v5
2024-11-07 10:12:13 +05:00
renovate[bot]
422aff1915 fix(deps): update dependency reselect to v5 2024-11-04 09:21:34 +00:00
renovate[bot]
cac4e42364 fix(deps): update dependency @edx/frontend-component-header to v5.7.0 2024-11-04 06:01:48 +00:00
renovate[bot]
c6d39884c8 chore(deps): update dependency @testing-library/jest-dom to v6.6.3 2024-11-04 06:01:26 +00:00
Bilal Qamar
4bb3678d4c test: Remove support for Node 18 (#1075) 2024-10-31 14:46:22 -04:00
renovate[bot]
5c2951de40 chore(deps): update dependency redux-mock-store to v1.5.5 2024-10-28 04:53:32 +00:00
Brian Smith
35d9ae8fec feat(deps): update header to 5.6.0 (#1112) 2024-10-22 19:20:12 -04:00
renovate[bot]
ff32632411 fix(deps): update dependency @openedx/paragon to v22.9.0 2024-10-21 00:19:54 -04:00
renovate[bot]
2c97964f0b chore(deps): update dependency @testing-library/jest-dom to v6.6.2 2024-10-21 00:19:14 -04:00
Awais Ansari
fa748719ae Revert "chore(deps): update dependency @testing-library/react to v16" (#1107)
This reverts commit 1fb7b96c40.
2024-10-15 17:04:54 +05:00
renovate[bot]
1fb7b96c40 chore(deps): update dependency @testing-library/react to v16 2024-10-14 04:36:50 +00:00
renovate[bot]
e13d04a5ea fix(deps): update react-router monorepo to v6.27.0 2024-10-14 04:36:37 +00:00
renovate[bot]
e3f5129746 fix(deps): update dependency @edx/frontend-component-header to v5.5.0 2024-10-07 06:04:17 -04:00
renovate[bot]
24b054f55f fix(deps): update dependency @edx/frontend-platform to v8.1.2 2024-10-07 07:03:35 +00:00
renovate[bot]
8498d9f04f fix(deps): update dependency @openedx/paragon to v22.8.1 2024-09-30 02:06:48 -04:00
renovate[bot]
0fa58d8112 fix(deps): update dependency @edx/frontend-component-header to v5.4.0 2024-09-30 02:06:35 -04:00
renovate[bot]
312b114ef7 chore(deps): update dependency @testing-library/jest-dom to v6.5.0 2024-09-30 02:06:22 -04:00
renovate[bot]
a05b29e406 chore(deps): update dependency @openedx/frontend-build to v14.1.5 2024-09-30 00:04:06 -04:00
renovate[bot]
6e3e67467a chore(deps): update commitlint monorepo to v19.5.0 2024-09-23 03:26:23 -04:00
renovate[bot]
09b5c8b72d chore(deps): update dependency @openedx/frontend-build to v14.1.4 2024-09-23 03:26:10 -04:00
edX requirements bot
5e71737240 chore: update browserslist DB (#1085)
Co-authored-by: jsnwesson <62807795+jsnwesson@users.noreply.github.com>
2024-09-17 09:14:49 -04:00
edX requirements bot
eb726e80ab chore: enable github action auto update in dependabot.yml (#1083) 2024-09-17 09:10:50 -04:00
renovate[bot]
4f1272b01c fix(deps): update dependency core-js to v3.38.1 2024-09-16 06:36:06 +00:00
renovate[bot]
30e3fcdcba fix(deps): update dependency @openedx/frontend-slot-footer to v1.0.5 2024-09-16 06:35:49 +00:00
edX requirements bot
b13fc58bad chore: update browserslist DB (#1078)
Co-authored-by: jsnwesson <62807795+jsnwesson@users.noreply.github.com>
2024-09-10 15:03:36 -04:00
sundasnoreen12
31b31ba345 Merge pull request #1077 from openedx/sundas/INF-1551
docs: updated catalog-info file for profile MFE
2024-09-10 16:34:00 +05:00
sundasnoreen12
f7449bfdcc docs: added pull request template and updated team name 2024-09-10 13:19:17 +03:00
sundasnoreen12
cb0f05955f docs: updated catalog-info file for profile MFE 2024-09-10 13:18:09 +03:00
renovate[bot]
f1586d260a chore(deps): update dependency @openedx/frontend-build to v14.1.2 2024-09-09 04:34:22 +00:00
renovate[bot]
b268c43978 chore(deps): update commitlint monorepo to v19.4.1 2024-09-09 00:34:04 -04:00
edX requirements bot
ed58a41042 chore: update browserslist DB (#1076)
Co-authored-by: jsnwesson <62807795+jsnwesson@users.noreply.github.com>
2024-09-03 09:15:26 -07:00
Deborah Kaplan
7e4ba48de8 Merge pull request #1074 from openedx/dependabot/npm_and_yarn/micromatch-4.0.8
build(deps): bump micromatch from 4.0.7 to 4.0.8
2024-08-27 09:48:00 -04:00
edX requirements bot
e9e16cc595 chore: update browserslist DB (#1071)
Co-authored-by: jsnwesson <62807795+jsnwesson@users.noreply.github.com>
2024-08-27 09:45:47 -04:00
dependabot[bot]
88d786b49f build(deps): bump micromatch from 4.0.7 to 4.0.8
Bumps [micromatch](https://github.com/micromatch/micromatch) from 4.0.7 to 4.0.8.
- [Release notes](https://github.com/micromatch/micromatch/releases)
- [Changelog](https://github.com/micromatch/micromatch/blob/4.0.8/CHANGELOG.md)
- [Commits](https://github.com/micromatch/micromatch/compare/4.0.7...4.0.8)

---
updated-dependencies:
- dependency-name: micromatch
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-26 07:21:56 +00:00
renovate[bot]
a24fea54ec fix(deps): update dependency @openedx/frontend-slot-footer to v1.0.4 2024-08-26 07:20:58 +00:00
renovate[bot]
8980b22fff fix(deps): update dependency @edx/openedx-atlas to v0.6.2 2024-08-26 03:20:42 -04:00
Bilal Qamar
389d923a08 build: Upgrade to Node 20 (#1056)
* feat: updated node to v20
2024-08-23 10:27:32 -04:00
Bilal Qamar
714851c329 test: Add Node 20 to CI matrix (#1069) 2024-08-22 08:39:33 -04:00
Bilal Qamar
b27300e63d fix: updated failing snapshots (#1070) 2024-08-21 07:21:48 -07:00
renovate[bot]
0869a82a31 fix(deps): update font awesome to v6.6.0 2024-08-19 06:26:50 +00:00
renovate[bot]
507525262c fix(deps): update dependency core-js to v3.38.0 2024-08-19 06:26:33 +00:00
renovate[bot]
a69170a4d2 fix(deps): update dependency @openedx/paragon to v22.7.0 2024-08-19 04:19:32 +00:00
renovate[bot]
26203bb744 chore(deps): update dependency @openedx/frontend-build to v14.1.0 2024-08-19 00:19:15 -04:00
edX requirements bot
21fb4702b4 chore: update browserslist DB (#1062)
Co-authored-by: jsnwesson <62807795+jsnwesson@users.noreply.github.com>
2024-08-14 13:58:49 -04:00
renovate[bot]
aa8d1f9473 chore(deps): update dependency @commitlint/cli to v19.4.0 2024-08-12 04:19:50 +00:00
renovate[bot]
b6e9df9778 chore(deps): update dependency @openedx/frontend-build to v14.0.15 2024-08-12 00:19:35 -04:00
edX requirements bot
a7ed0cd62a chore: update browserslist DB (#1059)
Co-authored-by: jsnwesson <62807795+jsnwesson@users.noreply.github.com>
2024-08-05 15:21:00 -07:00
renovate[bot]
e61fada0b2 fix(deps): update dependency @edx/frontend-platform to v8.1.1 2024-08-05 07:45:45 -04:00
renovate[bot]
3b0b1be197 fix(deps): update dependency @edx/frontend-component-header to v5.3.4 2024-08-05 03:33:34 -04:00
renovate[bot]
616847c6b5 chore(deps): update dependency @testing-library/jest-dom to v6.4.8 2024-07-29 05:54:29 -04:00
renovate[bot]
95b41131fc chore(deps): update dependency @openedx/frontend-build to v14.0.14 2024-07-29 02:02:34 -04:00
edX requirements bot
59a3150706 chore: update browserslist DB (#1055)
Co-authored-by: jsnwesson <62807795+jsnwesson@users.noreply.github.com>
2024-07-22 12:33:25 -04:00
edX requirements bot
774b67b208 chore: update browserslist DB (#1050)
Co-authored-by: jsnwesson <62807795+jsnwesson@users.noreply.github.com>
2024-07-17 08:54:42 -04:00
renovate[bot]
9a855cd30e fix(deps): update react-router monorepo to v6.24.1 2024-07-15 07:39:30 +00:00
renovate[bot]
9c6647aeae fix(deps): update dependency @edx/frontend-platform to v8.1.0 2024-07-15 03:39:10 -04:00
renovate[bot]
ecdec9083a fix(deps): update dependency @openedx/frontend-slot-footer to v1.0.3 2024-07-15 01:07:15 -04:00
renovate[bot]
1c0746c907 chore(deps): update dependency glob to v10.4.5 2024-07-15 01:07:00 -04:00
edX requirements bot
e7f8a5d1ff chore: update browserslist DB (#1049)
Co-authored-by: jsnwesson <62807795+jsnwesson@users.noreply.github.com>
2024-07-08 11:09:34 -07:00
edX requirements bot
d927b43c01 chore: update browserslist DB (#1042)
Co-authored-by: jsnwesson <62807795+jsnwesson@users.noreply.github.com>
2024-07-01 17:18:34 -04:00
Deborah Kaplan
1a36d69bd8 Merge pull request #1048 from openedx/dkaplan1/APER-3263_take-2-create-codeowners-for-openedx/frontend-app-profile
feat: fixing codeowners
2024-07-01 17:17:36 -04:00
Deborah Kaplan
db90ce5975 Merge branch 'master' into dkaplan1/APER-3263_take-2-create-codeowners-for-openedx/frontend-app-profile 2024-07-01 16:11:42 -04:00
Deborah Kaplan
b22d411481 feat: fixing codeowners
I used internal team name, fixing to external
2024-07-01 20:10:25 +00:00
Deborah Kaplan
d7fff65162 Merge pull request #1047 from openedx/dkaplan1/APER-3263_create-codeowners-for-openedx/frontend-app-profile
feat:  adding codeowners
2024-07-01 16:08:26 -04:00
Deborah Kaplan
cf5d69c5ba feat: adding codeowners
this is a dependency for other parts of the flow

FIXES: APER-3263
2024-07-01 20:00:43 +00:00
renovate[bot]
53d26746c1 fix(deps): update dependency core-js to v3.37.1 2024-07-01 03:10:14 -04:00
renovate[bot]
048433a135 fix(deps): update dependency @openedx/paragon to v22.6.1 2024-07-01 03:09:56 -04:00
renovate[bot]
31136b0523 chore(deps): update dependency glob to v10.4.2 2024-07-01 00:28:36 -04:00
renovate[bot]
caaf8547dc chore(deps): update dependency @openedx/frontend-build to v14.0.10 2024-07-01 00:28:21 -04:00
dependabot[bot]
e92332859a build(deps): bump braces from 3.0.2 to 3.0.3 (#1034)
Bumps [braces](https://github.com/micromatch/braces) from 3.0.2 to 3.0.3.
- [Changelog](https://github.com/micromatch/braces/blob/master/CHANGELOG.md)
- [Commits](https://github.com/micromatch/braces/compare/3.0.2...3.0.3)

---
updated-dependencies:
- dependency-name: braces
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-06-25 16:03:48 -04:00
dependabot[bot]
55529b0b74 build(deps): bump ws from 7.5.9 to 7.5.10 (#1039)
Bumps [ws](https://github.com/websockets/ws) from 7.5.9 to 7.5.10.
- [Release notes](https://github.com/websockets/ws/releases)
- [Commits](https://github.com/websockets/ws/compare/7.5.9...7.5.10)

---
updated-dependencies:
- dependency-name: ws
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-06-25 16:03:35 -04:00
Adolfo R. Brandes
7682971b63 build: Update codecov and use token (#1033)
Update codecov to the latest version and start using the org-wide token for uploads.

See https://github.com/openedx/wg-frontend/issues/179
2024-06-25 16:03:11 -04:00
Emad Rad
6aaf615c63 fix: make raw string a formatted message (#1041) 2024-06-24 09:49:14 -07:00
edX requirements bot
3512fc56c9 chore: update browserslist DB (#1029)
Co-authored-by: jsnwesson <62807795+jsnwesson@users.noreply.github.com>
2024-06-17 12:19:32 -04:00
renovate[bot]
fda2ef1977 chore(deps): update dependency glob to v10.4.1 2024-06-17 03:35:58 -04:00
renovate[bot]
3784c2a6df fix(deps): update dependency @fortawesome/react-fontawesome to v0.2.2 2024-06-17 07:35:45 +00:00
renovate[bot]
04d74389ed chore(deps): update dependency @testing-library/jest-dom to v6.4.6 2024-06-17 03:35:29 -04:00
renovate[bot]
1d338d0127 chore(deps): update dependency @openedx/frontend-build to v14.0.9 2024-06-17 00:29:48 -04:00
renovate[bot]
0fd6e34a8e fix(deps): update dependency @edx/frontend-platform to v8.0.4 2024-06-10 13:09:22 +00:00
renovate[bot]
9d89c79fb2 fix(deps): update dependency @edx/openedx-atlas to v0.6.1 2024-06-10 07:54:31 +00:00
edX requirements bot
bfc31696ee chore: update browserslist DB (#1026)
Co-authored-by: jsnwesson <62807795+jsnwesson@users.noreply.github.com>
2024-05-31 09:37:43 -04:00
renovate[bot]
8ebdc1030f fix(deps): update dependency @edx/frontend-platform to v8.0.3 2024-05-27 05:02:43 -04:00
renovate[bot]
8c3d706071 fix(deps): update dependency @edx/frontend-component-header to v5.3.3 2024-05-27 02:19:12 -04:00
Bilal Qamar
ee8912530d feat: updated frontend-build & frontend-platform major versions (#932)
* chore: updated frontend-build
* fix: updated snapshots for failing tests
* refactor: switched frontend-build to openedx, updated screenshots
* refactor: added overrides to resolve dependency issues
* refactor: updated frontend-build to alpha
* refactor: updated frontend-build
* feat: updated build and platform major versions, along with edx packages
* refactor: updated package-lock
* refactor: resolved lint issues
---------

Co-authored-by: Muhammad Abdullah Waheed <abdullah.waheed@arbisoft.com>
2024-05-22 13:21:34 -04:00
edX requirements bot
db91e0f1a4 chore: update browserslist DB (#1014)
Co-authored-by: jsnwesson <62807795+jsnwesson@users.noreply.github.com>
2024-05-20 10:16:19 -04:00
renovate[bot]
5f2d0c089e fix(deps): update dependency @fortawesome/react-fontawesome to v0.2.1 2024-05-20 03:31:00 -04:00
renovate[bot]
75be372ec9 fix(deps): update dependency @edx/frontend-component-header to v5.3.2 2024-05-20 07:30:45 +00:00
Brian Smith
9ef81f7485 feat: use frontend-plugin-framework to provide a FooterSlot (#1017) 2024-05-17 13:12:51 -03:00
Brian Smith
6a32790f28 fix: update footer to resolve (not so) optional peer dependency issue (#1022) 2024-05-14 10:43:50 -04:00
renovate[bot]
9f5f7f9a64 fix(deps): update dependency @openedx/paragon to v22.4.0 2024-05-13 02:29:21 -04:00
renovate[bot]
06f6e3537a fix(deps): update dependency @edx/frontend-component-footer to v13.2.0 2024-05-13 02:28:58 -04:00
renovate[bot]
44f0295d0d fix(deps): update dependency @edx/frontend-component-header to v5.3.1 2024-05-13 00:05:58 -04:00
renovate[bot]
19be2e93e2 chore(deps): update dependency glob to v10.3.15 2024-05-13 00:05:29 -04:00
renovate[bot]
5090a62594 fix(deps): update dependency @edx/frontend-component-header to v5.3.0 2024-05-06 02:08:43 -04:00
renovate[bot]
dc2bbee481 chore(deps): update dependency @testing-library/jest-dom to v6.4.5 2024-05-06 02:08:19 -04:00
edX requirements bot
8dc37f9bba chore: update browserslist DB (#1011)
Co-authored-by: jsnwesson <62807795+jsnwesson@users.noreply.github.com>
2024-05-02 08:41:19 -04:00
renovate[bot]
14d93d2f6c fix(deps): update dependency @edx/frontend-component-footer to v13.1.0 2024-04-29 07:51:45 +00:00
renovate[bot]
768351fc15 chore(deps): update commitlint monorepo to v19.3.0 2024-04-29 03:51:20 -04:00
edX requirements bot
c3dc8b7330 chore: update browserslist DB (#1005)
Co-authored-by: jsnwesson <62807795+jsnwesson@users.noreply.github.com>
2024-04-22 16:08:58 -04:00
renovate[bot]
9fd2d3f75a fix(deps): update dependency @edx/frontend-component-header to v5.2.0 2024-04-22 02:32:02 -04:00
renovate[bot]
760fa0c6a2 chore(deps): update dependency @openedx/frontend-build to v13.1.4 2024-04-22 02:31:34 -04:00
renovate[bot]
cf6a62266c fix(deps): update dependency @edx/frontend-platform to v7.1.4 2024-04-22 00:55:37 -04:00
renovate[bot]
f16fd36a24 fix(deps): update dependency @edx/frontend-component-footer to v13.0.5 2024-04-22 00:55:18 -04:00
Maxwell Frank
c30e1b3f17 chore(deps): upgrade to paragon v22 (#1004) 2024-04-19 13:33:52 -04:00
edX requirements bot
9985afde2d chore: update browserslist DB (#994)
Co-authored-by: jsnwesson <62807795+jsnwesson@users.noreply.github.com>
2024-04-18 12:55:51 -07:00
renovate[bot]
ccd6e95f70 fix(deps): update font awesome to v6.5.2 2024-04-15 00:10:56 -04:00
renovate[bot]
fb904a5cc2 chore(deps): update commitlint monorepo to v19.2.2 2024-04-15 04:10:34 +00:00
renovate[bot]
a255bbe2b8 chore(deps): update commitlint monorepo 2024-04-01 02:50:14 -04:00
renovate[bot]
a314878cc4 fix(deps): update react-router monorepo to v6.22.3 2024-04-01 06:49:51 +00:00
renovate[bot]
61b8b0a509 fix(deps): update dependency @edx/frontend-platform to v7.1.3 2024-04-01 04:37:36 +00:00
renovate[bot]
f144cd857e chore(deps): update dependency glob to v10.3.12 2024-04-01 00:37:08 -04:00
Justin Hynes
c922a1cd29 revert: "chore(deps): update dependency @testing-library/react to v14" (#993)
This reverts commit a3611b026c. This version of `testing-library/react` doesn't play well with our current version of React.

We shouldn't upgrade this library until we're running a newer version of React in this MFE.
2024-03-29 10:59:43 -04:00
dependabot[bot]
6cefe7b3c0 build(deps): bump express and @openedx/frontend-build (#992)
Bumps [express](https://github.com/expressjs/express) to 4.19.2 and updates ancestor dependency [@openedx/frontend-build](https://github.com/openedx/frontend-build). These dependencies need to be updated together.


Updates `express` from 4.18.2 to 4.19.2
- [Release notes](https://github.com/expressjs/express/releases)
- [Changelog](https://github.com/expressjs/express/blob/master/History.md)
- [Commits](https://github.com/expressjs/express/compare/4.18.2...4.19.2)

Updates `@openedx/frontend-build` from 13.0.29 to 13.0.30
- [Release notes](https://github.com/openedx/frontend-build/releases)
- [Commits](https://github.com/openedx/frontend-build/compare/v13.0.29...v13.0.30)

---
updated-dependencies:
- dependency-name: express
  dependency-type: indirect
- dependency-name: "@openedx/frontend-build"
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-03-29 08:20:28 -04:00
renovate[bot]
a3611b026c chore(deps): update dependency @testing-library/react to v14 2024-03-29 08:20:14 -04:00
edX requirements bot
d33d3d9a4b chore: update browserslist DB (#988)
Co-authored-by: jsnwesson <62807795+jsnwesson@users.noreply.github.com>
2024-03-29 08:19:37 -04:00
dependabot[bot]
ec68baa74e build(deps): bump webpack-dev-middleware from 5.3.3 to 5.3.4 (#987)
Bumps [webpack-dev-middleware](https://github.com/webpack/webpack-dev-middleware) from 5.3.3 to 5.3.4.
- [Release notes](https://github.com/webpack/webpack-dev-middleware/releases)
- [Changelog](https://github.com/webpack/webpack-dev-middleware/blob/v5.3.4/CHANGELOG.md)
- [Commits](https://github.com/webpack/webpack-dev-middleware/compare/v5.3.3...v5.3.4)

---
updated-dependencies:
- dependency-name: webpack-dev-middleware
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-03-29 08:19:14 -04:00
renovate[bot]
7216b0f5cb fix(deps): update dependency core-js to v3.36.1 2024-03-25 11:50:35 +00:00
renovate[bot]
83b21bff7d chore(deps): update dependency @openedx/frontend-build to v13.0.29 2024-03-25 08:24:53 +00:00
dependabot[bot]
cb52875651 build(deps): bump follow-redirects from 1.15.4 to 1.15.6 (#984)
Bumps [follow-redirects](https://github.com/follow-redirects/follow-redirects) from 1.15.4 to 1.15.6.
- [Release notes](https://github.com/follow-redirects/follow-redirects/releases)
- [Commits](https://github.com/follow-redirects/follow-redirects/compare/v1.15.4...v1.15.6)

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-03-20 14:31:07 -07:00
Samir Sabri
89bcceaadc feat!: remove Transifex calls for OEP-58 (#889) 2024-03-20 09:31:47 -04:00
edX requirements bot
51dc454948 chore: update browserslist DB (#981)
Co-authored-by: jsnwesson <62807795+jsnwesson@users.noreply.github.com>
2024-03-18 11:57:00 -07:00
renovate[bot]
c7d57e24c3 fix(deps): update dependency @edx/frontend-platform to v7.1.2 2024-03-18 14:18:38 +00:00
renovate[bot]
54c702fb7f fix(deps): update dependency @edx/frontend-component-footer to v13.0.4 2024-03-18 11:31:15 +00:00
renovate[bot]
da6c9ebd1e fix(deps): update dependency @edx/frontend-platform to v7.1.1 2024-03-11 11:04:34 +00:00
renovate[bot]
f987e45c97 fix(deps): update dependency @edx/frontend-component-footer to v13.0.3 2024-03-11 10:41:35 +00:00
edX requirements bot
1f2ac2e1e7 chore: update browserslist DB (#977)
Co-authored-by: jsnwesson <62807795+jsnwesson@users.noreply.github.com>
2024-03-07 10:29:27 -05:00
mashal-m
b13c26b06a refactor: remova paranthesis 2024-03-04 14:52:12 -03:00
mashal-m
b5ace63438 feat: add profile config in env files 2024-03-04 14:52:12 -03:00
mashal-m
15a81ee09f feat: replace legacy LMS url with account mfe url 2024-03-04 14:52:12 -03:00
renovate[bot]
fecfdc101c fix(deps): update react-router monorepo to v6.22.2 2024-03-04 12:39:13 +00:00
renovate[bot]
4fdf3ef190 chore(deps): update commitlint monorepo to v19.0.3 2024-03-04 10:09:31 +00:00
dependabot[bot]
88f4ac2349 build(deps): bump es5-ext from 0.10.62 to 0.10.63 (#974)
Bumps [es5-ext](https://github.com/medikoo/es5-ext) from 0.10.62 to 0.10.63.
- [Release notes](https://github.com/medikoo/es5-ext/releases)
- [Changelog](https://github.com/medikoo/es5-ext/blob/main/CHANGELOG.md)
- [Commits](https://github.com/medikoo/es5-ext/compare/v0.10.62...v0.10.63)

---
updated-dependencies:
- dependency-name: es5-ext
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-02-27 15:58:11 -05:00
renovate[bot]
deaebd3333 chore(deps): update commitlint monorepo to v19 (#971)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-27 15:39:37 -05:00
Omar Al-Ithawi
6b0655aed3 fix: get @edx/openedx-atlas back to fix Tutor MFE
this is a partial revert for bd4b79baa0
which broke Tutor MFE.
2024-02-27 14:46:16 -03:00
edX requirements bot
2901345ea6 chore: update browserslist DB (#973)
Co-authored-by: justinhynes <3229735+justinhynes@users.noreply.github.com>
2024-02-26 15:53:47 -05:00
renovate[bot]
e51677b0f0 chore(deps): update dependency @testing-library/jest-dom to v6 2024-02-26 11:12:07 +00:00
Mashal Malik
676166a160 refactor: replace @edx/paragon and @edx/frontend-build (#945)
* refactor: replace @edx/paragon and @edx/frontend-build

* refactor: updated edx packages

---------

Co-authored-by: mashal-m <mashal.malik@arbisoft.com>
Co-authored-by: Bilal Qamar <59555732+BilalQamar95@users.noreply.github.com>
2024-02-22 09:21:04 -08:00
Deborah Kaplan
761995b623 Merge pull request #967 from openedx/update-browserslist-db
Update browserslist DB
2024-02-21 15:08:55 -05:00
renovate[bot]
abc1b682d4 fix(deps): update dependency core-js to v3.36.0 2024-02-19 12:06:58 +00:00
renovate[bot]
3b37cbb76c fix(deps): update react-router monorepo to v6.22.1 2024-02-19 10:11:11 +00:00
jsnwesson
6c6229916e chore: update browserslist DB 2024-02-19 00:09:15 +00:00
edX requirements bot
2aeb7b0710 chore: update browserslist DB (#963)
Co-authored-by: jsnwesson <62807795+jsnwesson@users.noreply.github.com>
2024-02-15 10:42:46 -08:00
dependabot[bot]
a36c0629e9 build(deps): bump follow-redirects from 1.15.2 to 1.15.4 (#951)
Bumps follow-redirects from 1.15.2 to 1.15.4.
---
updated-dependencies:
- dependency-name: follow-redirects
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-02-15 10:33:35 -08:00
renovate[bot]
5a9d3887a7 fix(deps): update dependency @redux-devtools/extension to v3.3.0 2024-02-12 10:48:35 +00:00
Maxwell Frank
3fdd68b203 Merge pull request #958 from openedx/update-browserslist-db
Update browserslist DB
2024-02-05 14:43:57 -05:00
renovate[bot]
a1264deda0 fix(deps): replace dependency redux-devtools-extension with @redux-devtools/extension 3.0.0 (#960)
* fix(deps): replace dependency redux-devtools-extension with @redux-devtools/extension 3.0.0

* fix: dependency import

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Maxwell Frank <mfrank@2u.com>
2024-02-05 14:33:19 -05:00
renovate[bot]
f9fa5360d9 fix(deps): update react-router monorepo to v6.22.0 2024-02-05 10:59:24 +00:00
jsnwesson
b4a1ec6e60 chore: update browserslist DB 2024-02-05 00:09:10 +00:00
Omar Al-Ithawi
c30eb00c8d feat: tutor-mfe compatiblilty for atlas pull (#959)
- install atlas
 - remove `--filter` to pull all languages by default
 - use ATLAS_OPTIONS to allow custom `--filter`
 - include frontend-platform in `atlas pull`

Refs: FC-0012 OEP-58
2024-01-30 12:19:40 -05:00
Deborah Kaplan
fc75405597 Merge pull request #823 from openedx/renovate/major-font-awesome
fix(deps): update font awesome to v6 (major)
2024-01-24 16:54:49 -05:00
Deborah Kaplan
5726470881 feat: updating the snapshots
update jest snapshots
2024-01-24 21:33:26 +00:00
renovate[bot]
6bbae1f7f0 fix(deps): update font awesome to v6 2024-01-23 19:47:43 +00:00
Deborah Kaplan
ef5fe2fa91 Merge pull request #954 from openedx/update-browserslist-db
Update browserslist DB
2024-01-23 14:46:32 -05:00
Deborah Kaplan
585856ad89 Merge pull request #941 from openedx/bilalqamar95/enzyme-to-rtl-migration
feat: migrated tests from enzyme to RTL
2024-01-22 12:23:51 -05:00
Syed Ali Abbas Zaidi
8d1dbfe55d Merge branch 'master' of github.com:openedx/frontend-app-profile into bilalqamar95/enzyme-to-rtl-migration 2024-01-22 17:42:03 +05:00
renovate[bot]
8a9c78662f fix(deps): update react-router monorepo to v6.21.3 2024-01-22 12:39:23 +00:00
Syed Ali Abbas Zaidi
8eb0029970 chore: remove react-test-renderer 2024-01-22 17:38:53 +05:00
renovate[bot]
2dc20dd3fd fix(deps): update dependency core-js to v3.35.1 2024-01-22 10:41:46 +00:00
jsnwesson
2fefab5311 chore: update browserslist DB 2024-01-22 00:09:28 +00:00
renovate[bot]
e7ab90a778 fix(deps): update dependency redux-saga to v1.3.0 2024-01-15 15:16:11 +00:00
renovate[bot]
28226e4d03 fix(deps): update dependency core-js to v3.35.0 2024-01-15 09:15:58 +00:00
vladislavkeblysh
e59ab99d45 feat: Fixed displaying banner and certificates on mobile view (#860)
* feat: fixed displaing banner and certificates on mobile view

* feat: update snapshot
2024-01-08 13:58:27 -05:00
edX requirements bot
3f1fa50608 chore: update browserslist DB (#950)
Co-authored-by: justinhynes <justinhynes@users.noreply.github.com>
2024-01-08 13:54:57 -05:00
renovate[bot]
71a37ace78 fix(deps): update dependency classnames to v2.5.1 2024-01-01 12:57:10 +00:00
renovate[bot]
d4e16347b8 fix(deps): update dependency @edx/frontend-component-header to v4.11.0 2024-01-01 10:13:43 +00:00
renovate[bot]
76c94ef0e1 fix(deps): update dependency @edx/frontend-component-footer to v12.7.0 2023-12-25 13:55:39 +00:00
renovate[bot]
db6351560a fix(deps): update dependency core-js to v3.34.0 2023-12-25 09:22:23 +00:00
Feanil Patel
bd06a7ada7 Merge pull request #940 from openedx/nedbat/catalog-info-name
build: the name in catalog-info.yaml should be the repo name
2023-12-19 09:28:33 -05:00
Bilal Qamar
42810a5e36 feat: migrated tests from enzyme to RTL 2023-12-19 15:02:27 +05:00
Ned Batchelder
01e1dd027a build: the name in catalog-info.yaml should be the repo name 2023-12-18 17:48:08 -05:00
edX requirements bot
275b7f9ba5 chore: update browserslist DB (#937)
Co-authored-by: jsnwesson <jsnwesson@users.noreply.github.com>
2023-12-18 13:54:43 -05:00
renovate[bot]
e18b6497ba fix(deps): update dependency regenerator-runtime to v0.14.1 2023-12-18 13:28:26 +00:00
renovate[bot]
14a4efe86b chore(deps): update dependency @edx/frontend-build to v13.0.14 2023-12-18 10:38:36 +00:00
Deborah Kaplan
5e602c9c0b Merge pull request #877 from openedx/renovate/actions-checkout-4.x
chore(deps): update actions/checkout action to v4
2023-12-11 15:42:36 -05:00
renovate[bot]
e2eb4a6eae chore(deps): update actions/checkout action to v4 2023-12-11 20:28:59 +00:00
Deborah Kaplan
8b195f1531 Merge pull request #931 from openedx/renovate/actions-setup-node-4.x
chore(deps): update actions/setup-node action to v4
2023-12-11 15:28:44 -05:00
renovate[bot]
650b47a631 chore(deps): update actions/setup-node action to v4 2023-12-11 16:41:39 +00:00
Deborah Kaplan
bd5c909bbc Merge pull request #934 from openedx/update-browserslist-db
Update browserslist DB
2023-12-11 11:41:20 -05:00
renovate[bot]
eb347f4d68 fix(deps): update dependency @edx/frontend-component-footer to v12.6.1 2023-12-11 14:14:14 +00:00
renovate[bot]
b3b88779b4 chore(deps): update dependency @edx/frontend-build to v13.0.12 2023-12-11 10:59:21 +00:00
jsnwesson
ade2bad564 chore: update browserslist DB 2023-12-11 00:09:18 +00:00
edX requirements bot
4ca59f0984 chore: update browserslist DB (#929)
Co-authored-by: jsnwesson <jsnwesson@users.noreply.github.com>
2023-12-04 11:23:52 -08:00
renovate[bot]
ab9b129b43 fix(deps): update react-router monorepo to v6.20.1 2023-12-04 10:32:15 +00:00
edX requirements bot
5d9ee134c1 chore: update browserslist DB (#923)
Co-authored-by: jsnwesson <jsnwesson@users.noreply.github.com>
2023-11-28 14:52:19 -05:00
Jenkins
b6e4c34b77 chore(i18n): update translations 2023-11-28 11:18:49 -05:00
renovate[bot]
c36595170d fix(deps): update dependency @edx/frontend-component-header to v4.10.1 2023-11-27 13:18:57 +00:00
renovate[bot]
cf6b4dae98 fix(deps): update dependency @edx/frontend-component-footer to v12.6.0 2023-11-27 09:07:31 +00:00
Deborah Kaplan
994852741e Merge pull request #917 from openedx/update-browserslist-db
Update browserslist DB
2023-11-21 12:51:45 -05:00
renovate[bot]
9403fd84f6 fix(deps): update dependency core-js to v3.33.3 2023-11-20 12:17:03 +00:00
renovate[bot]
4d5562e2dd chore(deps): update dependency @edx/frontend-build to v13.0.8 2023-11-20 09:24:14 +00:00
jsnwesson
cad60cff61 chore: update browserslist DB 2023-11-20 00:09:20 +00:00
Justin Hynes
a9ce16add6 chore: remove unused codecov package from package.json (#915)
[APER-2889]

The codecov package is no longer supported and we have moved to using a GitHub action for uploading coverage data. The NPM package can be removed from our requirements.
2023-11-17 10:42:26 -05:00
renovate[bot]
8a2755751b fix(deps): update dependency core-js to v3.33.2 2023-11-13 15:20:25 +00:00
renovate[bot]
1401c8b156 chore(deps): update dependency @edx/frontend-build to v13.0.5 2023-11-13 09:03:23 +00:00
Ihor Romaniuk
5cf7db140c fix: trim long text in form controls and username block (#888)
* fix: trim long text in form controls and username block
* fix: update snapshots
2023-11-08 13:56:49 -05:00
vladislavkeblysh
860d2e6f5e feat: fixed displaying field and visibility forms (#864) 2023-11-08 13:41:54 -05:00
edX requirements bot
a434c0a7b9 chore: update browserslist DB (#905)
Co-authored-by: jsnwesson <jsnwesson@users.noreply.github.com>
2023-11-08 10:34:10 -05:00
renovate[bot]
c6c5521ecf fix(deps): update dependency @edx/frontend-component-footer to v12.5.1 2023-11-06 13:50:59 +00:00
renovate[bot]
7175183d6a chore(deps): update dependency @edx/frontend-build to v13.0.4 2023-11-06 10:44:12 +00:00
Deborah Kaplan
8566cf9095 Merge pull request #903 from openedx/renovate/edx-brand-1.x-lockfile
fix(deps): update dependency @edx/brand to v1.2.3
2023-10-31 14:53:33 -04:00
Deborah Kaplan
efeedb3247 feat: fixing a conflict
ran npm i
2023-10-31 18:06:07 +00:00
renovate[bot]
a3849495d5 fix(deps): update dependency @edx/brand to v1.2.3 2023-10-31 15:00:50 +00:00
Deborah Kaplan
47a7d77e55 Merge pull request #898 from openedx/mashal-m/update-README
refactor: updated README file to reflect template changes
2023-10-31 11:00:20 -04:00
Deborah Kaplan
943ff02a38 Merge pull request #901 from openedx/update-browserslist-db
Update browserslist DB
2023-10-30 16:40:41 -04:00
renovate[bot]
8b48dc8bad chore(deps): update dependency @edx/frontend-build to v13.0.3 2023-10-30 09:50:11 +00:00
jsnwesson
e195dbf1b4 chore: update browserslist DB 2023-10-30 00:09:08 +00:00
mashal-m
7ae5956f06 refactor: updated README file to reflect template changes 2023-10-25 11:27:02 +05:00
edX requirements bot
f48a06b8c5 chore: update browserslist DB (#890)
Co-authored-by: jsnwesson <jsnwesson@users.noreply.github.com>
2023-10-23 12:56:24 -07:00
Muhammad Abdullah Waheed
48d2766c13 feat: babel-plugin-react-intl to babel-plugin-formatjs migration (#855)
* feat: babel-plugin-react-intl to babel-plugin-formatjs migration

* fix: upgraded frontend-build to fix security issue
2023-10-23 12:49:15 -07:00
renovate[bot]
d677d11558 fix(deps): update dependency @edx/frontend-component-header to v4.8.0 2023-10-23 17:22:25 +00:00
renovate[bot]
c396800657 fix(deps): update dependency @edx/frontend-component-footer to v12.5.0 2023-10-23 13:37:46 +00:00
renovate[bot]
1baf21aad9 fix(deps): update dependency core-js to v3.33.1 2023-10-23 09:42:17 +00:00
renovate[bot]
dc068cbf33 chore(deps): update commitlint monorepo to v17.8.1 2023-10-23 06:09:58 +00:00
Feanil Patel
2f8b9963ce chore: Update to the new version of brand-openedx in the new scope. (#886)
Part of https://github.com/openedx/axim-engineering/issues/23

This updates the `@edx/brand` alias to point to the `brand-openedx` package at
the `openedx` scope. This does not impact imports because this package is used
via an alias.
2023-10-20 14:31:21 -04:00
renovate[bot]
6957ad0401 fix(deps): update dependency core-js to v3.33.0 (#876)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-16 12:40:15 -04:00
dependabot[bot]
ce616fa409 build(deps): bump @babel/traverse from 7.22.5 to 7.23.2 (#879)
Bumps [@babel/traverse](https://github.com/babel/babel/tree/HEAD/packages/babel-traverse) from 7.22.5 to 7.23.2.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.23.2/packages/babel-traverse)

---
updated-dependencies:
- dependency-name: "@babel/traverse"
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-16 12:32:19 -04:00
renovate[bot]
e216036d8d fix(deps): update dependency @edx/frontend-platform to v5.6.1 (#875)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-16 12:29:39 -04:00
edX requirements bot
69cacc1e3b chore: update browserslist DB (#871)
Co-authored-by: jsnwesson <jsnwesson@users.noreply.github.com>
2023-10-16 12:18:30 -04:00
Stanislav
8f6b96983f fix: Add ID attribute to the main content (#845)
Co-authored-by: Stanislav Lunyachek <lunyachek@MacBook-Pro-M1.local>
2023-10-16 12:17:28 -04:00
Syed Ali Abbas Zaidi
779c5078ca chore: bump frontend-platform (#869) 2023-10-16 17:12:03 +05:00
renovate[bot]
e6c3d10b37 fix(deps): update dependency @edx/frontend-component-footer to v12.4.0 2023-10-16 10:14:10 +00:00
renovate[bot]
4cc9e53a4d chore(deps): update commitlint monorepo to v17.8.0 2023-10-16 07:22:04 +00:00
renovate[bot]
88b583865a fix(deps): update dependency @edx/paragon to v20.46.3 2023-10-16 06:53:57 +00:00
84 changed files with 30031 additions and 22218 deletions

4
.env
View File

@@ -10,6 +10,8 @@ LOGIN_URL=''
LOGOUT_URL='' LOGOUT_URL=''
MARKETING_SITE_BASE_URL='' MARKETING_SITE_BASE_URL=''
ORDER_HISTORY_URL='' ORDER_HISTORY_URL=''
ACCOUNT_SETTINGS_URL=''
ACCOUNT_PROFILE_URL=''
REFRESH_ACCESS_TOKEN_ENDPOINT='' REFRESH_ACCESS_TOKEN_ENDPOINT=''
SEGMENT_KEY='' SEGMENT_KEY=''
SITE_NAME='' SITE_NAME=''
@@ -27,3 +29,5 @@ APP_ID=''
MFE_CONFIG_API_URL='' MFE_CONFIG_API_URL=''
SEARCH_CATALOG_URL='' SEARCH_CATALOG_URL=''
ENABLE_SKILLS_BUILDER_PROFILE='' ENABLE_SKILLS_BUILDER_PROFILE=''
# Fallback in local style files
PARAGON_THEME_URLS={}

View File

@@ -3,7 +3,9 @@ PORT=1995
ACCESS_TOKEN_COOKIE_NAME='edx-jwt-cookie-header-payload' ACCESS_TOKEN_COOKIE_NAME='edx-jwt-cookie-header-payload'
BASE_URL='localhost:1995' BASE_URL='localhost:1995'
CREDENTIALS_BASE_URL='http://localhost:18150' CREDENTIALS_BASE_URL='http://localhost:18150'
ACCOUNT_SETTINGS_URL=http://localhost:1997
CSRF_TOKEN_API_PATH='/csrf/api/v1/token' CSRF_TOKEN_API_PATH='/csrf/api/v1/token'
ACCOUNT_PROFILE_URL=http://localhost:1995
ECOMMERCE_BASE_URL='http://localhost:18130' ECOMMERCE_BASE_URL='http://localhost:18130'
LANGUAGE_PREFERENCE_COOKIE_NAME='openedx-language-preference' LANGUAGE_PREFERENCE_COOKIE_NAME='openedx-language-preference'
LMS_BASE_URL='http://localhost:18000' LMS_BASE_URL='http://localhost:18000'
@@ -28,3 +30,5 @@ APP_ID=''
MFE_CONFIG_API_URL='' MFE_CONFIG_API_URL=''
SEARCH_CATALOG_URL='http://localhost:18000/courses' SEARCH_CATALOG_URL='http://localhost:18000/courses'
ENABLE_SKILLS_BUILDER_PROFILE='' ENABLE_SKILLS_BUILDER_PROFILE=''
# Fallback in local style files
PARAGON_THEME_URLS={}

View File

@@ -5,6 +5,8 @@ CSRF_TOKEN_API_PATH='/csrf/api/v1/token'
ECOMMERCE_BASE_URL='http://localhost:18130' ECOMMERCE_BASE_URL='http://localhost:18130'
LANGUAGE_PREFERENCE_COOKIE_NAME='openedx-language-preference' LANGUAGE_PREFERENCE_COOKIE_NAME='openedx-language-preference'
LMS_BASE_URL='http://localhost:18000' LMS_BASE_URL='http://localhost:18000'
ACCOUNT_SETTINGS_URL='http://localhost:1997'
ACCOUNT_PROFILE_URL='http://localhost:1995'
LOGIN_URL='http://localhost:18000/login' LOGIN_URL='http://localhost:18000/login'
LOGOUT_URL='http://localhost:18000/logout' LOGOUT_URL='http://localhost:18000/logout'
MARKETING_SITE_BASE_URL='http://localhost:18000' MARKETING_SITE_BASE_URL='http://localhost:18000'
@@ -23,3 +25,4 @@ LEARNER_RECORD_MFE_BASE_URL='http://localhost:1990'
COLLECT_YEAR_OF_BIRTH=true COLLECT_YEAR_OF_BIRTH=true
APP_ID='' APP_ID=''
MFE_CONFIG_API_URL='' MFE_CONFIG_API_URL=''
PARAGON_THEME_URLS={}

View File

@@ -1,4 +1,4 @@
// eslint-disable-next-line import/no-extraneous-dependencies // eslint-disable-next-line import/no-extraneous-dependencies
const { createConfig } = require('@edx/frontend-build'); const { createConfig } = require('@openedx/frontend-build');
module.exports = createConfig('eslint'); module.exports = createConfig('eslint');

1
.github/CODEOWNERS vendored Normal file
View File

@@ -0,0 +1 @@
* @openedx/2U-infinity

7
.github/dependabot.yml vendored Normal file
View File

@@ -0,0 +1,7 @@
version: 2
updates:
# Adding new check for github-actions
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "weekly"

24
.github/pull_request_template.md vendored Normal file
View File

@@ -0,0 +1,24 @@
### Description
Include a description of your changes here, along with a link to any relevant Jira tickets and/or GitHub issues.
#### How Has This Been Tested?
Please describe in detail how you tested your changes.
#### Screenshots/sandbox (optional):
Include a link to the sandbox for design changes or screenshot for before and after. **Remove this section if it's not applicable.**
|Before|After|
|-------|-----|
| | |
#### Merge Checklist
* [ ] If your update includes visual changes, have they been reviewed by a designer? Send them a link to the Sandbox, if applicable.
* [ ] Is there adequate test coverage for your changes?
#### Post-merge Checklist
* [ ] Deploy the changes to prod after verifying on stage or ask **@openedx/2u-infinity** to do it.
* [ ] 🎉 🙌 Celebrate! Thanks for your contribution.

View File

@@ -14,16 +14,16 @@ jobs:
- lint - lint
- test - test
steps: steps:
- uses: actions/checkout@v3 - uses: actions/checkout@v4
- name: Setup Nodejs Env - uses: actions/setup-node@v4
run: echo "NODE_VER=`cat .nvmrc`" >> $GITHUB_ENV
- uses: actions/setup-node@v3
with: with:
node-version: ${{ env.NODE_VER }} node-version-file: '.nvmrc'
- run: make requirements - run: make requirements
- run: make test NPM_TESTS=build - run: make test NPM_TESTS=build
- run: make test NPM_TESTS=${{ matrix.npm-test }} - run: make test NPM_TESTS=${{ matrix.npm-test }}
- name: upload coverage - name: Coverage
uses: codecov/codecov-action@v3 if: ${{ matrix.npm-test == 'test' }}
uses: codecov/codecov-action@v4
with: with:
fail_ci_if_error: false token: ${{ secrets.CODECOV_TOKEN }}
fail_ci_if_error: true

View File

@@ -10,4 +10,4 @@ on:
jobs: jobs:
version-check: version-check:
uses: openedx/.github/.github/workflows/lockfile-check.yml@master uses: openedx/.github/.github/workflows/lockfileversion-check-v3.yml@master

1
.gitignore vendored
View File

@@ -17,3 +17,4 @@ temp/babel-plugin-react-intl
/temp /temp
/.vscode /.vscode
/module.config.js /module.config.js
src/i18n/messages

2
.nvmrc
View File

@@ -1 +1 @@
18 20

View File

@@ -1,9 +0,0 @@
[main]
host = https://www.transifex.com
[o:open-edx:p:edx-platform:r:frontend-app-profile]
file_filter = src/i18n/messages/<lang>.json
source_file = src/i18n/transifex_input.json
source_lang = en
type = KEYVALUEJSON

View File

@@ -1,7 +1,3 @@
export TRANSIFEX_RESOURCE = frontend-app-profile
transifex_resource = frontend-app-profile
transifex_langs = "ar,de,de_DE,es_419,fa_IR,fr,fr_CA,hi,it,it_IT,pt,pt_PT,ru,uk,zh_CN"
intl_imports = ./node_modules/.bin/intl-imports.js intl_imports = ./node_modules/.bin/intl-imports.js
transifex_utils = ./node_modules/.bin/transifex-utils.js transifex_utils = ./node_modules/.bin/transifex-utils.js
i18n = ./src/i18n i18n = ./src/i18n
@@ -39,35 +35,18 @@ detect_changed_source_translations:
# Checking for changed translations... # Checking for changed translations...
git diff --exit-code $(i18n) git diff --exit-code $(i18n)
# Pushes translations to Transifex. You must run make extract_translations first.
push_translations:
# Pushing strings to Transifex...
tx push -s
# Fetching hashes from Transifex...
./node_modules/@edx/reactifex/bash_scripts/get_hashed_strings_v3.sh
# Writing out comments to file...
$(transifex_utils) $(transifex_temp) --comments --v3-scripts-path
# Pushing comments to Transifex...
./node_modules/@edx/reactifex/bash_scripts/put_comments_v3.sh
ifeq ($(OPENEDX_ATLAS_PULL),)
# Pulls translations from Transifex.
pull_translations:
tx pull -t -f --mode reviewed --languages=$(transifex_langs)
else
# Experimental: OEP-58 Pulls translations using atlas
pull_translations: pull_translations:
rm -rf src/i18n/messages rm -rf src/i18n/messages
mkdir src/i18n/messages mkdir src/i18n/messages
cd src/i18n/messages \ cd src/i18n/messages \
&& atlas pull --filter=$(transifex_langs) \ && atlas pull $(ATLAS_OPTIONS) \
translations/frontend-platform/src/i18n/messages:frontend-platform \
translations/paragon/src/i18n/messages:paragon \ translations/paragon/src/i18n/messages:paragon \
translations/frontend-component-header/src/i18n/messages:frontend-component-header \ translations/frontend-component-header/src/i18n/messages:frontend-component-header \
translations/frontend-component-footer/src/i18n/messages:frontend-component-footer \ translations/frontend-component-footer/src/i18n/messages:frontend-component-footer \
translations/frontend-app-profile/src/i18n/messages:frontend-app-profile translations/frontend-app-profile/src/i18n/messages:frontend-app-profile
$(intl_imports) paragon frontend-component-header frontend-component-footer frontend-app-profile $(intl_imports) frontend-platform paragon frontend-component-header frontend-component-footer frontend-app-profile
endif
# This target is used by Travis. # This target is used by Travis.
validate-no-uncommitted-package-lock-changes: validate-no-uncommitted-package-lock-changes:

View File

@@ -71,6 +71,12 @@ Profile MFE for local development via the `devstack`_.
Once the dev server is up, visit http://localhost:1995/u/staff. Once the dev server is up, visit http://localhost:1995/u/staff.
Plugins
=======
This MFE can be customized using `Frontend Plugin Framework <https://github.com/openedx/frontend-plugin-framework>`_.
The parts of this MFE that can be customized in that manner are documented `here </src/plugin-slots>`_.
Configuration Configuration
============= =============
@@ -92,7 +98,7 @@ frontend repository, the best place to discuss it would be in the `#wg-frontend
channel`_. channel`_.
For anything non-trivial, the best path is to open an issue in this repository For anything non-trivial, the best path is to open an issue in this repository
with as many details about the issue you are facing as you can provide. Please tag **@openedx/2u-aperture** on any PRs or issues. with as many details about the issue you are facing as you can provide. Please tag **@openedx/2u-infinity** on any PRs or issues.
https://github.com/openedx/frontend-app-profile/issues https://github.com/openedx/frontend-app-profile/issues

View File

@@ -3,8 +3,8 @@
apiVersion: backstage.io/v1alpha1 apiVersion: backstage.io/v1alpha1
kind: Component kind: Component
metadata: metadata:
name: 'Profile' name: 'frontend-app-profile'
description: 'This is a micro-frontend application responsible for the display and updating of user profiles.' description: 'This is a micro-frontend application responsible for displaying and updating the user profiles.'
links: links:
- url: 'https://github.com/openedx/frontend-app-profile/blob/master/README.rst' - url: 'https://github.com/openedx/frontend-app-profile/blob/master/README.rst'
title: 'Documentation' title: 'Documentation'
@@ -17,8 +17,9 @@ metadata:
openedx.org/arch-interest-groups: "" openedx.org/arch-interest-groups: ""
# This can be multiple comma-separated projects. # This can be multiple comma-separated projects.
openedx.org/add-to-projects: "openedx:23" openedx.org/add-to-projects: "openedx:23"
openedx.org/release: "master"
spec: spec:
owner: group:2u-infinity
type: 'service' type: 'service'
lifecycle: 'production' lifecycle: 'production'
owner: 2U-aperture
# (Optional) An array of different components or resources. # (Optional) An array of different components or resources.

View File

@@ -1,7 +1,7 @@
const { createConfig } = require('@edx/frontend-build'); const { createConfig } = require('@openedx/frontend-build');
module.exports = createConfig('jest', { module.exports = createConfig('jest', {
setupFiles: [ setupFilesAfterEnv: [
'<rootDir>/src/setupTest.js', '<rootDir>/src/setupTest.js',
], ],
}); });

View File

@@ -1,6 +0,0 @@
# This file describes this Open edX repo, as described in OEP-2:
# https://open-edx-proposals.readthedocs.io/en/latest/oep-0002-bp-repo-metadata.html#specification
nick: prof
oeps: {}
openedx-release: {ref: master}

30351
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -14,6 +14,7 @@
"lint": "fedx-scripts eslint --ext .js --ext .jsx .", "lint": "fedx-scripts eslint --ext .js --ext .jsx .",
"snapshot": "fedx-scripts jest --updateSnapshot", "snapshot": "fedx-scripts jest --updateSnapshot",
"start": "fedx-scripts webpack-dev-server --progress", "start": "fedx-scripts webpack-dev-server --progress",
"dev": "PUBLIC_PATH=/profile/ MFE_CONFIG_API_URL='http://localhost:8000/api/mfe_config/v1' fedx-scripts webpack-dev-server --progress --host apps.local.openedx.io",
"test": "TZ=UTC fedx-scripts jest --coverage --passWithNoTests", "test": "TZ=UTC fedx-scripts jest --coverage --passWithNoTests",
"stubs": "pact-stub-service ./src/pacts/frontend-app-profile-edx-platform.json --port 18000" "stubs": "pact-stub-service ./src/pacts/frontend-app-profile-edx-platform.json --port 18000"
}, },
@@ -29,54 +30,50 @@
], ],
"dependencies": { "dependencies": {
"@edx/brand": "npm:@openedx/brand-openedx@^1.2.2", "@edx/brand": "npm:@openedx/brand-openedx@^1.2.2",
"@edx/frontend-component-footer": "12.5.1", "@edx/frontend-component-footer": "^14.6.0",
"@edx/frontend-component-header": "4.8.0", "@edx/frontend-component-header": "^6.2.0",
"@edx/frontend-platform": "5.6.1", "@edx/frontend-platform": "^8.3.1",
"@edx/frontend-plugin-framework": "openedx/frontend-plugin-framework#jwesson/install-plugins", "@edx/openedx-atlas": "^0.7.0",
"@edx/paragon": "^20.44.0", "@fortawesome/fontawesome-svg-core": "6.7.2",
"@fortawesome/fontawesome-svg-core": "1.2.36", "@fortawesome/free-brands-svg-icons": "6.7.2",
"@fortawesome/free-brands-svg-icons": "5.15.4", "@fortawesome/free-regular-svg-icons": "6.7.2",
"@fortawesome/free-regular-svg-icons": "5.15.4", "@fortawesome/free-solid-svg-icons": "6.7.2",
"@fortawesome/free-solid-svg-icons": "5.15.4", "@fortawesome/react-fontawesome": "0.2.2",
"@fortawesome/react-fontawesome": "0.2.0", "@openedx/paragon": "^23.4.5",
"@pact-foundation/pact": "^11.0.2", "@pact-foundation/pact": "^11.0.2",
"classnames": "2.3.2", "@redux-devtools/extension": "3.3.0",
"core-js": "3.33.1", "classnames": "2.5.1",
"core-js": "3.43.0",
"history": "5.3.0", "history": "5.3.0",
"lodash.camelcase": "4.3.0", "lodash.camelcase": "4.3.0",
"lodash.get": "4.4.2", "lodash.get": "4.4.2",
"lodash.pick": "4.4.0", "lodash.pick": "4.4.0",
"lodash.snakecase": "4.1.1", "lodash.snakecase": "4.1.1",
"prop-types": "15.8.1", "prop-types": "15.8.1",
"react": "17.0.2", "react": "18.3.1",
"react-dom": "17.0.2", "react-dom": "18.3.1",
"react-error-boundary": "^4.0.11",
"react-helmet": "6.1.0", "react-helmet": "6.1.0",
"react-redux": "7.2.9", "react-redux": "7.2.9",
"react-router": "6.16.0", "react-router": "6.30.1",
"react-router-dom": "6.16.0", "react-router-dom": "6.30.1",
"redux": "4.2.1", "redux": "4.2.1",
"redux-devtools-extension": "2.13.9",
"redux-logger": "3.0.6", "redux-logger": "3.0.6",
"redux-saga": "1.2.3", "redux-saga": "1.3.0",
"redux-thunk": "2.4.2", "redux-thunk": "2.4.2",
"regenerator-runtime": "0.14.0", "regenerator-runtime": "0.14.1",
"reselect": "4.1.8", "reselect": "5.1.1",
"universal-cookie": "4.0.4" "universal-cookie": "4.0.4"
}, },
"devDependencies": { "devDependencies": {
"@commitlint/cli": "17.8.1", "@commitlint/cli": "19.8.1",
"@commitlint/config-angular": "17.8.1", "@commitlint/config-angular": "19.8.1",
"@edx/browserslist-config": "^1.1.1", "@edx/browserslist-config": "^1.1.1",
"@edx/frontend-build": "13.0.4",
"@edx/reactifex": "2.2.0", "@edx/reactifex": "2.2.0",
"@testing-library/react": "12.1.5", "@openedx/frontend-build": "^14.3.3",
"@wojtekmaj/enzyme-adapter-react-17": "0.8.0", "@testing-library/jest-dom": "6.6.3",
"codecov": "3.8.3", "@testing-library/react": "14.3.1",
"enzyme": "3.11.0", "glob": "11.0.3",
"glob": "10.3.10",
"react-test-renderer": "17.0.2",
"reactifex": "1.1.1", "reactifex": "1.1.1",
"redux-mock-store": "1.5.4" "redux-mock-store": "1.5.5"
} }
} }

View File

@@ -1,93 +0,0 @@
'use client';
import React, {
useEffect, useMemo, useState,
} from 'react';
import PropTypes from 'prop-types';
import { ErrorBoundary } from 'react-error-boundary';
import { logError } from '@edx/frontend-platform/logging';
import {
dispatchMountedEvent, dispatchReadyEvent, dispatchUnmountedEvent, useHostEvent,
} from './data/hooks';
import { PLUGIN_RESIZE } from './data/constants';
// see example-plugin-app/src/PluginOne.jsx for example of customizing errorFallback
function errorFallbackDefault() {
return (
<div>
<h2>
Oops! An error occurred. Please refresh the screen to try again.
</h2>
</div>
);
}
// eslint-disable-next-line react/function-component-definition
export default function Plugin({
children, className, style, ready, errorFallbackProp,
}) {
const [dimensions, setDimensions] = useState({
width: null,
height: null,
});
const finalStyle = useMemo(() => ({
...dimensions,
...style,
}), [dimensions, style]);
const errorFallback = errorFallbackProp || errorFallbackDefault;
// Error logging function
// Need to confirm: When an error is caught here, the logging will be sent to the child MFE's logging service
const logErrorToService = (error, info) => {
logError(error, { stack: info.componentStack });
};
useHostEvent(PLUGIN_RESIZE, ({ payload }) => {
setDimensions({
width: payload.width,
height: payload.height,
});
});
useEffect(() => {
dispatchMountedEvent();
return () => {
dispatchUnmountedEvent();
};
}, []);
useEffect(() => {
if (ready) {
dispatchReadyEvent();
}
}, [ready]);
return (
<div className={className} style={finalStyle}>
<ErrorBoundary
FallbackComponent={errorFallback}
onError={logErrorToService}
>
{children}
</ErrorBoundary>
</div>
);
}
Plugin.propTypes = {
children: PropTypes.node.isRequired,
className: PropTypes.string,
errorFallbackProp: PropTypes.func,
ready: PropTypes.bool,
style: PropTypes.object, // eslint-disable-line
};
Plugin.defaultProps = {
className: null,
errorFallbackProp: null,
style: {},
ready: true,
};

View File

@@ -1,42 +0,0 @@
'use client';
import React from 'react';
// eslint-disable-next-line import/no-extraneous-dependencies
import PluginContainerIframe from './PluginContainerIframe';
import {
IFRAME_PLUGIN,
} from './data/constants';
import { pluginConfigShape } from './data/shapes';
// eslint-disable-next-line react/function-component-definition
export default function PluginContainer({ config, ...props }) {
if (config === null) {
return null;
}
// this will allow for future plugin types to be inserted in the PluginErrorBoundary
let renderer = null;
switch (config.type) {
case IFRAME_PLUGIN:
renderer = (
<PluginContainerIframe config={config} {...props} />
);
break;
// istanbul ignore next: default isn't meaningful, just satisfying linter
default:
}
return (
renderer
);
}
PluginContainer.propTypes = {
config: pluginConfigShape,
};
PluginContainer.defaultProps = {
config: null,
};

View File

@@ -1,99 +0,0 @@
import React, {
useEffect, useState,
} from 'react';
import PropTypes from 'prop-types';
import classNames from 'classnames';
import {
PLUGIN_MOUNTED,
PLUGIN_READY,
PLUGIN_RESIZE,
} from './data/constants';
import {
dispatchPluginEvent,
useElementSize,
usePluginEvent,
} from './data/hooks';
import { pluginConfigShape } from './data/shapes';
/**
* Feature policy for iframe, allowing access to certain courseware-related media.
*
* We must use the wildcard (*) origin for each feature, as courseware content
* may be embedded in external iframes. Notably, xblock-lti-consumer is a popular
* block that iframes external course content.
* This policy was selected in conference with the edX Security Working Group.
* Changes to it should be vetted by them (security@edx.org).
*/
export const IFRAME_FEATURE_POLICY = (
'fullscreen; microphone *; camera *; midi *; geolocation *; encrypted-media *'
);
// eslint-disable-next-line react/function-component-definition
export default function PluginContainerIframe({
config, fallback, className, ...props
}) {
const { url } = config;
const { title, scrolling } = props;
const [mounted, setMounted] = useState(false);
const [ready, setReady] = useState(false);
const [iframeRef, iframeElement, width, height] = useElementSize();
useEffect(() => {
if (mounted) {
dispatchPluginEvent(iframeElement, {
type: PLUGIN_RESIZE,
payload: {
width,
height,
},
}, url);
}
}, [iframeElement, mounted, width, height, url]);
usePluginEvent(iframeElement, PLUGIN_MOUNTED, () => {
setMounted(true);
});
usePluginEvent(iframeElement, PLUGIN_READY, () => {
setReady(true);
});
return (
<>
<iframe
ref={iframeRef}
title={title}
src={url}
allow={IFRAME_FEATURE_POLICY}
scrolling={scrolling}
referrerPolicy="origin" // The sent referrer will be limited to the origin of the referring page: its scheme, host, and port.
className={classNames(
'border border-0',
{ 'd-none': !ready },
className,
)}
{...props}
/>
{!ready && fallback}
</>
);
}
PluginContainerIframe.propTypes = {
config: pluginConfigShape,
fallback: PropTypes.node,
scrolling: PropTypes.oneOf(['auto', 'yes', 'no']),
title: PropTypes.string,
className: PropTypes.string,
};
PluginContainerIframe.defaultProps = {
config: null,
fallback: null,
scrolling: 'auto',
title: null,
className: null,
};

View File

@@ -1,45 +0,0 @@
import React, { Component } from 'react';
import PropTypes from 'prop-types';
// eslint-disable-next-line import/no-extraneous-dependencies
import { FormattedMessage } from 'react-intl';
import { logError } from '@edx/frontend-platform/logging';
export default class PluginErrorBoundary extends Component {
constructor(props) {
super(props);
this.state = { hasError: false };
}
static getDerivedStateFromError() {
// Update state so the next render will show the fallback UI.
return { hasError: true };
}
componentDidCatch(error, info) {
logError(error, { stack: info.componentStack });
}
render() {
if (this.state.hasError) {
// You can render any custom fallback UI
return (
<FormattedMessage
id="plugin.load.failure.text"
defaultMessage="This content failed to load."
description="error message when an unexpected error occurs"
/>
);
}
return this.props.children;
}
}
PluginErrorBoundary.propTypes = {
children: PropTypes.node,
};
PluginErrorBoundary.defaultProps = {
children: null,
};

View File

@@ -1,75 +0,0 @@
/* eslint-disable no-unused-vars */
import React, { forwardRef } from 'react';
import classNames from 'classnames';
import { Spinner } from '@edx/paragon';
import PropTypes from 'prop-types';
import { injectIntl, intlShape } from '@edx/frontend-platform/i18n';
// import { usePluginSlot } from './data/hooks';
import PluginContainer from './PluginContainer';
const PluginSlot = forwardRef(({
as, id, intl, pluginProps, children, ...props
}, ref) => {
/* the plugins below are obtained by the id passed into PluginSlot by the Host MFE. See example/src/PluginsPage.jsx
for an example of how PluginSlot is populated, and example/src/index.jsx for a dummy JS config that holds all plugins
*/
// const { plugins, keepDefault } = usePluginSlot(id);
const { fallback } = pluginProps;
// TODO: Add internationalization to the "Loading" text on the spinner.
let finalFallback = (
<div className={classNames(pluginProps.className, 'd-flex justify-content-center align-items-center')}>
<Spinner animation="border" screenReaderText="Loading" />
</div>
);
if (fallback !== undefined) {
finalFallback = fallback;
}
let finalChildren = [];
// if (plugins.length > 0) {
// if (keepDefault) {
// finalChildren.push(children);
// }
// plugins.forEach((pluginConfig) => {
// finalChildren.push(
// <PluginContainer
// key={pluginConfig.url}
// config={pluginConfig}
// fallback={finalFallback}
// {...pluginProps}
// />,
// );
// });
// } else {
finalChildren = children;
// }
return React.createElement(
as,
{
...props,
ref,
},
finalChildren,
);
});
export default injectIntl(PluginSlot);
PluginSlot.propTypes = {
as: PropTypes.elementType,
children: PropTypes.node,
id: PropTypes.string.isRequired,
intl: intlShape.isRequired,
pluginProps: PropTypes.object, // eslint-disable-line
};
PluginSlot.defaultProps = {
as: 'div',
children: null,
pluginProps: {},
};

View File

@@ -1,8 +0,0 @@
// TODO: We expect other plugin types to be added here, such as LTI_PLUGIN and BUILD_TIME_PLUGIN.
export const IFRAME_PLUGIN = 'IFRAME_PLUGIN'; // loads iframe at the URL, rather than loading a JS file.
// Plugin lifecycle events
export const PLUGIN_MOUNTED = 'PLUGIN_MOUNTED';
export const PLUGIN_READY = 'PLUGIN_READY';
export const PLUGIN_UNMOUNTED = 'PLUGIN_UNMOUNTED';
export const PLUGIN_RESIZE = 'PLUGIN_RESIZE';

View File

@@ -1,96 +0,0 @@
import {
useCallback, useEffect, useLayoutEffect, useMemo, useRef, useState,
} from 'react';
import { PLUGIN_MOUNTED, PLUGIN_READY, PLUGIN_UNMOUNTED } from './constants';
export function useMessageEvent(srcWindow, type, callback) {
useLayoutEffect(() => {
const listener = (event) => {
// Filter messages to those from our source window.
if (event.source === srcWindow) {
if (event.data.type === type) {
callback({ type, payload: event.data.payload });
}
}
};
if (srcWindow !== null) {
global.addEventListener('message', listener);
}
return () => {
global.removeEventListener('message', listener);
};
}, [srcWindow, type, callback]);
}
export function useHostEvent(type, callback) {
useMessageEvent(global.parent, type, callback);
}
export function usePluginEvent(iframeElement, type, callback) {
const contentWindow = iframeElement ? iframeElement.contentWindow : null;
useMessageEvent(contentWindow, type, callback);
}
export function dispatchMessageEvent(targetWindow, message, targetOrigin) {
// Checking targetOrigin falsiness here since '', null or undefined would all be reasons not to
// try to post a message to the origin.
if (targetOrigin) {
targetWindow.postMessage(message, targetOrigin);
}
}
export function dispatchPluginEvent(iframeElement, message, targetOrigin) {
dispatchMessageEvent(iframeElement.contentWindow, message, targetOrigin);
}
export function dispatchHostEvent(message) {
dispatchMessageEvent(global.parent, message, global.document.referrer);
}
export function dispatchReadyEvent() {
dispatchHostEvent({ type: PLUGIN_READY });
}
export function dispatchMountedEvent() {
dispatchHostEvent({ type: PLUGIN_MOUNTED });
}
export function dispatchUnmountedEvent() {
dispatchHostEvent({ type: PLUGIN_UNMOUNTED });
}
export function useElementSize() {
const observerRef = useRef();
const [dimensions, setDimensions] = useState({ width: 0, height: 0 });
const [offset, setOffset] = useState({ x: 0, y: 0 });
const [element, setElement] = useState(null);
const measuredRef = useCallback(_element => {
setElement(_element);
}, []);
useEffect(() => {
observerRef.current = new ResizeObserver(() => {
if (element) {
setDimensions({
width: element.clientWidth,
height: element.clientHeight,
});
setOffset({
x: element.offsetLeft,
y: element.offsetTop,
});
}
});
if (element) {
observerRef.current.observe(element);
}
}, [element]);
return useMemo(
() => ([measuredRef, element, dimensions.width, dimensions.height, offset.x, offset.y]),
[measuredRef, element, dimensions, offset],
);
}

View File

@@ -1,10 +0,0 @@
/* eslint-disable import/prefer-default-export */
import PropTypes from 'prop-types';
import { IFRAME_PLUGIN } from './constants';
export const pluginConfigShape = PropTypes.shape({
url: PropTypes.string.isRequired,
type: PropTypes.oneOf([IFRAME_PLUGIN]).isRequired,
// This is a place for us to put any generic props we want to pass to the component. We need it.
props: PropTypes.object, // eslint-disable-line react/forbid-prop-types
});

View File

@@ -1,18 +0,0 @@
// export {
// usePluginSlot,
// } from './data/hooks';
export {
default as Plugin,
} from './Plugin';
export {
default as PluginContainer,
} from './PluginContainer';
export {
default as PluginSlot,
} from './PluginSlot';
export {
IFRAME_PLUGIN,
} from './data/constants';
export {
default as PluginErrorBoundary,
} from './PluginErrorBoundary';

View File

@@ -1,7 +1,7 @@
import { getConfig } from '@edx/frontend-platform'; import { getConfig } from '@edx/frontend-platform';
import { applyMiddleware, createStore, compose } from 'redux'; import { applyMiddleware, createStore, compose } from 'redux';
import thunkMiddleware from 'redux-thunk'; import thunkMiddleware from 'redux-thunk';
import { composeWithDevTools } from 'redux-devtools-extension'; import { composeWithDevTools } from '@redux-devtools/extension';
import { createLogger } from 'redux-logger'; import { createLogger } from 'redux-logger';
import createSagaMiddleware from 'redux-saga'; import createSagaMiddleware from 'redux-saga';

View File

@@ -1,14 +1,14 @@
import React from 'react'; import React from 'react';
import { IntlProvider } from '@edx/frontend-platform/i18n'; import { IntlProvider } from '@edx/frontend-platform/i18n';
import { Helmet } from 'react-helmet'; import { Helmet } from 'react-helmet';
import { mount } from 'enzyme'; import { render } from '@testing-library/react';
import { getConfig } from '@edx/frontend-platform'; import { getConfig } from '@edx/frontend-platform';
import Head from './Head'; import Head from './Head';
describe('Head', () => { describe('Head', () => {
const props = {}; const props = {};
it('should match render title tag and favicon with the site configuration values', () => { it('should match render title tag and favicon with the site configuration values', () => {
mount(<IntlProvider locale="en"><Head {...props} /></IntlProvider>); render(<IntlProvider locale="en"><Head {...props} /></IntlProvider>);
const helmet = Helmet.peek(); const helmet = Helmet.peek();
expect(helmet.title).toEqual(`Profile | ${getConfig().SITE_NAME}`); expect(helmet.title).toEqual(`Profile | ${getConfig().SITE_NAME}`);
expect(helmet.linkTags[0].rel).toEqual('shortcut icon'); expect(helmet.linkTags[0].rel).toEqual('shortcut icon');

View File

@@ -1,44 +1 @@
import { messages as headerMessages } from '@edx/frontend-component-header'; export default [];
import { messages as footerMessages } from '@edx/frontend-component-footer';
import { messages as paragonMessages } from '@edx/paragon';
import arMessages from './messages/ar.json';
import deMessages from './messages/de.json';
import dedeCAMessages from './messages/de_DE.json';
import es419Messages from './messages/es_419.json';
import faIRMessages from './messages/fa_IR.json';
import frCAMessages from './messages/fr_CA.json';
import itMessages from './messages/it.json';
import ititCAMessages from './messages/it_IT.json';
import frMessages from './messages/fr.json';
import hiMessages from './messages/hi.json';
import ptMessages from './messages/pt.json';
import ptptCAMessages from './messages/pt_PT.json';
import ruMessages from './messages/ru.json';
import ukMessages from './messages/uk.json';
import zhcnMessages from './messages/zh_CN.json';
// no need to import en messages-- they are in the defaultMessage field
const appMessages = {
ar: arMessages,
'es-419': es419Messages,
'fa-ir': faIRMessages,
fr: frMessages,
'zh-cn': zhcnMessages,
pt: ptMessages,
it: itMessages,
de: deMessages,
hi: hiMessages,
'fr-ca': frCAMessages,
ru: ruMessages,
uk: ukMessages,
'de-de': dedeCAMessages,
'it-it': ititCAMessages,
'pt-pt': ptptCAMessages,
};
export default [
headerMessages,
footerMessages,
paragonMessages,
appMessages,
];

View File

@@ -1,57 +0,0 @@
{
"profile.page.title": "الملف الشخصي | {siteName}",
"profile.age.details": "لمشاركة ملفك الشخصي مع بقية متعلمي {siteName}، يجب أن تؤكد أنك عمرك يفوق 13 عامًا.",
"profile.age.set.date": "ضيط تاريخ ميلادك",
"profile.datejoined.member.since": "عضو منذ {year}",
"profile.bio.empty": "إضافة نبذة قصيرة",
"profile.bio.about.me": "نبذة عنّي",
"profile.certificate.organization.label": "من طرف",
"profile.certificate.completion.date.label": "صدرت بتاريخ {date}",
"profile.no.certificates": "ليست لديك أي شهادات يعد.",
"profile.certificates.my.certificates": "شهاداتي",
"profile.certificates.view.certificate": "معاينة الشهادة",
"profile.certificates.types.verified": "شهادة موثقة",
"profile.certificates.types.professional": "شهادة مهنية",
"profile.certificates.types.unknown": "شهادة",
"profile.country.label": "الموقع",
"profile.country.empty": "إضافة الموقع",
"profile.education.empty": "إضافة المستوى التعليمي",
"profile.education.education": "المستوى التعليمي",
"profile.education.levels.p": "دكتوراه",
"profile.education.levels.m": "ماجستير / ماستر أو شهادة مهنيّة",
"profile.education.levels.b": "بكالوريوس / ليسانس",
"profile.education.levels.a": "درجة الزمالة / دبلوم الدراسات الجامعية",
"profile.education.levels.hs": "الثانوية العامة / البكالوريا",
"profile.education.levels.jhs": "المدرسة الإعدادية / المتوسطة",
"profile.education.levels.el": "المدرسة الابتدائية / الأساسية",
"profile.education.levels.none": "دون تعليم رسمي",
"profile.education.levels.o": "نوع آخر من التعليم",
"profile.editbutton.edit": "تعديل",
"profile.formcontrols.who.can.see": "من يستطيع رؤية هذا:",
"profile.formcontrols.button.cancel": "إلغاء",
"profile.formcontrols.button.save": "حفظ",
"profile.formcontrols.button.saving": "الحفظ جارٍ",
"profile.formcontrols.button.saved": "تم الحفظ",
"profile.visibility.who.just.me": "أنا فقط",
"profile.visibility.who.everyone": "جميع من على {siteName}",
"profile.learningGoal.learningGoal": "هدف التعلم",
"profile.learningGoal.options.start_career": "أريد أن أبدأ مسيرتي المهنية",
"profile.learningGoal.options.advance_career": "أريد أن ارتقي في مسيرتي المهنية",
"profile.learningGoal.options.learn_something_new": "أريد أن أتعلم شيئًا جديدًا",
"profile.learningGoal.options.something_else": "شيء آخر",
"profile.name.full.name": "الاسم الكامل",
"profile.name.details": "هذا هو الاسم الذي يظهر في حسابك وفي شهاداتك",
"profile.name.empty": "إضافة الاسم",
"profile.preferredlanguage.empty": "إضافة اللغة",
"profile.preferredlanguage.label": "لغة التحدّث الأساسية",
"profile.profileavatar.upload-button": "تحميل صورة",
"profile.profileavatar.remove.button": "حذف",
"profile.image.alt.attribute": "صورة الملف الشخصي",
"profile.profileavatar.change-button": "تغيير",
"profile.sociallinks.add": "إضافة {network}",
"profile.sociallinks.social.links": "روابط التواصل الاجتماعي",
"profile.notfound.message": "الصفحة التي تبحث عنها غير متوفرة أو هناك خطأ في العنوان. رجاءً تحقق من العنوان و حاول مجدّدًا.",
"profile.viewMyRecords": "عرض سجلّاتي",
"profile.loading": "يتم تحميل الملف الشخصي...",
"profile.username.description": "معلومات ملفك الشخصي تظهر لك فقط. وحده اسم المستخدم الخاص بك يظهر للآخرين على {siteName}."
}

View File

@@ -1,57 +0,0 @@
{
"profile.page.title": "Profile | {siteName}",
"profile.age.details": "To share your profile with other {siteName} learners, you must confirm that you are over the age of 13.",
"profile.age.set.date": "Set your date of birth",
"profile.datejoined.member.since": "Member since {year}",
"profile.bio.empty": "Add a short bio",
"profile.bio.about.me": "About Me",
"profile.certificate.organization.label": "From",
"profile.certificate.completion.date.label": "Completed on {date}",
"profile.no.certificates": "You don't have any certificates yet.",
"profile.certificates.my.certificates": "My Certificates",
"profile.certificates.view.certificate": "View Certificate",
"profile.certificates.types.verified": "Verified Certificate",
"profile.certificates.types.professional": "Professional Certificate",
"profile.certificates.types.unknown": "Certificate",
"profile.country.label": "Location",
"profile.country.empty": "Add location",
"profile.education.empty": "Add education",
"profile.education.education": "Education",
"profile.education.levels.p": "Doctorate",
"profile.education.levels.m": "Master's or professional degree",
"profile.education.levels.b": "Bachelor's Degree",
"profile.education.levels.a": "Associate's degree",
"profile.education.levels.hs": "Secondary/high school",
"profile.education.levels.jhs": "Junior secondary/junior high/middle school",
"profile.education.levels.el": "Elementary/primary school",
"profile.education.levels.none": "No formal education",
"profile.education.levels.o": "Other education",
"profile.editbutton.edit": "Edit",
"profile.formcontrols.who.can.see": "Who can see this:",
"profile.formcontrols.button.cancel": "Cancel",
"profile.formcontrols.button.save": "Save",
"profile.formcontrols.button.saving": "Saving",
"profile.formcontrols.button.saved": "Saved",
"profile.visibility.who.just.me": "Just me",
"profile.visibility.who.everyone": "Everyone on {siteName}",
"profile.learningGoal.learningGoal": "Learning Goal",
"profile.learningGoal.options.start_career": "I want to start my career",
"profile.learningGoal.options.advance_career": "I want to advance my career",
"profile.learningGoal.options.learn_something_new": "I want to learn something new",
"profile.learningGoal.options.something_else": "Something else",
"profile.name.full.name": "Full Name",
"profile.name.details": "This is the name that appears in your account and on your certificates.",
"profile.name.empty": "Add name",
"profile.preferredlanguage.empty": "Add language",
"profile.preferredlanguage.label": "Primary Language Spoken",
"profile.profileavatar.upload-button": "Upload Photo",
"profile.profileavatar.remove.button": "Remove",
"profile.image.alt.attribute": "profile avatar",
"profile.profileavatar.change-button": "Change",
"profile.sociallinks.add": "Add {network}",
"profile.sociallinks.social.links": "Social Links",
"profile.notfound.message": "The page you're looking for is unavailable or there's an error in the URL. Please check the URL and try again.",
"profile.viewMyRecords": "View My Records",
"profile.loading": "Profile loading...",
"profile.username.description": "Your profile information is only visible to you. Only your username is visible to others on {siteName}."
}

View File

@@ -1,57 +0,0 @@
{
"profile.page.title": "Profil | {siteName}",
"profile.age.details": "Um Ihr Profil mit anderen {siteName}-Lernern zu teilen, müssen Sie bestätigen, dass Sie über 13 Jahre alt sind.",
"profile.age.set.date": "Legen Sie Ihr Geburtsdatum fest",
"profile.datejoined.member.since": "Mitglied seit {year}",
"profile.bio.empty": "Fügen Sie Ihre Kurzbiografie hinzu",
"profile.bio.about.me": "Über mich",
"profile.certificate.organization.label": "Von",
"profile.certificate.completion.date.label": "Abgeschlossen am {date}",
"profile.no.certificates": "Sie haben bisher keine Zertifikate erhalten.",
"profile.certificates.my.certificates": "Meine Zertifikate",
"profile.certificates.view.certificate": "Zertifikat anschauen",
"profile.certificates.types.verified": "Beglaubigtes Zertifikat ",
"profile.certificates.types.professional": "Professional Certificate",
"profile.certificates.types.unknown": "Zertifikat",
"profile.country.label": "Ort",
"profile.country.empty": "Standort hinzufügen",
"profile.education.empty": "Ausbildung hinzufügen",
"profile.education.education": "Bildung",
"profile.education.levels.p": "Doktortitel",
"profile.education.levels.m": "Master oder gleichwertiger akademischer Bildungsgrad",
"profile.education.levels.b": "Bachelor",
"profile.education.levels.a": "Allgemeine Hochschulreife oder gleichwertiger Abschluss",
"profile.education.levels.hs": "Mittlere Reife",
"profile.education.levels.jhs": "Hauptschule",
"profile.education.levels.el": "Grundschule",
"profile.education.levels.none": "Keinen Bildungsabschluss",
"profile.education.levels.o": "Sonstige Bildung",
"profile.editbutton.edit": "Bearbeiten",
"profile.formcontrols.who.can.see": "Wer kann das sehen:",
"profile.formcontrols.button.cancel": "Abbrechen",
"profile.formcontrols.button.save": "Speichern",
"profile.formcontrols.button.saving": "Speichert",
"profile.formcontrols.button.saved": "Gespeichert",
"profile.visibility.who.just.me": "Nur ich",
"profile.visibility.who.everyone": "Alle auf {siteName}",
"profile.learningGoal.learningGoal": "Lernziel",
"profile.learningGoal.options.start_career": "Ich möchte meine Karriere starten",
"profile.learningGoal.options.advance_career": "Ich möchte mich beruflich weiterentwickeln",
"profile.learningGoal.options.learn_something_new": "Ich möchte etwas Neues lernen",
"profile.learningGoal.options.something_else": "Etwas anderes",
"profile.name.full.name": "Vollständiger Name",
"profile.name.details": "Dies ist der Name, der in Ihrem Konto und auf Ihren Zertifikaten erscheint.",
"profile.name.empty": "Name hinzufügen",
"profile.preferredlanguage.empty": "Sprache hinzufügen",
"profile.preferredlanguage.label": "Gesprochene Primärsprache ",
"profile.profileavatar.upload-button": "Foto hochladen",
"profile.profileavatar.remove.button": "Entfernen",
"profile.image.alt.attribute": "Profil Avatar",
"profile.profileavatar.change-button": "Ändern",
"profile.sociallinks.add": "{network} hinzufügen",
"profile.sociallinks.social.links": "Soziale Netzwerke",
"profile.notfound.message": "Die gesuchte Seite ist nicht verfügbar oder es liegt ein Fehler in der URL vor. Bitte überprüfen Sie die URL und versuchen Sie es erneut.",
"profile.viewMyRecords": "Meine Aufzeichnungen anzeigen",
"profile.loading": "Profil lädt...",
"profile.username.description": "Ihre Profilinformationen sind nur für Sie sichtbar. Nur Ihr Benutzername ist für andere auf {siteName} sichtbar."
}

View File

@@ -1,57 +0,0 @@
{
"profile.page.title": "Perfil | {siteName}",
"profile.age.details": "Para compartir el perfil con otros {siteName} estudiantes, debe confirmar que es mayor de 13 años.",
"profile.age.set.date": "Establece tu fecha de nacimiento",
"profile.datejoined.member.since": "Miembro desde {year}",
"profile.bio.empty": "Añade una breve biografía",
"profile.bio.about.me": "Sobre Mí",
"profile.certificate.organization.label": "Desde",
"profile.certificate.completion.date.label": "Completado el {date}",
"profile.no.certificates": "Todavía no ha obtenido ningún certificado.",
"profile.certificates.my.certificates": "Mis Certificados",
"profile.certificates.view.certificate": "Ver Certificado",
"profile.certificates.types.verified": "Certificado verificado",
"profile.certificates.types.professional": "Certificado profesional",
"profile.certificates.types.unknown": "Certificado",
"profile.country.label": "Ubicación",
"profile.country.empty": "Añade ubicación",
"profile.education.empty": "Añade Educación",
"profile.education.education": "Educación",
"profile.education.levels.p": "Doctorado",
"profile.education.levels.m": "Master o magíster",
"profile.education.levels.b": "Pregrado o Licenciatura",
"profile.education.levels.a": "Grado técnico - tecnológico",
"profile.education.levels.hs": "Enseñanza secundaria",
"profile.education.levels.jhs": "Formación media",
"profile.education.levels.el": "Enseñanza primaria",
"profile.education.levels.none": "Ninguna educación formal",
"profile.education.levels.o": "Otra educación",
"profile.editbutton.edit": "Editar",
"profile.formcontrols.who.can.see": "Quién puede ver esto:",
"profile.formcontrols.button.cancel": "Cancelar",
"profile.formcontrols.button.save": "Guardar",
"profile.formcontrols.button.saving": "Guardando",
"profile.formcontrols.button.saved": "Guardado",
"profile.visibility.who.just.me": "Solo yo",
"profile.visibility.who.everyone": "Todos en {siteName}",
"profile.learningGoal.learningGoal": "Objetivo de aprendizaje",
"profile.learningGoal.options.start_career": "quiero empezar mi carrera",
"profile.learningGoal.options.advance_career": "Quiero avanzar en mi carrera",
"profile.learningGoal.options.learn_something_new": "quiero aprender algo nuevo",
"profile.learningGoal.options.something_else": "Algo más",
"profile.name.full.name": "Nombre completo",
"profile.name.details": "Este es el nombre que aparecerá en tu cuenta y en tus certificados.",
"profile.name.empty": "Añade nombre",
"profile.preferredlanguage.empty": "Añadir idioma",
"profile.preferredlanguage.label": "Idioma principal que hablas",
"profile.profileavatar.upload-button": "Subir foto",
"profile.profileavatar.remove.button": "Eliminar",
"profile.image.alt.attribute": "avatar del perfil",
"profile.profileavatar.change-button": "Cambiar",
"profile.sociallinks.add": "Añade {network}",
"profile.sociallinks.social.links": "Enlaces De Redes Sociales",
"profile.notfound.message": "La página que estas buscando no está disponible o hay un error en la URL. Por favor, comprueba la URL y vuelve a intentarlo.",
"profile.viewMyRecords": "Ver mis registros",
"profile.loading": "Cargando perfil...",
"profile.username.description": "La información del perfil solo la visualiza usted. Solo el nombre de usuario es visible para los demás en {siteName}."
}

View File

@@ -1,57 +0,0 @@
{
"profile.page.title": "پرونده کاربری {siteName}",
"profile.age.details": "برای اشتراک‌گذاری پرونده کاربری خود با سایر یادگیرندگان {siteName}، باید تأیید کنید که بیش از 13 سال سن دارید.",
"profile.age.set.date": "تنظیم تاریخ تولد",
"profile.datejoined.member.since": "عضو شده از {year}",
"profile.bio.empty": "بیوگرافی کوتاهی اضافه کنید",
"profile.bio.about.me": "درباره من",
"profile.certificate.organization.label": "از",
"profile.certificate.completion.date.label": "تکمیل شده در {date}",
"profile.no.certificates": "شما هنوز هیچ گواهی ندارید.",
"profile.certificates.my.certificates": "گواهی‌های من",
"profile.certificates.view.certificate": "نمایش گواهی",
"profile.certificates.types.verified": "گواهی تأییدشده",
"profile.certificates.types.professional": "گواهی حرفه‌ای",
"profile.certificates.types.unknown": "گواهی",
"profile.country.label": "مکان",
"profile.country.empty": "افزودن مکان",
"profile.education.empty": "افزودن تحصیلات",
"profile.education.education": "تحصیلات",
"profile.education.levels.p": "درجه دکتری",
"profile.education.levels.m": "کارشناسی ارشد یا مدرک حرفه‌ای",
"profile.education.levels.b": "مدرک کارشناسی",
"profile.education.levels.a": "مدرک کاردانی",
"profile.education.levels.hs": "متوسطه/دبیرستان",
"profile.education.levels.jhs": "مدرسه متوسطه دوره اول/ راهنمایی",
"profile.education.levels.el": "مدرسه ابتدایی",
"profile.education.levels.none": "بدون تحصیلات رسمی",
"profile.education.levels.o": "تحصیلات متفرقه",
"profile.editbutton.edit": " ویرایش",
"profile.formcontrols.who.can.see": "کسانی که می‌توانند این را ببینند:",
"profile.formcontrols.button.cancel": "لغو‌",
"profile.formcontrols.button.save": "ذخیره",
"profile.formcontrols.button.saving": "در حال ذخیره",
"profile.formcontrols.button.saved": "ذخیره شد",
"profile.visibility.who.just.me": "فقط من",
"profile.visibility.who.everyone": "هرکسی در {siteName}",
"profile.learningGoal.learningGoal": "هدف یادگیری",
"profile.learningGoal.options.start_career": "من می خواهم کارم را شروع کنم",
"profile.learningGoal.options.advance_career": "من می خواهم حرفه ام را ارتقا دهم",
"profile.learningGoal.options.learn_something_new": "می‌خواهم چیز جدیدی یاد بگیرم",
"profile.learningGoal.options.something_else": "یک چیز دیگر",
"profile.name.full.name": "نام و نام خانوادگی",
"profile.name.details": "این همان نامی است که در حساب کاربری و گواهی‌های شما درج می‌شود.",
"profile.name.empty": "افزودن نام",
"profile.preferredlanguage.empty": "افزودن زبان",
"profile.preferredlanguage.label": "زبان اصلی صحبت شده",
"profile.profileavatar.upload-button": "بارگذاری عکس",
"profile.profileavatar.remove.button": "حذف",
"profile.image.alt.attribute": "چهرک پرونده کاربری",
"profile.profileavatar.change-button": "تغییر",
"profile.sociallinks.add": "افزودن {network}",
"profile.sociallinks.social.links": "پیوندهای رسانه اجتماعی",
"profile.notfound.message": "صفحه مورد نظر شما در دسترس نیست یا خطایی در نشانی آن وجود دارد. لطفاً نشانی اینترنتی را بررسی کرده و دوباره امتحان کنید.",
"profile.viewMyRecords": "مشاهده سوابق من",
"profile.loading": "در حال بارگذاری پرونده کاربری...",
"profile.username.description": "اطلاعات پرونده کاربری فقط برای شما قابل مشاهده است. سایرین فقط نام کاربری شما را در {siteName} می‌توانند ببینند."
}

View File

@@ -1,57 +0,0 @@
{
"profile.page.title": "Profile | {siteName}",
"profile.age.details": "Pour partager votre profil avec d'autres étudiants {siteName}, vous devez confirmer que vous avez plus de 13 ans.",
"profile.age.set.date": "Définissez votre date de naissance",
"profile.datejoined.member.since": "Membre depuis {year}",
"profile.bio.empty": "Ajouter une courte biographie",
"profile.bio.about.me": "À propos de moi",
"profile.certificate.organization.label": "De",
"profile.certificate.completion.date.label": "Terminé le {date}",
"profile.no.certificates": "Vous n'avez pas encore de certificats.",
"profile.certificates.my.certificates": "Mes certificats",
"profile.certificates.view.certificate": "Voir le certificat",
"profile.certificates.types.verified": "Certificat vérifié",
"profile.certificates.types.professional": "Certificat professionnel",
"profile.certificates.types.unknown": "Certificat",
"profile.country.label": "Localisation",
"profile.country.empty": "Ajouter localisation",
"profile.education.empty": "Ajouter une éducation",
"profile.education.education": "Education",
"profile.education.levels.p": "Doctorat",
"profile.education.levels.m": "Master ou diplôme professionnel",
"profile.education.levels.b": "Diplôme de licence",
"profile.education.levels.a": "Grade de l'associé",
"profile.education.levels.hs": "Lycée / enseignement secondaire",
"profile.education.levels.jhs": "Collège / enseignement secondaire inférieur",
"profile.education.levels.el": "Enseignement primaire",
"profile.education.levels.none": "Sans diplôme",
"profile.education.levels.o": "Autre niveau d'étude",
"profile.editbutton.edit": "Modifier",
"profile.formcontrols.who.can.see": "Qui peut voir ça :",
"profile.formcontrols.button.cancel": "Annuler",
"profile.formcontrols.button.save": "Enregistrer",
"profile.formcontrols.button.saving": "Enregistrement",
"profile.formcontrols.button.saved": "Enregistré",
"profile.visibility.who.just.me": "Juste moi",
"profile.visibility.who.everyone": "Tout le monde sur {siteName}",
"profile.learningGoal.learningGoal": "Learning Goal",
"profile.learningGoal.options.start_career": "I want to start my career",
"profile.learningGoal.options.advance_career": "I want to advance my career",
"profile.learningGoal.options.learn_something_new": "I want to learn something new",
"profile.learningGoal.options.something_else": "Something else",
"profile.name.full.name": "Nom complet",
"profile.name.details": "C'est le nom qui apparaît dans votre compte et sur vos certificats.",
"profile.name.empty": "Ajouter un nom",
"profile.preferredlanguage.empty": "Ajouter une langue",
"profile.preferredlanguage.label": "Langue principale parlée",
"profile.profileavatar.upload-button": "Envoyer la photo",
"profile.profileavatar.remove.button": "Supprimer",
"profile.image.alt.attribute": "Profil avatar",
"profile.profileavatar.change-button": "Modifier",
"profile.sociallinks.add": "Ajouter {network}",
"profile.sociallinks.social.links": "Liens vers les réseaux sociaux",
"profile.notfound.message": "La page que vous recherchez n'est pas disponible ou il y a une erreur dans l'URL. Veuillez vérifier l'URL et réessayer.",
"profile.viewMyRecords": "Voir mes succès",
"profile.loading": "Chargement du profil....",
"profile.username.description": "Les informations de votre profil ne sont visibles que par vous. Seul votre nom d'utilisateur est visible par les autres sur {siteName}."
}

View File

@@ -1,57 +0,0 @@
{
"profile.page.title": "Profil | {siteName}",
"profile.age.details": "Pour partager votre profil avec d'autres apprenants {siteName}, vous devez confirmer que vous avez plus de 13 ans.",
"profile.age.set.date": "Entrez votre date de naissance",
"profile.datejoined.member.since": "Membre depuis {year}",
"profile.bio.empty": "Ajouter une courte biographie",
"profile.bio.about.me": "À propos de moi",
"profile.certificate.organization.label": "De",
"profile.certificate.completion.date.label": "Terminé le {date}",
"profile.no.certificates": "Vous n'avez pas encore d'attestation.",
"profile.certificates.my.certificates": "Mes Attestations",
"profile.certificates.view.certificate": "Voir votre attestation",
"profile.certificates.types.verified": "Attestation vérifiée",
"profile.certificates.types.professional": "Attestation professionnelle",
"profile.certificates.types.unknown": "Attestation",
"profile.country.label": "Adresse",
"profile.country.empty": "Ajouter un emplacement",
"profile.education.empty": "Ajouter formation",
"profile.education.education": "Formation",
"profile.education.levels.p": "Doctorat",
"profile.education.levels.m": "Maîtrise ou diplôme professionnel",
"profile.education.levels.b": "Diplôme de baccalauréat",
"profile.education.levels.a": "Diplôme d'associé",
"profile.education.levels.hs": "Lycée / enseignement secondaire",
"profile.education.levels.jhs": "Collège / enseignement secondaire inférieur",
"profile.education.levels.el": "Enseignement primaire",
"profile.education.levels.none": "Sans formation formelle",
"profile.education.levels.o": "Autre niveau de formation",
"profile.editbutton.edit": "Éditer",
"profile.formcontrols.who.can.see": "Qui peut voir ça :",
"profile.formcontrols.button.cancel": "Annuler",
"profile.formcontrols.button.save": "Sauvegarder",
"profile.formcontrols.button.saving": "Sauvegarde en cours",
"profile.formcontrols.button.saved": "Sauvegardé",
"profile.visibility.who.just.me": "Juste moi",
"profile.visibility.who.everyone": "Tout le monde sur {siteName}",
"profile.learningGoal.learningGoal": "Objectif d'apprentissage",
"profile.learningGoal.options.start_career": "Je veux commencer ma carrière",
"profile.learningGoal.options.advance_career": "Je veux faire progresser ma carrière",
"profile.learningGoal.options.learn_something_new": "Je veux apprendre quelque chose de nouveau",
"profile.learningGoal.options.something_else": "Autre chose",
"profile.name.full.name": "Nom complet",
"profile.name.details": "C'est le nom qui apparaît dans votre compte et sur vos attestations.",
"profile.name.empty": "Ajouter un nom",
"profile.preferredlanguage.empty": "Ajouter une langue",
"profile.preferredlanguage.label": "Langue principale parlée",
"profile.profileavatar.upload-button": "Téléverser une photo",
"profile.profileavatar.remove.button": "Retirer",
"profile.image.alt.attribute": "avatar de profil",
"profile.profileavatar.change-button": "Modifier",
"profile.sociallinks.add": "Ajouter {network}",
"profile.sociallinks.social.links": "Liens vers les réseaux sociaux",
"profile.notfound.message": "La page que vous recherchez n'est pas disponible ou il y a une erreur dans l'URL. Veuillez vérifier l'URL et réessayer.",
"profile.viewMyRecords": "Afficher mes dossiers",
"profile.loading": "Chargement du profil...",
"profile.username.description": "Les informations de votre profil ne sont visibles que par vous. Seul votre nom d'utilisateur est visible par les autres sur {siteName}."
}

View File

@@ -1,57 +0,0 @@
{
"profile.page.title": "Profile | {siteName}",
"profile.age.details": "To share your profile with other {siteName} learners, you must confirm that you are over the age of 13.",
"profile.age.set.date": "Set your date of birth",
"profile.datejoined.member.since": "Member since {year}",
"profile.bio.empty": "Add a short bio",
"profile.bio.about.me": "About Me",
"profile.certificate.organization.label": "From",
"profile.certificate.completion.date.label": "Completed on {date}",
"profile.no.certificates": "You don't have any certificates yet.",
"profile.certificates.my.certificates": "My Certificates",
"profile.certificates.view.certificate": "View Certificate",
"profile.certificates.types.verified": "Verified Certificate",
"profile.certificates.types.professional": "Professional Certificate",
"profile.certificates.types.unknown": "Certificate",
"profile.country.label": "Location",
"profile.country.empty": "Add location",
"profile.education.empty": "Add education",
"profile.education.education": "Education",
"profile.education.levels.p": "Doctorate",
"profile.education.levels.m": "Master's or professional degree",
"profile.education.levels.b": "Bachelor's Degree",
"profile.education.levels.a": "Associate's degree",
"profile.education.levels.hs": "Secondary/high school",
"profile.education.levels.jhs": "Junior secondary/junior high/middle school",
"profile.education.levels.el": "Elementary/primary school",
"profile.education.levels.none": "No formal education",
"profile.education.levels.o": "Other education",
"profile.editbutton.edit": "Edit",
"profile.formcontrols.who.can.see": "Who can see this:",
"profile.formcontrols.button.cancel": "Cancel",
"profile.formcontrols.button.save": "Save",
"profile.formcontrols.button.saving": "Saving",
"profile.formcontrols.button.saved": "Saved",
"profile.visibility.who.just.me": "Just me",
"profile.visibility.who.everyone": "Everyone on {siteName}",
"profile.learningGoal.learningGoal": "Learning Goal",
"profile.learningGoal.options.start_career": "I want to start my career",
"profile.learningGoal.options.advance_career": "I want to advance my career",
"profile.learningGoal.options.learn_something_new": "I want to learn something new",
"profile.learningGoal.options.something_else": "Something else",
"profile.name.full.name": "Full Name",
"profile.name.details": "This is the name that appears in your account and on your certificates.",
"profile.name.empty": "Add name",
"profile.preferredlanguage.empty": "Add language",
"profile.preferredlanguage.label": "Primary Language Spoken",
"profile.profileavatar.upload-button": "Upload Photo",
"profile.profileavatar.remove.button": "Remove",
"profile.image.alt.attribute": "profile avatar",
"profile.profileavatar.change-button": "Change",
"profile.sociallinks.add": "Add {network}",
"profile.sociallinks.social.links": "Social Links",
"profile.notfound.message": "The page you're looking for is unavailable or there's an error in the URL. Please check the URL and try again.",
"profile.viewMyRecords": "View My Records",
"profile.loading": "Profile loading...",
"profile.username.description": "Your profile information is only visible to you. Only your username is visible to others on {siteName}."
}

View File

@@ -1,57 +0,0 @@
{
"profile.page.title": "Profile | {siteName}",
"profile.age.details": "To share your profile with other {siteName} learners, you must confirm that you are over the age of 13.",
"profile.age.set.date": "Set your date of birth",
"profile.datejoined.member.since": "Member since {year}",
"profile.bio.empty": "Add a short bio",
"profile.bio.about.me": "About Me",
"profile.certificate.organization.label": "From",
"profile.certificate.completion.date.label": "Completed on {date}",
"profile.no.certificates": "You don't have any certificates yet.",
"profile.certificates.my.certificates": "My Certificates",
"profile.certificates.view.certificate": "View Certificate",
"profile.certificates.types.verified": "Verified Certificate",
"profile.certificates.types.professional": "Professional Certificate",
"profile.certificates.types.unknown": "Certificate",
"profile.country.label": "Location",
"profile.country.empty": "Add location",
"profile.education.empty": "Add education",
"profile.education.education": "Education",
"profile.education.levels.p": "Doctorate",
"profile.education.levels.m": "Master's or professional degree",
"profile.education.levels.b": "Bachelor's Degree",
"profile.education.levels.a": "Associate's degree",
"profile.education.levels.hs": "Secondary/high school",
"profile.education.levels.jhs": "Junior secondary/junior high/middle school",
"profile.education.levels.el": "Elementary/primary school",
"profile.education.levels.none": "No formal education",
"profile.education.levels.o": "Other education",
"profile.editbutton.edit": "Edit",
"profile.formcontrols.who.can.see": "Who can see this:",
"profile.formcontrols.button.cancel": "Cancel",
"profile.formcontrols.button.save": "Save",
"profile.formcontrols.button.saving": "Saving",
"profile.formcontrols.button.saved": "Saved",
"profile.visibility.who.just.me": "Just me",
"profile.visibility.who.everyone": "Everyone on {siteName}",
"profile.learningGoal.learningGoal": "Learning Goal",
"profile.learningGoal.options.start_career": "I want to start my career",
"profile.learningGoal.options.advance_career": "I want to advance my career",
"profile.learningGoal.options.learn_something_new": "I want to learn something new",
"profile.learningGoal.options.something_else": "Something else",
"profile.name.full.name": "Full Name",
"profile.name.details": "This is the name that appears in your account and on your certificates.",
"profile.name.empty": "Add name",
"profile.preferredlanguage.empty": "Add language",
"profile.preferredlanguage.label": "Primary Language Spoken",
"profile.profileavatar.upload-button": "Upload Photo",
"profile.profileavatar.remove.button": "Remove",
"profile.image.alt.attribute": "profile avatar",
"profile.profileavatar.change-button": "Change",
"profile.sociallinks.add": "Add {network}",
"profile.sociallinks.social.links": "Social Links",
"profile.notfound.message": "The page you're looking for is unavailable or there's an error in the URL. Please check the URL and try again.",
"profile.viewMyRecords": "View My Records",
"profile.loading": "Profile loading...",
"profile.username.description": "Your profile information is only visible to you. Only your username is visible to others on {siteName}."
}

View File

@@ -1,57 +0,0 @@
{
"profile.page.title": "Profilo | {siteName}",
"profile.age.details": "Per condividere il tuo profilo con altri studenti di {siteName}, devi confermare di avere più di 13 anni.",
"profile.age.set.date": "Imposta la data di nascita ",
"profile.datejoined.member.since": "Membro da {year}",
"profile.bio.empty": "Aggiungi una breve biografia ",
"profile.bio.about.me": "Su di me",
"profile.certificate.organization.label": "Da ",
"profile.certificate.completion.date.label": "Completato il {date}",
"profile.no.certificates": "Non si dispone ancora di alcun certificato. ",
"profile.certificates.my.certificates": "Certificati personali ",
"profile.certificates.view.certificate": "Visualizza il certificato",
"profile.certificates.types.verified": "Certificato Verificato",
"profile.certificates.types.professional": "Certificato professionale ",
"profile.certificates.types.unknown": "Certificato ",
"profile.country.label": "Posizione",
"profile.country.empty": "Aggiungi posizione ",
"profile.education.empty": "Aggiungi titolo di studio ",
"profile.education.education": "Educazione",
"profile.education.levels.p": "Dottorato",
"profile.education.levels.m": "Laurea magistrale o titolo accademico professionale",
"profile.education.levels.b": "Laurea di primo livello ",
"profile.education.levels.a": "Diploma Professionale",
"profile.education.levels.hs": "Scuole superiori/liceo",
"profile.education.levels.jhs": "Scuole Medie",
"profile.education.levels.el": "Scuola Primaria/Elementare",
"profile.education.levels.none": "Nessun livello educativo formale",
"profile.education.levels.o": "Altro livello educativo",
"profile.editbutton.edit": "Modifica",
"profile.formcontrols.who.can.see": "Chi può visualizzare: ",
"profile.formcontrols.button.cancel": "Annulla",
"profile.formcontrols.button.save": "Salva",
"profile.formcontrols.button.saving": "Salvataggio in corso",
"profile.formcontrols.button.saved": "Salvato",
"profile.visibility.who.just.me": "Solo io ",
"profile.visibility.who.everyone": "Tutti su {siteName}",
"profile.learningGoal.learningGoal": "Obiettivo di apprendimento",
"profile.learningGoal.options.start_career": "Voglio iniziare il mio percorso",
"profile.learningGoal.options.advance_career": "Voglio avanzare nel mio percorso",
"profile.learningGoal.options.learn_something_new": "Voglio imparare qualcosa di nuovo",
"profile.learningGoal.options.something_else": "Qualcos'altro",
"profile.name.full.name": "Nome e Cognome",
"profile.name.details": "Questo è il nome visualizzato nel proprio account e nei propri certificati. ",
"profile.name.empty": "Aggiungi nome ",
"profile.preferredlanguage.empty": "Aggiungi lingua",
"profile.preferredlanguage.label": "Lingua principale ",
"profile.profileavatar.upload-button": "Carica foto",
"profile.profileavatar.remove.button": "Rimuovi",
"profile.image.alt.attribute": "avatar del profilo ",
"profile.profileavatar.change-button": "Cambia",
"profile.sociallinks.add": "Aggiungi {network}",
"profile.sociallinks.social.links": "Link social ",
"profile.notfound.message": "La pagina ricercata non è disponibile oppure è presente un errore nell'URL. Controllare l'URL e riprovare. ",
"profile.viewMyRecords": "Visualizza record personali ",
"profile.loading": "Caricamento del profilo... ",
"profile.username.description": "Le informazioni del tuo profilo sono visibili solo a te. Solo il tuo nome utente è visibile agli altri su {siteName}."
}

View File

@@ -1,57 +0,0 @@
{
"profile.page.title": "Profile | {siteName}",
"profile.age.details": "To share your profile with other {siteName} learners, you must confirm that you are over the age of 13.",
"profile.age.set.date": "Set your date of birth",
"profile.datejoined.member.since": "Member since {year}",
"profile.bio.empty": "Add a short bio",
"profile.bio.about.me": "About Me",
"profile.certificate.organization.label": "From",
"profile.certificate.completion.date.label": "Completed on {date}",
"profile.no.certificates": "You don't have any certificates yet.",
"profile.certificates.my.certificates": "My Certificates",
"profile.certificates.view.certificate": "View Certificate",
"profile.certificates.types.verified": "Verified Certificate",
"profile.certificates.types.professional": "Professional Certificate",
"profile.certificates.types.unknown": "Certificate",
"profile.country.label": "Location",
"profile.country.empty": "Add location",
"profile.education.empty": "Add education",
"profile.education.education": "Education",
"profile.education.levels.p": "Doctorate",
"profile.education.levels.m": "Master's or professional degree",
"profile.education.levels.b": "Bachelor's Degree",
"profile.education.levels.a": "Associate's degree",
"profile.education.levels.hs": "Secondary/high school",
"profile.education.levels.jhs": "Junior secondary/junior high/middle school",
"profile.education.levels.el": "Elementary/primary school",
"profile.education.levels.none": "No formal education",
"profile.education.levels.o": "Other education",
"profile.editbutton.edit": "Edit",
"profile.formcontrols.who.can.see": "Who can see this:",
"profile.formcontrols.button.cancel": "Cancel",
"profile.formcontrols.button.save": "Save",
"profile.formcontrols.button.saving": "Saving",
"profile.formcontrols.button.saved": "Saved",
"profile.visibility.who.just.me": "Just me",
"profile.visibility.who.everyone": "Everyone on {siteName}",
"profile.learningGoal.learningGoal": "Learning Goal",
"profile.learningGoal.options.start_career": "I want to start my career",
"profile.learningGoal.options.advance_career": "I want to advance my career",
"profile.learningGoal.options.learn_something_new": "I want to learn something new",
"profile.learningGoal.options.something_else": "Something else",
"profile.name.full.name": "Full Name",
"profile.name.details": "This is the name that appears in your account and on your certificates.",
"profile.name.empty": "Add name",
"profile.preferredlanguage.empty": "Add language",
"profile.preferredlanguage.label": "Primary Language Spoken",
"profile.profileavatar.upload-button": "Upload Photo",
"profile.profileavatar.remove.button": "Remove",
"profile.image.alt.attribute": "profile avatar",
"profile.profileavatar.change-button": "Change",
"profile.sociallinks.add": "Add {network}",
"profile.sociallinks.social.links": "Social Links",
"profile.notfound.message": "The page you're looking for is unavailable or there's an error in the URL. Please check the URL and try again.",
"profile.viewMyRecords": "View My Records",
"profile.loading": "Profile loading...",
"profile.username.description": "Your profile information is only visible to you. Only your username is visible to others on {siteName}."
}

View File

@@ -1,57 +0,0 @@
{
"profile.page.title": "Perfil | {siteName}",
"profile.age.details": "Para partilhar o seu perfil com outros estudantes da plataforma {siteName}, tem de confirmar que tem mais de 13 anos de idade.",
"profile.age.set.date": "Indique a sua data de nascimento",
"profile.datejoined.member.since": "Utilizador desde {year}",
"profile.bio.empty": "Adicionar uma breve biografia",
"profile.bio.about.me": "Sobre Mim",
"profile.certificate.organization.label": "De",
"profile.certificate.completion.date.label": "Concluído a {date}",
"profile.no.certificates": "Ainda não tem certificados.",
"profile.certificates.my.certificates": "Os Meus Certificados",
"profile.certificates.view.certificate": "Ver Certificado",
"profile.certificates.types.verified": "Certificado Validado",
"profile.certificates.types.professional": "Certificado Profissional",
"profile.certificates.types.unknown": "Certificado",
"profile.country.label": "Localização",
"profile.country.empty": "Adicionar localização",
"profile.education.empty": "Adicionar grau de escolaridade",
"profile.education.education": "Educação",
"profile.education.levels.p": "Doutoramento",
"profile.education.levels.m": "Mestrado ou Grau Profissional",
"profile.education.levels.b": "Licenciatura",
"profile.education.levels.a": "Pós-graduação",
"profile.education.levels.hs": "Secundário",
"profile.education.levels.jhs": "2ªciclo/3ºciclo",
"profile.education.levels.el": "Primária",
"profile.education.levels.none": "Sem estudos",
"profile.education.levels.o": "Outra formação",
"profile.editbutton.edit": "Editar",
"profile.formcontrols.who.can.see": "Quem pode ver isto:",
"profile.formcontrols.button.cancel": "Cancelar",
"profile.formcontrols.button.save": "Guardar",
"profile.formcontrols.button.saving": "A Guardar",
"profile.formcontrols.button.saved": "Guardado",
"profile.visibility.who.just.me": "Apenas eu",
"profile.visibility.who.everyone": "Toda a gente em {siteName}",
"profile.learningGoal.learningGoal": "Objectivo de aprendizagem",
"profile.learningGoal.options.start_career": "Quero começar a minha carreira",
"profile.learningGoal.options.advance_career": "Quero progredir na minha carreira",
"profile.learningGoal.options.learn_something_new": "Quero aprender algo novo",
"profile.learningGoal.options.something_else": "Outra coisa",
"profile.name.full.name": "Nome Completo",
"profile.name.details": "Este é o nome que aparece na sua conta e nos seus certificados.",
"profile.name.empty": "Adicionar nome",
"profile.preferredlanguage.empty": "Adicionar idioma",
"profile.preferredlanguage.label": "Língua Materna",
"profile.profileavatar.upload-button": "Carregar Fotografia",
"profile.profileavatar.remove.button": "Eliminar",
"profile.image.alt.attribute": "Icon de perfil",
"profile.profileavatar.change-button": "Alterar",
"profile.sociallinks.add": "Adicionar {network}",
"profile.sociallinks.social.links": "Links de Redes Sociais",
"profile.notfound.message": "A página que procura não está disponível ou há um erro no URL. Por favor, verifique o URL e tente novamente.",
"profile.viewMyRecords": "Ver os Meus Registos",
"profile.loading": "A carregar perfil...",
"profile.username.description": "As informações do seu perfil só são visíveis para si. Apenas o seu nome de utilizador é visível para outros em {siteName}."
}

View File

@@ -1,57 +0,0 @@
{
"profile.page.title": "Profile | {siteName}",
"profile.age.details": "To share your profile with other {siteName} learners, you must confirm that you are over the age of 13.",
"profile.age.set.date": "Set your date of birth",
"profile.datejoined.member.since": "Member since {year}",
"profile.bio.empty": "Add a short bio",
"profile.bio.about.me": "About Me",
"profile.certificate.organization.label": "From",
"profile.certificate.completion.date.label": "Completed on {date}",
"profile.no.certificates": "You don't have any certificates yet.",
"profile.certificates.my.certificates": "My Certificates",
"profile.certificates.view.certificate": "View Certificate",
"profile.certificates.types.verified": "Verified Certificate",
"profile.certificates.types.professional": "Professional Certificate",
"profile.certificates.types.unknown": "Certificate",
"profile.country.label": "Location",
"profile.country.empty": "Add location",
"profile.education.empty": "Add education",
"profile.education.education": "Education",
"profile.education.levels.p": "Doctorate",
"profile.education.levels.m": "Master's or professional degree",
"profile.education.levels.b": "Bachelor's Degree",
"profile.education.levels.a": "Associate's degree",
"profile.education.levels.hs": "Secondary/high school",
"profile.education.levels.jhs": "Junior secondary/junior high/middle school",
"profile.education.levels.el": "Elementary/primary school",
"profile.education.levels.none": "No formal education",
"profile.education.levels.o": "Other education",
"profile.editbutton.edit": "Edit",
"profile.formcontrols.who.can.see": "Who can see this:",
"profile.formcontrols.button.cancel": "Cancel",
"profile.formcontrols.button.save": "Save",
"profile.formcontrols.button.saving": "Saving",
"profile.formcontrols.button.saved": "Saved",
"profile.visibility.who.just.me": "Just me",
"profile.visibility.who.everyone": "Everyone on {siteName}",
"profile.learningGoal.learningGoal": "Learning Goal",
"profile.learningGoal.options.start_career": "I want to start my career",
"profile.learningGoal.options.advance_career": "I want to advance my career",
"profile.learningGoal.options.learn_something_new": "I want to learn something new",
"profile.learningGoal.options.something_else": "Something else",
"profile.name.full.name": "Full Name",
"profile.name.details": "This is the name that appears in your account and on your certificates.",
"profile.name.empty": "Add name",
"profile.preferredlanguage.empty": "Add language",
"profile.preferredlanguage.label": "Primary Language Spoken",
"profile.profileavatar.upload-button": "Upload Photo",
"profile.profileavatar.remove.button": "Remove",
"profile.image.alt.attribute": "profile avatar",
"profile.profileavatar.change-button": "Change",
"profile.sociallinks.add": "Add {network}",
"profile.sociallinks.social.links": "Social Links",
"profile.notfound.message": "The page you're looking for is unavailable or there's an error in the URL. Please check the URL and try again.",
"profile.viewMyRecords": "View My Records",
"profile.loading": "Profile loading...",
"profile.username.description": "Your profile information is only visible to you. Only your username is visible to others on {siteName}."
}

View File

@@ -1,57 +0,0 @@
{
"profile.page.title": "Profile | {siteName}",
"profile.age.details": "To share your profile with other {siteName} learners, you must confirm that you are over the age of 13.",
"profile.age.set.date": "Set your date of birth",
"profile.datejoined.member.since": "Member since {year}",
"profile.bio.empty": "Add a short bio",
"profile.bio.about.me": "About Me",
"profile.certificate.organization.label": "From",
"profile.certificate.completion.date.label": "Completed on {date}",
"profile.no.certificates": "You don't have any certificates yet.",
"profile.certificates.my.certificates": "Мої сертифікати",
"profile.certificates.view.certificate": "View Certificate",
"profile.certificates.types.verified": "Verified Certificate",
"profile.certificates.types.professional": "Professional Certificate",
"profile.certificates.types.unknown": "Certificate",
"profile.country.label": "Location",
"profile.country.empty": "Add location",
"profile.education.empty": "Add education",
"profile.education.education": "Education",
"profile.education.levels.p": "Doctorate",
"profile.education.levels.m": "Master's or professional degree",
"profile.education.levels.b": "Bachelor's Degree",
"profile.education.levels.a": "Associate's degree",
"profile.education.levels.hs": "Secondary/high school",
"profile.education.levels.jhs": "Junior secondary/junior high/middle school",
"profile.education.levels.el": "Elementary/primary school",
"profile.education.levels.none": "No formal education",
"profile.education.levels.o": "Other education",
"profile.editbutton.edit": "Edit",
"profile.formcontrols.who.can.see": "Who can see this:",
"profile.formcontrols.button.cancel": "Cancel",
"profile.formcontrols.button.save": "Save",
"profile.formcontrols.button.saving": "Saving",
"profile.formcontrols.button.saved": "Saved",
"profile.visibility.who.just.me": "Just me",
"profile.visibility.who.everyone": "Everyone on {siteName}",
"profile.learningGoal.learningGoal": "Learning Goal",
"profile.learningGoal.options.start_career": "I want to start my career",
"profile.learningGoal.options.advance_career": "I want to advance my career",
"profile.learningGoal.options.learn_something_new": "I want to learn something new",
"profile.learningGoal.options.something_else": "Something else",
"profile.name.full.name": "Full Name",
"profile.name.details": "This is the name that appears in your account and on your certificates.",
"profile.name.empty": "Add name",
"profile.preferredlanguage.empty": "Add language",
"profile.preferredlanguage.label": "Primary Language Spoken",
"profile.profileavatar.upload-button": "Upload Photo",
"profile.profileavatar.remove.button": "Remove",
"profile.image.alt.attribute": "profile avatar",
"profile.profileavatar.change-button": "Change",
"profile.sociallinks.add": "Add {network}",
"profile.sociallinks.social.links": "Social Links",
"profile.notfound.message": "The page you're looking for is unavailable or there's an error in the URL. Please check the URL and try again.",
"profile.viewMyRecords": "View My Records",
"profile.loading": "Profile loading...",
"profile.username.description": "Your profile information is only visible to you. Only your username is visible to others on {siteName}."
}

View File

@@ -1,57 +0,0 @@
{
"profile.page.title": "Profile | {siteName}",
"profile.age.details": "To share your profile with other {siteName} learners, you must confirm that you are over the age of 13.",
"profile.age.set.date": "Set your date of birth",
"profile.datejoined.member.since": "Member since {year}",
"profile.bio.empty": "Add a short bio",
"profile.bio.about.me": "About Me",
"profile.certificate.organization.label": "From",
"profile.certificate.completion.date.label": "Completed on {date}",
"profile.no.certificates": "You don't have any certificates yet.",
"profile.certificates.my.certificates": "My Certificates",
"profile.certificates.view.certificate": "View Certificate",
"profile.certificates.types.verified": "Verified Certificate",
"profile.certificates.types.professional": "Professional Certificate",
"profile.certificates.types.unknown": "Certificate",
"profile.country.label": "Location",
"profile.country.empty": "Add location",
"profile.education.empty": "Add education",
"profile.education.education": "Education",
"profile.education.levels.p": "Doctorate",
"profile.education.levels.m": "Master's or professional degree",
"profile.education.levels.b": "Bachelor's Degree",
"profile.education.levels.a": "Associate's degree",
"profile.education.levels.hs": "Secondary/high school",
"profile.education.levels.jhs": "Junior secondary/junior high/middle school",
"profile.education.levels.el": "Elementary/primary school",
"profile.education.levels.none": "No formal education",
"profile.education.levels.o": "Other education",
"profile.editbutton.edit": "Edit",
"profile.formcontrols.who.can.see": "Who can see this:",
"profile.formcontrols.button.cancel": "Cancel",
"profile.formcontrols.button.save": "Save",
"profile.formcontrols.button.saving": "Saving",
"profile.formcontrols.button.saved": "Saved",
"profile.visibility.who.just.me": "Just me",
"profile.visibility.who.everyone": "Everyone on {siteName}",
"profile.learningGoal.learningGoal": "Learning Goal",
"profile.learningGoal.options.start_career": "I want to start my career",
"profile.learningGoal.options.advance_career": "I want to advance my career",
"profile.learningGoal.options.learn_something_new": "I want to learn something new",
"profile.learningGoal.options.something_else": "Something else",
"profile.name.full.name": "Full Name",
"profile.name.details": "This is the name that appears in your account and on your certificates.",
"profile.name.empty": "Add name",
"profile.preferredlanguage.empty": "Add language",
"profile.preferredlanguage.label": "Primary Language Spoken",
"profile.profileavatar.upload-button": "Upload Photo",
"profile.profileavatar.remove.button": "Remove",
"profile.image.alt.attribute": "profile avatar",
"profile.profileavatar.change-button": "Change",
"profile.sociallinks.add": "Add {network}",
"profile.sociallinks.social.links": "Social Links",
"profile.notfound.message": "The page you're looking for is unavailable or there's an error in the URL. Please check the URL and try again.",
"profile.viewMyRecords": "View My Records",
"profile.loading": "Profile loading...",
"profile.username.description": "Your profile information is only visible to you. Only your username is visible to others on {siteName}."
}

View File

@@ -13,12 +13,12 @@ import {
ErrorPage, ErrorPage,
} from '@edx/frontend-platform/react'; } from '@edx/frontend-platform/react';
import React from 'react'; import React, { StrictMode } from 'react';
import ReactDOM from 'react-dom'; // eslint-disable-next-line import/no-unresolved
import { useLocation } from 'react-router-dom'; import { createRoot } from 'react-dom/client';
import Header from '@edx/frontend-component-header'; import Header from '@edx/frontend-component-header';
import Footer from '@edx/frontend-component-footer'; import { FooterSlot } from '@edx/frontend-component-footer';
import messages from './i18n'; import messages from './i18n';
import configureStore from './data/configureStore'; import configureStore from './data/configureStore';
@@ -28,32 +28,24 @@ import Head from './head/Head';
import AppRoutes from './routes/AppRoutes'; import AppRoutes from './routes/AppRoutes';
const RenderFooter = () => { const rootNode = createRoot(document.getElementById('root'));
const location = useLocation();
return location.pathname.includes('/plugin') ? null : <Footer />;
};
const RenderHeader = () => {
const location = useLocation();
return location.pathname.includes('/plugin') ? null : <Header />;
};
subscribe(APP_READY, () => { subscribe(APP_READY, () => {
ReactDOM.render( rootNode.render(
<StrictMode>
<AppProvider store={configureStore()}> <AppProvider store={configureStore()}>
<Head /> <Head />
<RenderHeader /> <Header />
<main id="main"> <main id="main">
<AppRoutes /> <AppRoutes />
</main> </main>
<RenderFooter /> <FooterSlot />
</AppProvider>, </AppProvider>
document.getElementById('root'), </StrictMode>,
); );
}); });
subscribe(APP_INIT_ERROR, (error) => { subscribe(APP_INIT_ERROR, (error) => {
ReactDOM.render(<ErrorPage message={error.message} />, document.getElementById('root')); rootNode.render(<ErrorPage message={error.message} />);
}); });
initialize({ initialize({

View File

@@ -1,7 +1,5 @@
@import "~@edx/brand/paragon/fonts"; @use "@openedx/paragon/styles/css/core/custom-media-breakpoints" as paragonCustomMediaBreakpoints;
@import "~@edx/brand/paragon/variables";
@import "~@edx/paragon/scss/core/core";
@import "~@edx/brand/paragon/overrides";
@import "~@edx/frontend-component-header/dist/index"; @import "~@edx/frontend-component-header/dist/index";
@import "~@edx/frontend-component-footer/dist/footer"; @import "~@edx/frontend-component-footer/dist/footer";

View File

@@ -0,0 +1,53 @@
# Footer Slot
### Slot ID: `org.openedx.frontend.layout.footer.v1`
### Slot ID Aliases
* `footer_slot`
## Description
This slot is used to replace/modify/hide the footer.
The implementation of the `FooterSlot` component lives in [the `frontend-component-footer` repository](https://github.com/openedx/frontend-component-footer/).
## Example
The following `env.config.jsx` will replace the default footer.
![Screenshot of Default Footer](./images/default_footer.png)
with a simple custom footer
![Screenshot of Custom Footer](./images/custom_footer.png)
```jsx
import { DIRECT_PLUGIN, PLUGIN_OPERATIONS } from '@openedx/frontend-plugin-framework';
const config = {
pluginSlots: {
'org.openedx.frontend.layout.footer.v1': {
plugins: [
{
// Hide the default footer
op: PLUGIN_OPERATIONS.Hide,
widgetId: 'default_contents',
},
{
// Insert a custom footer
op: PLUGIN_OPERATIONS.Insert,
widget: {
id: 'custom_footer',
type: DIRECT_PLUGIN,
RenderWidget: () => (
<h1 style={{textAlign: 'center'}}>🦶</h1>
),
},
},
]
}
},
}
export default config;
```

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

View File

@@ -0,0 +1,3 @@
# `frontend-app-profile` Plugin Slots
* [`org.openedx.frontend.layout.footer.v1`](./FooterSlot/)

View File

@@ -1,6 +1,6 @@
import React from 'react'; import React from 'react';
import PropTypes from 'prop-types'; import PropTypes from 'prop-types';
import { Alert } from '@edx/paragon'; import { Alert } from '@openedx/paragon';
import { FormattedMessage } from '@edx/frontend-platform/i18n'; import { FormattedMessage } from '@edx/frontend-platform/i18n';
import { getConfig } from '@edx/frontend-platform'; import { getConfig } from '@edx/frontend-platform';
@@ -11,7 +11,11 @@ const AgeMessage = ({ accountSettingsUrl }) => (
show show
> >
<Alert.Heading id="profile.age.headline"> <Alert.Heading id="profile.age.headline">
Your profile cannot be shared. <FormattedMessage
id="profile.age.cannotShare"
defaultMessage="Your profile cannot be shared."
description="Error message indicating that the user's profile cannot be shared"
/>
</Alert.Heading> </Alert.Heading>
<FormattedMessage <FormattedMessage
id="profile.age.details" id="profile.age.details"

View File

@@ -1,5 +1,5 @@
import React from 'react'; import React from 'react';
const Banner = () => <div className="profile-page-bg-banner bg-primary d-none d-md-block p-relative" />; const Banner = () => <div className="profile-page-bg-banner bg-primary d-md-block p-relative" />;
export default Banner; export default Banner;

View File

@@ -6,6 +6,7 @@ const DateJoined = ({ date }) => {
if (date == null) { if (date == null) {
return null; return null;
} }
return ( return (
<p className="mb-0"> <p className="mb-0">
<FormattedMessage <FormattedMessage

View File

@@ -6,7 +6,7 @@ import { sendTrackingLogEvent } from '@edx/frontend-platform/analytics';
import { ensureConfig, getConfig } from '@edx/frontend-platform'; import { ensureConfig, getConfig } from '@edx/frontend-platform';
import { AppContext } from '@edx/frontend-platform/react'; import { AppContext } from '@edx/frontend-platform/react';
import { injectIntl, intlShape } from '@edx/frontend-platform/i18n'; import { injectIntl, intlShape } from '@edx/frontend-platform/i18n';
import { Alert, Hyperlink } from '@edx/paragon'; import { Alert, Hyperlink } from '@openedx/paragon';
// Actions // Actions
import { import {
@@ -50,10 +50,9 @@ class ProfilePage extends React.Component {
super(props, context); super(props, context);
const credentialsBaseUrl = context.config.CREDENTIALS_BASE_URL; const credentialsBaseUrl = context.config.CREDENTIALS_BASE_URL;
this.state = { this.state = {
viewMyRecordsUrl: credentialsBaseUrl ? `${credentialsBaseUrl}/records` : null, viewMyRecordsUrl: credentialsBaseUrl ? `${credentialsBaseUrl}/records` : null,
accountSettingsUrl: `${context.config.LMS_BASE_URL}/account/settings`, accountSettingsUrl: context.config.ACCOUNT_SETTINGS_URL,
}; };
this.handleSaveProfilePhoto = this.handleSaveProfilePhoto.bind(this); this.handleSaveProfilePhoto = this.handleSaveProfilePhoto.bind(this);
@@ -126,7 +125,7 @@ class ProfilePage extends React.Component {
return ( return (
<span data-hj-suppress> <span data-hj-suppress>
<h1 className="h2 mb-0 font-weight-bold">{this.props.params.username}</h1> <h1 className="h2 mb-0 font-weight-bold text-truncate">{this.props.params.username}</h1>
<DateJoined date={dateJoined} /> <DateJoined date={dateJoined} />
{this.isYOBDisabled() && <UsernameDescription />} {this.isYOBDisabled() && <UsernameDescription />}
<hr className="d-none d-md-block" /> <hr className="d-none d-md-block" />
@@ -178,17 +177,25 @@ class ProfilePage extends React.Component {
visibilityLearningGoal, visibilityLearningGoal,
languageProficiencies, languageProficiencies,
visibilityLanguageProficiencies, visibilityLanguageProficiencies,
courseCertificates,
visibilityCourseCertificates, visibilityCourseCertificates,
bio, bio,
visibilityBio, visibilityBio,
requiresParentalConsent, requiresParentalConsent,
isLoadingProfile, isLoadingProfile,
username,
saveState,
navigate,
} = this.props; } = this.props;
if (isLoadingProfile) { if (isLoadingProfile) {
return <PageLoading srMessage={this.props.intl.formatMessage(messages['profile.loading'])} />; return <PageLoading srMessage={this.props.intl.formatMessage(messages['profile.loading'])} />;
} }
if (!username && saveState === 'error' && navigate) {
navigate('/notfound');
}
const commonFormProps = { const commonFormProps = {
openHandler: this.handleOpen, openHandler: this.handleOpen,
closeHandler: this.handleClose, closeHandler: this.handleClose,
@@ -196,6 +203,17 @@ class ProfilePage extends React.Component {
changeHandler: this.handleChange, changeHandler: this.handleChange,
}; };
const isBlockVisible = (blockInfo) => this.isAuthenticatedUserProfile()
|| (!this.isAuthenticatedUserProfile() && Boolean(blockInfo));
const isLanguageBlockVisible = isBlockVisible(languageProficiencies.length);
const isEducationBlockVisible = isBlockVisible(levelOfEducation);
const isSocialLinksBLockVisible = isBlockVisible(socialLinks.some((link) => link.socialLink !== null));
const isBioBlockVisible = isBlockVisible(bio);
const isCertificatesBlockVisible = isBlockVisible(courseCertificates.length);
const isNameBlockVisible = isBlockVisible(name);
const isLocationBlockVisible = isBlockVisible(country);
return ( return (
<div className="container-fluid"> <div className="container-fluid">
<div className="row align-items-center pt-4 mb-4 pt-md-0 mb-md-0"> <div className="row align-items-center pt-4 mb-4 pt-md-0 mb-md-0">
@@ -212,8 +230,7 @@ class ProfilePage extends React.Component {
/> />
</div> </div>
</div> </div>
<div>PluginPOC</div> <div className="col">
<div className="col pl-0">
<div className="d-md-none"> <div className="d-md-none">
{this.renderHeadingLockup()} {this.renderHeadingLockup()}
</div> </div>
@@ -231,30 +248,39 @@ class ProfilePage extends React.Component {
<div className="d-md-none mb-4"> <div className="d-md-none mb-4">
{this.renderViewMyRecordsButton()} {this.renderViewMyRecordsButton()}
</div> </div>
{isNameBlockVisible && (
<Name <Name
name={name} name={name}
visibilityName={visibilityName} visibilityName={visibilityName}
formId="name" formId="name"
{...commonFormProps} {...commonFormProps}
/> />
)}
{isLocationBlockVisible && (
<Country <Country
country={country} country={country}
visibilityCountry={visibilityCountry} visibilityCountry={visibilityCountry}
formId="country" formId="country"
{...commonFormProps} {...commonFormProps}
/> />
)}
{isLanguageBlockVisible && (
<PreferredLanguage <PreferredLanguage
languageProficiencies={languageProficiencies} languageProficiencies={languageProficiencies}
visibilityLanguageProficiencies={visibilityLanguageProficiencies} visibilityLanguageProficiencies={visibilityLanguageProficiencies}
formId="languageProficiencies" formId="languageProficiencies"
{...commonFormProps} {...commonFormProps}
/> />
)}
{isEducationBlockVisible && (
<Education <Education
levelOfEducation={levelOfEducation} levelOfEducation={levelOfEducation}
visibilityLevelOfEducation={visibilityLevelOfEducation} visibilityLevelOfEducation={visibilityLevelOfEducation}
formId="levelOfEducation" formId="levelOfEducation"
{...commonFormProps} {...commonFormProps}
/> />
)}
{isSocialLinksBLockVisible && (
<SocialLinks <SocialLinks
socialLinks={socialLinks} socialLinks={socialLinks}
draftSocialLinksByPlatform={draftSocialLinksByPlatform} draftSocialLinksByPlatform={draftSocialLinksByPlatform}
@@ -262,15 +288,18 @@ class ProfilePage extends React.Component {
formId="socialLinks" formId="socialLinks"
{...commonFormProps} {...commonFormProps}
/> />
)}
</div> </div>
<div className="pt-md-3 col-md-8 col-lg-7 offset-lg-1"> <div className="pt-md-3 col-md-8 col-lg-7 offset-lg-1">
{!this.isYOBDisabled() && this.renderAgeMessage()} {!this.isYOBDisabled() && this.renderAgeMessage()}
{isBioBlockVisible && (
<Bio <Bio
bio={bio} bio={bio}
visibilityBio={visibilityBio} visibilityBio={visibilityBio}
formId="bio" formId="bio"
{...commonFormProps} {...commonFormProps}
/> />
)}
{getConfig().ENABLE_SKILLS_BUILDER_PROFILE && ( {getConfig().ENABLE_SKILLS_BUILDER_PROFILE && (
<LearningGoal <LearningGoal
learningGoal={learningGoal} learningGoal={learningGoal}
@@ -279,11 +308,13 @@ class ProfilePage extends React.Component {
{...commonFormProps} {...commonFormProps}
/> />
)} )}
{isCertificatesBlockVisible && (
<Certificates <Certificates
visibilityCourseCertificates={visibilityCourseCertificates} visibilityCourseCertificates={visibilityCourseCertificates}
formId="certificates" formId="certificates"
{...commonFormProps} {...commonFormProps}
/> />
)}
</div> </div>
</div> </div>
</div> </div>
@@ -306,6 +337,7 @@ ProfilePage.propTypes = {
// Account data // Account data
requiresParentalConsent: PropTypes.bool, requiresParentalConsent: PropTypes.bool,
dateJoined: PropTypes.string, dateJoined: PropTypes.string,
username: PropTypes.string,
// Bio form data // Bio form data
bio: PropTypes.string, bio: PropTypes.string,
@@ -371,6 +403,7 @@ ProfilePage.propTypes = {
openForm: PropTypes.func.isRequired, openForm: PropTypes.func.isRequired,
closeForm: PropTypes.func.isRequired, closeForm: PropTypes.func.isRequired,
updateDraft: PropTypes.func.isRequired, updateDraft: PropTypes.func.isRequired,
navigate: PropTypes.func.isRequired,
// Router // Router
params: PropTypes.shape({ params: PropTypes.shape({
@@ -383,6 +416,7 @@ ProfilePage.propTypes = {
ProfilePage.defaultProps = { ProfilePage.defaultProps = {
saveState: null, saveState: null,
username: '',
savePhotoState: null, savePhotoState: null,
photoUploadError: {}, photoUploadError: {},
profileImage: {}, profileImage: {},

View File

@@ -3,13 +3,13 @@ import { getConfig } from '@edx/frontend-platform';
import * as analytics from '@edx/frontend-platform/analytics'; import * as analytics from '@edx/frontend-platform/analytics';
import { AppContext } from '@edx/frontend-platform/react'; import { AppContext } from '@edx/frontend-platform/react';
import { configure as configureI18n, IntlProvider } from '@edx/frontend-platform/i18n'; import { configure as configureI18n, IntlProvider } from '@edx/frontend-platform/i18n';
import { mount } from 'enzyme'; import { render } from '@testing-library/react';
import React from 'react'; import React from 'react';
import PropTypes from 'prop-types'; import PropTypes from 'prop-types';
import { Provider } from 'react-redux'; import { Provider } from 'react-redux';
import renderer from 'react-test-renderer';
import configureMockStore from 'redux-mock-store'; import configureMockStore from 'redux-mock-store';
import thunk from 'redux-thunk'; import thunk from 'redux-thunk';
import { BrowserRouter, useNavigate } from 'react-router-dom';
import messages from '../i18n'; import messages from '../i18n';
import ProfilePage from './ProfilePage'; import ProfilePage from './ProfilePage';
@@ -17,6 +17,7 @@ import ProfilePage from './ProfilePage';
const mockStore = configureMockStore([thunk]); const mockStore = configureMockStore([thunk]);
const storeMocks = { const storeMocks = {
loadingApp: require('./__mocks__/loadingApp.mockStore'), loadingApp: require('./__mocks__/loadingApp.mockStore'),
invalidUser: require('./__mocks__/invalidUser.mockStore'),
viewOwnProfile: require('./__mocks__/viewOwnProfile.mockStore'), viewOwnProfile: require('./__mocks__/viewOwnProfile.mockStore'),
viewOtherProfile: require('./__mocks__/viewOtherProfile.mockStore'), viewOtherProfile: require('./__mocks__/viewOtherProfile.mockStore'),
savingEditedBio: require('./__mocks__/savingEditedBio.mockStore'), savingEditedBio: require('./__mocks__/savingEditedBio.mockStore'),
@@ -66,6 +67,23 @@ beforeEach(() => {
analytics.sendTrackingLogEvent.mockReset(); analytics.sendTrackingLogEvent.mockReset();
}); });
const ProfileWrapper = ({ params, requiresParentalConsent }) => {
const navigate = useNavigate();
return (
<ProfilePage
{...requiredProfilePageProps}
params={params}
requiresParentalConsent={requiresParentalConsent}
navigate={navigate}
/>
);
};
ProfileWrapper.propTypes = {
params: PropTypes.shape({}).isRequired,
requiresParentalConsent: PropTypes.bool.isRequired,
};
const ProfilePageWrapper = ({ const ProfilePageWrapper = ({
contextValue, store, params, requiresParentalConsent, contextValue, store, params, requiresParentalConsent,
}) => ( }) => (
@@ -74,7 +92,12 @@ const ProfilePageWrapper = ({
> >
<IntlProvider locale="en"> <IntlProvider locale="en">
<Provider store={store}> <Provider store={store}>
<ProfilePage {...requiredProfilePageProps} params={params} requiresParentalConsent={requiresParentalConsent} /> <BrowserRouter>
<ProfileWrapper
params={params}
requiresParentalConsent={requiresParentalConsent}
/>
</BrowserRouter>
</Provider> </Provider>
</IntlProvider> </IntlProvider>
</AppContext.Provider> </AppContext.Provider>
@@ -100,7 +123,17 @@ describe('<ProfilePage />', () => {
config: getConfig(), config: getConfig(),
}; };
const component = <ProfilePageWrapper contextValue={contextValue} store={mockStore(storeMocks.loadingApp)} />; const component = <ProfilePageWrapper contextValue={contextValue} store={mockStore(storeMocks.loadingApp)} />;
const tree = renderer.create(component).toJSON(); const { container: tree } = render(component);
expect(tree).toMatchSnapshot();
});
it('successfully redirected to not found page.', () => {
const contextValue = {
authenticatedUser: { userId: 123, username: 'staff', administrator: true },
config: getConfig(),
};
const component = <ProfilePageWrapper contextValue={contextValue} store={mockStore(storeMocks.invalidUser)} />;
const { container: tree } = render(component);
expect(tree).toMatchSnapshot(); expect(tree).toMatchSnapshot();
}); });
@@ -110,23 +143,41 @@ describe('<ProfilePage />', () => {
config: getConfig(), config: getConfig(),
}; };
const component = <ProfilePageWrapper contextValue={contextValue} store={mockStore(storeMocks.viewOwnProfile)} />; const component = <ProfilePageWrapper contextValue={contextValue} store={mockStore(storeMocks.viewOwnProfile)} />;
const tree = renderer.create(component).toJSON(); const { container: tree } = render(component);
expect(tree).toMatchSnapshot(); expect(tree).toMatchSnapshot();
}); });
it('viewing other profile', () => { it('viewing other profile with all fields', () => {
const contextValue = { const contextValue = {
authenticatedUser: { userId: 123, username: 'staff', administrator: true }, authenticatedUser: { userId: 123, username: 'staff', administrator: true },
config: getConfig(), config: getConfig(),
}; };
const component = ( const component = (
<ProfilePageWrapper <ProfilePageWrapper
contextValue={contextValue} contextValue={contextValue}
store={mockStore(storeMocks.viewOtherProfile)} store={mockStore({
params={{ username: 'verified' }} // Override default params ...storeMocks.viewOtherProfile,
profilePage: {
...storeMocks.viewOtherProfile.profilePage,
account: {
...storeMocks.viewOtherProfile.profilePage.account,
name: 'user',
country: 'EN',
bio: 'bio',
courseCertificates: ['course certificates'],
levelOfEducation: 'some level',
languageProficiencies: ['some lang'],
socialLinks: ['twitter'],
timeZone: 'time zone',
accountPrivacy: 'all_users',
},
},
})}
match={{ params: { username: 'verified' } }} // Override default match
/> />
); );
const tree = renderer.create(component).toJSON(); const { container: tree } = render(component);
expect(tree).toMatchSnapshot(); expect(tree).toMatchSnapshot();
}); });
@@ -141,7 +192,7 @@ describe('<ProfilePage />', () => {
store={mockStore(storeMocks.savingEditedBio)} store={mockStore(storeMocks.savingEditedBio)}
/> />
); );
const tree = renderer.create(component).toJSON(); const { container: tree } = render(component);
expect(tree).toMatchSnapshot(); expect(tree).toMatchSnapshot();
}); });
@@ -158,7 +209,7 @@ describe('<ProfilePage />', () => {
store={mockStore(storeData)} store={mockStore(storeData)}
/> />
); );
const tree = renderer.create(component).toJSON(); const { container: tree } = render(component);
expect(tree).toMatchSnapshot(); expect(tree).toMatchSnapshot();
}); });
@@ -176,7 +227,7 @@ describe('<ProfilePage />', () => {
store={mockStore(storeData)} store={mockStore(storeData)}
/> />
); );
const tree = renderer.create(component).toJSON(); const { container: tree } = render(component);
expect(tree).toMatchSnapshot(); expect(tree).toMatchSnapshot();
}); });
@@ -194,7 +245,7 @@ describe('<ProfilePage />', () => {
store={mockStore(storeData)} store={mockStore(storeData)}
/> />
); );
const tree = renderer.create(component).toJSON(); const { container: tree } = render(component);
expect(tree).toMatchSnapshot(); expect(tree).toMatchSnapshot();
}); });
@@ -212,7 +263,7 @@ describe('<ProfilePage />', () => {
store={mockStore(storeData)} store={mockStore(storeData)}
/> />
); );
const tree = renderer.create(component).toJSON(); const { container: tree } = render(component);
expect(tree).toMatchSnapshot(); expect(tree).toMatchSnapshot();
}); });
@@ -230,7 +281,7 @@ describe('<ProfilePage />', () => {
store={mockStore(storeMocks.viewOwnProfile)} store={mockStore(storeMocks.viewOwnProfile)}
/> />
); );
const tree = renderer.create(component).toJSON(); const { container: tree } = render(component);
expect(tree).toMatchSnapshot(); expect(tree).toMatchSnapshot();
}); });
it('test age message alert', () => { it('test age message alert', () => {
@@ -241,17 +292,15 @@ describe('<ProfilePage />', () => {
authenticatedUser: { userId: 123, username: 'staff', administrator: true }, authenticatedUser: { userId: 123, username: 'staff', administrator: true },
config: { ...getConfig(), COLLECT_YEAR_OF_BIRTH: true }, config: { ...getConfig(), COLLECT_YEAR_OF_BIRTH: true },
}; };
const component = ( const { container } = render(
<ProfilePageWrapper <ProfilePageWrapper
contextValue={contextValue} contextValue={contextValue}
store={mockStore(storeData)} store={mockStore(storeData)}
requiresParentalConsent requiresParentalConsent
/> />,
); );
const wrapper = mount(component);
wrapper.update();
expect(wrapper.find('.alert-info').hasClass('show')).toBe(true); expect(container.querySelector('.alert-info')).toHaveClass('show');
}); });
it('test photo error alert', () => { it('test photo error alert', () => {
const storeData = JSON.parse(JSON.stringify(storeMocks.viewOwnProfile)); const storeData = JSON.parse(JSON.stringify(storeMocks.viewOwnProfile));
@@ -260,11 +309,15 @@ describe('<ProfilePage />', () => {
authenticatedUser: { userId: 123, username: 'staff', administrator: true }, authenticatedUser: { userId: 123, username: 'staff', administrator: true },
config: { ...getConfig(), COLLECT_YEAR_OF_BIRTH: true }, config: { ...getConfig(), COLLECT_YEAR_OF_BIRTH: true },
}; };
const component = <ProfilePageWrapper contextValue={contextValue} store={mockStore(storeData)} />; const { container } = render(
const wrapper = mount(component); <ProfilePageWrapper
wrapper.update(); contextValue={contextValue}
store={mockStore(storeData)}
requiresParentalConsent
/>,
);
expect(wrapper.find('.alert-danger').hasClass('show')).toBe(true); expect(container.querySelector('.alert-danger')).toHaveClass('show');
}); });
}); });
@@ -274,15 +327,13 @@ describe('<ProfilePage />', () => {
authenticatedUser: { userId: 123, username: 'staff', administrator: true }, authenticatedUser: { userId: 123, username: 'staff', administrator: true },
config: getConfig(), config: getConfig(),
}; };
const component = ( render(
<ProfilePageWrapper <ProfilePageWrapper
contextValue={contextValue} contextValue={contextValue}
store={mockStore(storeMocks.loadingApp)} store={mockStore(storeMocks.loadingApp)}
params={{ username: 'test-username' }} params={{ username: 'test-username' }}
/> />,
); );
const wrapper = mount(component);
wrapper.update();
expect(analytics.sendTrackingLogEvent.mock.calls.length).toBe(1); expect(analytics.sendTrackingLogEvent.mock.calls.length).toBe(1);
expect(analytics.sendTrackingLogEvent.mock.calls[0][0]).toEqual('edx.profile.viewed'); expect(analytics.sendTrackingLogEvent.mock.calls[0][0]).toEqual('edx.profile.viewed');

View File

@@ -1,219 +0,0 @@
/* eslint-disable react/prop-types */
import React from 'react';
import PropTypes from 'prop-types';
import { connect } from 'react-redux';
import { ensureConfig } from '@edx/frontend-platform';
import { AppContext } from '@edx/frontend-platform/react';
import { injectIntl, intlShape, FormattedDate } from '@edx/frontend-platform/i18n';
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
import { faTwitter, faFacebook, faLinkedin } from '@fortawesome/free-brands-svg-icons';
import {
ActionRow, Avatar, Card, Hyperlink, Icon,
} from '@edx/paragon';
import { HistoryEdu, VerifiedUser } from '@edx/paragon/icons';
import get from 'lodash.get';
import { Plugin } from '@edx/frontend-plugin-framework/src/plugins';
import PluginCountry from './forms/PluginCountry';
// Actions
import {
fetchProfile,
} from './data/actions';
// Components
import PageLoading from './PageLoading';
// Selectors
import { profilePageSelector } from './data/selectors';
// i18n
import messages from './ProfilePage.messages';
import eduMessages from './forms/Education.messages';
import withParams from '../utils/hoc';
ensureConfig(['CREDENTIALS_BASE_URL', 'LMS_BASE_URL'], 'ProfilePage');
// eslint-disable-next-line react/function-component-definition
function Fallback() {
return (
<div>this is broken as all get</div>
);
}
const platformDisplayInfo = {
facebook: {
icon: faFacebook,
name: '',
},
twitter: {
icon: faTwitter,
name: '',
},
linkedin: {
icon: faLinkedin,
name: '',
},
};
class ProfilePluginPage extends React.Component {
componentDidMount() {
this.props.fetchProfile(this.props.params.username);
}
renderContent() {
const {
profileImage,
country,
levelOfEducation,
socialLinks,
isLoadingProfile,
dateJoined,
name,
intl,
} = this.props;
if (isLoadingProfile) {
return <PageLoading srMessage={this.props.intl.formatMessage(messages['profile.loading'])} />;
}
return (
<Plugin fallbackComponent={<Fallback />}>
<Card className="mb-2">
<Card.Header
className="pb-5"
subtitle={(
<Hyperlink destination={`/u/${this.props.params.username}`}>
View public profile
</Hyperlink>
)}
actions={
(
<ActionRow className="mt-3">
{socialLinks
.filter(({ socialLink }) => Boolean(socialLink))
.map(({ platform, socialLink }) => (
<StaticListItem
key={platform}
name={platformDisplayInfo[platform].name}
url={socialLink}
platform={platform}
/>
))}
</ActionRow>
)
}
/>
<Card.Section className="text-center" muted>
<Avatar
size="xl"
className="profile-plugin-avatar"
src={profileImage.src}
alt="Profile image"
/>
<p className="h2 mb-0 font-weight-bold">{name}</p>
<p className="h3 mb-0 font-weight-bold">{this.props.params.username}</p>
<PluginCountry
country={country}
/>
</Card.Section>
<Card.Footer className="p-0">
<Card.Section className="pgn-icons-cell-vertical">
<Icon src={VerifiedUser} />
<p>
since <FormattedDate value={new Date(dateJoined)} year="numeric" />
</p>
</Card.Section>
<Card.Section className="pgn-icons-cell-vertical">
<Icon src={HistoryEdu} />
<p>
{intl.formatMessage(get(
eduMessages,
`profile.education.levels.${levelOfEducation}`,
eduMessages['profile.education.levels.o'],
))}
</p>
</Card.Section>
</Card.Footer>
</Card>
</Plugin>
);
}
render() {
return (
<div className="profile-page">
{this.renderContent()}
</div>
);
}
}
const SocialLink = ({ url, name, platform }) => (
<a href={url} className="font-weight-bold">
<FontAwesomeIcon className="mr-2" icon={platformDisplayInfo[platform].icon} />
{name}
</a>
);
const StaticListItem = ({ url, name, platform }) => (
<ul className="list-inline">
<SocialLink name={name} url={url} platform={platform} />
</ul>
);
ProfilePluginPage.contextType = AppContext;
ProfilePluginPage.propTypes = {
// Account data
dateJoined: PropTypes.string,
// Country form data
country: PropTypes.string,
// Education form data
levelOfEducation: PropTypes.string,
// Social links form data
socialLinks: PropTypes.arrayOf(PropTypes.shape({
platform: PropTypes.string,
socialLink: PropTypes.string,
})),
// Other data we need
profileImage: PropTypes.shape({
src: PropTypes.string,
isDefault: PropTypes.bool,
}),
isLoadingProfile: PropTypes.bool.isRequired,
// Actions
fetchProfile: PropTypes.func.isRequired,
// Router
params: PropTypes.shape({
username: PropTypes.string.isRequired,
}).isRequired,
// i18n
intl: intlShape.isRequired,
};
ProfilePluginPage.defaultProps = {
profileImage: {},
levelOfEducation: null,
country: null,
socialLinks: [],
dateJoined: null,
};
export default connect(
profilePageSelector,
{
fetchProfile,
},
)(injectIntl(withParams(ProfilePluginPage)));

View File

@@ -1,7 +1,7 @@
import React from 'react'; import React from 'react';
import { FormattedMessage } from '@edx/frontend-platform/i18n'; import { FormattedMessage } from '@edx/frontend-platform/i18n';
import { VisibilityOff } from '@edx/paragon/icons'; import { VisibilityOff } from '@openedx/paragon/icons';
import { Icon } from '@edx/paragon'; import { Icon } from '@openedx/paragon';
import { getConfig } from '@edx/frontend-platform'; import { getConfig } from '@edx/frontend-platform';
const UsernameDescription = () => ( const UsernameDescription = () => (

View File

@@ -0,0 +1,41 @@
module.exports = {
userAccount: {
loading: false,
error: null,
username: 'staff',
email: null,
bio: null,
name: null,
country: null,
socialLinks: null,
profileImage: {
imageUrlMedium: null,
imageUrlLarge: null
},
levelOfEducation: null,
learningGoal: null
},
profilePage: {
errors: {},
saveState: 'error',
savePhotoState: null,
currentlyEditingField: null,
account: {
username: '',
socialLinks: []
},
preferences: {},
courseCertificates: [],
drafts: {},
isLoadingProfile: false,
isAuthenticatedUserProfile: true,
},
router: {
location: {
pathname: '/u/staffTest',
search: '',
hash: ''
},
action: 'POP'
}
};

View File

@@ -1,27 +1,24 @@
// Jest Snapshot v1, https://goo.gl/fbAQLP // Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`<ProfilePage /> Renders correctly in various states app loading 1`] = ` exports[`<ProfilePage /> Renders correctly in various states app loading 1`] = `
<div>
<div <div
className="profile-page" class="profile-page"
> >
<div <div
className="profile-page-bg-banner bg-primary d-none d-md-block p-relative" class="profile-page-bg-banner bg-primary d-md-block p-relative"
/> />
<div> <div>
<div <div
className="d-flex justify-content-center align-items-center flex-column" class="d-flex justify-content-center align-items-center flex-column"
style={ style="height: 50vh;"
Object {
"height": "50vh",
}
}
> >
<div <div
className="spinner-border text-primary" class="spinner-border text-primary"
role="status" role="status"
> >
<span <span
className="sr-only" class="sr-only"
> >
Profile loading... Profile loading...
</span> </span>
@@ -29,46 +26,681 @@ exports[`<ProfilePage /> Renders correctly in various states app loading 1`] = `
</div> </div>
</div> </div>
</div> </div>
</div>
`;
exports[`<ProfilePage /> Renders correctly in various states successfully redirected to not found page. 1`] = `
<div>
<div
class="profile-page"
>
<div
class="profile-page-bg-banner bg-primary d-md-block p-relative"
/>
<div
class="container-fluid"
>
<div
class="row align-items-center pt-4 mb-4 pt-md-0 mb-md-0"
>
<div
class="col-auto col-md-4 col-lg-3"
>
<div
class="d-flex align-items-center d-md-block"
>
<div
class="profile-avatar-wrap position-relative"
>
<div
class="profile-avatar rounded-circle bg-light"
>
<div
class="profile-avatar-menu-container"
>
<button
class="text-white btn-block btn btn-link btn-sm"
type="button"
>
Upload Photo
</button>
</div>
<div
aria-hidden="true"
class="text-muted"
data-testid="IconMock"
focusable="false"
role="img"
viewbox="0 0 24 24"
/>
</div>
<form
enctype="multipart/form-data"
>
<input
accept=".jpg, .jpeg, .png"
class="d-none form-control-file"
id="photo-file"
name="file"
type="file"
/>
</form>
</div>
</div>
</div>
<div
class="col"
>
<div
class="d-md-none"
>
<span
data-hj-suppress="true"
>
<h1
class="h2 mb-0 font-weight-bold text-truncate"
>
staff
</h1>
<div
class="d-flex align-items-center mt-3 mb-2rem"
>
<span
class="pgn__icon icon-visibility-off"
>
<svg
aria-hidden="true"
fill="none"
focusable="false"
height="24"
role="img"
viewBox="0 0 24 24"
width="24"
xmlns="http://www.w3.org/2000/svg"
>
<path
d="M12 6.5c2.76 0 5 2.24 5 5 0 .51-.1 1-.24 1.46l3.06 3.06c1.39-1.23 2.49-2.77 3.18-4.53C21.27 7.11 17 4 12 4c-1.27 0-2.49.2-3.64.57l2.17 2.17c.47-.14.96-.24 1.47-.24ZM3.42 2.45 2.01 3.87l2.68 2.68A11.738 11.738 0 0 0 1 11.5C2.73 15.89 7 19 12 19c1.52 0 2.97-.3 4.31-.82l3.43 3.43 1.41-1.41L3.42 2.45ZM12 16.5c-2.76 0-5-2.24-5-5 0-.77.18-1.5.49-2.14l1.57 1.57c-.03.18-.06.37-.06.57 0 1.66 1.34 3 3 3 .2 0 .38-.03.57-.07L14.14 16c-.65.32-1.37.5-2.14.5Zm2.97-5.33a2.97 2.97 0 0 0-2.64-2.64l2.64 2.64Z"
fill="currentColor"
/>
</svg>
</span>
<div
class="username-description"
>
Your profile information is only visible to you. Only your username is visible to others on localhost.
</div>
</div>
<hr
class="d-none d-md-block"
/>
</span>
</div>
<div
class="d-none d-md-block float-right"
>
<a
class="pgn__hyperlink default-link standalone-link btn btn-primary"
href="http://localhost:18150/records"
rel="noopener noreferrer"
target="_blank"
>
View My Records
<span
class="pgn__hyperlink__external-icon"
title="Opens in a new tab"
>
<span
class="pgn__icon"
data-testid="hyperlink-icon"
style="height: 1em; width: 1em;"
>
<svg
aria-hidden="true"
fill="none"
focusable="false"
height="24"
role="img"
viewBox="0 0 24 24"
width="24"
xmlns="http://www.w3.org/2000/svg"
>
<path
d="M19 19H5V5h7V3H3v18h18v-9h-2v7ZM14 3v2h3.59l-9.83 9.83 1.41 1.41L19 6.41V10h2V3h-7Z"
fill="currentColor"
/>
</svg>
<span
class="sr-only"
>
in a new tab
</span>
</span>
</span>
</a>
</div>
</div>
</div>
<div
class="row"
>
<div
class="col-md-4 col-lg-4"
>
<div
class="d-none d-md-block mb-4"
>
<span
data-hj-suppress="true"
>
<h1
class="h2 mb-0 font-weight-bold text-truncate"
>
staff
</h1>
<div
class="d-flex align-items-center mt-3 mb-2rem"
>
<span
class="pgn__icon icon-visibility-off"
>
<svg
aria-hidden="true"
fill="none"
focusable="false"
height="24"
role="img"
viewBox="0 0 24 24"
width="24"
xmlns="http://www.w3.org/2000/svg"
>
<path
d="M12 6.5c2.76 0 5 2.24 5 5 0 .51-.1 1-.24 1.46l3.06 3.06c1.39-1.23 2.49-2.77 3.18-4.53C21.27 7.11 17 4 12 4c-1.27 0-2.49.2-3.64.57l2.17 2.17c.47-.14.96-.24 1.47-.24ZM3.42 2.45 2.01 3.87l2.68 2.68A11.738 11.738 0 0 0 1 11.5C2.73 15.89 7 19 12 19c1.52 0 2.97-.3 4.31-.82l3.43 3.43 1.41-1.41L3.42 2.45ZM12 16.5c-2.76 0-5-2.24-5-5 0-.77.18-1.5.49-2.14l1.57 1.57c-.03.18-.06.37-.06.57 0 1.66 1.34 3 3 3 .2 0 .38-.03.57-.07L14.14 16c-.65.32-1.37.5-2.14.5Zm2.97-5.33a2.97 2.97 0 0 0-2.64-2.64l2.64 2.64Z"
fill="currentColor"
/>
</svg>
</span>
<div
class="username-description"
>
Your profile information is only visible to you. Only your username is visible to others on localhost.
</div>
</div>
<hr
class="d-none d-md-block"
/>
</span>
</div>
<div
class="d-md-none mb-4"
>
<a
class="pgn__hyperlink default-link standalone-link btn btn-primary"
href="http://localhost:18150/records"
rel="noopener noreferrer"
target="_blank"
>
View My Records
<span
class="pgn__hyperlink__external-icon"
title="Opens in a new tab"
>
<span
class="pgn__icon"
data-testid="hyperlink-icon"
style="height: 1em; width: 1em;"
>
<svg
aria-hidden="true"
fill="none"
focusable="false"
height="24"
role="img"
viewBox="0 0 24 24"
width="24"
xmlns="http://www.w3.org/2000/svg"
>
<path
d="M19 19H5V5h7V3H3v18h18v-9h-2v7ZM14 3v2h3.59l-9.83 9.83 1.41 1.41L19 6.41V10h2V3h-7Z"
fill="currentColor"
/>
</svg>
<span
class="sr-only"
>
in a new tab
</span>
</span>
</span>
</a>
</div>
<div
class="pgn-transition-replace-group position-relative mb-5"
>
<div
style="padding: .1px 0px;"
>
<div
class="editable-item-header mb-2"
>
<h2
class="edit-section-header"
>
Full Name
</h2>
</div>
<div>
<button
class="pl-0 text-left btn btn-link"
tabindex="0"
type="button"
>
<svg
aria-hidden="true"
class="svg-inline--fa fa-plus fa-xs mr-2"
data-icon="plus"
data-prefix="fas"
focusable="false"
role="img"
viewBox="0 0 448 512"
xmlns="http://www.w3.org/2000/svg"
>
<path
d="M256 80c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 144L48 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l144 0 0 144c0 17.7 14.3 32 32 32s32-14.3 32-32l0-144 144 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-144 0 0-144z"
fill="currentColor"
/>
</svg>
Add name
</button>
</div>
<small
class="form-text text-muted"
>
This is the name that appears in your account and on your certificates.
</small>
</div>
</div>
<div
class="pgn-transition-replace-group position-relative mb-5"
>
<div
style="padding: .1px 0px;"
>
<div
class="editable-item-header mb-2"
>
<h2
class="edit-section-header"
>
Location
</h2>
</div>
<div>
<button
class="pl-0 text-left btn btn-link"
tabindex="0"
type="button"
>
<svg
aria-hidden="true"
class="svg-inline--fa fa-plus fa-xs mr-2"
data-icon="plus"
data-prefix="fas"
focusable="false"
role="img"
viewBox="0 0 448 512"
xmlns="http://www.w3.org/2000/svg"
>
<path
d="M256 80c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 144L48 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l144 0 0 144c0 17.7 14.3 32 32 32s32-14.3 32-32l0-144 144 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-144 0 0-144z"
fill="currentColor"
/>
</svg>
Add location
</button>
</div>
</div>
</div>
<div
class="pgn-transition-replace-group position-relative mb-5"
>
<div
style="padding: .1px 0px;"
>
<div
class="editable-item-header mb-2"
>
<h2
class="edit-section-header"
>
Primary Language Spoken
</h2>
</div>
<div>
<button
class="pl-0 text-left btn btn-link"
tabindex="0"
type="button"
>
<svg
aria-hidden="true"
class="svg-inline--fa fa-plus fa-xs mr-2"
data-icon="plus"
data-prefix="fas"
focusable="false"
role="img"
viewBox="0 0 448 512"
xmlns="http://www.w3.org/2000/svg"
>
<path
d="M256 80c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 144L48 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l144 0 0 144c0 17.7 14.3 32 32 32s32-14.3 32-32l0-144 144 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-144 0 0-144z"
fill="currentColor"
/>
</svg>
Add language
</button>
</div>
</div>
</div>
<div
class="pgn-transition-replace-group position-relative mb-5"
>
<div
style="padding: .1px 0px;"
>
<div
class="editable-item-header mb-2"
>
<h2
class="edit-section-header"
>
Education
</h2>
</div>
<div>
<button
class="pl-0 text-left btn btn-link"
tabindex="0"
type="button"
>
<svg
aria-hidden="true"
class="svg-inline--fa fa-plus fa-xs mr-2"
data-icon="plus"
data-prefix="fas"
focusable="false"
role="img"
viewBox="0 0 448 512"
xmlns="http://www.w3.org/2000/svg"
>
<path
d="M256 80c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 144L48 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l144 0 0 144c0 17.7 14.3 32 32 32s32-14.3 32-32l0-144 144 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-144 0 0-144z"
fill="currentColor"
/>
</svg>
Add education
</button>
</div>
</div>
</div>
<div
class="pgn-transition-replace-group position-relative mb-5"
>
<div
style="padding: .1px 0px;"
>
<div
class="editable-item-header mb-2"
>
<h2
class="edit-section-header"
>
Social Links
</h2>
</div>
<ul
class="list-unstyled"
>
<li
class="mb-4"
>
<div>
<button
class="pl-0 text-left btn btn-link"
tabindex="0"
type="button"
>
<svg
aria-hidden="true"
class="svg-inline--fa fa-plus fa-xs mr-2"
data-icon="plus"
data-prefix="fas"
focusable="false"
role="img"
viewBox="0 0 448 512"
xmlns="http://www.w3.org/2000/svg"
>
<path
d="M256 80c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 144L48 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l144 0 0 144c0 17.7 14.3 32 32 32s32-14.3 32-32l0-144 144 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-144 0 0-144z"
fill="currentColor"
/>
</svg>
Add Twitter
</button>
</div>
</li>
<li
class="mb-4"
>
<div>
<button
class="pl-0 text-left btn btn-link"
tabindex="0"
type="button"
>
<svg
aria-hidden="true"
class="svg-inline--fa fa-plus fa-xs mr-2"
data-icon="plus"
data-prefix="fas"
focusable="false"
role="img"
viewBox="0 0 448 512"
xmlns="http://www.w3.org/2000/svg"
>
<path
d="M256 80c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 144L48 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l144 0 0 144c0 17.7 14.3 32 32 32s32-14.3 32-32l0-144 144 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-144 0 0-144z"
fill="currentColor"
/>
</svg>
Add Facebook
</button>
</div>
</li>
<li
class="mb-4"
>
<div>
<button
class="pl-0 text-left btn btn-link"
tabindex="0"
type="button"
>
<svg
aria-hidden="true"
class="svg-inline--fa fa-plus fa-xs mr-2"
data-icon="plus"
data-prefix="fas"
focusable="false"
role="img"
viewBox="0 0 448 512"
xmlns="http://www.w3.org/2000/svg"
>
<path
d="M256 80c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 144L48 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l144 0 0 144c0 17.7 14.3 32 32 32s32-14.3 32-32l0-144 144 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-144 0 0-144z"
fill="currentColor"
/>
</svg>
Add LinkedIn
</button>
</div>
</li>
</ul>
</div>
</div>
</div>
<div
class="pt-md-3 col-md-8 col-lg-7 offset-lg-1"
>
<div
class="pgn-transition-replace-group position-relative mb-5"
>
<div
style="padding: .1px 0px;"
>
<div
class="editable-item-header mb-2"
>
<h2
class="edit-section-header"
>
About Me
</h2>
</div>
<div>
<button
class="pl-0 text-left btn btn-link"
tabindex="0"
type="button"
>
<svg
aria-hidden="true"
class="svg-inline--fa fa-plus fa-xs mr-2"
data-icon="plus"
data-prefix="fas"
focusable="false"
role="img"
viewBox="0 0 448 512"
xmlns="http://www.w3.org/2000/svg"
>
<path
d="M256 80c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 144L48 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l144 0 0 144c0 17.7 14.3 32 32 32s32-14.3 32-32l0-144 144 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-144 0 0-144z"
fill="currentColor"
/>
</svg>
Add a short bio
</button>
</div>
</div>
</div>
<div
class="pgn-transition-replace-group position-relative mb-4"
>
<div
style="padding: .1px 0px;"
>
<div
class="editable-item-header mb-2"
>
<h2
class="edit-section-header"
>
My Certificates
<button
class="float-right px-0 btn btn-link btn-sm"
style="margin-top: -.35rem;"
type="button"
>
<svg
aria-hidden="true"
class="svg-inline--fa fa-pencil mr-1"
data-icon="pencil"
data-prefix="fas"
focusable="false"
role="img"
viewBox="0 0 512 512"
xmlns="http://www.w3.org/2000/svg"
>
<path
d="M410.3 231l11.3-11.3-33.9-33.9-62.1-62.1L291.7 89.8l-11.3 11.3-22.6 22.6L58.6 322.9c-10.4 10.4-18 23.3-22.2 37.4L1 480.7c-2.5 8.4-.2 17.5 6.1 23.7s15.3 8.5 23.7 6.1l120.3-35.4c14.1-4.2 27-11.8 37.4-22.2L387.7 253.7 410.3 231zM160 399.4l-9.1 22.7c-4 3.1-8.5 5.4-13.3 6.9L59.4 452l23-78.1c1.4-4.9 3.8-9.4 6.9-13.3l22.7-9.1 0 32c0 8.8 7.2 16 16 16l32 0zM362.7 18.7L348.3 33.2 325.7 55.8 314.3 67.1l33.9 33.9 62.1 62.1 33.9 33.9 11.3-11.3 22.6-22.6 14.5-14.5c25-25 25-65.5 0-90.5L453.3 18.7c-25-25-65.5-25-90.5 0zm-47.4 168l-144 144c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l144-144c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z"
fill="currentColor"
/>
</svg>
Edit
</button>
</h2>
<p
class="mb-0"
>
<span
class="ml-auto small text-muted"
>
<svg
aria-hidden="true"
class="svg-inline--fa fa-eye "
data-icon="eye"
data-prefix="far"
focusable="false"
role="img"
viewBox="0 0 576 512"
xmlns="http://www.w3.org/2000/svg"
>
<path
d="M288 80c-65.2 0-118.8 29.6-159.9 67.7C89.6 183.5 63 226 49.4 256c13.6 30 40.2 72.5 78.6 108.3C169.2 402.4 222.8 432 288 432s118.8-29.6 159.9-67.7C486.4 328.5 513 286 526.6 256c-13.6-30-40.2-72.5-78.6-108.3C406.8 109.6 353.2 80 288 80zM95.4 112.6C142.5 68.8 207.2 32 288 32s145.5 36.8 192.6 80.6c46.8 43.5 78.1 95.4 93 131.1c3.3 7.9 3.3 16.7 0 24.6c-14.9 35.7-46.2 87.7-93 131.1C433.5 443.2 368.8 480 288 480s-145.5-36.8-192.6-80.6C48.6 356 17.3 304 2.5 268.3c-3.3-7.9-3.3-16.7 0-24.6C17.3 208 48.6 156 95.4 112.6zM288 336c44.2 0 80-35.8 80-80s-35.8-80-80-80c-.7 0-1.3 0-2 0c1.3 5.1 2 10.5 2 16c0 35.3-28.7 64-64 64c-5.5 0-10.9-.7-16-2c0 .7 0 1.3 0 2c0 44.2 35.8 80 80 80zm0-208a128 128 0 1 1 0 256 128 128 0 1 1 0-256z"
fill="currentColor"
/>
</svg>
Everyone on localhost
</span>
</p>
</div>
You don't have any certificates yet.
</div>
</div>
</div>
</div>
</div>
</div>
</div>
`; `;
exports[`<ProfilePage /> Renders correctly in various states test country edit with error 1`] = ` exports[`<ProfilePage /> Renders correctly in various states test country edit with error 1`] = `
<div>
<div <div
className="profile-page" class="profile-page"
> >
<div <div
className="profile-page-bg-banner bg-primary d-none d-md-block p-relative" class="profile-page-bg-banner bg-primary d-md-block p-relative"
/> />
<div <div
className="container-fluid" class="container-fluid"
> >
<div <div
className="row align-items-center pt-4 mb-4 pt-md-0 mb-md-0" class="row align-items-center pt-4 mb-4 pt-md-0 mb-md-0"
> >
<div <div
className="col-auto col-md-4 col-lg-3" class="col-auto col-md-4 col-lg-3"
> >
<div <div
className="d-flex align-items-center d-md-block" class="d-flex align-items-center d-md-block"
> >
<div <div
className="profile-avatar-wrap position-relative" class="profile-avatar-wrap position-relative"
> >
<div <div
className="profile-avatar rounded-circle bg-light" class="profile-avatar rounded-circle bg-light"
> >
<div <div
className="profile-avatar-menu-container" class="profile-avatar-menu-container"
> >
<div <div
className="pgn__dropdown pgn__dropdown-light dropdown" class="pgn__dropdown pgn__dropdown-light dropdown"
data-testid="dropdown" data-testid="dropdown"
> >
<button <button
aria-expanded={false} aria-expanded="false"
aria-haspopup={true} aria-haspopup="true"
className="dropdown-toggle btn btn-primary" class="dropdown-toggle btn btn-primary"
disabled={false}
onClick={[Function]}
type="button" type="button"
> >
Change Change
@@ -77,92 +709,78 @@ exports[`<ProfilePage /> Renders correctly in various states test country edit w
</div> </div>
<img <img
alt="profile avatar" alt="profile avatar"
className="w-100 h-100 d-block rounded-circle overflow-hidden" class="w-100 h-100 d-block rounded-circle overflow-hidden"
data-hj-suppress={true} data-hj-suppress="true"
src="http://localhost:18000/media/profile-images/d2a9bdc2ba165dcefc73265c54bf9a20_500.jpg?v=1552495012" src="http://localhost:18000/media/profile-images/d2a9bdc2ba165dcefc73265c54bf9a20_500.jpg?v=1552495012"
style={ style="object-fit: cover;"
Object {
"objectFit": "cover",
}
}
/> />
</div> </div>
<form <form
encType="multipart/form-data" enctype="multipart/form-data"
onSubmit={[Function]}
> >
<input <input
accept=".jpg, .jpeg, .png" accept=".jpg, .jpeg, .png"
className="d-none form-control-file" class="d-none form-control-file"
id="photo-file" id="photo-file"
name="file" name="file"
onChange={[Function]}
type="file" type="file"
/> />
</form> </form>
</div> </div>
</div> </div>
</div> </div>
<div>
PluginPOC
</div>
<div <div
className="col pl-0" class="col"
> >
<div <div
className="d-md-none" class="d-md-none"
> >
<span <span
data-hj-suppress={true} data-hj-suppress="true"
> >
<h1 <h1
className="h2 mb-0 font-weight-bold" class="h2 mb-0 font-weight-bold text-truncate"
> >
staff staff
</h1> </h1>
<p <p
className="mb-0" class="mb-0"
> >
Member since Member since
2017 2017
</p> </p>
<hr <hr
className="d-none d-md-block" class="d-none d-md-block"
/> />
</span> </span>
</div> </div>
<div <div
className="d-none d-md-block float-right" class="d-none d-md-block float-right"
> >
<a <a
className="pgn__hyperlink default-link standalone-link btn btn-primary" class="pgn__hyperlink default-link standalone-link btn btn-primary"
href="http://localhost:18150/records" href="http://localhost:18150/records"
onClick={[Function]}
rel="noopener noreferrer" rel="noopener noreferrer"
target="_blank" target="_blank"
> >
View My Records View My Records
<span <span
className="pgn__hyperlink__external-icon" class="pgn__hyperlink__external-icon"
title="Opens in a new tab" title="Opens in a new tab"
> >
<span <span
className="pgn__icon" class="pgn__icon"
style={ data-testid="hyperlink-icon"
Object { style="height: 1em; width: 1em;"
"height": "1em",
"width": "1em",
}
}
> >
<svg <svg
aria-hidden={true} aria-hidden="true"
fill="none" fill="none"
focusable={false} focusable="false"
height={24} height="24"
role="img" role="img"
viewBox="0 0 24 24" viewBox="0 0 24 24"
width={24} width="24"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
> >
<path <path
@@ -171,7 +789,7 @@ exports[`<ProfilePage /> Renders correctly in various states test country edit w
/> />
</svg> </svg>
<span <span
className="sr-only" class="sr-only"
> >
in a new tab in a new tab
</span> </span>
@@ -182,65 +800,60 @@ exports[`<ProfilePage /> Renders correctly in various states test country edit w
</div> </div>
</div> </div>
<div <div
className="row" class="row"
> >
<div <div
className="col-md-4 col-lg-4" class="col-md-4 col-lg-4"
> >
<div <div
className="d-none d-md-block mb-4" class="d-none d-md-block mb-4"
> >
<span <span
data-hj-suppress={true} data-hj-suppress="true"
> >
<h1 <h1
className="h2 mb-0 font-weight-bold" class="h2 mb-0 font-weight-bold text-truncate"
> >
staff staff
</h1> </h1>
<p <p
className="mb-0" class="mb-0"
> >
Member since Member since
2017 2017
</p> </p>
<hr <hr
className="d-none d-md-block" class="d-none d-md-block"
/> />
</span> </span>
</div> </div>
<div <div
className="d-md-none mb-4" class="d-md-none mb-4"
> >
<a <a
className="pgn__hyperlink default-link standalone-link btn btn-primary" class="pgn__hyperlink default-link standalone-link btn btn-primary"
href="http://localhost:18150/records" href="http://localhost:18150/records"
onClick={[Function]}
rel="noopener noreferrer" rel="noopener noreferrer"
target="_blank" target="_blank"
> >
View My Records View My Records
<span <span
className="pgn__hyperlink__external-icon" class="pgn__hyperlink__external-icon"
title="Opens in a new tab" title="Opens in a new tab"
> >
<span <span
className="pgn__icon" class="pgn__icon"
style={ data-testid="hyperlink-icon"
Object { style="height: 1em; width: 1em;"
"height": "1em",
"width": "1em",
}
}
> >
<svg <svg
aria-hidden={true} aria-hidden="true"
fill="none" fill="none"
focusable={false} focusable="false"
height={24} height="24"
role="img" role="img"
viewBox="0 0 24 24" viewBox="0 0 24 24"
width={24} width="24"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
> >
<path <path
@@ -249,7 +862,7 @@ exports[`<ProfilePage /> Renders correctly in various states test country edit w
/> />
</svg> </svg>
<span <span
className="sr-only" class="sr-only"
> >
in a new tab in a new tab
</span> </span>
@@ -258,80 +871,60 @@ exports[`<ProfilePage /> Renders correctly in various states test country edit w
</a> </a>
</div> </div>
<div <div
className="pgn-transition-replace-group position-relative mb-5" class="pgn-transition-replace-group position-relative mb-5"
style={
Object {
"height": null,
}
}
> >
<div <div
style={ style="padding: .1px 0px;"
Object {
"padding": ".1px 0",
}
}
> >
<div <div
className="editable-item-header mb-2" class="editable-item-header mb-2"
> >
<h2 <h2
className="edit-section-header" class="edit-section-header"
id={null}
> >
Full Name Full Name
<button <button
className="float-right px-0 btn btn-link btn-sm" class="float-right px-0 btn btn-link btn-sm"
disabled={false} style="margin-top: -.35rem;"
onClick={[Function]}
style={
Object {
"marginTop": "-.35rem",
}
}
type="button" type="button"
> >
<svg <svg
aria-hidden="true" aria-hidden="true"
className="svg-inline--fa fa-pencil-alt fa-w-16 mr-1" class="svg-inline--fa fa-pencil mr-1"
data-icon="pencil-alt" data-icon="pencil"
data-prefix="fas" data-prefix="fas"
focusable="false" focusable="false"
role="img" role="img"
style={Object {}}
viewBox="0 0 512 512" viewBox="0 0 512 512"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
> >
<path <path
d="M497.9 142.1l-46.1 46.1c-4.7 4.7-12.3 4.7-17 0l-111-111c-4.7-4.7-4.7-12.3 0-17l46.1-46.1c18.7-18.7 49.1-18.7 67.9 0l60.1 60.1c18.8 18.7 18.8 49.1 0 67.9zM284.2 99.8L21.6 362.4.4 483.9c-2.9 16.4 11.4 30.6 27.8 27.8l121.5-21.3 262.6-262.6c4.7-4.7 4.7-12.3 0-17l-111-111c-4.8-4.7-12.4-4.7-17.1 0zM124.1 339.9c-5.5-5.5-5.5-14.3 0-19.8l154-154c5.5-5.5 14.3-5.5 19.8 0s5.5 14.3 0 19.8l-154 154c-5.5 5.5-14.3 5.5-19.8 0zM88 424h48v36.3l-64.5 11.3-31.1-31.1L51.7 376H88v48z" d="M410.3 231l11.3-11.3-33.9-33.9-62.1-62.1L291.7 89.8l-11.3 11.3-22.6 22.6L58.6 322.9c-10.4 10.4-18 23.3-22.2 37.4L1 480.7c-2.5 8.4-.2 17.5 6.1 23.7s15.3 8.5 23.7 6.1l120.3-35.4c14.1-4.2 27-11.8 37.4-22.2L387.7 253.7 410.3 231zM160 399.4l-9.1 22.7c-4 3.1-8.5 5.4-13.3 6.9L59.4 452l23-78.1c1.4-4.9 3.8-9.4 6.9-13.3l22.7-9.1 0 32c0 8.8 7.2 16 16 16l32 0zM362.7 18.7L348.3 33.2 325.7 55.8 314.3 67.1l33.9 33.9 62.1 62.1 33.9 33.9 11.3-11.3 22.6-22.6 14.5-14.5c25-25 25-65.5 0-90.5L453.3 18.7c-25-25-65.5-25-90.5 0zm-47.4 168l-144 144c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l144-144c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z"
fill="currentColor" fill="currentColor"
style={Object {}}
/> />
</svg> </svg>
Edit Edit
</button> </button>
</h2> </h2>
<p <p
className="mb-0" class="mb-0"
> >
<span <span
className="ml-auto small text-muted" class="ml-auto small text-muted"
> >
<svg <svg
aria-hidden="true" aria-hidden="true"
className="svg-inline--fa fa-eye-slash fa-w-20 " class="svg-inline--fa fa-eye-slash "
data-icon="eye-slash" data-icon="eye-slash"
data-prefix="far" data-prefix="far"
focusable="false" focusable="false"
role="img" role="img"
style={Object {}}
viewBox="0 0 640 512" viewBox="0 0 640 512"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
> >
<path <path
d="M634 471L36 3.51A16 16 0 0 0 13.51 6l-10 12.49A16 16 0 0 0 6 41l598 467.49a16 16 0 0 0 22.49-2.49l10-12.49A16 16 0 0 0 634 471zM296.79 146.47l134.79 105.38C429.36 191.91 380.48 144 320 144a112.26 112.26 0 0 0-23.21 2.47zm46.42 219.07L208.42 260.16C210.65 320.09 259.53 368 320 368a113 113 0 0 0 23.21-2.46zM320 112c98.65 0 189.09 55 237.93 144a285.53 285.53 0 0 1-44 60.2l37.74 29.5a333.7 333.7 0 0 0 52.9-75.11 32.35 32.35 0 0 0 0-29.19C550.29 135.59 442.93 64 320 64c-36.7 0-71.71 7-104.63 18.81l46.41 36.29c18.94-4.3 38.34-7.1 58.22-7.1zm0 288c-98.65 0-189.08-55-237.93-144a285.47 285.47 0 0 1 44.05-60.19l-37.74-29.5a333.6 333.6 0 0 0-52.89 75.1 32.35 32.35 0 0 0 0 29.19C89.72 376.41 197.08 448 320 448c36.7 0 71.71-7.05 104.63-18.81l-46.41-36.28C359.28 397.2 339.89 400 320 400z" d="M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L525.6 386.7c39.6-40.6 66.4-86.1 79.9-118.4c3.3-7.9 3.3-16.7 0-24.6c-14.9-35.7-46.2-87.7-93-131.1C465.5 68.8 400.8 32 320 32c-68.2 0-125 26.3-169.3 60.8L38.8 5.1zm151 118.3C226 97.7 269.5 80 320 80c65.2 0 118.8 29.6 159.9 67.7C518.4 183.5 545 226 558.6 256c-12.6 28-36.6 66.8-70.9 100.9l-53.8-42.2c9.1-17.6 14.2-37.5 14.2-58.7c0-70.7-57.3-128-128-128c-32.2 0-61.7 11.9-84.2 31.5l-46.1-36.1zM394.9 284.2l-81.5-63.9c4.2-8.5 6.6-18.2 6.6-28.3c0-5.5-.7-10.9-2-16c.7 0 1.3 0 2 0c44.2 0 80 35.8 80 80c0 9.9-1.8 19.4-5.1 28.2zm9.4 130.3C378.8 425.4 350.7 432 320 432c-65.2 0-118.8-29.6-159.9-67.7C121.6 328.5 95 286 81.4 256c8.3-18.4 21.5-41.5 39.4-64.8L83.1 161.5C60.3 191.2 44 220.8 34.5 243.7c-3.3 7.9-3.3 16.7 0 24.6c14.9 35.7 46.2 87.7 93 131.1C174.5 443.2 239.2 480 320 480c47.8 0 89.9-12.9 126.2-32.5l-41.9-33zM192 256c0 70.7 57.3 128 128 128c13.3 0 26.1-2 38.2-5.8L302 334c-23.5-5.4-43.1-21.2-53.7-42.3l-56.1-44.2c-.2 2.8-.3 5.6-.3 8.5z"
fill="currentColor" fill="currentColor"
style={Object {}}
/> />
</svg> </svg>
@@ -340,57 +933,44 @@ exports[`<ProfilePage /> Renders correctly in various states test country edit w
</p> </p>
</div> </div>
<p <p
className="h5" class="h5"
data-hj-suppress={true} data-hj-suppress="true"
> >
Lemon Seltzer Lemon Seltzer
</p> </p>
<small <small
className="form-text text-muted" class="form-text text-muted"
> >
This is the name that appears in your account and on your certificates. This is the name that appears in your account and on your certificates.
</small> </small>
</div> </div>
</div> </div>
<div <div
className="pgn-transition-replace-group position-relative mb-5" class="pgn-transition-replace-group position-relative mb-5"
style={
Object {
"height": null,
}
}
> >
<div <div
style={ style="padding: .1px 0px;"
Object {
"padding": ".1px 0",
}
}
> >
<div <div
aria-labelledby="country-label" aria-labelledby="country-label"
role="dialog" role="dialog"
> >
<form <form>
onSubmit={[Function]}
>
<div <div
className="pgn__form-group" class="pgn__form-group"
> >
<label <label
className="edit-section-header" class="edit-section-header"
htmlFor="country" for="country"
> >
Location Location
</label> </label>
<select <select
className="form-control" class="form-control"
data-hj-suppress={true} data-hj-suppress="true"
id="country" id="country"
name="country" name="country"
onChange={[Function]}
type="select" type="select"
value="ME"
> >
<option <option
value="" value=""
@@ -1649,7 +2229,7 @@ exports[`<ProfilePage /> Renders correctly in various states test country edit w
</option> </option>
</select> </select>
<div <div
className="pgn__form-control-description pgn__form-text pgn__form-text-invalid" class="pgn__form-control-description pgn__form-text pgn__form-text-invalid"
id="country-2" id="country-2"
> >
<div> <div>
@@ -1658,53 +2238,45 @@ exports[`<ProfilePage /> Renders correctly in various states test country edit w
</div> </div>
</div> </div>
<div <div
className="d-flex flex-row-reverse flex-wrap justify-content-end align-items-center" class="d-flex flex-row-reverse flex-wrap justify-content-end align-items-center"
> >
<div <div
className="form-group d-flex flex-wrap" class="form-group d-flex flex-wrap"
> >
<label <label
className="col-form-label" class="col-form-label"
htmlFor="visibilityCountry" for="visibilityCountry"
> >
Who can see this: Who can see this:
</label> </label>
<span <span
className="d-flex align-items-center" class="d-flex align-items-center"
> >
<span <span
className="d-inline-block ml-1 mr-2" class="d-inline-block ml-1 mr-2"
style={ style="width: 1.5rem;"
Object {
"width": "1.5rem",
}
}
> >
<svg <svg
aria-hidden="true" aria-hidden="true"
className="svg-inline--fa fa-eye fa-w-18 " class="svg-inline--fa fa-eye "
data-icon="eye" data-icon="eye"
data-prefix="far" data-prefix="far"
focusable="false" focusable="false"
role="img" role="img"
style={Object {}}
viewBox="0 0 576 512" viewBox="0 0 576 512"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
> >
<path <path
d="M288 144a110.94 110.94 0 0 0-31.24 5 55.4 55.4 0 0 1 7.24 27 56 56 0 0 1-56 56 55.4 55.4 0 0 1-27-7.24A111.71 111.71 0 1 0 288 144zm284.52 97.4C518.29 135.59 410.93 64 288 64S57.68 135.64 3.48 241.41a32.35 32.35 0 0 0 0 29.19C57.71 376.41 165.07 448 288 448s230.32-71.64 284.52-177.41a32.35 32.35 0 0 0 0-29.19zM288 400c-98.65 0-189.09-55-237.93-144C98.91 167 189.34 112 288 112s189.09 55 237.93 144C477.1 345 386.66 400 288 400z" d="M288 80c-65.2 0-118.8 29.6-159.9 67.7C89.6 183.5 63 226 49.4 256c13.6 30 40.2 72.5 78.6 108.3C169.2 402.4 222.8 432 288 432s118.8-29.6 159.9-67.7C486.4 328.5 513 286 526.6 256c-13.6-30-40.2-72.5-78.6-108.3C406.8 109.6 353.2 80 288 80zM95.4 112.6C142.5 68.8 207.2 32 288 32s145.5 36.8 192.6 80.6c46.8 43.5 78.1 95.4 93 131.1c3.3 7.9 3.3 16.7 0 24.6c-14.9 35.7-46.2 87.7-93 131.1C433.5 443.2 368.8 480 288 480s-145.5-36.8-192.6-80.6C48.6 356 17.3 304 2.5 268.3c-3.3-7.9-3.3-16.7 0-24.6C17.3 208 48.6 156 95.4 112.6zM288 336c44.2 0 80-35.8 80-80s-35.8-80-80-80c-.7 0-1.3 0-2 0c1.3 5.1 2 10.5 2 16c0 35.3-28.7 64-64 64c-5.5 0-10.9-.7-16-2c0 .7 0 1.3 0 2c0 44.2 35.8 80 80 80zm0-208a128 128 0 1 1 0 256 128 128 0 1 1 0-256z"
fill="currentColor" fill="currentColor"
style={Object {}}
/> />
</svg> </svg>
</span> </span>
<select <select
className="d-inline-block w-auto form-control" class="d-inline-block form-control"
id="visibilityCountry" id="visibilityCountry"
name="visibilityCountry" name="visibilityCountry"
onChange={[Function]}
type="select" type="select"
value="all_users"
> >
<option <option
value="private" value="private"
@@ -1720,33 +2292,31 @@ exports[`<ProfilePage /> Renders correctly in various states test country edit w
</span> </span>
</div> </div>
<div <div
className="form-group flex-shrink-0 flex-grow-1" class="form-group flex-shrink-0 flex-grow-1"
> >
<button <button
aria-disabled={false} aria-disabled="false"
aria-live="assertive" aria-live="assertive"
className="pgn__stateful-btn pgn__stateful-btn-state-pending btn btn-primary" class="pgn__stateful-btn pgn__stateful-btn-state-pending btn btn-primary"
disabled={false}
onClick={[Function]}
type="submit" type="submit"
> >
<span <span
className="d-flex align-items-center justify-content-center" class="d-flex align-items-center justify-content-center"
> >
<span <span
className="pgn__stateful-btn-icon" class="pgn__stateful-btn-icon"
> >
<span <span
className="pgn__icon icon-spin" class="pgn__icon icon-spin"
> >
<svg <svg
aria-hidden={true} aria-hidden="true"
fill="none" fill="none"
focusable={false} focusable="false"
height={24} height="24"
role="img" role="img"
viewBox="0 0 24 24" viewBox="0 0 24 24"
width={24} width="24"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
> >
<path <path
@@ -1762,9 +2332,7 @@ exports[`<ProfilePage /> Renders correctly in various states test country edit w
</span> </span>
</button> </button>
<button <button
className="btn btn-link" class="btn btn-link"
disabled={false}
onClick={[Function]}
type="button" type="button"
> >
Cancel Cancel
@@ -1776,80 +2344,60 @@ exports[`<ProfilePage /> Renders correctly in various states test country edit w
</div> </div>
</div> </div>
<div <div
className="pgn-transition-replace-group position-relative mb-5" class="pgn-transition-replace-group position-relative mb-5"
style={
Object {
"height": null,
}
}
> >
<div <div
style={ style="padding: .1px 0px;"
Object {
"padding": ".1px 0",
}
}
> >
<div <div
className="editable-item-header mb-2" class="editable-item-header mb-2"
> >
<h2 <h2
className="edit-section-header" class="edit-section-header"
id={null}
> >
Primary Language Spoken Primary Language Spoken
<button <button
className="float-right px-0 btn btn-link btn-sm" class="float-right px-0 btn btn-link btn-sm"
disabled={false} style="margin-top: -.35rem;"
onClick={[Function]}
style={
Object {
"marginTop": "-.35rem",
}
}
type="button" type="button"
> >
<svg <svg
aria-hidden="true" aria-hidden="true"
className="svg-inline--fa fa-pencil-alt fa-w-16 mr-1" class="svg-inline--fa fa-pencil mr-1"
data-icon="pencil-alt" data-icon="pencil"
data-prefix="fas" data-prefix="fas"
focusable="false" focusable="false"
role="img" role="img"
style={Object {}}
viewBox="0 0 512 512" viewBox="0 0 512 512"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
> >
<path <path
d="M497.9 142.1l-46.1 46.1c-4.7 4.7-12.3 4.7-17 0l-111-111c-4.7-4.7-4.7-12.3 0-17l46.1-46.1c18.7-18.7 49.1-18.7 67.9 0l60.1 60.1c18.8 18.7 18.8 49.1 0 67.9zM284.2 99.8L21.6 362.4.4 483.9c-2.9 16.4 11.4 30.6 27.8 27.8l121.5-21.3 262.6-262.6c4.7-4.7 4.7-12.3 0-17l-111-111c-4.8-4.7-12.4-4.7-17.1 0zM124.1 339.9c-5.5-5.5-5.5-14.3 0-19.8l154-154c5.5-5.5 14.3-5.5 19.8 0s5.5 14.3 0 19.8l-154 154c-5.5 5.5-14.3 5.5-19.8 0zM88 424h48v36.3l-64.5 11.3-31.1-31.1L51.7 376H88v48z" d="M410.3 231l11.3-11.3-33.9-33.9-62.1-62.1L291.7 89.8l-11.3 11.3-22.6 22.6L58.6 322.9c-10.4 10.4-18 23.3-22.2 37.4L1 480.7c-2.5 8.4-.2 17.5 6.1 23.7s15.3 8.5 23.7 6.1l120.3-35.4c14.1-4.2 27-11.8 37.4-22.2L387.7 253.7 410.3 231zM160 399.4l-9.1 22.7c-4 3.1-8.5 5.4-13.3 6.9L59.4 452l23-78.1c1.4-4.9 3.8-9.4 6.9-13.3l22.7-9.1 0 32c0 8.8 7.2 16 16 16l32 0zM362.7 18.7L348.3 33.2 325.7 55.8 314.3 67.1l33.9 33.9 62.1 62.1 33.9 33.9 11.3-11.3 22.6-22.6 14.5-14.5c25-25 25-65.5 0-90.5L453.3 18.7c-25-25-65.5-25-90.5 0zm-47.4 168l-144 144c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l144-144c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z"
fill="currentColor" fill="currentColor"
style={Object {}}
/> />
</svg> </svg>
Edit Edit
</button> </button>
</h2> </h2>
<p <p
className="mb-0" class="mb-0"
> >
<span <span
className="ml-auto small text-muted" class="ml-auto small text-muted"
> >
<svg <svg
aria-hidden="true" aria-hidden="true"
className="svg-inline--fa fa-eye fa-w-18 " class="svg-inline--fa fa-eye "
data-icon="eye" data-icon="eye"
data-prefix="far" data-prefix="far"
focusable="false" focusable="false"
role="img" role="img"
style={Object {}}
viewBox="0 0 576 512" viewBox="0 0 576 512"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
> >
<path <path
d="M288 144a110.94 110.94 0 0 0-31.24 5 55.4 55.4 0 0 1 7.24 27 56 56 0 0 1-56 56 55.4 55.4 0 0 1-27-7.24A111.71 111.71 0 1 0 288 144zm284.52 97.4C518.29 135.59 410.93 64 288 64S57.68 135.64 3.48 241.41a32.35 32.35 0 0 0 0 29.19C57.71 376.41 165.07 448 288 448s230.32-71.64 284.52-177.41a32.35 32.35 0 0 0 0-29.19zM288 400c-98.65 0-189.09-55-237.93-144C98.91 167 189.34 112 288 112s189.09 55 237.93 144C477.1 345 386.66 400 288 400z" d="M288 80c-65.2 0-118.8 29.6-159.9 67.7C89.6 183.5 63 226 49.4 256c13.6 30 40.2 72.5 78.6 108.3C169.2 402.4 222.8 432 288 432s118.8-29.6 159.9-67.7C486.4 328.5 513 286 526.6 256c-13.6-30-40.2-72.5-78.6-108.3C406.8 109.6 353.2 80 288 80zM95.4 112.6C142.5 68.8 207.2 32 288 32s145.5 36.8 192.6 80.6c46.8 43.5 78.1 95.4 93 131.1c3.3 7.9 3.3 16.7 0 24.6c-14.9 35.7-46.2 87.7-93 131.1C433.5 443.2 368.8 480 288 480s-145.5-36.8-192.6-80.6C48.6 356 17.3 304 2.5 268.3c-3.3-7.9-3.3-16.7 0-24.6C17.3 208 48.6 156 95.4 112.6zM288 336c44.2 0 80-35.8 80-80s-35.8-80-80-80c-.7 0-1.3 0-2 0c1.3 5.1 2 10.5 2 16c0 35.3-28.7 64-64 64c-5.5 0-10.9-.7-16-2c0 .7 0 1.3 0 2c0 44.2 35.8 80 80 80zm0-208a128 128 0 1 1 0 256 128 128 0 1 1 0-256z"
fill="currentColor" fill="currentColor"
style={Object {}}
/> />
</svg> </svg>
@@ -1858,88 +2406,68 @@ exports[`<ProfilePage /> Renders correctly in various states test country edit w
</p> </p>
</div> </div>
<p <p
className="h5" class="h5"
data-hj-suppress={true} data-hj-suppress="true"
> >
Yoruba Yoruba
</p> </p>
</div> </div>
</div> </div>
<div <div
className="pgn-transition-replace-group position-relative mb-5" class="pgn-transition-replace-group position-relative mb-5"
style={
Object {
"height": null,
}
}
> >
<div <div
style={ style="padding: .1px 0px;"
Object {
"padding": ".1px 0",
}
}
> >
<div <div
className="editable-item-header mb-2" class="editable-item-header mb-2"
> >
<h2 <h2
className="edit-section-header" class="edit-section-header"
id={null}
> >
Education Education
<button <button
className="float-right px-0 btn btn-link btn-sm" class="float-right px-0 btn btn-link btn-sm"
disabled={false} style="margin-top: -.35rem;"
onClick={[Function]}
style={
Object {
"marginTop": "-.35rem",
}
}
type="button" type="button"
> >
<svg <svg
aria-hidden="true" aria-hidden="true"
className="svg-inline--fa fa-pencil-alt fa-w-16 mr-1" class="svg-inline--fa fa-pencil mr-1"
data-icon="pencil-alt" data-icon="pencil"
data-prefix="fas" data-prefix="fas"
focusable="false" focusable="false"
role="img" role="img"
style={Object {}}
viewBox="0 0 512 512" viewBox="0 0 512 512"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
> >
<path <path
d="M497.9 142.1l-46.1 46.1c-4.7 4.7-12.3 4.7-17 0l-111-111c-4.7-4.7-4.7-12.3 0-17l46.1-46.1c18.7-18.7 49.1-18.7 67.9 0l60.1 60.1c18.8 18.7 18.8 49.1 0 67.9zM284.2 99.8L21.6 362.4.4 483.9c-2.9 16.4 11.4 30.6 27.8 27.8l121.5-21.3 262.6-262.6c4.7-4.7 4.7-12.3 0-17l-111-111c-4.8-4.7-12.4-4.7-17.1 0zM124.1 339.9c-5.5-5.5-5.5-14.3 0-19.8l154-154c5.5-5.5 14.3-5.5 19.8 0s5.5 14.3 0 19.8l-154 154c-5.5 5.5-14.3 5.5-19.8 0zM88 424h48v36.3l-64.5 11.3-31.1-31.1L51.7 376H88v48z" d="M410.3 231l11.3-11.3-33.9-33.9-62.1-62.1L291.7 89.8l-11.3 11.3-22.6 22.6L58.6 322.9c-10.4 10.4-18 23.3-22.2 37.4L1 480.7c-2.5 8.4-.2 17.5 6.1 23.7s15.3 8.5 23.7 6.1l120.3-35.4c14.1-4.2 27-11.8 37.4-22.2L387.7 253.7 410.3 231zM160 399.4l-9.1 22.7c-4 3.1-8.5 5.4-13.3 6.9L59.4 452l23-78.1c1.4-4.9 3.8-9.4 6.9-13.3l22.7-9.1 0 32c0 8.8 7.2 16 16 16l32 0zM362.7 18.7L348.3 33.2 325.7 55.8 314.3 67.1l33.9 33.9 62.1 62.1 33.9 33.9 11.3-11.3 22.6-22.6 14.5-14.5c25-25 25-65.5 0-90.5L453.3 18.7c-25-25-65.5-25-90.5 0zm-47.4 168l-144 144c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l144-144c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z"
fill="currentColor" fill="currentColor"
style={Object {}}
/> />
</svg> </svg>
Edit Edit
</button> </button>
</h2> </h2>
<p <p
className="mb-0" class="mb-0"
> >
<span <span
className="ml-auto small text-muted" class="ml-auto small text-muted"
> >
<svg <svg
aria-hidden="true" aria-hidden="true"
className="svg-inline--fa fa-eye-slash fa-w-20 " class="svg-inline--fa fa-eye-slash "
data-icon="eye-slash" data-icon="eye-slash"
data-prefix="far" data-prefix="far"
focusable="false" focusable="false"
role="img" role="img"
style={Object {}}
viewBox="0 0 640 512" viewBox="0 0 640 512"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
> >
<path <path
d="M634 471L36 3.51A16 16 0 0 0 13.51 6l-10 12.49A16 16 0 0 0 6 41l598 467.49a16 16 0 0 0 22.49-2.49l10-12.49A16 16 0 0 0 634 471zM296.79 146.47l134.79 105.38C429.36 191.91 380.48 144 320 144a112.26 112.26 0 0 0-23.21 2.47zm46.42 219.07L208.42 260.16C210.65 320.09 259.53 368 320 368a113 113 0 0 0 23.21-2.46zM320 112c98.65 0 189.09 55 237.93 144a285.53 285.53 0 0 1-44 60.2l37.74 29.5a333.7 333.7 0 0 0 52.9-75.11 32.35 32.35 0 0 0 0-29.19C550.29 135.59 442.93 64 320 64c-36.7 0-71.71 7-104.63 18.81l46.41 36.29c18.94-4.3 38.34-7.1 58.22-7.1zm0 288c-98.65 0-189.08-55-237.93-144a285.47 285.47 0 0 1 44.05-60.19l-37.74-29.5a333.6 333.6 0 0 0-52.89 75.1 32.35 32.35 0 0 0 0 29.19C89.72 376.41 197.08 448 320 448c36.7 0 71.71-7.05 104.63-18.81l-46.41-36.28C359.28 397.2 339.89 400 320 400z" d="M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L525.6 386.7c39.6-40.6 66.4-86.1 79.9-118.4c3.3-7.9 3.3-16.7 0-24.6c-14.9-35.7-46.2-87.7-93-131.1C465.5 68.8 400.8 32 320 32c-68.2 0-125 26.3-169.3 60.8L38.8 5.1zm151 118.3C226 97.7 269.5 80 320 80c65.2 0 118.8 29.6 159.9 67.7C518.4 183.5 545 226 558.6 256c-12.6 28-36.6 66.8-70.9 100.9l-53.8-42.2c9.1-17.6 14.2-37.5 14.2-58.7c0-70.7-57.3-128-128-128c-32.2 0-61.7 11.9-84.2 31.5l-46.1-36.1zM394.9 284.2l-81.5-63.9c4.2-8.5 6.6-18.2 6.6-28.3c0-5.5-.7-10.9-2-16c.7 0 1.3 0 2 0c44.2 0 80 35.8 80 80c0 9.9-1.8 19.4-5.1 28.2zm9.4 130.3C378.8 425.4 350.7 432 320 432c-65.2 0-118.8-29.6-159.9-67.7C121.6 328.5 95 286 81.4 256c8.3-18.4 21.5-41.5 39.4-64.8L83.1 161.5C60.3 191.2 44 220.8 34.5 243.7c-3.3 7.9-3.3 16.7 0 24.6c14.9 35.7 46.2 87.7 93 131.1C174.5 443.2 239.2 480 320 480c47.8 0 89.9-12.9 126.2-32.5l-41.9-33zM192 256c0 70.7 57.3 128 128 128c13.3 0 26.1-2 38.2-5.8L302 334c-23.5-5.4-43.1-21.2-53.7-42.3l-56.1-44.2c-.2 2.8-.3 5.6-.3 8.5z"
fill="currentColor" fill="currentColor"
style={Object {}}
/> />
</svg> </svg>
@@ -1948,88 +2476,68 @@ exports[`<ProfilePage /> Renders correctly in various states test country edit w
</p> </p>
</div> </div>
<p <p
className="h5" class="h5"
data-hj-suppress={true} data-hj-suppress="true"
> >
Elementary/primary school Elementary/primary school
</p> </p>
</div> </div>
</div> </div>
<div <div
className="pgn-transition-replace-group position-relative mb-5" class="pgn-transition-replace-group position-relative mb-5"
style={
Object {
"height": null,
}
}
> >
<div <div
style={ style="padding: .1px 0px;"
Object {
"padding": ".1px 0",
}
}
> >
<div <div
className="editable-item-header mb-2" class="editable-item-header mb-2"
> >
<h2 <h2
className="edit-section-header" class="edit-section-header"
id={null}
> >
Social Links Social Links
<button <button
className="float-right px-0 btn btn-link btn-sm" class="float-right px-0 btn btn-link btn-sm"
disabled={false} style="margin-top: -.35rem;"
onClick={[Function]}
style={
Object {
"marginTop": "-.35rem",
}
}
type="button" type="button"
> >
<svg <svg
aria-hidden="true" aria-hidden="true"
className="svg-inline--fa fa-pencil-alt fa-w-16 mr-1" class="svg-inline--fa fa-pencil mr-1"
data-icon="pencil-alt" data-icon="pencil"
data-prefix="fas" data-prefix="fas"
focusable="false" focusable="false"
role="img" role="img"
style={Object {}}
viewBox="0 0 512 512" viewBox="0 0 512 512"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
> >
<path <path
d="M497.9 142.1l-46.1 46.1c-4.7 4.7-12.3 4.7-17 0l-111-111c-4.7-4.7-4.7-12.3 0-17l46.1-46.1c18.7-18.7 49.1-18.7 67.9 0l60.1 60.1c18.8 18.7 18.8 49.1 0 67.9zM284.2 99.8L21.6 362.4.4 483.9c-2.9 16.4 11.4 30.6 27.8 27.8l121.5-21.3 262.6-262.6c4.7-4.7 4.7-12.3 0-17l-111-111c-4.8-4.7-12.4-4.7-17.1 0zM124.1 339.9c-5.5-5.5-5.5-14.3 0-19.8l154-154c5.5-5.5 14.3-5.5 19.8 0s5.5 14.3 0 19.8l-154 154c-5.5 5.5-14.3 5.5-19.8 0zM88 424h48v36.3l-64.5 11.3-31.1-31.1L51.7 376H88v48z" d="M410.3 231l11.3-11.3-33.9-33.9-62.1-62.1L291.7 89.8l-11.3 11.3-22.6 22.6L58.6 322.9c-10.4 10.4-18 23.3-22.2 37.4L1 480.7c-2.5 8.4-.2 17.5 6.1 23.7s15.3 8.5 23.7 6.1l120.3-35.4c14.1-4.2 27-11.8 37.4-22.2L387.7 253.7 410.3 231zM160 399.4l-9.1 22.7c-4 3.1-8.5 5.4-13.3 6.9L59.4 452l23-78.1c1.4-4.9 3.8-9.4 6.9-13.3l22.7-9.1 0 32c0 8.8 7.2 16 16 16l32 0zM362.7 18.7L348.3 33.2 325.7 55.8 314.3 67.1l33.9 33.9 62.1 62.1 33.9 33.9 11.3-11.3 22.6-22.6 14.5-14.5c25-25 25-65.5 0-90.5L453.3 18.7c-25-25-65.5-25-90.5 0zm-47.4 168l-144 144c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l144-144c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z"
fill="currentColor" fill="currentColor"
style={Object {}}
/> />
</svg> </svg>
Edit Edit
</button> </button>
</h2> </h2>
<p <p
className="mb-0" class="mb-0"
> >
<span <span
className="ml-auto small text-muted" class="ml-auto small text-muted"
> >
<svg <svg
aria-hidden="true" aria-hidden="true"
className="svg-inline--fa fa-eye fa-w-18 " class="svg-inline--fa fa-eye "
data-icon="eye" data-icon="eye"
data-prefix="far" data-prefix="far"
focusable="false" focusable="false"
role="img" role="img"
style={Object {}}
viewBox="0 0 576 512" viewBox="0 0 576 512"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
> >
<path <path
d="M288 144a110.94 110.94 0 0 0-31.24 5 55.4 55.4 0 0 1 7.24 27 56 56 0 0 1-56 56 55.4 55.4 0 0 1-27-7.24A111.71 111.71 0 1 0 288 144zm284.52 97.4C518.29 135.59 410.93 64 288 64S57.68 135.64 3.48 241.41a32.35 32.35 0 0 0 0 29.19C57.71 376.41 165.07 448 288 448s230.32-71.64 284.52-177.41a32.35 32.35 0 0 0 0-29.19zM288 400c-98.65 0-189.09-55-237.93-144C98.91 167 189.34 112 288 112s189.09 55 237.93 144C477.1 345 386.66 400 288 400z" d="M288 80c-65.2 0-118.8 29.6-159.9 67.7C89.6 183.5 63 226 49.4 256c13.6 30 40.2 72.5 78.6 108.3C169.2 402.4 222.8 432 288 432s118.8-29.6 159.9-67.7C486.4 328.5 513 286 526.6 256c-13.6-30-40.2-72.5-78.6-108.3C406.8 109.6 353.2 80 288 80zM95.4 112.6C142.5 68.8 207.2 32 288 32s145.5 36.8 192.6 80.6c46.8 43.5 78.1 95.4 93 131.1c3.3 7.9 3.3 16.7 0 24.6c-14.9 35.7-46.2 87.7-93 131.1C433.5 443.2 368.8 480 288 480s-145.5-36.8-192.6-80.6C48.6 356 17.3 304 2.5 268.3c-3.3-7.9-3.3-16.7 0-24.6C17.3 208 48.6 156 95.4 112.6zM288 336c44.2 0 80-35.8 80-80s-35.8-80-80-80c-.7 0-1.3 0-2 0c1.3 5.1 2 10.5 2 16c0 35.3-28.7 64-64 64c-5.5 0-10.9-.7-16-2c0 .7 0 1.3 0 2c0 44.2 35.8 80 80 80zm0-208a128 128 0 1 1 0 256 128 128 0 1 1 0-256z"
fill="currentColor" fill="currentColor"
style={Object {}}
/> />
</svg> </svg>
@@ -2038,88 +2546,80 @@ exports[`<ProfilePage /> Renders correctly in various states test country edit w
</p> </p>
</div> </div>
<ul <ul
className="list-unstyled" class="list-unstyled"
> >
<li <li
className="form-group" class="form-group"
> >
<a <a
className="font-weight-bold" class="font-weight-bold"
href="https://www.twitter.com/ALOHA" href="https://www.twitter.com/ALOHA"
> >
<svg <svg
aria-hidden="true" aria-hidden="true"
className="svg-inline--fa fa-twitter fa-w-16 mr-2" class="svg-inline--fa fa-twitter mr-2"
data-icon="twitter" data-icon="twitter"
data-prefix="fab" data-prefix="fab"
focusable="false" focusable="false"
role="img" role="img"
style={Object {}}
viewBox="0 0 512 512" viewBox="0 0 512 512"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
> >
<path <path
d="M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253z" d="M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253z"
fill="currentColor" fill="currentColor"
style={Object {}}
/> />
</svg> </svg>
Twitter Twitter
</a> </a>
</li> </li>
<li <li
className="form-group" class="form-group"
> >
<a <a
className="font-weight-bold" class="font-weight-bold"
href="https://www.facebook.com/aloha" href="https://www.facebook.com/aloha"
> >
<svg <svg
aria-hidden="true" aria-hidden="true"
className="svg-inline--fa fa-facebook fa-w-16 mr-2" class="svg-inline--fa fa-facebook mr-2"
data-icon="facebook" data-icon="facebook"
data-prefix="fab" data-prefix="fab"
focusable="false" focusable="false"
role="img" role="img"
style={Object {}}
viewBox="0 0 512 512" viewBox="0 0 512 512"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
> >
<path <path
d="M504 256C504 119 393 8 256 8S8 119 8 256c0 123.78 90.69 226.38 209.25 245V327.69h-63V256h63v-54.64c0-62.15 37-96.48 93.67-96.48 27.14 0 55.52 4.84 55.52 4.84v61h-31.28c-30.8 0-40.41 19.12-40.41 38.73V256h68.78l-11 71.69h-57.78V501C413.31 482.38 504 379.78 504 256z" d="M512 256C512 114.6 397.4 0 256 0S0 114.6 0 256C0 376 82.7 476.8 194.2 504.5V334.2H141.4V256h52.8V222.3c0-87.1 39.4-127.5 125-127.5c16.2 0 44.2 3.2 55.7 6.4V172c-6-.6-16.5-1-29.6-1c-42 0-58.2 15.9-58.2 57.2V256h83.6l-14.4 78.2H287V510.1C413.8 494.8 512 386.9 512 256h0z"
fill="currentColor" fill="currentColor"
style={Object {}}
/> />
</svg> </svg>
Facebook Facebook
</a> </a>
</li> </li>
<li <li
className="form-group" class="form-group"
> >
<div> <div>
<button <button
className="pl-0 text-left btn btn-link" class="pl-0 text-left btn btn-link"
onClick={[Function]} tabindex="0"
onKeyDown={[Function]}
tabIndex={0}
type="button" type="button"
> >
<svg <svg
aria-hidden="true" aria-hidden="true"
className="svg-inline--fa fa-plus fa-w-14 fa-xs mr-2" class="svg-inline--fa fa-plus fa-xs mr-2"
data-icon="plus" data-icon="plus"
data-prefix="fas" data-prefix="fas"
focusable="false" focusable="false"
role="img" role="img"
style={Object {}}
viewBox="0 0 448 512" viewBox="0 0 448 512"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
> >
<path <path
d="M416 208H272V64c0-17.67-14.33-32-32-32h-32c-17.67 0-32 14.33-32 32v144H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h144v144c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32V304h144c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32z" d="M256 80c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 144L48 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l144 0 0 144c0 17.7 14.3 32 32 32s32-14.3 32-32l0-144 144 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-144 0 0-144z"
fill="currentColor" fill="currentColor"
style={Object {}}
/> />
</svg> </svg>
Add Add
@@ -2132,83 +2632,63 @@ exports[`<ProfilePage /> Renders correctly in various states test country edit w
</div> </div>
</div> </div>
<div <div
className="pt-md-3 col-md-8 col-lg-7 offset-lg-1" class="pt-md-3 col-md-8 col-lg-7 offset-lg-1"
> >
<div <div
className="pgn-transition-replace-group position-relative mb-5" class="pgn-transition-replace-group position-relative mb-5"
style={
Object {
"height": null,
}
}
> >
<div <div
style={ style="padding: .1px 0px;"
Object {
"padding": ".1px 0",
}
}
> >
<div <div
className="editable-item-header mb-2" class="editable-item-header mb-2"
> >
<h2 <h2
className="edit-section-header" class="edit-section-header"
id={null}
> >
About Me About Me
<button <button
className="float-right px-0 btn btn-link btn-sm" class="float-right px-0 btn btn-link btn-sm"
disabled={false} style="margin-top: -.35rem;"
onClick={[Function]}
style={
Object {
"marginTop": "-.35rem",
}
}
type="button" type="button"
> >
<svg <svg
aria-hidden="true" aria-hidden="true"
className="svg-inline--fa fa-pencil-alt fa-w-16 mr-1" class="svg-inline--fa fa-pencil mr-1"
data-icon="pencil-alt" data-icon="pencil"
data-prefix="fas" data-prefix="fas"
focusable="false" focusable="false"
role="img" role="img"
style={Object {}}
viewBox="0 0 512 512" viewBox="0 0 512 512"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
> >
<path <path
d="M497.9 142.1l-46.1 46.1c-4.7 4.7-12.3 4.7-17 0l-111-111c-4.7-4.7-4.7-12.3 0-17l46.1-46.1c18.7-18.7 49.1-18.7 67.9 0l60.1 60.1c18.8 18.7 18.8 49.1 0 67.9zM284.2 99.8L21.6 362.4.4 483.9c-2.9 16.4 11.4 30.6 27.8 27.8l121.5-21.3 262.6-262.6c4.7-4.7 4.7-12.3 0-17l-111-111c-4.8-4.7-12.4-4.7-17.1 0zM124.1 339.9c-5.5-5.5-5.5-14.3 0-19.8l154-154c5.5-5.5 14.3-5.5 19.8 0s5.5 14.3 0 19.8l-154 154c-5.5 5.5-14.3 5.5-19.8 0zM88 424h48v36.3l-64.5 11.3-31.1-31.1L51.7 376H88v48z" d="M410.3 231l11.3-11.3-33.9-33.9-62.1-62.1L291.7 89.8l-11.3 11.3-22.6 22.6L58.6 322.9c-10.4 10.4-18 23.3-22.2 37.4L1 480.7c-2.5 8.4-.2 17.5 6.1 23.7s15.3 8.5 23.7 6.1l120.3-35.4c14.1-4.2 27-11.8 37.4-22.2L387.7 253.7 410.3 231zM160 399.4l-9.1 22.7c-4 3.1-8.5 5.4-13.3 6.9L59.4 452l23-78.1c1.4-4.9 3.8-9.4 6.9-13.3l22.7-9.1 0 32c0 8.8 7.2 16 16 16l32 0zM362.7 18.7L348.3 33.2 325.7 55.8 314.3 67.1l33.9 33.9 62.1 62.1 33.9 33.9 11.3-11.3 22.6-22.6 14.5-14.5c25-25 25-65.5 0-90.5L453.3 18.7c-25-25-65.5-25-90.5 0zm-47.4 168l-144 144c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l144-144c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z"
fill="currentColor" fill="currentColor"
style={Object {}}
/> />
</svg> </svg>
Edit Edit
</button> </button>
</h2> </h2>
<p <p
className="mb-0" class="mb-0"
> >
<span <span
className="ml-auto small text-muted" class="ml-auto small text-muted"
> >
<svg <svg
aria-hidden="true" aria-hidden="true"
className="svg-inline--fa fa-eye fa-w-18 " class="svg-inline--fa fa-eye "
data-icon="eye" data-icon="eye"
data-prefix="far" data-prefix="far"
focusable="false" focusable="false"
role="img" role="img"
style={Object {}}
viewBox="0 0 576 512" viewBox="0 0 576 512"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
> >
<path <path
d="M288 144a110.94 110.94 0 0 0-31.24 5 55.4 55.4 0 0 1 7.24 27 56 56 0 0 1-56 56 55.4 55.4 0 0 1-27-7.24A111.71 111.71 0 1 0 288 144zm284.52 97.4C518.29 135.59 410.93 64 288 64S57.68 135.64 3.48 241.41a32.35 32.35 0 0 0 0 29.19C57.71 376.41 165.07 448 288 448s230.32-71.64 284.52-177.41a32.35 32.35 0 0 0 0-29.19zM288 400c-98.65 0-189.09-55-237.93-144C98.91 167 189.34 112 288 112s189.09 55 237.93 144C477.1 345 386.66 400 288 400z" d="M288 80c-65.2 0-118.8 29.6-159.9 67.7C89.6 183.5 63 226 49.4 256c13.6 30 40.2 72.5 78.6 108.3C169.2 402.4 222.8 432 288 432s118.8-29.6 159.9-67.7C486.4 328.5 513 286 526.6 256c-13.6-30-40.2-72.5-78.6-108.3C406.8 109.6 353.2 80 288 80zM95.4 112.6C142.5 68.8 207.2 32 288 32s145.5 36.8 192.6 80.6c46.8 43.5 78.1 95.4 93 131.1c3.3 7.9 3.3 16.7 0 24.6c-14.9 35.7-46.2 87.7-93 131.1C433.5 443.2 368.8 480 288 480s-145.5-36.8-192.6-80.6C48.6 356 17.3 304 2.5 268.3c-3.3-7.9-3.3-16.7 0-24.6C17.3 208 48.6 156 95.4 112.6zM288 336c44.2 0 80-35.8 80-80s-35.8-80-80-80c-.7 0-1.3 0-2 0c1.3 5.1 2 10.5 2 16c0 35.3-28.7 64-64 64c-5.5 0-10.9-.7-16-2c0 .7 0 1.3 0 2c0 44.2 35.8 80 80 80zm0-208a128 128 0 1 1 0 256 128 128 0 1 1 0-256z"
fill="currentColor" fill="currentColor"
style={Object {}}
/> />
</svg> </svg>
@@ -2217,88 +2697,68 @@ exports[`<ProfilePage /> Renders correctly in various states test country edit w
</p> </p>
</div> </div>
<p <p
className="lead" class="lead"
data-hj-suppress={true} data-hj-suppress="true"
> >
This is my bio This is my bio
</p> </p>
</div> </div>
</div> </div>
<div <div
className="pgn-transition-replace-group position-relative mb-4" class="pgn-transition-replace-group position-relative mb-4"
style={
Object {
"height": null,
}
}
> >
<div <div
style={ style="padding: .1px 0px;"
Object {
"padding": ".1px 0",
}
}
> >
<div <div
className="editable-item-header mb-2" class="editable-item-header mb-2"
> >
<h2 <h2
className="edit-section-header" class="edit-section-header"
id={null}
> >
My Certificates My Certificates
<button <button
className="float-right px-0 btn btn-link btn-sm" class="float-right px-0 btn btn-link btn-sm"
disabled={false} style="margin-top: -.35rem;"
onClick={[Function]}
style={
Object {
"marginTop": "-.35rem",
}
}
type="button" type="button"
> >
<svg <svg
aria-hidden="true" aria-hidden="true"
className="svg-inline--fa fa-pencil-alt fa-w-16 mr-1" class="svg-inline--fa fa-pencil mr-1"
data-icon="pencil-alt" data-icon="pencil"
data-prefix="fas" data-prefix="fas"
focusable="false" focusable="false"
role="img" role="img"
style={Object {}}
viewBox="0 0 512 512" viewBox="0 0 512 512"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
> >
<path <path
d="M497.9 142.1l-46.1 46.1c-4.7 4.7-12.3 4.7-17 0l-111-111c-4.7-4.7-4.7-12.3 0-17l46.1-46.1c18.7-18.7 49.1-18.7 67.9 0l60.1 60.1c18.8 18.7 18.8 49.1 0 67.9zM284.2 99.8L21.6 362.4.4 483.9c-2.9 16.4 11.4 30.6 27.8 27.8l121.5-21.3 262.6-262.6c4.7-4.7 4.7-12.3 0-17l-111-111c-4.8-4.7-12.4-4.7-17.1 0zM124.1 339.9c-5.5-5.5-5.5-14.3 0-19.8l154-154c5.5-5.5 14.3-5.5 19.8 0s5.5 14.3 0 19.8l-154 154c-5.5 5.5-14.3 5.5-19.8 0zM88 424h48v36.3l-64.5 11.3-31.1-31.1L51.7 376H88v48z" d="M410.3 231l11.3-11.3-33.9-33.9-62.1-62.1L291.7 89.8l-11.3 11.3-22.6 22.6L58.6 322.9c-10.4 10.4-18 23.3-22.2 37.4L1 480.7c-2.5 8.4-.2 17.5 6.1 23.7s15.3 8.5 23.7 6.1l120.3-35.4c14.1-4.2 27-11.8 37.4-22.2L387.7 253.7 410.3 231zM160 399.4l-9.1 22.7c-4 3.1-8.5 5.4-13.3 6.9L59.4 452l23-78.1c1.4-4.9 3.8-9.4 6.9-13.3l22.7-9.1 0 32c0 8.8 7.2 16 16 16l32 0zM362.7 18.7L348.3 33.2 325.7 55.8 314.3 67.1l33.9 33.9 62.1 62.1 33.9 33.9 11.3-11.3 22.6-22.6 14.5-14.5c25-25 25-65.5 0-90.5L453.3 18.7c-25-25-65.5-25-90.5 0zm-47.4 168l-144 144c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l144-144c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z"
fill="currentColor" fill="currentColor"
style={Object {}}
/> />
</svg> </svg>
Edit Edit
</button> </button>
</h2> </h2>
<p <p
className="mb-0" class="mb-0"
> >
<span <span
className="ml-auto small text-muted" class="ml-auto small text-muted"
> >
<svg <svg
aria-hidden="true" aria-hidden="true"
className="svg-inline--fa fa-eye fa-w-18 " class="svg-inline--fa fa-eye "
data-icon="eye" data-icon="eye"
data-prefix="far" data-prefix="far"
focusable="false" focusable="false"
role="img" role="img"
style={Object {}}
viewBox="0 0 576 512" viewBox="0 0 576 512"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
> >
<path <path
d="M288 144a110.94 110.94 0 0 0-31.24 5 55.4 55.4 0 0 1 7.24 27 56 56 0 0 1-56 56 55.4 55.4 0 0 1-27-7.24A111.71 111.71 0 1 0 288 144zm284.52 97.4C518.29 135.59 410.93 64 288 64S57.68 135.64 3.48 241.41a32.35 32.35 0 0 0 0 29.19C57.71 376.41 165.07 448 288 448s230.32-71.64 284.52-177.41a32.35 32.35 0 0 0 0-29.19zM288 400c-98.65 0-189.09-55-237.93-144C98.91 167 189.34 112 288 112s189.09 55 237.93 144C477.1 345 386.66 400 288 400z" d="M288 80c-65.2 0-118.8 29.6-159.9 67.7C89.6 183.5 63 226 49.4 256c13.6 30 40.2 72.5 78.6 108.3C169.2 402.4 222.8 432 288 432s118.8-29.6 159.9-67.7C486.4 328.5 513 286 526.6 256c-13.6-30-40.2-72.5-78.6-108.3C406.8 109.6 353.2 80 288 80zM95.4 112.6C142.5 68.8 207.2 32 288 32s145.5 36.8 192.6 80.6c46.8 43.5 78.1 95.4 93 131.1c3.3 7.9 3.3 16.7 0 24.6c-14.9 35.7-46.2 87.7-93 131.1C433.5 443.2 368.8 480 288 480s-145.5-36.8-192.6-80.6C48.6 356 17.3 304 2.5 268.3c-3.3-7.9-3.3-16.7 0-24.6C17.3 208 48.6 156 95.4 112.6zM288 336c44.2 0 80-35.8 80-80s-35.8-80-80-80c-.7 0-1.3 0-2 0c1.3 5.1 2 10.5 2 16c0 35.3-28.7 64-64 64c-5.5 0-10.9-.7-16-2c0 .7 0 1.3 0 2c0 44.2 35.8 80 80 80zm0-208a128 128 0 1 1 0 256 128 128 0 1 1 0-256z"
fill="currentColor" fill="currentColor"
style={Object {}}
/> />
</svg> </svg>
@@ -2307,88 +2767,79 @@ exports[`<ProfilePage /> Renders correctly in various states test country edit w
</p> </p>
</div> </div>
<div <div
className="row align-items-stretch" class="row align-items-stretch"
> >
<div <div
className="col col-sm-6 d-flex align-items-stretch" class="col-12 col-sm-6 d-flex align-items-stretch"
> >
<div <div
className="card mb-4 certificate flex-grow-1" class="card mb-4 certificate flex-grow-1"
> >
<div <div
className="certificate-type-illustration" class="certificate-type-illustration"
style={ style="background-image: url(icon/mock/path);"
Object {
"backgroundImage": "url(icon/mock/path)",
}
}
/> />
<div <div
className="card-body d-flex flex-column" class="card-body d-flex flex-column"
> >
<div <div
className="card-title" class="card-title"
> >
<p <p
className="small mb-0" class="small mb-0"
> >
Verified Certificate Verified Certificate
</p> </p>
<h4 <h4
className="certificate-title" class="certificate-title"
> >
edX Demonstration Course edX Demonstration Course
</h4> </h4>
</div> </div>
<p <p
className="small mb-0" class="small mb-0"
> >
From From
</p> </p>
<p <p
className="h6 mb-4" class="h6 mb-4"
> >
edX edX
</p> </p>
<div <div
className="flex-grow-1" class="flex-grow-1"
/> />
<p <p
className="small mb-2" class="small mb-2"
> >
Completed on Completed on
3/4/2019 3/4/2019
</p> </p>
<div> <div>
<a <a
className="pgn__hyperlink default-link standalone-link btn btn-outline-primary" class="pgn__hyperlink default-link standalone-link btn btn-outline-primary"
href="http://www.example.com/" href="http://www.example.com/"
onClick={[Function]}
rel="noopener noreferrer" rel="noopener noreferrer"
target="_blank" target="_blank"
> >
View Certificate View Certificate
<span <span
className="pgn__hyperlink__external-icon" class="pgn__hyperlink__external-icon"
title="Opens in a new tab" title="Opens in a new tab"
> >
<span <span
className="pgn__icon" class="pgn__icon"
style={ data-testid="hyperlink-icon"
Object { style="height: 1em; width: 1em;"
"height": "1em",
"width": "1em",
}
}
> >
<svg <svg
aria-hidden={true} aria-hidden="true"
fill="none" fill="none"
focusable={false} focusable="false"
height={24} height="24"
role="img" role="img"
viewBox="0 0 24 24" viewBox="0 0 24 24"
width={24} width="24"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
> >
<path <path
@@ -2397,7 +2848,7 @@ exports[`<ProfilePage /> Renders correctly in various states test country edit w
/> />
</svg> </svg>
<span <span
className="sr-only" class="sr-only"
> >
in a new tab in a new tab
</span> </span>
@@ -2415,46 +2866,46 @@ exports[`<ProfilePage /> Renders correctly in various states test country edit w
</div> </div>
</div> </div>
</div> </div>
</div>
`; `;
exports[`<ProfilePage /> Renders correctly in various states test education edit with error 1`] = ` exports[`<ProfilePage /> Renders correctly in various states test education edit with error 1`] = `
<div>
<div <div
className="profile-page" class="profile-page"
> >
<div <div
className="profile-page-bg-banner bg-primary d-none d-md-block p-relative" class="profile-page-bg-banner bg-primary d-md-block p-relative"
/> />
<div <div
className="container-fluid" class="container-fluid"
> >
<div <div
className="row align-items-center pt-4 mb-4 pt-md-0 mb-md-0" class="row align-items-center pt-4 mb-4 pt-md-0 mb-md-0"
> >
<div <div
className="col-auto col-md-4 col-lg-3" class="col-auto col-md-4 col-lg-3"
> >
<div <div
className="d-flex align-items-center d-md-block" class="d-flex align-items-center d-md-block"
> >
<div <div
className="profile-avatar-wrap position-relative" class="profile-avatar-wrap position-relative"
> >
<div <div
className="profile-avatar rounded-circle bg-light" class="profile-avatar rounded-circle bg-light"
> >
<div <div
className="profile-avatar-menu-container" class="profile-avatar-menu-container"
> >
<div <div
className="pgn__dropdown pgn__dropdown-light dropdown" class="pgn__dropdown pgn__dropdown-light dropdown"
data-testid="dropdown" data-testid="dropdown"
> >
<button <button
aria-expanded={false} aria-expanded="false"
aria-haspopup={true} aria-haspopup="true"
className="dropdown-toggle btn btn-primary" class="dropdown-toggle btn btn-primary"
disabled={false}
onClick={[Function]}
type="button" type="button"
> >
Change Change
@@ -2463,92 +2914,78 @@ exports[`<ProfilePage /> Renders correctly in various states test education edit
</div> </div>
<img <img
alt="profile avatar" alt="profile avatar"
className="w-100 h-100 d-block rounded-circle overflow-hidden" class="w-100 h-100 d-block rounded-circle overflow-hidden"
data-hj-suppress={true} data-hj-suppress="true"
src="http://localhost:18000/media/profile-images/d2a9bdc2ba165dcefc73265c54bf9a20_500.jpg?v=1552495012" src="http://localhost:18000/media/profile-images/d2a9bdc2ba165dcefc73265c54bf9a20_500.jpg?v=1552495012"
style={ style="object-fit: cover;"
Object {
"objectFit": "cover",
}
}
/> />
</div> </div>
<form <form
encType="multipart/form-data" enctype="multipart/form-data"
onSubmit={[Function]}
> >
<input <input
accept=".jpg, .jpeg, .png" accept=".jpg, .jpeg, .png"
className="d-none form-control-file" class="d-none form-control-file"
id="photo-file" id="photo-file"
name="file" name="file"
onChange={[Function]}
type="file" type="file"
/> />
</form> </form>
</div> </div>
</div> </div>
</div> </div>
<div>
PluginPOC
</div>
<div <div
className="col pl-0" class="col"
> >
<div <div
className="d-md-none" class="d-md-none"
> >
<span <span
data-hj-suppress={true} data-hj-suppress="true"
> >
<h1 <h1
className="h2 mb-0 font-weight-bold" class="h2 mb-0 font-weight-bold text-truncate"
> >
staff staff
</h1> </h1>
<p <p
className="mb-0" class="mb-0"
> >
Member since Member since
2017 2017
</p> </p>
<hr <hr
className="d-none d-md-block" class="d-none d-md-block"
/> />
</span> </span>
</div> </div>
<div <div
className="d-none d-md-block float-right" class="d-none d-md-block float-right"
> >
<a <a
className="pgn__hyperlink default-link standalone-link btn btn-primary" class="pgn__hyperlink default-link standalone-link btn btn-primary"
href="http://localhost:18150/records" href="http://localhost:18150/records"
onClick={[Function]}
rel="noopener noreferrer" rel="noopener noreferrer"
target="_blank" target="_blank"
> >
View My Records View My Records
<span <span
className="pgn__hyperlink__external-icon" class="pgn__hyperlink__external-icon"
title="Opens in a new tab" title="Opens in a new tab"
> >
<span <span
className="pgn__icon" class="pgn__icon"
style={ data-testid="hyperlink-icon"
Object { style="height: 1em; width: 1em;"
"height": "1em",
"width": "1em",
}
}
> >
<svg <svg
aria-hidden={true} aria-hidden="true"
fill="none" fill="none"
focusable={false} focusable="false"
height={24} height="24"
role="img" role="img"
viewBox="0 0 24 24" viewBox="0 0 24 24"
width={24} width="24"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
> >
<path <path
@@ -2557,7 +2994,7 @@ exports[`<ProfilePage /> Renders correctly in various states test education edit
/> />
</svg> </svg>
<span <span
className="sr-only" class="sr-only"
> >
in a new tab in a new tab
</span> </span>
@@ -2568,65 +3005,60 @@ exports[`<ProfilePage /> Renders correctly in various states test education edit
</div> </div>
</div> </div>
<div <div
className="row" class="row"
> >
<div <div
className="col-md-4 col-lg-4" class="col-md-4 col-lg-4"
> >
<div <div
className="d-none d-md-block mb-4" class="d-none d-md-block mb-4"
> >
<span <span
data-hj-suppress={true} data-hj-suppress="true"
> >
<h1 <h1
className="h2 mb-0 font-weight-bold" class="h2 mb-0 font-weight-bold text-truncate"
> >
staff staff
</h1> </h1>
<p <p
className="mb-0" class="mb-0"
> >
Member since Member since
2017 2017
</p> </p>
<hr <hr
className="d-none d-md-block" class="d-none d-md-block"
/> />
</span> </span>
</div> </div>
<div <div
className="d-md-none mb-4" class="d-md-none mb-4"
> >
<a <a
className="pgn__hyperlink default-link standalone-link btn btn-primary" class="pgn__hyperlink default-link standalone-link btn btn-primary"
href="http://localhost:18150/records" href="http://localhost:18150/records"
onClick={[Function]}
rel="noopener noreferrer" rel="noopener noreferrer"
target="_blank" target="_blank"
> >
View My Records View My Records
<span <span
className="pgn__hyperlink__external-icon" class="pgn__hyperlink__external-icon"
title="Opens in a new tab" title="Opens in a new tab"
> >
<span <span
className="pgn__icon" class="pgn__icon"
style={ data-testid="hyperlink-icon"
Object { style="height: 1em; width: 1em;"
"height": "1em",
"width": "1em",
}
}
> >
<svg <svg
aria-hidden={true} aria-hidden="true"
fill="none" fill="none"
focusable={false} focusable="false"
height={24} height="24"
role="img" role="img"
viewBox="0 0 24 24" viewBox="0 0 24 24"
width={24} width="24"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
> >
<path <path
@@ -2635,7 +3067,7 @@ exports[`<ProfilePage /> Renders correctly in various states test education edit
/> />
</svg> </svg>
<span <span
className="sr-only" class="sr-only"
> >
in a new tab in a new tab
</span> </span>
@@ -2644,80 +3076,60 @@ exports[`<ProfilePage /> Renders correctly in various states test education edit
</a> </a>
</div> </div>
<div <div
className="pgn-transition-replace-group position-relative mb-5" class="pgn-transition-replace-group position-relative mb-5"
style={
Object {
"height": null,
}
}
> >
<div <div
style={ style="padding: .1px 0px;"
Object {
"padding": ".1px 0",
}
}
> >
<div <div
className="editable-item-header mb-2" class="editable-item-header mb-2"
> >
<h2 <h2
className="edit-section-header" class="edit-section-header"
id={null}
> >
Full Name Full Name
<button <button
className="float-right px-0 btn btn-link btn-sm" class="float-right px-0 btn btn-link btn-sm"
disabled={false} style="margin-top: -.35rem;"
onClick={[Function]}
style={
Object {
"marginTop": "-.35rem",
}
}
type="button" type="button"
> >
<svg <svg
aria-hidden="true" aria-hidden="true"
className="svg-inline--fa fa-pencil-alt fa-w-16 mr-1" class="svg-inline--fa fa-pencil mr-1"
data-icon="pencil-alt" data-icon="pencil"
data-prefix="fas" data-prefix="fas"
focusable="false" focusable="false"
role="img" role="img"
style={Object {}}
viewBox="0 0 512 512" viewBox="0 0 512 512"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
> >
<path <path
d="M497.9 142.1l-46.1 46.1c-4.7 4.7-12.3 4.7-17 0l-111-111c-4.7-4.7-4.7-12.3 0-17l46.1-46.1c18.7-18.7 49.1-18.7 67.9 0l60.1 60.1c18.8 18.7 18.8 49.1 0 67.9zM284.2 99.8L21.6 362.4.4 483.9c-2.9 16.4 11.4 30.6 27.8 27.8l121.5-21.3 262.6-262.6c4.7-4.7 4.7-12.3 0-17l-111-111c-4.8-4.7-12.4-4.7-17.1 0zM124.1 339.9c-5.5-5.5-5.5-14.3 0-19.8l154-154c5.5-5.5 14.3-5.5 19.8 0s5.5 14.3 0 19.8l-154 154c-5.5 5.5-14.3 5.5-19.8 0zM88 424h48v36.3l-64.5 11.3-31.1-31.1L51.7 376H88v48z" d="M410.3 231l11.3-11.3-33.9-33.9-62.1-62.1L291.7 89.8l-11.3 11.3-22.6 22.6L58.6 322.9c-10.4 10.4-18 23.3-22.2 37.4L1 480.7c-2.5 8.4-.2 17.5 6.1 23.7s15.3 8.5 23.7 6.1l120.3-35.4c14.1-4.2 27-11.8 37.4-22.2L387.7 253.7 410.3 231zM160 399.4l-9.1 22.7c-4 3.1-8.5 5.4-13.3 6.9L59.4 452l23-78.1c1.4-4.9 3.8-9.4 6.9-13.3l22.7-9.1 0 32c0 8.8 7.2 16 16 16l32 0zM362.7 18.7L348.3 33.2 325.7 55.8 314.3 67.1l33.9 33.9 62.1 62.1 33.9 33.9 11.3-11.3 22.6-22.6 14.5-14.5c25-25 25-65.5 0-90.5L453.3 18.7c-25-25-65.5-25-90.5 0zm-47.4 168l-144 144c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l144-144c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z"
fill="currentColor" fill="currentColor"
style={Object {}}
/> />
</svg> </svg>
Edit Edit
</button> </button>
</h2> </h2>
<p <p
className="mb-0" class="mb-0"
> >
<span <span
className="ml-auto small text-muted" class="ml-auto small text-muted"
> >
<svg <svg
aria-hidden="true" aria-hidden="true"
className="svg-inline--fa fa-eye-slash fa-w-20 " class="svg-inline--fa fa-eye-slash "
data-icon="eye-slash" data-icon="eye-slash"
data-prefix="far" data-prefix="far"
focusable="false" focusable="false"
role="img" role="img"
style={Object {}}
viewBox="0 0 640 512" viewBox="0 0 640 512"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
> >
<path <path
d="M634 471L36 3.51A16 16 0 0 0 13.51 6l-10 12.49A16 16 0 0 0 6 41l598 467.49a16 16 0 0 0 22.49-2.49l10-12.49A16 16 0 0 0 634 471zM296.79 146.47l134.79 105.38C429.36 191.91 380.48 144 320 144a112.26 112.26 0 0 0-23.21 2.47zm46.42 219.07L208.42 260.16C210.65 320.09 259.53 368 320 368a113 113 0 0 0 23.21-2.46zM320 112c98.65 0 189.09 55 237.93 144a285.53 285.53 0 0 1-44 60.2l37.74 29.5a333.7 333.7 0 0 0 52.9-75.11 32.35 32.35 0 0 0 0-29.19C550.29 135.59 442.93 64 320 64c-36.7 0-71.71 7-104.63 18.81l46.41 36.29c18.94-4.3 38.34-7.1 58.22-7.1zm0 288c-98.65 0-189.08-55-237.93-144a285.47 285.47 0 0 1 44.05-60.19l-37.74-29.5a333.6 333.6 0 0 0-52.89 75.1 32.35 32.35 0 0 0 0 29.19C89.72 376.41 197.08 448 320 448c36.7 0 71.71-7.05 104.63-18.81l-46.41-36.28C359.28 397.2 339.89 400 320 400z" d="M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L525.6 386.7c39.6-40.6 66.4-86.1 79.9-118.4c3.3-7.9 3.3-16.7 0-24.6c-14.9-35.7-46.2-87.7-93-131.1C465.5 68.8 400.8 32 320 32c-68.2 0-125 26.3-169.3 60.8L38.8 5.1zm151 118.3C226 97.7 269.5 80 320 80c65.2 0 118.8 29.6 159.9 67.7C518.4 183.5 545 226 558.6 256c-12.6 28-36.6 66.8-70.9 100.9l-53.8-42.2c9.1-17.6 14.2-37.5 14.2-58.7c0-70.7-57.3-128-128-128c-32.2 0-61.7 11.9-84.2 31.5l-46.1-36.1zM394.9 284.2l-81.5-63.9c4.2-8.5 6.6-18.2 6.6-28.3c0-5.5-.7-10.9-2-16c.7 0 1.3 0 2 0c44.2 0 80 35.8 80 80c0 9.9-1.8 19.4-5.1 28.2zm9.4 130.3C378.8 425.4 350.7 432 320 432c-65.2 0-118.8-29.6-159.9-67.7C121.6 328.5 95 286 81.4 256c8.3-18.4 21.5-41.5 39.4-64.8L83.1 161.5C60.3 191.2 44 220.8 34.5 243.7c-3.3 7.9-3.3 16.7 0 24.6c14.9 35.7 46.2 87.7 93 131.1C174.5 443.2 239.2 480 320 480c47.8 0 89.9-12.9 126.2-32.5l-41.9-33zM192 256c0 70.7 57.3 128 128 128c13.3 0 26.1-2 38.2-5.8L302 334c-23.5-5.4-43.1-21.2-53.7-42.3l-56.1-44.2c-.2 2.8-.3 5.6-.3 8.5z"
fill="currentColor" fill="currentColor"
style={Object {}}
/> />
</svg> </svg>
@@ -2726,93 +3138,73 @@ exports[`<ProfilePage /> Renders correctly in various states test education edit
</p> </p>
</div> </div>
<p <p
className="h5" class="h5"
data-hj-suppress={true} data-hj-suppress="true"
> >
Lemon Seltzer Lemon Seltzer
</p> </p>
<small <small
className="form-text text-muted" class="form-text text-muted"
> >
This is the name that appears in your account and on your certificates. This is the name that appears in your account and on your certificates.
</small> </small>
</div> </div>
</div> </div>
<div <div
className="pgn-transition-replace-group position-relative mb-5" class="pgn-transition-replace-group position-relative mb-5"
style={
Object {
"height": null,
}
}
> >
<div <div
style={ style="padding: .1px 0px;"
Object {
"padding": ".1px 0",
}
}
> >
<div <div
className="editable-item-header mb-2" class="editable-item-header mb-2"
> >
<h2 <h2
className="edit-section-header" class="edit-section-header"
id={null}
> >
Location Location
<button <button
className="float-right px-0 btn btn-link btn-sm" class="float-right px-0 btn btn-link btn-sm"
disabled={false} style="margin-top: -.35rem;"
onClick={[Function]}
style={
Object {
"marginTop": "-.35rem",
}
}
type="button" type="button"
> >
<svg <svg
aria-hidden="true" aria-hidden="true"
className="svg-inline--fa fa-pencil-alt fa-w-16 mr-1" class="svg-inline--fa fa-pencil mr-1"
data-icon="pencil-alt" data-icon="pencil"
data-prefix="fas" data-prefix="fas"
focusable="false" focusable="false"
role="img" role="img"
style={Object {}}
viewBox="0 0 512 512" viewBox="0 0 512 512"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
> >
<path <path
d="M497.9 142.1l-46.1 46.1c-4.7 4.7-12.3 4.7-17 0l-111-111c-4.7-4.7-4.7-12.3 0-17l46.1-46.1c18.7-18.7 49.1-18.7 67.9 0l60.1 60.1c18.8 18.7 18.8 49.1 0 67.9zM284.2 99.8L21.6 362.4.4 483.9c-2.9 16.4 11.4 30.6 27.8 27.8l121.5-21.3 262.6-262.6c4.7-4.7 4.7-12.3 0-17l-111-111c-4.8-4.7-12.4-4.7-17.1 0zM124.1 339.9c-5.5-5.5-5.5-14.3 0-19.8l154-154c5.5-5.5 14.3-5.5 19.8 0s5.5 14.3 0 19.8l-154 154c-5.5 5.5-14.3 5.5-19.8 0zM88 424h48v36.3l-64.5 11.3-31.1-31.1L51.7 376H88v48z" d="M410.3 231l11.3-11.3-33.9-33.9-62.1-62.1L291.7 89.8l-11.3 11.3-22.6 22.6L58.6 322.9c-10.4 10.4-18 23.3-22.2 37.4L1 480.7c-2.5 8.4-.2 17.5 6.1 23.7s15.3 8.5 23.7 6.1l120.3-35.4c14.1-4.2 27-11.8 37.4-22.2L387.7 253.7 410.3 231zM160 399.4l-9.1 22.7c-4 3.1-8.5 5.4-13.3 6.9L59.4 452l23-78.1c1.4-4.9 3.8-9.4 6.9-13.3l22.7-9.1 0 32c0 8.8 7.2 16 16 16l32 0zM362.7 18.7L348.3 33.2 325.7 55.8 314.3 67.1l33.9 33.9 62.1 62.1 33.9 33.9 11.3-11.3 22.6-22.6 14.5-14.5c25-25 25-65.5 0-90.5L453.3 18.7c-25-25-65.5-25-90.5 0zm-47.4 168l-144 144c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l144-144c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z"
fill="currentColor" fill="currentColor"
style={Object {}}
/> />
</svg> </svg>
Edit Edit
</button> </button>
</h2> </h2>
<p <p
className="mb-0" class="mb-0"
> >
<span <span
className="ml-auto small text-muted" class="ml-auto small text-muted"
> >
<svg <svg
aria-hidden="true" aria-hidden="true"
className="svg-inline--fa fa-eye fa-w-18 " class="svg-inline--fa fa-eye "
data-icon="eye" data-icon="eye"
data-prefix="far" data-prefix="far"
focusable="false" focusable="false"
role="img" role="img"
style={Object {}}
viewBox="0 0 576 512" viewBox="0 0 576 512"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
> >
<path <path
d="M288 144a110.94 110.94 0 0 0-31.24 5 55.4 55.4 0 0 1 7.24 27 56 56 0 0 1-56 56 55.4 55.4 0 0 1-27-7.24A111.71 111.71 0 1 0 288 144zm284.52 97.4C518.29 135.59 410.93 64 288 64S57.68 135.64 3.48 241.41a32.35 32.35 0 0 0 0 29.19C57.71 376.41 165.07 448 288 448s230.32-71.64 284.52-177.41a32.35 32.35 0 0 0 0-29.19zM288 400c-98.65 0-189.09-55-237.93-144C98.91 167 189.34 112 288 112s189.09 55 237.93 144C477.1 345 386.66 400 288 400z" d="M288 80c-65.2 0-118.8 29.6-159.9 67.7C89.6 183.5 63 226 49.4 256c13.6 30 40.2 72.5 78.6 108.3C169.2 402.4 222.8 432 288 432s118.8-29.6 159.9-67.7C486.4 328.5 513 286 526.6 256c-13.6-30-40.2-72.5-78.6-108.3C406.8 109.6 353.2 80 288 80zM95.4 112.6C142.5 68.8 207.2 32 288 32s145.5 36.8 192.6 80.6c46.8 43.5 78.1 95.4 93 131.1c3.3 7.9 3.3 16.7 0 24.6c-14.9 35.7-46.2 87.7-93 131.1C433.5 443.2 368.8 480 288 480s-145.5-36.8-192.6-80.6C48.6 356 17.3 304 2.5 268.3c-3.3-7.9-3.3-16.7 0-24.6C17.3 208 48.6 156 95.4 112.6zM288 336c44.2 0 80-35.8 80-80s-35.8-80-80-80c-.7 0-1.3 0-2 0c1.3 5.1 2 10.5 2 16c0 35.3-28.7 64-64 64c-5.5 0-10.9-.7-16-2c0 .7 0 1.3 0 2c0 44.2 35.8 80 80 80zm0-208a128 128 0 1 1 0 256 128 128 0 1 1 0-256z"
fill="currentColor" fill="currentColor"
style={Object {}}
/> />
</svg> </svg>
@@ -2821,88 +3213,68 @@ exports[`<ProfilePage /> Renders correctly in various states test education edit
</p> </p>
</div> </div>
<p <p
className="h5" class="h5"
data-hj-suppress={true} data-hj-suppress="true"
> >
Montenegro Montenegro
</p> </p>
</div> </div>
</div> </div>
<div <div
className="pgn-transition-replace-group position-relative mb-5" class="pgn-transition-replace-group position-relative mb-5"
style={
Object {
"height": null,
}
}
> >
<div <div
style={ style="padding: .1px 0px;"
Object {
"padding": ".1px 0",
}
}
> >
<div <div
className="editable-item-header mb-2" class="editable-item-header mb-2"
> >
<h2 <h2
className="edit-section-header" class="edit-section-header"
id={null}
> >
Primary Language Spoken Primary Language Spoken
<button <button
className="float-right px-0 btn btn-link btn-sm" class="float-right px-0 btn btn-link btn-sm"
disabled={false} style="margin-top: -.35rem;"
onClick={[Function]}
style={
Object {
"marginTop": "-.35rem",
}
}
type="button" type="button"
> >
<svg <svg
aria-hidden="true" aria-hidden="true"
className="svg-inline--fa fa-pencil-alt fa-w-16 mr-1" class="svg-inline--fa fa-pencil mr-1"
data-icon="pencil-alt" data-icon="pencil"
data-prefix="fas" data-prefix="fas"
focusable="false" focusable="false"
role="img" role="img"
style={Object {}}
viewBox="0 0 512 512" viewBox="0 0 512 512"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
> >
<path <path
d="M497.9 142.1l-46.1 46.1c-4.7 4.7-12.3 4.7-17 0l-111-111c-4.7-4.7-4.7-12.3 0-17l46.1-46.1c18.7-18.7 49.1-18.7 67.9 0l60.1 60.1c18.8 18.7 18.8 49.1 0 67.9zM284.2 99.8L21.6 362.4.4 483.9c-2.9 16.4 11.4 30.6 27.8 27.8l121.5-21.3 262.6-262.6c4.7-4.7 4.7-12.3 0-17l-111-111c-4.8-4.7-12.4-4.7-17.1 0zM124.1 339.9c-5.5-5.5-5.5-14.3 0-19.8l154-154c5.5-5.5 14.3-5.5 19.8 0s5.5 14.3 0 19.8l-154 154c-5.5 5.5-14.3 5.5-19.8 0zM88 424h48v36.3l-64.5 11.3-31.1-31.1L51.7 376H88v48z" d="M410.3 231l11.3-11.3-33.9-33.9-62.1-62.1L291.7 89.8l-11.3 11.3-22.6 22.6L58.6 322.9c-10.4 10.4-18 23.3-22.2 37.4L1 480.7c-2.5 8.4-.2 17.5 6.1 23.7s15.3 8.5 23.7 6.1l120.3-35.4c14.1-4.2 27-11.8 37.4-22.2L387.7 253.7 410.3 231zM160 399.4l-9.1 22.7c-4 3.1-8.5 5.4-13.3 6.9L59.4 452l23-78.1c1.4-4.9 3.8-9.4 6.9-13.3l22.7-9.1 0 32c0 8.8 7.2 16 16 16l32 0zM362.7 18.7L348.3 33.2 325.7 55.8 314.3 67.1l33.9 33.9 62.1 62.1 33.9 33.9 11.3-11.3 22.6-22.6 14.5-14.5c25-25 25-65.5 0-90.5L453.3 18.7c-25-25-65.5-25-90.5 0zm-47.4 168l-144 144c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l144-144c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z"
fill="currentColor" fill="currentColor"
style={Object {}}
/> />
</svg> </svg>
Edit Edit
</button> </button>
</h2> </h2>
<p <p
className="mb-0" class="mb-0"
> >
<span <span
className="ml-auto small text-muted" class="ml-auto small text-muted"
> >
<svg <svg
aria-hidden="true" aria-hidden="true"
className="svg-inline--fa fa-eye fa-w-18 " class="svg-inline--fa fa-eye "
data-icon="eye" data-icon="eye"
data-prefix="far" data-prefix="far"
focusable="false" focusable="false"
role="img" role="img"
style={Object {}}
viewBox="0 0 576 512" viewBox="0 0 576 512"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
> >
<path <path
d="M288 144a110.94 110.94 0 0 0-31.24 5 55.4 55.4 0 0 1 7.24 27 56 56 0 0 1-56 56 55.4 55.4 0 0 1-27-7.24A111.71 111.71 0 1 0 288 144zm284.52 97.4C518.29 135.59 410.93 64 288 64S57.68 135.64 3.48 241.41a32.35 32.35 0 0 0 0 29.19C57.71 376.41 165.07 448 288 448s230.32-71.64 284.52-177.41a32.35 32.35 0 0 0 0-29.19zM288 400c-98.65 0-189.09-55-237.93-144C98.91 167 189.34 112 288 112s189.09 55 237.93 144C477.1 345 386.66 400 288 400z" d="M288 80c-65.2 0-118.8 29.6-159.9 67.7C89.6 183.5 63 226 49.4 256c13.6 30 40.2 72.5 78.6 108.3C169.2 402.4 222.8 432 288 432s118.8-29.6 159.9-67.7C486.4 328.5 513 286 526.6 256c-13.6-30-40.2-72.5-78.6-108.3C406.8 109.6 353.2 80 288 80zM95.4 112.6C142.5 68.8 207.2 32 288 32s145.5 36.8 192.6 80.6c46.8 43.5 78.1 95.4 93 131.1c3.3 7.9 3.3 16.7 0 24.6c-14.9 35.7-46.2 87.7-93 131.1C433.5 443.2 368.8 480 288 480s-145.5-36.8-192.6-80.6C48.6 356 17.3 304 2.5 268.3c-3.3-7.9-3.3-16.7 0-24.6C17.3 208 48.6 156 95.4 112.6zM288 336c44.2 0 80-35.8 80-80s-35.8-80-80-80c-.7 0-1.3 0-2 0c1.3 5.1 2 10.5 2 16c0 35.3-28.7 64-64 64c-5.5 0-10.9-.7-16-2c0 .7 0 1.3 0 2c0 44.2 35.8 80 80 80zm0-208a128 128 0 1 1 0 256 128 128 0 1 1 0-256z"
fill="currentColor" fill="currentColor"
style={Object {}}
/> />
</svg> </svg>
@@ -2911,51 +3283,38 @@ exports[`<ProfilePage /> Renders correctly in various states test education edit
</p> </p>
</div> </div>
<p <p
className="h5" class="h5"
data-hj-suppress={true} data-hj-suppress="true"
> >
Yoruba Yoruba
</p> </p>
</div> </div>
</div> </div>
<div <div
className="pgn-transition-replace-group position-relative mb-5" class="pgn-transition-replace-group position-relative mb-5"
style={
Object {
"height": null,
}
}
> >
<div <div
style={ style="padding: .1px 0px;"
Object {
"padding": ".1px 0",
}
}
> >
<div <div
aria-labelledby="levelOfEducation-label" aria-labelledby="levelOfEducation-label"
role="dialog" role="dialog"
> >
<form <form>
onSubmit={[Function]}
>
<div <div
className="pgn__form-group" class="pgn__form-group"
> >
<label <label
className="edit-section-header" class="edit-section-header"
htmlFor="levelOfEducation" for="levelOfEducation"
> >
Education Education
</label> </label>
<select <select
className="form-control" class="form-control"
data-hj-suppress={true} data-hj-suppress="true"
id="levelOfEducation" id="levelOfEducation"
name="levelOfEducation" name="levelOfEducation"
onChange={[Function]}
value="el"
> >
<option <option
value="" value=""
@@ -3009,7 +3368,7 @@ exports[`<ProfilePage /> Renders correctly in various states test education edit
</option> </option>
</select> </select>
<div <div
className="pgn__form-control-description pgn__form-text pgn__form-text-invalid" class="pgn__form-control-description pgn__form-text pgn__form-text-invalid"
id="levelOfEducation-3" id="levelOfEducation-3"
> >
<div> <div>
@@ -3018,53 +3377,45 @@ exports[`<ProfilePage /> Renders correctly in various states test education edit
</div> </div>
</div> </div>
<div <div
className="d-flex flex-row-reverse flex-wrap justify-content-end align-items-center" class="d-flex flex-row-reverse flex-wrap justify-content-end align-items-center"
> >
<div <div
className="form-group d-flex flex-wrap" class="form-group d-flex flex-wrap"
> >
<label <label
className="col-form-label" class="col-form-label"
htmlFor="visibilityLevelOfEducation" for="visibilityLevelOfEducation"
> >
Who can see this: Who can see this:
</label> </label>
<span <span
className="d-flex align-items-center" class="d-flex align-items-center"
> >
<span <span
className="d-inline-block ml-1 mr-2" class="d-inline-block ml-1 mr-2"
style={ style="width: 1.5rem;"
Object {
"width": "1.5rem",
}
}
> >
<svg <svg
aria-hidden="true" aria-hidden="true"
className="svg-inline--fa fa-eye-slash fa-w-20 " class="svg-inline--fa fa-eye-slash "
data-icon="eye-slash" data-icon="eye-slash"
data-prefix="far" data-prefix="far"
focusable="false" focusable="false"
role="img" role="img"
style={Object {}}
viewBox="0 0 640 512" viewBox="0 0 640 512"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
> >
<path <path
d="M634 471L36 3.51A16 16 0 0 0 13.51 6l-10 12.49A16 16 0 0 0 6 41l598 467.49a16 16 0 0 0 22.49-2.49l10-12.49A16 16 0 0 0 634 471zM296.79 146.47l134.79 105.38C429.36 191.91 380.48 144 320 144a112.26 112.26 0 0 0-23.21 2.47zm46.42 219.07L208.42 260.16C210.65 320.09 259.53 368 320 368a113 113 0 0 0 23.21-2.46zM320 112c98.65 0 189.09 55 237.93 144a285.53 285.53 0 0 1-44 60.2l37.74 29.5a333.7 333.7 0 0 0 52.9-75.11 32.35 32.35 0 0 0 0-29.19C550.29 135.59 442.93 64 320 64c-36.7 0-71.71 7-104.63 18.81l46.41 36.29c18.94-4.3 38.34-7.1 58.22-7.1zm0 288c-98.65 0-189.08-55-237.93-144a285.47 285.47 0 0 1 44.05-60.19l-37.74-29.5a333.6 333.6 0 0 0-52.89 75.1 32.35 32.35 0 0 0 0 29.19C89.72 376.41 197.08 448 320 448c36.7 0 71.71-7.05 104.63-18.81l-46.41-36.28C359.28 397.2 339.89 400 320 400z" d="M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L525.6 386.7c39.6-40.6 66.4-86.1 79.9-118.4c3.3-7.9 3.3-16.7 0-24.6c-14.9-35.7-46.2-87.7-93-131.1C465.5 68.8 400.8 32 320 32c-68.2 0-125 26.3-169.3 60.8L38.8 5.1zm151 118.3C226 97.7 269.5 80 320 80c65.2 0 118.8 29.6 159.9 67.7C518.4 183.5 545 226 558.6 256c-12.6 28-36.6 66.8-70.9 100.9l-53.8-42.2c9.1-17.6 14.2-37.5 14.2-58.7c0-70.7-57.3-128-128-128c-32.2 0-61.7 11.9-84.2 31.5l-46.1-36.1zM394.9 284.2l-81.5-63.9c4.2-8.5 6.6-18.2 6.6-28.3c0-5.5-.7-10.9-2-16c.7 0 1.3 0 2 0c44.2 0 80 35.8 80 80c0 9.9-1.8 19.4-5.1 28.2zm9.4 130.3C378.8 425.4 350.7 432 320 432c-65.2 0-118.8-29.6-159.9-67.7C121.6 328.5 95 286 81.4 256c8.3-18.4 21.5-41.5 39.4-64.8L83.1 161.5C60.3 191.2 44 220.8 34.5 243.7c-3.3 7.9-3.3 16.7 0 24.6c14.9 35.7 46.2 87.7 93 131.1C174.5 443.2 239.2 480 320 480c47.8 0 89.9-12.9 126.2-32.5l-41.9-33zM192 256c0 70.7 57.3 128 128 128c13.3 0 26.1-2 38.2-5.8L302 334c-23.5-5.4-43.1-21.2-53.7-42.3l-56.1-44.2c-.2 2.8-.3 5.6-.3 8.5z"
fill="currentColor" fill="currentColor"
style={Object {}}
/> />
</svg> </svg>
</span> </span>
<select <select
className="d-inline-block w-auto form-control" class="d-inline-block form-control"
id="visibilityLevelOfEducation" id="visibilityLevelOfEducation"
name="visibilityLevelOfEducation" name="visibilityLevelOfEducation"
onChange={[Function]}
type="select" type="select"
value="private"
> >
<option <option
value="private" value="private"
@@ -3080,33 +3431,31 @@ exports[`<ProfilePage /> Renders correctly in various states test education edit
</span> </span>
</div> </div>
<div <div
className="form-group flex-shrink-0 flex-grow-1" class="form-group flex-shrink-0 flex-grow-1"
> >
<button <button
aria-disabled={false} aria-disabled="false"
aria-live="assertive" aria-live="assertive"
className="pgn__stateful-btn pgn__stateful-btn-state-pending btn btn-primary" class="pgn__stateful-btn pgn__stateful-btn-state-pending btn btn-primary"
disabled={false}
onClick={[Function]}
type="submit" type="submit"
> >
<span <span
className="d-flex align-items-center justify-content-center" class="d-flex align-items-center justify-content-center"
> >
<span <span
className="pgn__stateful-btn-icon" class="pgn__stateful-btn-icon"
> >
<span <span
className="pgn__icon icon-spin" class="pgn__icon icon-spin"
> >
<svg <svg
aria-hidden={true} aria-hidden="true"
fill="none" fill="none"
focusable={false} focusable="false"
height={24} height="24"
role="img" role="img"
viewBox="0 0 24 24" viewBox="0 0 24 24"
width={24} width="24"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
> >
<path <path
@@ -3122,9 +3471,7 @@ exports[`<ProfilePage /> Renders correctly in various states test education edit
</span> </span>
</button> </button>
<button <button
className="btn btn-link" class="btn btn-link"
disabled={false}
onClick={[Function]}
type="button" type="button"
> >
Cancel Cancel
@@ -3136,80 +3483,60 @@ exports[`<ProfilePage /> Renders correctly in various states test education edit
</div> </div>
</div> </div>
<div <div
className="pgn-transition-replace-group position-relative mb-5" class="pgn-transition-replace-group position-relative mb-5"
style={
Object {
"height": null,
}
}
> >
<div <div
style={ style="padding: .1px 0px;"
Object {
"padding": ".1px 0",
}
}
> >
<div <div
className="editable-item-header mb-2" class="editable-item-header mb-2"
> >
<h2 <h2
className="edit-section-header" class="edit-section-header"
id={null}
> >
Social Links Social Links
<button <button
className="float-right px-0 btn btn-link btn-sm" class="float-right px-0 btn btn-link btn-sm"
disabled={false} style="margin-top: -.35rem;"
onClick={[Function]}
style={
Object {
"marginTop": "-.35rem",
}
}
type="button" type="button"
> >
<svg <svg
aria-hidden="true" aria-hidden="true"
className="svg-inline--fa fa-pencil-alt fa-w-16 mr-1" class="svg-inline--fa fa-pencil mr-1"
data-icon="pencil-alt" data-icon="pencil"
data-prefix="fas" data-prefix="fas"
focusable="false" focusable="false"
role="img" role="img"
style={Object {}}
viewBox="0 0 512 512" viewBox="0 0 512 512"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
> >
<path <path
d="M497.9 142.1l-46.1 46.1c-4.7 4.7-12.3 4.7-17 0l-111-111c-4.7-4.7-4.7-12.3 0-17l46.1-46.1c18.7-18.7 49.1-18.7 67.9 0l60.1 60.1c18.8 18.7 18.8 49.1 0 67.9zM284.2 99.8L21.6 362.4.4 483.9c-2.9 16.4 11.4 30.6 27.8 27.8l121.5-21.3 262.6-262.6c4.7-4.7 4.7-12.3 0-17l-111-111c-4.8-4.7-12.4-4.7-17.1 0zM124.1 339.9c-5.5-5.5-5.5-14.3 0-19.8l154-154c5.5-5.5 14.3-5.5 19.8 0s5.5 14.3 0 19.8l-154 154c-5.5 5.5-14.3 5.5-19.8 0zM88 424h48v36.3l-64.5 11.3-31.1-31.1L51.7 376H88v48z" d="M410.3 231l11.3-11.3-33.9-33.9-62.1-62.1L291.7 89.8l-11.3 11.3-22.6 22.6L58.6 322.9c-10.4 10.4-18 23.3-22.2 37.4L1 480.7c-2.5 8.4-.2 17.5 6.1 23.7s15.3 8.5 23.7 6.1l120.3-35.4c14.1-4.2 27-11.8 37.4-22.2L387.7 253.7 410.3 231zM160 399.4l-9.1 22.7c-4 3.1-8.5 5.4-13.3 6.9L59.4 452l23-78.1c1.4-4.9 3.8-9.4 6.9-13.3l22.7-9.1 0 32c0 8.8 7.2 16 16 16l32 0zM362.7 18.7L348.3 33.2 325.7 55.8 314.3 67.1l33.9 33.9 62.1 62.1 33.9 33.9 11.3-11.3 22.6-22.6 14.5-14.5c25-25 25-65.5 0-90.5L453.3 18.7c-25-25-65.5-25-90.5 0zm-47.4 168l-144 144c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l144-144c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z"
fill="currentColor" fill="currentColor"
style={Object {}}
/> />
</svg> </svg>
Edit Edit
</button> </button>
</h2> </h2>
<p <p
className="mb-0" class="mb-0"
> >
<span <span
className="ml-auto small text-muted" class="ml-auto small text-muted"
> >
<svg <svg
aria-hidden="true" aria-hidden="true"
className="svg-inline--fa fa-eye fa-w-18 " class="svg-inline--fa fa-eye "
data-icon="eye" data-icon="eye"
data-prefix="far" data-prefix="far"
focusable="false" focusable="false"
role="img" role="img"
style={Object {}}
viewBox="0 0 576 512" viewBox="0 0 576 512"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
> >
<path <path
d="M288 144a110.94 110.94 0 0 0-31.24 5 55.4 55.4 0 0 1 7.24 27 56 56 0 0 1-56 56 55.4 55.4 0 0 1-27-7.24A111.71 111.71 0 1 0 288 144zm284.52 97.4C518.29 135.59 410.93 64 288 64S57.68 135.64 3.48 241.41a32.35 32.35 0 0 0 0 29.19C57.71 376.41 165.07 448 288 448s230.32-71.64 284.52-177.41a32.35 32.35 0 0 0 0-29.19zM288 400c-98.65 0-189.09-55-237.93-144C98.91 167 189.34 112 288 112s189.09 55 237.93 144C477.1 345 386.66 400 288 400z" d="M288 80c-65.2 0-118.8 29.6-159.9 67.7C89.6 183.5 63 226 49.4 256c13.6 30 40.2 72.5 78.6 108.3C169.2 402.4 222.8 432 288 432s118.8-29.6 159.9-67.7C486.4 328.5 513 286 526.6 256c-13.6-30-40.2-72.5-78.6-108.3C406.8 109.6 353.2 80 288 80zM95.4 112.6C142.5 68.8 207.2 32 288 32s145.5 36.8 192.6 80.6c46.8 43.5 78.1 95.4 93 131.1c3.3 7.9 3.3 16.7 0 24.6c-14.9 35.7-46.2 87.7-93 131.1C433.5 443.2 368.8 480 288 480s-145.5-36.8-192.6-80.6C48.6 356 17.3 304 2.5 268.3c-3.3-7.9-3.3-16.7 0-24.6C17.3 208 48.6 156 95.4 112.6zM288 336c44.2 0 80-35.8 80-80s-35.8-80-80-80c-.7 0-1.3 0-2 0c1.3 5.1 2 10.5 2 16c0 35.3-28.7 64-64 64c-5.5 0-10.9-.7-16-2c0 .7 0 1.3 0 2c0 44.2 35.8 80 80 80zm0-208a128 128 0 1 1 0 256 128 128 0 1 1 0-256z"
fill="currentColor" fill="currentColor"
style={Object {}}
/> />
</svg> </svg>
@@ -3218,88 +3545,80 @@ exports[`<ProfilePage /> Renders correctly in various states test education edit
</p> </p>
</div> </div>
<ul <ul
className="list-unstyled" class="list-unstyled"
> >
<li <li
className="form-group" class="form-group"
> >
<a <a
className="font-weight-bold" class="font-weight-bold"
href="https://www.twitter.com/ALOHA" href="https://www.twitter.com/ALOHA"
> >
<svg <svg
aria-hidden="true" aria-hidden="true"
className="svg-inline--fa fa-twitter fa-w-16 mr-2" class="svg-inline--fa fa-twitter mr-2"
data-icon="twitter" data-icon="twitter"
data-prefix="fab" data-prefix="fab"
focusable="false" focusable="false"
role="img" role="img"
style={Object {}}
viewBox="0 0 512 512" viewBox="0 0 512 512"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
> >
<path <path
d="M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253z" d="M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253z"
fill="currentColor" fill="currentColor"
style={Object {}}
/> />
</svg> </svg>
Twitter Twitter
</a> </a>
</li> </li>
<li <li
className="form-group" class="form-group"
> >
<a <a
className="font-weight-bold" class="font-weight-bold"
href="https://www.facebook.com/aloha" href="https://www.facebook.com/aloha"
> >
<svg <svg
aria-hidden="true" aria-hidden="true"
className="svg-inline--fa fa-facebook fa-w-16 mr-2" class="svg-inline--fa fa-facebook mr-2"
data-icon="facebook" data-icon="facebook"
data-prefix="fab" data-prefix="fab"
focusable="false" focusable="false"
role="img" role="img"
style={Object {}}
viewBox="0 0 512 512" viewBox="0 0 512 512"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
> >
<path <path
d="M504 256C504 119 393 8 256 8S8 119 8 256c0 123.78 90.69 226.38 209.25 245V327.69h-63V256h63v-54.64c0-62.15 37-96.48 93.67-96.48 27.14 0 55.52 4.84 55.52 4.84v61h-31.28c-30.8 0-40.41 19.12-40.41 38.73V256h68.78l-11 71.69h-57.78V501C413.31 482.38 504 379.78 504 256z" d="M512 256C512 114.6 397.4 0 256 0S0 114.6 0 256C0 376 82.7 476.8 194.2 504.5V334.2H141.4V256h52.8V222.3c0-87.1 39.4-127.5 125-127.5c16.2 0 44.2 3.2 55.7 6.4V172c-6-.6-16.5-1-29.6-1c-42 0-58.2 15.9-58.2 57.2V256h83.6l-14.4 78.2H287V510.1C413.8 494.8 512 386.9 512 256h0z"
fill="currentColor" fill="currentColor"
style={Object {}}
/> />
</svg> </svg>
Facebook Facebook
</a> </a>
</li> </li>
<li <li
className="form-group" class="form-group"
> >
<div> <div>
<button <button
className="pl-0 text-left btn btn-link" class="pl-0 text-left btn btn-link"
onClick={[Function]} tabindex="0"
onKeyDown={[Function]}
tabIndex={0}
type="button" type="button"
> >
<svg <svg
aria-hidden="true" aria-hidden="true"
className="svg-inline--fa fa-plus fa-w-14 fa-xs mr-2" class="svg-inline--fa fa-plus fa-xs mr-2"
data-icon="plus" data-icon="plus"
data-prefix="fas" data-prefix="fas"
focusable="false" focusable="false"
role="img" role="img"
style={Object {}}
viewBox="0 0 448 512" viewBox="0 0 448 512"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
> >
<path <path
d="M416 208H272V64c0-17.67-14.33-32-32-32h-32c-17.67 0-32 14.33-32 32v144H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h144v144c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32V304h144c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32z" d="M256 80c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 144L48 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l144 0 0 144c0 17.7 14.3 32 32 32s32-14.3 32-32l0-144 144 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-144 0 0-144z"
fill="currentColor" fill="currentColor"
style={Object {}}
/> />
</svg> </svg>
Add Add
@@ -3312,83 +3631,63 @@ exports[`<ProfilePage /> Renders correctly in various states test education edit
</div> </div>
</div> </div>
<div <div
className="pt-md-3 col-md-8 col-lg-7 offset-lg-1" class="pt-md-3 col-md-8 col-lg-7 offset-lg-1"
> >
<div <div
className="pgn-transition-replace-group position-relative mb-5" class="pgn-transition-replace-group position-relative mb-5"
style={
Object {
"height": null,
}
}
> >
<div <div
style={ style="padding: .1px 0px;"
Object {
"padding": ".1px 0",
}
}
> >
<div <div
className="editable-item-header mb-2" class="editable-item-header mb-2"
> >
<h2 <h2
className="edit-section-header" class="edit-section-header"
id={null}
> >
About Me About Me
<button <button
className="float-right px-0 btn btn-link btn-sm" class="float-right px-0 btn btn-link btn-sm"
disabled={false} style="margin-top: -.35rem;"
onClick={[Function]}
style={
Object {
"marginTop": "-.35rem",
}
}
type="button" type="button"
> >
<svg <svg
aria-hidden="true" aria-hidden="true"
className="svg-inline--fa fa-pencil-alt fa-w-16 mr-1" class="svg-inline--fa fa-pencil mr-1"
data-icon="pencil-alt" data-icon="pencil"
data-prefix="fas" data-prefix="fas"
focusable="false" focusable="false"
role="img" role="img"
style={Object {}}
viewBox="0 0 512 512" viewBox="0 0 512 512"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
> >
<path <path
d="M497.9 142.1l-46.1 46.1c-4.7 4.7-12.3 4.7-17 0l-111-111c-4.7-4.7-4.7-12.3 0-17l46.1-46.1c18.7-18.7 49.1-18.7 67.9 0l60.1 60.1c18.8 18.7 18.8 49.1 0 67.9zM284.2 99.8L21.6 362.4.4 483.9c-2.9 16.4 11.4 30.6 27.8 27.8l121.5-21.3 262.6-262.6c4.7-4.7 4.7-12.3 0-17l-111-111c-4.8-4.7-12.4-4.7-17.1 0zM124.1 339.9c-5.5-5.5-5.5-14.3 0-19.8l154-154c5.5-5.5 14.3-5.5 19.8 0s5.5 14.3 0 19.8l-154 154c-5.5 5.5-14.3 5.5-19.8 0zM88 424h48v36.3l-64.5 11.3-31.1-31.1L51.7 376H88v48z" d="M410.3 231l11.3-11.3-33.9-33.9-62.1-62.1L291.7 89.8l-11.3 11.3-22.6 22.6L58.6 322.9c-10.4 10.4-18 23.3-22.2 37.4L1 480.7c-2.5 8.4-.2 17.5 6.1 23.7s15.3 8.5 23.7 6.1l120.3-35.4c14.1-4.2 27-11.8 37.4-22.2L387.7 253.7 410.3 231zM160 399.4l-9.1 22.7c-4 3.1-8.5 5.4-13.3 6.9L59.4 452l23-78.1c1.4-4.9 3.8-9.4 6.9-13.3l22.7-9.1 0 32c0 8.8 7.2 16 16 16l32 0zM362.7 18.7L348.3 33.2 325.7 55.8 314.3 67.1l33.9 33.9 62.1 62.1 33.9 33.9 11.3-11.3 22.6-22.6 14.5-14.5c25-25 25-65.5 0-90.5L453.3 18.7c-25-25-65.5-25-90.5 0zm-47.4 168l-144 144c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l144-144c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z"
fill="currentColor" fill="currentColor"
style={Object {}}
/> />
</svg> </svg>
Edit Edit
</button> </button>
</h2> </h2>
<p <p
className="mb-0" class="mb-0"
> >
<span <span
className="ml-auto small text-muted" class="ml-auto small text-muted"
> >
<svg <svg
aria-hidden="true" aria-hidden="true"
className="svg-inline--fa fa-eye fa-w-18 " class="svg-inline--fa fa-eye "
data-icon="eye" data-icon="eye"
data-prefix="far" data-prefix="far"
focusable="false" focusable="false"
role="img" role="img"
style={Object {}}
viewBox="0 0 576 512" viewBox="0 0 576 512"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
> >
<path <path
d="M288 144a110.94 110.94 0 0 0-31.24 5 55.4 55.4 0 0 1 7.24 27 56 56 0 0 1-56 56 55.4 55.4 0 0 1-27-7.24A111.71 111.71 0 1 0 288 144zm284.52 97.4C518.29 135.59 410.93 64 288 64S57.68 135.64 3.48 241.41a32.35 32.35 0 0 0 0 29.19C57.71 376.41 165.07 448 288 448s230.32-71.64 284.52-177.41a32.35 32.35 0 0 0 0-29.19zM288 400c-98.65 0-189.09-55-237.93-144C98.91 167 189.34 112 288 112s189.09 55 237.93 144C477.1 345 386.66 400 288 400z" d="M288 80c-65.2 0-118.8 29.6-159.9 67.7C89.6 183.5 63 226 49.4 256c13.6 30 40.2 72.5 78.6 108.3C169.2 402.4 222.8 432 288 432s118.8-29.6 159.9-67.7C486.4 328.5 513 286 526.6 256c-13.6-30-40.2-72.5-78.6-108.3C406.8 109.6 353.2 80 288 80zM95.4 112.6C142.5 68.8 207.2 32 288 32s145.5 36.8 192.6 80.6c46.8 43.5 78.1 95.4 93 131.1c3.3 7.9 3.3 16.7 0 24.6c-14.9 35.7-46.2 87.7-93 131.1C433.5 443.2 368.8 480 288 480s-145.5-36.8-192.6-80.6C48.6 356 17.3 304 2.5 268.3c-3.3-7.9-3.3-16.7 0-24.6C17.3 208 48.6 156 95.4 112.6zM288 336c44.2 0 80-35.8 80-80s-35.8-80-80-80c-.7 0-1.3 0-2 0c1.3 5.1 2 10.5 2 16c0 35.3-28.7 64-64 64c-5.5 0-10.9-.7-16-2c0 .7 0 1.3 0 2c0 44.2 35.8 80 80 80zm0-208a128 128 0 1 1 0 256 128 128 0 1 1 0-256z"
fill="currentColor" fill="currentColor"
style={Object {}}
/> />
</svg> </svg>
@@ -3397,88 +3696,68 @@ exports[`<ProfilePage /> Renders correctly in various states test education edit
</p> </p>
</div> </div>
<p <p
className="lead" class="lead"
data-hj-suppress={true} data-hj-suppress="true"
> >
This is my bio This is my bio
</p> </p>
</div> </div>
</div> </div>
<div <div
className="pgn-transition-replace-group position-relative mb-4" class="pgn-transition-replace-group position-relative mb-4"
style={
Object {
"height": null,
}
}
> >
<div <div
style={ style="padding: .1px 0px;"
Object {
"padding": ".1px 0",
}
}
> >
<div <div
className="editable-item-header mb-2" class="editable-item-header mb-2"
> >
<h2 <h2
className="edit-section-header" class="edit-section-header"
id={null}
> >
My Certificates My Certificates
<button <button
className="float-right px-0 btn btn-link btn-sm" class="float-right px-0 btn btn-link btn-sm"
disabled={false} style="margin-top: -.35rem;"
onClick={[Function]}
style={
Object {
"marginTop": "-.35rem",
}
}
type="button" type="button"
> >
<svg <svg
aria-hidden="true" aria-hidden="true"
className="svg-inline--fa fa-pencil-alt fa-w-16 mr-1" class="svg-inline--fa fa-pencil mr-1"
data-icon="pencil-alt" data-icon="pencil"
data-prefix="fas" data-prefix="fas"
focusable="false" focusable="false"
role="img" role="img"
style={Object {}}
viewBox="0 0 512 512" viewBox="0 0 512 512"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
> >
<path <path
d="M497.9 142.1l-46.1 46.1c-4.7 4.7-12.3 4.7-17 0l-111-111c-4.7-4.7-4.7-12.3 0-17l46.1-46.1c18.7-18.7 49.1-18.7 67.9 0l60.1 60.1c18.8 18.7 18.8 49.1 0 67.9zM284.2 99.8L21.6 362.4.4 483.9c-2.9 16.4 11.4 30.6 27.8 27.8l121.5-21.3 262.6-262.6c4.7-4.7 4.7-12.3 0-17l-111-111c-4.8-4.7-12.4-4.7-17.1 0zM124.1 339.9c-5.5-5.5-5.5-14.3 0-19.8l154-154c5.5-5.5 14.3-5.5 19.8 0s5.5 14.3 0 19.8l-154 154c-5.5 5.5-14.3 5.5-19.8 0zM88 424h48v36.3l-64.5 11.3-31.1-31.1L51.7 376H88v48z" d="M410.3 231l11.3-11.3-33.9-33.9-62.1-62.1L291.7 89.8l-11.3 11.3-22.6 22.6L58.6 322.9c-10.4 10.4-18 23.3-22.2 37.4L1 480.7c-2.5 8.4-.2 17.5 6.1 23.7s15.3 8.5 23.7 6.1l120.3-35.4c14.1-4.2 27-11.8 37.4-22.2L387.7 253.7 410.3 231zM160 399.4l-9.1 22.7c-4 3.1-8.5 5.4-13.3 6.9L59.4 452l23-78.1c1.4-4.9 3.8-9.4 6.9-13.3l22.7-9.1 0 32c0 8.8 7.2 16 16 16l32 0zM362.7 18.7L348.3 33.2 325.7 55.8 314.3 67.1l33.9 33.9 62.1 62.1 33.9 33.9 11.3-11.3 22.6-22.6 14.5-14.5c25-25 25-65.5 0-90.5L453.3 18.7c-25-25-65.5-25-90.5 0zm-47.4 168l-144 144c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l144-144c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z"
fill="currentColor" fill="currentColor"
style={Object {}}
/> />
</svg> </svg>
Edit Edit
</button> </button>
</h2> </h2>
<p <p
className="mb-0" class="mb-0"
> >
<span <span
className="ml-auto small text-muted" class="ml-auto small text-muted"
> >
<svg <svg
aria-hidden="true" aria-hidden="true"
className="svg-inline--fa fa-eye fa-w-18 " class="svg-inline--fa fa-eye "
data-icon="eye" data-icon="eye"
data-prefix="far" data-prefix="far"
focusable="false" focusable="false"
role="img" role="img"
style={Object {}}
viewBox="0 0 576 512" viewBox="0 0 576 512"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
> >
<path <path
d="M288 144a110.94 110.94 0 0 0-31.24 5 55.4 55.4 0 0 1 7.24 27 56 56 0 0 1-56 56 55.4 55.4 0 0 1-27-7.24A111.71 111.71 0 1 0 288 144zm284.52 97.4C518.29 135.59 410.93 64 288 64S57.68 135.64 3.48 241.41a32.35 32.35 0 0 0 0 29.19C57.71 376.41 165.07 448 288 448s230.32-71.64 284.52-177.41a32.35 32.35 0 0 0 0-29.19zM288 400c-98.65 0-189.09-55-237.93-144C98.91 167 189.34 112 288 112s189.09 55 237.93 144C477.1 345 386.66 400 288 400z" d="M288 80c-65.2 0-118.8 29.6-159.9 67.7C89.6 183.5 63 226 49.4 256c13.6 30 40.2 72.5 78.6 108.3C169.2 402.4 222.8 432 288 432s118.8-29.6 159.9-67.7C486.4 328.5 513 286 526.6 256c-13.6-30-40.2-72.5-78.6-108.3C406.8 109.6 353.2 80 288 80zM95.4 112.6C142.5 68.8 207.2 32 288 32s145.5 36.8 192.6 80.6c46.8 43.5 78.1 95.4 93 131.1c3.3 7.9 3.3 16.7 0 24.6c-14.9 35.7-46.2 87.7-93 131.1C433.5 443.2 368.8 480 288 480s-145.5-36.8-192.6-80.6C48.6 356 17.3 304 2.5 268.3c-3.3-7.9-3.3-16.7 0-24.6C17.3 208 48.6 156 95.4 112.6zM288 336c44.2 0 80-35.8 80-80s-35.8-80-80-80c-.7 0-1.3 0-2 0c1.3 5.1 2 10.5 2 16c0 35.3-28.7 64-64 64c-5.5 0-10.9-.7-16-2c0 .7 0 1.3 0 2c0 44.2 35.8 80 80 80zm0-208a128 128 0 1 1 0 256 128 128 0 1 1 0-256z"
fill="currentColor" fill="currentColor"
style={Object {}}
/> />
</svg> </svg>
@@ -3487,88 +3766,79 @@ exports[`<ProfilePage /> Renders correctly in various states test education edit
</p> </p>
</div> </div>
<div <div
className="row align-items-stretch" class="row align-items-stretch"
> >
<div <div
className="col col-sm-6 d-flex align-items-stretch" class="col-12 col-sm-6 d-flex align-items-stretch"
> >
<div <div
className="card mb-4 certificate flex-grow-1" class="card mb-4 certificate flex-grow-1"
> >
<div <div
className="certificate-type-illustration" class="certificate-type-illustration"
style={ style="background-image: url(icon/mock/path);"
Object {
"backgroundImage": "url(icon/mock/path)",
}
}
/> />
<div <div
className="card-body d-flex flex-column" class="card-body d-flex flex-column"
> >
<div <div
className="card-title" class="card-title"
> >
<p <p
className="small mb-0" class="small mb-0"
> >
Verified Certificate Verified Certificate
</p> </p>
<h4 <h4
className="certificate-title" class="certificate-title"
> >
edX Demonstration Course edX Demonstration Course
</h4> </h4>
</div> </div>
<p <p
className="small mb-0" class="small mb-0"
> >
From From
</p> </p>
<p <p
className="h6 mb-4" class="h6 mb-4"
> >
edX edX
</p> </p>
<div <div
className="flex-grow-1" class="flex-grow-1"
/> />
<p <p
className="small mb-2" class="small mb-2"
> >
Completed on Completed on
3/4/2019 3/4/2019
</p> </p>
<div> <div>
<a <a
className="pgn__hyperlink default-link standalone-link btn btn-outline-primary" class="pgn__hyperlink default-link standalone-link btn btn-outline-primary"
href="http://www.example.com/" href="http://www.example.com/"
onClick={[Function]}
rel="noopener noreferrer" rel="noopener noreferrer"
target="_blank" target="_blank"
> >
View Certificate View Certificate
<span <span
className="pgn__hyperlink__external-icon" class="pgn__hyperlink__external-icon"
title="Opens in a new tab" title="Opens in a new tab"
> >
<span <span
className="pgn__icon" class="pgn__icon"
style={ data-testid="hyperlink-icon"
Object { style="height: 1em; width: 1em;"
"height": "1em",
"width": "1em",
}
}
> >
<svg <svg
aria-hidden={true} aria-hidden="true"
fill="none" fill="none"
focusable={false} focusable="false"
height={24} height="24"
role="img" role="img"
viewBox="0 0 24 24" viewBox="0 0 24 24"
width={24} width="24"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
> >
<path <path
@@ -3577,7 +3847,7 @@ exports[`<ProfilePage /> Renders correctly in various states test education edit
/> />
</svg> </svg>
<span <span
className="sr-only" class="sr-only"
> >
in a new tab in a new tab
</span> </span>
@@ -3595,46 +3865,46 @@ exports[`<ProfilePage /> Renders correctly in various states test education edit
</div> </div>
</div> </div>
</div> </div>
</div>
`; `;
exports[`<ProfilePage /> Renders correctly in various states test preferreded language edit with error 1`] = ` exports[`<ProfilePage /> Renders correctly in various states test preferreded language edit with error 1`] = `
<div>
<div <div
className="profile-page" class="profile-page"
> >
<div <div
className="profile-page-bg-banner bg-primary d-none d-md-block p-relative" class="profile-page-bg-banner bg-primary d-md-block p-relative"
/> />
<div <div
className="container-fluid" class="container-fluid"
> >
<div <div
className="row align-items-center pt-4 mb-4 pt-md-0 mb-md-0" class="row align-items-center pt-4 mb-4 pt-md-0 mb-md-0"
> >
<div <div
className="col-auto col-md-4 col-lg-3" class="col-auto col-md-4 col-lg-3"
> >
<div <div
className="d-flex align-items-center d-md-block" class="d-flex align-items-center d-md-block"
> >
<div <div
className="profile-avatar-wrap position-relative" class="profile-avatar-wrap position-relative"
> >
<div <div
className="profile-avatar rounded-circle bg-light" class="profile-avatar rounded-circle bg-light"
> >
<div <div
className="profile-avatar-menu-container" class="profile-avatar-menu-container"
> >
<div <div
className="pgn__dropdown pgn__dropdown-light dropdown" class="pgn__dropdown pgn__dropdown-light dropdown"
data-testid="dropdown" data-testid="dropdown"
> >
<button <button
aria-expanded={false} aria-expanded="false"
aria-haspopup={true} aria-haspopup="true"
className="dropdown-toggle btn btn-primary" class="dropdown-toggle btn btn-primary"
disabled={false}
onClick={[Function]}
type="button" type="button"
> >
Change Change
@@ -3643,92 +3913,78 @@ exports[`<ProfilePage /> Renders correctly in various states test preferreded la
</div> </div>
<img <img
alt="profile avatar" alt="profile avatar"
className="w-100 h-100 d-block rounded-circle overflow-hidden" class="w-100 h-100 d-block rounded-circle overflow-hidden"
data-hj-suppress={true} data-hj-suppress="true"
src="http://localhost:18000/media/profile-images/d2a9bdc2ba165dcefc73265c54bf9a20_500.jpg?v=1552495012" src="http://localhost:18000/media/profile-images/d2a9bdc2ba165dcefc73265c54bf9a20_500.jpg?v=1552495012"
style={ style="object-fit: cover;"
Object {
"objectFit": "cover",
}
}
/> />
</div> </div>
<form <form
encType="multipart/form-data" enctype="multipart/form-data"
onSubmit={[Function]}
> >
<input <input
accept=".jpg, .jpeg, .png" accept=".jpg, .jpeg, .png"
className="d-none form-control-file" class="d-none form-control-file"
id="photo-file" id="photo-file"
name="file" name="file"
onChange={[Function]}
type="file" type="file"
/> />
</form> </form>
</div> </div>
</div> </div>
</div> </div>
<div>
PluginPOC
</div>
<div <div
className="col pl-0" class="col"
> >
<div <div
className="d-md-none" class="d-md-none"
> >
<span <span
data-hj-suppress={true} data-hj-suppress="true"
> >
<h1 <h1
className="h2 mb-0 font-weight-bold" class="h2 mb-0 font-weight-bold text-truncate"
> >
staff staff
</h1> </h1>
<p <p
className="mb-0" class="mb-0"
> >
Member since Member since
2017 2017
</p> </p>
<hr <hr
className="d-none d-md-block" class="d-none d-md-block"
/> />
</span> </span>
</div> </div>
<div <div
className="d-none d-md-block float-right" class="d-none d-md-block float-right"
> >
<a <a
className="pgn__hyperlink default-link standalone-link btn btn-primary" class="pgn__hyperlink default-link standalone-link btn btn-primary"
href="http://localhost:18150/records" href="http://localhost:18150/records"
onClick={[Function]}
rel="noopener noreferrer" rel="noopener noreferrer"
target="_blank" target="_blank"
> >
View My Records View My Records
<span <span
className="pgn__hyperlink__external-icon" class="pgn__hyperlink__external-icon"
title="Opens in a new tab" title="Opens in a new tab"
> >
<span <span
className="pgn__icon" class="pgn__icon"
style={ data-testid="hyperlink-icon"
Object { style="height: 1em; width: 1em;"
"height": "1em",
"width": "1em",
}
}
> >
<svg <svg
aria-hidden={true} aria-hidden="true"
fill="none" fill="none"
focusable={false} focusable="false"
height={24} height="24"
role="img" role="img"
viewBox="0 0 24 24" viewBox="0 0 24 24"
width={24} width="24"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
> >
<path <path
@@ -3737,7 +3993,7 @@ exports[`<ProfilePage /> Renders correctly in various states test preferreded la
/> />
</svg> </svg>
<span <span
className="sr-only" class="sr-only"
> >
in a new tab in a new tab
</span> </span>
@@ -3748,65 +4004,60 @@ exports[`<ProfilePage /> Renders correctly in various states test preferreded la
</div> </div>
</div> </div>
<div <div
className="row" class="row"
> >
<div <div
className="col-md-4 col-lg-4" class="col-md-4 col-lg-4"
> >
<div <div
className="d-none d-md-block mb-4" class="d-none d-md-block mb-4"
> >
<span <span
data-hj-suppress={true} data-hj-suppress="true"
> >
<h1 <h1
className="h2 mb-0 font-weight-bold" class="h2 mb-0 font-weight-bold text-truncate"
> >
staff staff
</h1> </h1>
<p <p
className="mb-0" class="mb-0"
> >
Member since Member since
2017 2017
</p> </p>
<hr <hr
className="d-none d-md-block" class="d-none d-md-block"
/> />
</span> </span>
</div> </div>
<div <div
className="d-md-none mb-4" class="d-md-none mb-4"
> >
<a <a
className="pgn__hyperlink default-link standalone-link btn btn-primary" class="pgn__hyperlink default-link standalone-link btn btn-primary"
href="http://localhost:18150/records" href="http://localhost:18150/records"
onClick={[Function]}
rel="noopener noreferrer" rel="noopener noreferrer"
target="_blank" target="_blank"
> >
View My Records View My Records
<span <span
className="pgn__hyperlink__external-icon" class="pgn__hyperlink__external-icon"
title="Opens in a new tab" title="Opens in a new tab"
> >
<span <span
className="pgn__icon" class="pgn__icon"
style={ data-testid="hyperlink-icon"
Object { style="height: 1em; width: 1em;"
"height": "1em",
"width": "1em",
}
}
> >
<svg <svg
aria-hidden={true} aria-hidden="true"
fill="none" fill="none"
focusable={false} focusable="false"
height={24} height="24"
role="img" role="img"
viewBox="0 0 24 24" viewBox="0 0 24 24"
width={24} width="24"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
> >
<path <path
@@ -3815,7 +4066,7 @@ exports[`<ProfilePage /> Renders correctly in various states test preferreded la
/> />
</svg> </svg>
<span <span
className="sr-only" class="sr-only"
> >
in a new tab in a new tab
</span> </span>
@@ -3824,80 +4075,60 @@ exports[`<ProfilePage /> Renders correctly in various states test preferreded la
</a> </a>
</div> </div>
<div <div
className="pgn-transition-replace-group position-relative mb-5" class="pgn-transition-replace-group position-relative mb-5"
style={
Object {
"height": null,
}
}
> >
<div <div
style={ style="padding: .1px 0px;"
Object {
"padding": ".1px 0",
}
}
> >
<div <div
className="editable-item-header mb-2" class="editable-item-header mb-2"
> >
<h2 <h2
className="edit-section-header" class="edit-section-header"
id={null}
> >
Full Name Full Name
<button <button
className="float-right px-0 btn btn-link btn-sm" class="float-right px-0 btn btn-link btn-sm"
disabled={false} style="margin-top: -.35rem;"
onClick={[Function]}
style={
Object {
"marginTop": "-.35rem",
}
}
type="button" type="button"
> >
<svg <svg
aria-hidden="true" aria-hidden="true"
className="svg-inline--fa fa-pencil-alt fa-w-16 mr-1" class="svg-inline--fa fa-pencil mr-1"
data-icon="pencil-alt" data-icon="pencil"
data-prefix="fas" data-prefix="fas"
focusable="false" focusable="false"
role="img" role="img"
style={Object {}}
viewBox="0 0 512 512" viewBox="0 0 512 512"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
> >
<path <path
d="M497.9 142.1l-46.1 46.1c-4.7 4.7-12.3 4.7-17 0l-111-111c-4.7-4.7-4.7-12.3 0-17l46.1-46.1c18.7-18.7 49.1-18.7 67.9 0l60.1 60.1c18.8 18.7 18.8 49.1 0 67.9zM284.2 99.8L21.6 362.4.4 483.9c-2.9 16.4 11.4 30.6 27.8 27.8l121.5-21.3 262.6-262.6c4.7-4.7 4.7-12.3 0-17l-111-111c-4.8-4.7-12.4-4.7-17.1 0zM124.1 339.9c-5.5-5.5-5.5-14.3 0-19.8l154-154c5.5-5.5 14.3-5.5 19.8 0s5.5 14.3 0 19.8l-154 154c-5.5 5.5-14.3 5.5-19.8 0zM88 424h48v36.3l-64.5 11.3-31.1-31.1L51.7 376H88v48z" d="M410.3 231l11.3-11.3-33.9-33.9-62.1-62.1L291.7 89.8l-11.3 11.3-22.6 22.6L58.6 322.9c-10.4 10.4-18 23.3-22.2 37.4L1 480.7c-2.5 8.4-.2 17.5 6.1 23.7s15.3 8.5 23.7 6.1l120.3-35.4c14.1-4.2 27-11.8 37.4-22.2L387.7 253.7 410.3 231zM160 399.4l-9.1 22.7c-4 3.1-8.5 5.4-13.3 6.9L59.4 452l23-78.1c1.4-4.9 3.8-9.4 6.9-13.3l22.7-9.1 0 32c0 8.8 7.2 16 16 16l32 0zM362.7 18.7L348.3 33.2 325.7 55.8 314.3 67.1l33.9 33.9 62.1 62.1 33.9 33.9 11.3-11.3 22.6-22.6 14.5-14.5c25-25 25-65.5 0-90.5L453.3 18.7c-25-25-65.5-25-90.5 0zm-47.4 168l-144 144c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l144-144c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z"
fill="currentColor" fill="currentColor"
style={Object {}}
/> />
</svg> </svg>
Edit Edit
</button> </button>
</h2> </h2>
<p <p
className="mb-0" class="mb-0"
> >
<span <span
className="ml-auto small text-muted" class="ml-auto small text-muted"
> >
<svg <svg
aria-hidden="true" aria-hidden="true"
className="svg-inline--fa fa-eye-slash fa-w-20 " class="svg-inline--fa fa-eye-slash "
data-icon="eye-slash" data-icon="eye-slash"
data-prefix="far" data-prefix="far"
focusable="false" focusable="false"
role="img" role="img"
style={Object {}}
viewBox="0 0 640 512" viewBox="0 0 640 512"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
> >
<path <path
d="M634 471L36 3.51A16 16 0 0 0 13.51 6l-10 12.49A16 16 0 0 0 6 41l598 467.49a16 16 0 0 0 22.49-2.49l10-12.49A16 16 0 0 0 634 471zM296.79 146.47l134.79 105.38C429.36 191.91 380.48 144 320 144a112.26 112.26 0 0 0-23.21 2.47zm46.42 219.07L208.42 260.16C210.65 320.09 259.53 368 320 368a113 113 0 0 0 23.21-2.46zM320 112c98.65 0 189.09 55 237.93 144a285.53 285.53 0 0 1-44 60.2l37.74 29.5a333.7 333.7 0 0 0 52.9-75.11 32.35 32.35 0 0 0 0-29.19C550.29 135.59 442.93 64 320 64c-36.7 0-71.71 7-104.63 18.81l46.41 36.29c18.94-4.3 38.34-7.1 58.22-7.1zm0 288c-98.65 0-189.08-55-237.93-144a285.47 285.47 0 0 1 44.05-60.19l-37.74-29.5a333.6 333.6 0 0 0-52.89 75.1 32.35 32.35 0 0 0 0 29.19C89.72 376.41 197.08 448 320 448c36.7 0 71.71-7.05 104.63-18.81l-46.41-36.28C359.28 397.2 339.89 400 320 400z" d="M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L525.6 386.7c39.6-40.6 66.4-86.1 79.9-118.4c3.3-7.9 3.3-16.7 0-24.6c-14.9-35.7-46.2-87.7-93-131.1C465.5 68.8 400.8 32 320 32c-68.2 0-125 26.3-169.3 60.8L38.8 5.1zm151 118.3C226 97.7 269.5 80 320 80c65.2 0 118.8 29.6 159.9 67.7C518.4 183.5 545 226 558.6 256c-12.6 28-36.6 66.8-70.9 100.9l-53.8-42.2c9.1-17.6 14.2-37.5 14.2-58.7c0-70.7-57.3-128-128-128c-32.2 0-61.7 11.9-84.2 31.5l-46.1-36.1zM394.9 284.2l-81.5-63.9c4.2-8.5 6.6-18.2 6.6-28.3c0-5.5-.7-10.9-2-16c.7 0 1.3 0 2 0c44.2 0 80 35.8 80 80c0 9.9-1.8 19.4-5.1 28.2zm9.4 130.3C378.8 425.4 350.7 432 320 432c-65.2 0-118.8-29.6-159.9-67.7C121.6 328.5 95 286 81.4 256c8.3-18.4 21.5-41.5 39.4-64.8L83.1 161.5C60.3 191.2 44 220.8 34.5 243.7c-3.3 7.9-3.3 16.7 0 24.6c14.9 35.7 46.2 87.7 93 131.1C174.5 443.2 239.2 480 320 480c47.8 0 89.9-12.9 126.2-32.5l-41.9-33zM192 256c0 70.7 57.3 128 128 128c13.3 0 26.1-2 38.2-5.8L302 334c-23.5-5.4-43.1-21.2-53.7-42.3l-56.1-44.2c-.2 2.8-.3 5.6-.3 8.5z"
fill="currentColor" fill="currentColor"
style={Object {}}
/> />
</svg> </svg>
@@ -3906,93 +4137,73 @@ exports[`<ProfilePage /> Renders correctly in various states test preferreded la
</p> </p>
</div> </div>
<p <p
className="h5" class="h5"
data-hj-suppress={true} data-hj-suppress="true"
> >
Lemon Seltzer Lemon Seltzer
</p> </p>
<small <small
className="form-text text-muted" class="form-text text-muted"
> >
This is the name that appears in your account and on your certificates. This is the name that appears in your account and on your certificates.
</small> </small>
</div> </div>
</div> </div>
<div <div
className="pgn-transition-replace-group position-relative mb-5" class="pgn-transition-replace-group position-relative mb-5"
style={
Object {
"height": null,
}
}
> >
<div <div
style={ style="padding: .1px 0px;"
Object {
"padding": ".1px 0",
}
}
> >
<div <div
className="editable-item-header mb-2" class="editable-item-header mb-2"
> >
<h2 <h2
className="edit-section-header" class="edit-section-header"
id={null}
> >
Location Location
<button <button
className="float-right px-0 btn btn-link btn-sm" class="float-right px-0 btn btn-link btn-sm"
disabled={false} style="margin-top: -.35rem;"
onClick={[Function]}
style={
Object {
"marginTop": "-.35rem",
}
}
type="button" type="button"
> >
<svg <svg
aria-hidden="true" aria-hidden="true"
className="svg-inline--fa fa-pencil-alt fa-w-16 mr-1" class="svg-inline--fa fa-pencil mr-1"
data-icon="pencil-alt" data-icon="pencil"
data-prefix="fas" data-prefix="fas"
focusable="false" focusable="false"
role="img" role="img"
style={Object {}}
viewBox="0 0 512 512" viewBox="0 0 512 512"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
> >
<path <path
d="M497.9 142.1l-46.1 46.1c-4.7 4.7-12.3 4.7-17 0l-111-111c-4.7-4.7-4.7-12.3 0-17l46.1-46.1c18.7-18.7 49.1-18.7 67.9 0l60.1 60.1c18.8 18.7 18.8 49.1 0 67.9zM284.2 99.8L21.6 362.4.4 483.9c-2.9 16.4 11.4 30.6 27.8 27.8l121.5-21.3 262.6-262.6c4.7-4.7 4.7-12.3 0-17l-111-111c-4.8-4.7-12.4-4.7-17.1 0zM124.1 339.9c-5.5-5.5-5.5-14.3 0-19.8l154-154c5.5-5.5 14.3-5.5 19.8 0s5.5 14.3 0 19.8l-154 154c-5.5 5.5-14.3 5.5-19.8 0zM88 424h48v36.3l-64.5 11.3-31.1-31.1L51.7 376H88v48z" d="M410.3 231l11.3-11.3-33.9-33.9-62.1-62.1L291.7 89.8l-11.3 11.3-22.6 22.6L58.6 322.9c-10.4 10.4-18 23.3-22.2 37.4L1 480.7c-2.5 8.4-.2 17.5 6.1 23.7s15.3 8.5 23.7 6.1l120.3-35.4c14.1-4.2 27-11.8 37.4-22.2L387.7 253.7 410.3 231zM160 399.4l-9.1 22.7c-4 3.1-8.5 5.4-13.3 6.9L59.4 452l23-78.1c1.4-4.9 3.8-9.4 6.9-13.3l22.7-9.1 0 32c0 8.8 7.2 16 16 16l32 0zM362.7 18.7L348.3 33.2 325.7 55.8 314.3 67.1l33.9 33.9 62.1 62.1 33.9 33.9 11.3-11.3 22.6-22.6 14.5-14.5c25-25 25-65.5 0-90.5L453.3 18.7c-25-25-65.5-25-90.5 0zm-47.4 168l-144 144c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l144-144c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z"
fill="currentColor" fill="currentColor"
style={Object {}}
/> />
</svg> </svg>
Edit Edit
</button> </button>
</h2> </h2>
<p <p
className="mb-0" class="mb-0"
> >
<span <span
className="ml-auto small text-muted" class="ml-auto small text-muted"
> >
<svg <svg
aria-hidden="true" aria-hidden="true"
className="svg-inline--fa fa-eye fa-w-18 " class="svg-inline--fa fa-eye "
data-icon="eye" data-icon="eye"
data-prefix="far" data-prefix="far"
focusable="false" focusable="false"
role="img" role="img"
style={Object {}}
viewBox="0 0 576 512" viewBox="0 0 576 512"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
> >
<path <path
d="M288 144a110.94 110.94 0 0 0-31.24 5 55.4 55.4 0 0 1 7.24 27 56 56 0 0 1-56 56 55.4 55.4 0 0 1-27-7.24A111.71 111.71 0 1 0 288 144zm284.52 97.4C518.29 135.59 410.93 64 288 64S57.68 135.64 3.48 241.41a32.35 32.35 0 0 0 0 29.19C57.71 376.41 165.07 448 288 448s230.32-71.64 284.52-177.41a32.35 32.35 0 0 0 0-29.19zM288 400c-98.65 0-189.09-55-237.93-144C98.91 167 189.34 112 288 112s189.09 55 237.93 144C477.1 345 386.66 400 288 400z" d="M288 80c-65.2 0-118.8 29.6-159.9 67.7C89.6 183.5 63 226 49.4 256c13.6 30 40.2 72.5 78.6 108.3C169.2 402.4 222.8 432 288 432s118.8-29.6 159.9-67.7C486.4 328.5 513 286 526.6 256c-13.6-30-40.2-72.5-78.6-108.3C406.8 109.6 353.2 80 288 80zM95.4 112.6C142.5 68.8 207.2 32 288 32s145.5 36.8 192.6 80.6c46.8 43.5 78.1 95.4 93 131.1c3.3 7.9 3.3 16.7 0 24.6c-14.9 35.7-46.2 87.7-93 131.1C433.5 443.2 368.8 480 288 480s-145.5-36.8-192.6-80.6C48.6 356 17.3 304 2.5 268.3c-3.3-7.9-3.3-16.7 0-24.6C17.3 208 48.6 156 95.4 112.6zM288 336c44.2 0 80-35.8 80-80s-35.8-80-80-80c-.7 0-1.3 0-2 0c1.3 5.1 2 10.5 2 16c0 35.3-28.7 64-64 64c-5.5 0-10.9-.7-16-2c0 .7 0 1.3 0 2c0 44.2 35.8 80 80 80zm0-208a128 128 0 1 1 0 256 128 128 0 1 1 0-256z"
fill="currentColor" fill="currentColor"
style={Object {}}
/> />
</svg> </svg>
@@ -4001,51 +4212,38 @@ exports[`<ProfilePage /> Renders correctly in various states test preferreded la
</p> </p>
</div> </div>
<p <p
className="h5" class="h5"
data-hj-suppress={true} data-hj-suppress="true"
> >
Montenegro Montenegro
</p> </p>
</div> </div>
</div> </div>
<div <div
className="pgn-transition-replace-group position-relative mb-5" class="pgn-transition-replace-group position-relative mb-5"
style={
Object {
"height": null,
}
}
> >
<div <div
style={ style="padding: .1px 0px;"
Object {
"padding": ".1px 0",
}
}
> >
<div <div
aria-labelledby="languageProficiencies-label" aria-labelledby="languageProficiencies-label"
role="dialog" role="dialog"
> >
<form <form>
onSubmit={[Function]}
>
<div <div
className="pgn__form-group" class="pgn__form-group"
> >
<label <label
className="edit-section-header" class="edit-section-header"
htmlFor="languageProficiencies" for="languageProficiencies"
> >
Primary Language Spoken Primary Language Spoken
</label> </label>
<select <select
className="form-control" class="form-control"
data-hj-suppress={true} data-hj-suppress="true"
id="languageProficiencies" id="languageProficiencies"
name="languageProficiencies" name="languageProficiencies"
onChange={[Function]}
value="yo"
> >
<option <option
value="" value=""
@@ -4974,7 +5172,7 @@ exports[`<ProfilePage /> Renders correctly in various states test preferreded la
</option> </option>
</select> </select>
<div <div
className="pgn__form-control-description pgn__form-text pgn__form-text-invalid" class="pgn__form-control-description pgn__form-text pgn__form-text-invalid"
id="languageProficiencies-4" id="languageProficiencies-4"
> >
<div> <div>
@@ -4983,53 +5181,45 @@ exports[`<ProfilePage /> Renders correctly in various states test preferreded la
</div> </div>
</div> </div>
<div <div
className="d-flex flex-row-reverse flex-wrap justify-content-end align-items-center" class="d-flex flex-row-reverse flex-wrap justify-content-end align-items-center"
> >
<div <div
className="form-group d-flex flex-wrap" class="form-group d-flex flex-wrap"
> >
<label <label
className="col-form-label" class="col-form-label"
htmlFor="visibilityLanguageProficiencies" for="visibilityLanguageProficiencies"
> >
Who can see this: Who can see this:
</label> </label>
<span <span
className="d-flex align-items-center" class="d-flex align-items-center"
> >
<span <span
className="d-inline-block ml-1 mr-2" class="d-inline-block ml-1 mr-2"
style={ style="width: 1.5rem;"
Object {
"width": "1.5rem",
}
}
> >
<svg <svg
aria-hidden="true" aria-hidden="true"
className="svg-inline--fa fa-eye fa-w-18 " class="svg-inline--fa fa-eye "
data-icon="eye" data-icon="eye"
data-prefix="far" data-prefix="far"
focusable="false" focusable="false"
role="img" role="img"
style={Object {}}
viewBox="0 0 576 512" viewBox="0 0 576 512"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
> >
<path <path
d="M288 144a110.94 110.94 0 0 0-31.24 5 55.4 55.4 0 0 1 7.24 27 56 56 0 0 1-56 56 55.4 55.4 0 0 1-27-7.24A111.71 111.71 0 1 0 288 144zm284.52 97.4C518.29 135.59 410.93 64 288 64S57.68 135.64 3.48 241.41a32.35 32.35 0 0 0 0 29.19C57.71 376.41 165.07 448 288 448s230.32-71.64 284.52-177.41a32.35 32.35 0 0 0 0-29.19zM288 400c-98.65 0-189.09-55-237.93-144C98.91 167 189.34 112 288 112s189.09 55 237.93 144C477.1 345 386.66 400 288 400z" d="M288 80c-65.2 0-118.8 29.6-159.9 67.7C89.6 183.5 63 226 49.4 256c13.6 30 40.2 72.5 78.6 108.3C169.2 402.4 222.8 432 288 432s118.8-29.6 159.9-67.7C486.4 328.5 513 286 526.6 256c-13.6-30-40.2-72.5-78.6-108.3C406.8 109.6 353.2 80 288 80zM95.4 112.6C142.5 68.8 207.2 32 288 32s145.5 36.8 192.6 80.6c46.8 43.5 78.1 95.4 93 131.1c3.3 7.9 3.3 16.7 0 24.6c-14.9 35.7-46.2 87.7-93 131.1C433.5 443.2 368.8 480 288 480s-145.5-36.8-192.6-80.6C48.6 356 17.3 304 2.5 268.3c-3.3-7.9-3.3-16.7 0-24.6C17.3 208 48.6 156 95.4 112.6zM288 336c44.2 0 80-35.8 80-80s-35.8-80-80-80c-.7 0-1.3 0-2 0c1.3 5.1 2 10.5 2 16c0 35.3-28.7 64-64 64c-5.5 0-10.9-.7-16-2c0 .7 0 1.3 0 2c0 44.2 35.8 80 80 80zm0-208a128 128 0 1 1 0 256 128 128 0 1 1 0-256z"
fill="currentColor" fill="currentColor"
style={Object {}}
/> />
</svg> </svg>
</span> </span>
<select <select
className="d-inline-block w-auto form-control" class="d-inline-block form-control"
id="visibilityLanguageProficiencies" id="visibilityLanguageProficiencies"
name="visibilityLanguageProficiencies" name="visibilityLanguageProficiencies"
onChange={[Function]}
type="select" type="select"
value="all_users"
> >
<option <option
value="private" value="private"
@@ -5045,33 +5235,31 @@ exports[`<ProfilePage /> Renders correctly in various states test preferreded la
</span> </span>
</div> </div>
<div <div
className="form-group flex-shrink-0 flex-grow-1" class="form-group flex-shrink-0 flex-grow-1"
> >
<button <button
aria-disabled={false} aria-disabled="false"
aria-live="assertive" aria-live="assertive"
className="pgn__stateful-btn pgn__stateful-btn-state-pending btn btn-primary" class="pgn__stateful-btn pgn__stateful-btn-state-pending btn btn-primary"
disabled={false}
onClick={[Function]}
type="submit" type="submit"
> >
<span <span
className="d-flex align-items-center justify-content-center" class="d-flex align-items-center justify-content-center"
> >
<span <span
className="pgn__stateful-btn-icon" class="pgn__stateful-btn-icon"
> >
<span <span
className="pgn__icon icon-spin" class="pgn__icon icon-spin"
> >
<svg <svg
aria-hidden={true} aria-hidden="true"
fill="none" fill="none"
focusable={false} focusable="false"
height={24} height="24"
role="img" role="img"
viewBox="0 0 24 24" viewBox="0 0 24 24"
width={24} width="24"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
> >
<path <path
@@ -5087,9 +5275,7 @@ exports[`<ProfilePage /> Renders correctly in various states test preferreded la
</span> </span>
</button> </button>
<button <button
className="btn btn-link" class="btn btn-link"
disabled={false}
onClick={[Function]}
type="button" type="button"
> >
Cancel Cancel
@@ -5101,80 +5287,60 @@ exports[`<ProfilePage /> Renders correctly in various states test preferreded la
</div> </div>
</div> </div>
<div <div
className="pgn-transition-replace-group position-relative mb-5" class="pgn-transition-replace-group position-relative mb-5"
style={
Object {
"height": null,
}
}
> >
<div <div
style={ style="padding: .1px 0px;"
Object {
"padding": ".1px 0",
}
}
> >
<div <div
className="editable-item-header mb-2" class="editable-item-header mb-2"
> >
<h2 <h2
className="edit-section-header" class="edit-section-header"
id={null}
> >
Education Education
<button <button
className="float-right px-0 btn btn-link btn-sm" class="float-right px-0 btn btn-link btn-sm"
disabled={false} style="margin-top: -.35rem;"
onClick={[Function]}
style={
Object {
"marginTop": "-.35rem",
}
}
type="button" type="button"
> >
<svg <svg
aria-hidden="true" aria-hidden="true"
className="svg-inline--fa fa-pencil-alt fa-w-16 mr-1" class="svg-inline--fa fa-pencil mr-1"
data-icon="pencil-alt" data-icon="pencil"
data-prefix="fas" data-prefix="fas"
focusable="false" focusable="false"
role="img" role="img"
style={Object {}}
viewBox="0 0 512 512" viewBox="0 0 512 512"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
> >
<path <path
d="M497.9 142.1l-46.1 46.1c-4.7 4.7-12.3 4.7-17 0l-111-111c-4.7-4.7-4.7-12.3 0-17l46.1-46.1c18.7-18.7 49.1-18.7 67.9 0l60.1 60.1c18.8 18.7 18.8 49.1 0 67.9zM284.2 99.8L21.6 362.4.4 483.9c-2.9 16.4 11.4 30.6 27.8 27.8l121.5-21.3 262.6-262.6c4.7-4.7 4.7-12.3 0-17l-111-111c-4.8-4.7-12.4-4.7-17.1 0zM124.1 339.9c-5.5-5.5-5.5-14.3 0-19.8l154-154c5.5-5.5 14.3-5.5 19.8 0s5.5 14.3 0 19.8l-154 154c-5.5 5.5-14.3 5.5-19.8 0zM88 424h48v36.3l-64.5 11.3-31.1-31.1L51.7 376H88v48z" d="M410.3 231l11.3-11.3-33.9-33.9-62.1-62.1L291.7 89.8l-11.3 11.3-22.6 22.6L58.6 322.9c-10.4 10.4-18 23.3-22.2 37.4L1 480.7c-2.5 8.4-.2 17.5 6.1 23.7s15.3 8.5 23.7 6.1l120.3-35.4c14.1-4.2 27-11.8 37.4-22.2L387.7 253.7 410.3 231zM160 399.4l-9.1 22.7c-4 3.1-8.5 5.4-13.3 6.9L59.4 452l23-78.1c1.4-4.9 3.8-9.4 6.9-13.3l22.7-9.1 0 32c0 8.8 7.2 16 16 16l32 0zM362.7 18.7L348.3 33.2 325.7 55.8 314.3 67.1l33.9 33.9 62.1 62.1 33.9 33.9 11.3-11.3 22.6-22.6 14.5-14.5c25-25 25-65.5 0-90.5L453.3 18.7c-25-25-65.5-25-90.5 0zm-47.4 168l-144 144c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l144-144c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z"
fill="currentColor" fill="currentColor"
style={Object {}}
/> />
</svg> </svg>
Edit Edit
</button> </button>
</h2> </h2>
<p <p
className="mb-0" class="mb-0"
> >
<span <span
className="ml-auto small text-muted" class="ml-auto small text-muted"
> >
<svg <svg
aria-hidden="true" aria-hidden="true"
className="svg-inline--fa fa-eye-slash fa-w-20 " class="svg-inline--fa fa-eye-slash "
data-icon="eye-slash" data-icon="eye-slash"
data-prefix="far" data-prefix="far"
focusable="false" focusable="false"
role="img" role="img"
style={Object {}}
viewBox="0 0 640 512" viewBox="0 0 640 512"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
> >
<path <path
d="M634 471L36 3.51A16 16 0 0 0 13.51 6l-10 12.49A16 16 0 0 0 6 41l598 467.49a16 16 0 0 0 22.49-2.49l10-12.49A16 16 0 0 0 634 471zM296.79 146.47l134.79 105.38C429.36 191.91 380.48 144 320 144a112.26 112.26 0 0 0-23.21 2.47zm46.42 219.07L208.42 260.16C210.65 320.09 259.53 368 320 368a113 113 0 0 0 23.21-2.46zM320 112c98.65 0 189.09 55 237.93 144a285.53 285.53 0 0 1-44 60.2l37.74 29.5a333.7 333.7 0 0 0 52.9-75.11 32.35 32.35 0 0 0 0-29.19C550.29 135.59 442.93 64 320 64c-36.7 0-71.71 7-104.63 18.81l46.41 36.29c18.94-4.3 38.34-7.1 58.22-7.1zm0 288c-98.65 0-189.08-55-237.93-144a285.47 285.47 0 0 1 44.05-60.19l-37.74-29.5a333.6 333.6 0 0 0-52.89 75.1 32.35 32.35 0 0 0 0 29.19C89.72 376.41 197.08 448 320 448c36.7 0 71.71-7.05 104.63-18.81l-46.41-36.28C359.28 397.2 339.89 400 320 400z" d="M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L525.6 386.7c39.6-40.6 66.4-86.1 79.9-118.4c3.3-7.9 3.3-16.7 0-24.6c-14.9-35.7-46.2-87.7-93-131.1C465.5 68.8 400.8 32 320 32c-68.2 0-125 26.3-169.3 60.8L38.8 5.1zm151 118.3C226 97.7 269.5 80 320 80c65.2 0 118.8 29.6 159.9 67.7C518.4 183.5 545 226 558.6 256c-12.6 28-36.6 66.8-70.9 100.9l-53.8-42.2c9.1-17.6 14.2-37.5 14.2-58.7c0-70.7-57.3-128-128-128c-32.2 0-61.7 11.9-84.2 31.5l-46.1-36.1zM394.9 284.2l-81.5-63.9c4.2-8.5 6.6-18.2 6.6-28.3c0-5.5-.7-10.9-2-16c.7 0 1.3 0 2 0c44.2 0 80 35.8 80 80c0 9.9-1.8 19.4-5.1 28.2zm9.4 130.3C378.8 425.4 350.7 432 320 432c-65.2 0-118.8-29.6-159.9-67.7C121.6 328.5 95 286 81.4 256c8.3-18.4 21.5-41.5 39.4-64.8L83.1 161.5C60.3 191.2 44 220.8 34.5 243.7c-3.3 7.9-3.3 16.7 0 24.6c14.9 35.7 46.2 87.7 93 131.1C174.5 443.2 239.2 480 320 480c47.8 0 89.9-12.9 126.2-32.5l-41.9-33zM192 256c0 70.7 57.3 128 128 128c13.3 0 26.1-2 38.2-5.8L302 334c-23.5-5.4-43.1-21.2-53.7-42.3l-56.1-44.2c-.2 2.8-.3 5.6-.3 8.5z"
fill="currentColor" fill="currentColor"
style={Object {}}
/> />
</svg> </svg>
@@ -5183,88 +5349,68 @@ exports[`<ProfilePage /> Renders correctly in various states test preferreded la
</p> </p>
</div> </div>
<p <p
className="h5" class="h5"
data-hj-suppress={true} data-hj-suppress="true"
> >
Elementary/primary school Elementary/primary school
</p> </p>
</div> </div>
</div> </div>
<div <div
className="pgn-transition-replace-group position-relative mb-5" class="pgn-transition-replace-group position-relative mb-5"
style={
Object {
"height": null,
}
}
> >
<div <div
style={ style="padding: .1px 0px;"
Object {
"padding": ".1px 0",
}
}
> >
<div <div
className="editable-item-header mb-2" class="editable-item-header mb-2"
> >
<h2 <h2
className="edit-section-header" class="edit-section-header"
id={null}
> >
Social Links Social Links
<button <button
className="float-right px-0 btn btn-link btn-sm" class="float-right px-0 btn btn-link btn-sm"
disabled={false} style="margin-top: -.35rem;"
onClick={[Function]}
style={
Object {
"marginTop": "-.35rem",
}
}
type="button" type="button"
> >
<svg <svg
aria-hidden="true" aria-hidden="true"
className="svg-inline--fa fa-pencil-alt fa-w-16 mr-1" class="svg-inline--fa fa-pencil mr-1"
data-icon="pencil-alt" data-icon="pencil"
data-prefix="fas" data-prefix="fas"
focusable="false" focusable="false"
role="img" role="img"
style={Object {}}
viewBox="0 0 512 512" viewBox="0 0 512 512"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
> >
<path <path
d="M497.9 142.1l-46.1 46.1c-4.7 4.7-12.3 4.7-17 0l-111-111c-4.7-4.7-4.7-12.3 0-17l46.1-46.1c18.7-18.7 49.1-18.7 67.9 0l60.1 60.1c18.8 18.7 18.8 49.1 0 67.9zM284.2 99.8L21.6 362.4.4 483.9c-2.9 16.4 11.4 30.6 27.8 27.8l121.5-21.3 262.6-262.6c4.7-4.7 4.7-12.3 0-17l-111-111c-4.8-4.7-12.4-4.7-17.1 0zM124.1 339.9c-5.5-5.5-5.5-14.3 0-19.8l154-154c5.5-5.5 14.3-5.5 19.8 0s5.5 14.3 0 19.8l-154 154c-5.5 5.5-14.3 5.5-19.8 0zM88 424h48v36.3l-64.5 11.3-31.1-31.1L51.7 376H88v48z" d="M410.3 231l11.3-11.3-33.9-33.9-62.1-62.1L291.7 89.8l-11.3 11.3-22.6 22.6L58.6 322.9c-10.4 10.4-18 23.3-22.2 37.4L1 480.7c-2.5 8.4-.2 17.5 6.1 23.7s15.3 8.5 23.7 6.1l120.3-35.4c14.1-4.2 27-11.8 37.4-22.2L387.7 253.7 410.3 231zM160 399.4l-9.1 22.7c-4 3.1-8.5 5.4-13.3 6.9L59.4 452l23-78.1c1.4-4.9 3.8-9.4 6.9-13.3l22.7-9.1 0 32c0 8.8 7.2 16 16 16l32 0zM362.7 18.7L348.3 33.2 325.7 55.8 314.3 67.1l33.9 33.9 62.1 62.1 33.9 33.9 11.3-11.3 22.6-22.6 14.5-14.5c25-25 25-65.5 0-90.5L453.3 18.7c-25-25-65.5-25-90.5 0zm-47.4 168l-144 144c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l144-144c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z"
fill="currentColor" fill="currentColor"
style={Object {}}
/> />
</svg> </svg>
Edit Edit
</button> </button>
</h2> </h2>
<p <p
className="mb-0" class="mb-0"
> >
<span <span
className="ml-auto small text-muted" class="ml-auto small text-muted"
> >
<svg <svg
aria-hidden="true" aria-hidden="true"
className="svg-inline--fa fa-eye fa-w-18 " class="svg-inline--fa fa-eye "
data-icon="eye" data-icon="eye"
data-prefix="far" data-prefix="far"
focusable="false" focusable="false"
role="img" role="img"
style={Object {}}
viewBox="0 0 576 512" viewBox="0 0 576 512"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
> >
<path <path
d="M288 144a110.94 110.94 0 0 0-31.24 5 55.4 55.4 0 0 1 7.24 27 56 56 0 0 1-56 56 55.4 55.4 0 0 1-27-7.24A111.71 111.71 0 1 0 288 144zm284.52 97.4C518.29 135.59 410.93 64 288 64S57.68 135.64 3.48 241.41a32.35 32.35 0 0 0 0 29.19C57.71 376.41 165.07 448 288 448s230.32-71.64 284.52-177.41a32.35 32.35 0 0 0 0-29.19zM288 400c-98.65 0-189.09-55-237.93-144C98.91 167 189.34 112 288 112s189.09 55 237.93 144C477.1 345 386.66 400 288 400z" d="M288 80c-65.2 0-118.8 29.6-159.9 67.7C89.6 183.5 63 226 49.4 256c13.6 30 40.2 72.5 78.6 108.3C169.2 402.4 222.8 432 288 432s118.8-29.6 159.9-67.7C486.4 328.5 513 286 526.6 256c-13.6-30-40.2-72.5-78.6-108.3C406.8 109.6 353.2 80 288 80zM95.4 112.6C142.5 68.8 207.2 32 288 32s145.5 36.8 192.6 80.6c46.8 43.5 78.1 95.4 93 131.1c3.3 7.9 3.3 16.7 0 24.6c-14.9 35.7-46.2 87.7-93 131.1C433.5 443.2 368.8 480 288 480s-145.5-36.8-192.6-80.6C48.6 356 17.3 304 2.5 268.3c-3.3-7.9-3.3-16.7 0-24.6C17.3 208 48.6 156 95.4 112.6zM288 336c44.2 0 80-35.8 80-80s-35.8-80-80-80c-.7 0-1.3 0-2 0c1.3 5.1 2 10.5 2 16c0 35.3-28.7 64-64 64c-5.5 0-10.9-.7-16-2c0 .7 0 1.3 0 2c0 44.2 35.8 80 80 80zm0-208a128 128 0 1 1 0 256 128 128 0 1 1 0-256z"
fill="currentColor" fill="currentColor"
style={Object {}}
/> />
</svg> </svg>
@@ -5273,88 +5419,80 @@ exports[`<ProfilePage /> Renders correctly in various states test preferreded la
</p> </p>
</div> </div>
<ul <ul
className="list-unstyled" class="list-unstyled"
> >
<li <li
className="form-group" class="form-group"
> >
<a <a
className="font-weight-bold" class="font-weight-bold"
href="https://www.twitter.com/ALOHA" href="https://www.twitter.com/ALOHA"
> >
<svg <svg
aria-hidden="true" aria-hidden="true"
className="svg-inline--fa fa-twitter fa-w-16 mr-2" class="svg-inline--fa fa-twitter mr-2"
data-icon="twitter" data-icon="twitter"
data-prefix="fab" data-prefix="fab"
focusable="false" focusable="false"
role="img" role="img"
style={Object {}}
viewBox="0 0 512 512" viewBox="0 0 512 512"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
> >
<path <path
d="M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253z" d="M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253z"
fill="currentColor" fill="currentColor"
style={Object {}}
/> />
</svg> </svg>
Twitter Twitter
</a> </a>
</li> </li>
<li <li
className="form-group" class="form-group"
> >
<a <a
className="font-weight-bold" class="font-weight-bold"
href="https://www.facebook.com/aloha" href="https://www.facebook.com/aloha"
> >
<svg <svg
aria-hidden="true" aria-hidden="true"
className="svg-inline--fa fa-facebook fa-w-16 mr-2" class="svg-inline--fa fa-facebook mr-2"
data-icon="facebook" data-icon="facebook"
data-prefix="fab" data-prefix="fab"
focusable="false" focusable="false"
role="img" role="img"
style={Object {}}
viewBox="0 0 512 512" viewBox="0 0 512 512"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
> >
<path <path
d="M504 256C504 119 393 8 256 8S8 119 8 256c0 123.78 90.69 226.38 209.25 245V327.69h-63V256h63v-54.64c0-62.15 37-96.48 93.67-96.48 27.14 0 55.52 4.84 55.52 4.84v61h-31.28c-30.8 0-40.41 19.12-40.41 38.73V256h68.78l-11 71.69h-57.78V501C413.31 482.38 504 379.78 504 256z" d="M512 256C512 114.6 397.4 0 256 0S0 114.6 0 256C0 376 82.7 476.8 194.2 504.5V334.2H141.4V256h52.8V222.3c0-87.1 39.4-127.5 125-127.5c16.2 0 44.2 3.2 55.7 6.4V172c-6-.6-16.5-1-29.6-1c-42 0-58.2 15.9-58.2 57.2V256h83.6l-14.4 78.2H287V510.1C413.8 494.8 512 386.9 512 256h0z"
fill="currentColor" fill="currentColor"
style={Object {}}
/> />
</svg> </svg>
Facebook Facebook
</a> </a>
</li> </li>
<li <li
className="form-group" class="form-group"
> >
<div> <div>
<button <button
className="pl-0 text-left btn btn-link" class="pl-0 text-left btn btn-link"
onClick={[Function]} tabindex="0"
onKeyDown={[Function]}
tabIndex={0}
type="button" type="button"
> >
<svg <svg
aria-hidden="true" aria-hidden="true"
className="svg-inline--fa fa-plus fa-w-14 fa-xs mr-2" class="svg-inline--fa fa-plus fa-xs mr-2"
data-icon="plus" data-icon="plus"
data-prefix="fas" data-prefix="fas"
focusable="false" focusable="false"
role="img" role="img"
style={Object {}}
viewBox="0 0 448 512" viewBox="0 0 448 512"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
> >
<path <path
d="M416 208H272V64c0-17.67-14.33-32-32-32h-32c-17.67 0-32 14.33-32 32v144H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h144v144c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32V304h144c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32z" d="M256 80c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 144L48 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l144 0 0 144c0 17.7 14.3 32 32 32s32-14.3 32-32l0-144 144 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-144 0 0-144z"
fill="currentColor" fill="currentColor"
style={Object {}}
/> />
</svg> </svg>
Add Add
@@ -5367,83 +5505,63 @@ exports[`<ProfilePage /> Renders correctly in various states test preferreded la
</div> </div>
</div> </div>
<div <div
className="pt-md-3 col-md-8 col-lg-7 offset-lg-1" class="pt-md-3 col-md-8 col-lg-7 offset-lg-1"
> >
<div <div
className="pgn-transition-replace-group position-relative mb-5" class="pgn-transition-replace-group position-relative mb-5"
style={
Object {
"height": null,
}
}
> >
<div <div
style={ style="padding: .1px 0px;"
Object {
"padding": ".1px 0",
}
}
> >
<div <div
className="editable-item-header mb-2" class="editable-item-header mb-2"
> >
<h2 <h2
className="edit-section-header" class="edit-section-header"
id={null}
> >
About Me About Me
<button <button
className="float-right px-0 btn btn-link btn-sm" class="float-right px-0 btn btn-link btn-sm"
disabled={false} style="margin-top: -.35rem;"
onClick={[Function]}
style={
Object {
"marginTop": "-.35rem",
}
}
type="button" type="button"
> >
<svg <svg
aria-hidden="true" aria-hidden="true"
className="svg-inline--fa fa-pencil-alt fa-w-16 mr-1" class="svg-inline--fa fa-pencil mr-1"
data-icon="pencil-alt" data-icon="pencil"
data-prefix="fas" data-prefix="fas"
focusable="false" focusable="false"
role="img" role="img"
style={Object {}}
viewBox="0 0 512 512" viewBox="0 0 512 512"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
> >
<path <path
d="M497.9 142.1l-46.1 46.1c-4.7 4.7-12.3 4.7-17 0l-111-111c-4.7-4.7-4.7-12.3 0-17l46.1-46.1c18.7-18.7 49.1-18.7 67.9 0l60.1 60.1c18.8 18.7 18.8 49.1 0 67.9zM284.2 99.8L21.6 362.4.4 483.9c-2.9 16.4 11.4 30.6 27.8 27.8l121.5-21.3 262.6-262.6c4.7-4.7 4.7-12.3 0-17l-111-111c-4.8-4.7-12.4-4.7-17.1 0zM124.1 339.9c-5.5-5.5-5.5-14.3 0-19.8l154-154c5.5-5.5 14.3-5.5 19.8 0s5.5 14.3 0 19.8l-154 154c-5.5 5.5-14.3 5.5-19.8 0zM88 424h48v36.3l-64.5 11.3-31.1-31.1L51.7 376H88v48z" d="M410.3 231l11.3-11.3-33.9-33.9-62.1-62.1L291.7 89.8l-11.3 11.3-22.6 22.6L58.6 322.9c-10.4 10.4-18 23.3-22.2 37.4L1 480.7c-2.5 8.4-.2 17.5 6.1 23.7s15.3 8.5 23.7 6.1l120.3-35.4c14.1-4.2 27-11.8 37.4-22.2L387.7 253.7 410.3 231zM160 399.4l-9.1 22.7c-4 3.1-8.5 5.4-13.3 6.9L59.4 452l23-78.1c1.4-4.9 3.8-9.4 6.9-13.3l22.7-9.1 0 32c0 8.8 7.2 16 16 16l32 0zM362.7 18.7L348.3 33.2 325.7 55.8 314.3 67.1l33.9 33.9 62.1 62.1 33.9 33.9 11.3-11.3 22.6-22.6 14.5-14.5c25-25 25-65.5 0-90.5L453.3 18.7c-25-25-65.5-25-90.5 0zm-47.4 168l-144 144c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l144-144c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z"
fill="currentColor" fill="currentColor"
style={Object {}}
/> />
</svg> </svg>
Edit Edit
</button> </button>
</h2> </h2>
<p <p
className="mb-0" class="mb-0"
> >
<span <span
className="ml-auto small text-muted" class="ml-auto small text-muted"
> >
<svg <svg
aria-hidden="true" aria-hidden="true"
className="svg-inline--fa fa-eye fa-w-18 " class="svg-inline--fa fa-eye "
data-icon="eye" data-icon="eye"
data-prefix="far" data-prefix="far"
focusable="false" focusable="false"
role="img" role="img"
style={Object {}}
viewBox="0 0 576 512" viewBox="0 0 576 512"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
> >
<path <path
d="M288 144a110.94 110.94 0 0 0-31.24 5 55.4 55.4 0 0 1 7.24 27 56 56 0 0 1-56 56 55.4 55.4 0 0 1-27-7.24A111.71 111.71 0 1 0 288 144zm284.52 97.4C518.29 135.59 410.93 64 288 64S57.68 135.64 3.48 241.41a32.35 32.35 0 0 0 0 29.19C57.71 376.41 165.07 448 288 448s230.32-71.64 284.52-177.41a32.35 32.35 0 0 0 0-29.19zM288 400c-98.65 0-189.09-55-237.93-144C98.91 167 189.34 112 288 112s189.09 55 237.93 144C477.1 345 386.66 400 288 400z" d="M288 80c-65.2 0-118.8 29.6-159.9 67.7C89.6 183.5 63 226 49.4 256c13.6 30 40.2 72.5 78.6 108.3C169.2 402.4 222.8 432 288 432s118.8-29.6 159.9-67.7C486.4 328.5 513 286 526.6 256c-13.6-30-40.2-72.5-78.6-108.3C406.8 109.6 353.2 80 288 80zM95.4 112.6C142.5 68.8 207.2 32 288 32s145.5 36.8 192.6 80.6c46.8 43.5 78.1 95.4 93 131.1c3.3 7.9 3.3 16.7 0 24.6c-14.9 35.7-46.2 87.7-93 131.1C433.5 443.2 368.8 480 288 480s-145.5-36.8-192.6-80.6C48.6 356 17.3 304 2.5 268.3c-3.3-7.9-3.3-16.7 0-24.6C17.3 208 48.6 156 95.4 112.6zM288 336c44.2 0 80-35.8 80-80s-35.8-80-80-80c-.7 0-1.3 0-2 0c1.3 5.1 2 10.5 2 16c0 35.3-28.7 64-64 64c-5.5 0-10.9-.7-16-2c0 .7 0 1.3 0 2c0 44.2 35.8 80 80 80zm0-208a128 128 0 1 1 0 256 128 128 0 1 1 0-256z"
fill="currentColor" fill="currentColor"
style={Object {}}
/> />
</svg> </svg>
@@ -5452,88 +5570,68 @@ exports[`<ProfilePage /> Renders correctly in various states test preferreded la
</p> </p>
</div> </div>
<p <p
className="lead" class="lead"
data-hj-suppress={true} data-hj-suppress="true"
> >
This is my bio This is my bio
</p> </p>
</div> </div>
</div> </div>
<div <div
className="pgn-transition-replace-group position-relative mb-4" class="pgn-transition-replace-group position-relative mb-4"
style={
Object {
"height": null,
}
}
> >
<div <div
style={ style="padding: .1px 0px;"
Object {
"padding": ".1px 0",
}
}
> >
<div <div
className="editable-item-header mb-2" class="editable-item-header mb-2"
> >
<h2 <h2
className="edit-section-header" class="edit-section-header"
id={null}
> >
My Certificates My Certificates
<button <button
className="float-right px-0 btn btn-link btn-sm" class="float-right px-0 btn btn-link btn-sm"
disabled={false} style="margin-top: -.35rem;"
onClick={[Function]}
style={
Object {
"marginTop": "-.35rem",
}
}
type="button" type="button"
> >
<svg <svg
aria-hidden="true" aria-hidden="true"
className="svg-inline--fa fa-pencil-alt fa-w-16 mr-1" class="svg-inline--fa fa-pencil mr-1"
data-icon="pencil-alt" data-icon="pencil"
data-prefix="fas" data-prefix="fas"
focusable="false" focusable="false"
role="img" role="img"
style={Object {}}
viewBox="0 0 512 512" viewBox="0 0 512 512"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
> >
<path <path
d="M497.9 142.1l-46.1 46.1c-4.7 4.7-12.3 4.7-17 0l-111-111c-4.7-4.7-4.7-12.3 0-17l46.1-46.1c18.7-18.7 49.1-18.7 67.9 0l60.1 60.1c18.8 18.7 18.8 49.1 0 67.9zM284.2 99.8L21.6 362.4.4 483.9c-2.9 16.4 11.4 30.6 27.8 27.8l121.5-21.3 262.6-262.6c4.7-4.7 4.7-12.3 0-17l-111-111c-4.8-4.7-12.4-4.7-17.1 0zM124.1 339.9c-5.5-5.5-5.5-14.3 0-19.8l154-154c5.5-5.5 14.3-5.5 19.8 0s5.5 14.3 0 19.8l-154 154c-5.5 5.5-14.3 5.5-19.8 0zM88 424h48v36.3l-64.5 11.3-31.1-31.1L51.7 376H88v48z" d="M410.3 231l11.3-11.3-33.9-33.9-62.1-62.1L291.7 89.8l-11.3 11.3-22.6 22.6L58.6 322.9c-10.4 10.4-18 23.3-22.2 37.4L1 480.7c-2.5 8.4-.2 17.5 6.1 23.7s15.3 8.5 23.7 6.1l120.3-35.4c14.1-4.2 27-11.8 37.4-22.2L387.7 253.7 410.3 231zM160 399.4l-9.1 22.7c-4 3.1-8.5 5.4-13.3 6.9L59.4 452l23-78.1c1.4-4.9 3.8-9.4 6.9-13.3l22.7-9.1 0 32c0 8.8 7.2 16 16 16l32 0zM362.7 18.7L348.3 33.2 325.7 55.8 314.3 67.1l33.9 33.9 62.1 62.1 33.9 33.9 11.3-11.3 22.6-22.6 14.5-14.5c25-25 25-65.5 0-90.5L453.3 18.7c-25-25-65.5-25-90.5 0zm-47.4 168l-144 144c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l144-144c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z"
fill="currentColor" fill="currentColor"
style={Object {}}
/> />
</svg> </svg>
Edit Edit
</button> </button>
</h2> </h2>
<p <p
className="mb-0" class="mb-0"
> >
<span <span
className="ml-auto small text-muted" class="ml-auto small text-muted"
> >
<svg <svg
aria-hidden="true" aria-hidden="true"
className="svg-inline--fa fa-eye fa-w-18 " class="svg-inline--fa fa-eye "
data-icon="eye" data-icon="eye"
data-prefix="far" data-prefix="far"
focusable="false" focusable="false"
role="img" role="img"
style={Object {}}
viewBox="0 0 576 512" viewBox="0 0 576 512"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
> >
<path <path
d="M288 144a110.94 110.94 0 0 0-31.24 5 55.4 55.4 0 0 1 7.24 27 56 56 0 0 1-56 56 55.4 55.4 0 0 1-27-7.24A111.71 111.71 0 1 0 288 144zm284.52 97.4C518.29 135.59 410.93 64 288 64S57.68 135.64 3.48 241.41a32.35 32.35 0 0 0 0 29.19C57.71 376.41 165.07 448 288 448s230.32-71.64 284.52-177.41a32.35 32.35 0 0 0 0-29.19zM288 400c-98.65 0-189.09-55-237.93-144C98.91 167 189.34 112 288 112s189.09 55 237.93 144C477.1 345 386.66 400 288 400z" d="M288 80c-65.2 0-118.8 29.6-159.9 67.7C89.6 183.5 63 226 49.4 256c13.6 30 40.2 72.5 78.6 108.3C169.2 402.4 222.8 432 288 432s118.8-29.6 159.9-67.7C486.4 328.5 513 286 526.6 256c-13.6-30-40.2-72.5-78.6-108.3C406.8 109.6 353.2 80 288 80zM95.4 112.6C142.5 68.8 207.2 32 288 32s145.5 36.8 192.6 80.6c46.8 43.5 78.1 95.4 93 131.1c3.3 7.9 3.3 16.7 0 24.6c-14.9 35.7-46.2 87.7-93 131.1C433.5 443.2 368.8 480 288 480s-145.5-36.8-192.6-80.6C48.6 356 17.3 304 2.5 268.3c-3.3-7.9-3.3-16.7 0-24.6C17.3 208 48.6 156 95.4 112.6zM288 336c44.2 0 80-35.8 80-80s-35.8-80-80-80c-.7 0-1.3 0-2 0c1.3 5.1 2 10.5 2 16c0 35.3-28.7 64-64 64c-5.5 0-10.9-.7-16-2c0 .7 0 1.3 0 2c0 44.2 35.8 80 80 80zm0-208a128 128 0 1 1 0 256 128 128 0 1 1 0-256z"
fill="currentColor" fill="currentColor"
style={Object {}}
/> />
</svg> </svg>
@@ -5542,88 +5640,79 @@ exports[`<ProfilePage /> Renders correctly in various states test preferreded la
</p> </p>
</div> </div>
<div <div
className="row align-items-stretch" class="row align-items-stretch"
> >
<div <div
className="col col-sm-6 d-flex align-items-stretch" class="col-12 col-sm-6 d-flex align-items-stretch"
> >
<div <div
className="card mb-4 certificate flex-grow-1" class="card mb-4 certificate flex-grow-1"
> >
<div <div
className="certificate-type-illustration" class="certificate-type-illustration"
style={ style="background-image: url(icon/mock/path);"
Object {
"backgroundImage": "url(icon/mock/path)",
}
}
/> />
<div <div
className="card-body d-flex flex-column" class="card-body d-flex flex-column"
> >
<div <div
className="card-title" class="card-title"
> >
<p <p
className="small mb-0" class="small mb-0"
> >
Verified Certificate Verified Certificate
</p> </p>
<h4 <h4
className="certificate-title" class="certificate-title"
> >
edX Demonstration Course edX Demonstration Course
</h4> </h4>
</div> </div>
<p <p
className="small mb-0" class="small mb-0"
> >
From From
</p> </p>
<p <p
className="h6 mb-4" class="h6 mb-4"
> >
edX edX
</p> </p>
<div <div
className="flex-grow-1" class="flex-grow-1"
/> />
<p <p
className="small mb-2" class="small mb-2"
> >
Completed on Completed on
3/4/2019 3/4/2019
</p> </p>
<div> <div>
<a <a
className="pgn__hyperlink default-link standalone-link btn btn-outline-primary" class="pgn__hyperlink default-link standalone-link btn btn-outline-primary"
href="http://www.example.com/" href="http://www.example.com/"
onClick={[Function]}
rel="noopener noreferrer" rel="noopener noreferrer"
target="_blank" target="_blank"
> >
View Certificate View Certificate
<span <span
className="pgn__hyperlink__external-icon" class="pgn__hyperlink__external-icon"
title="Opens in a new tab" title="Opens in a new tab"
> >
<span <span
className="pgn__icon" class="pgn__icon"
style={ data-testid="hyperlink-icon"
Object { style="height: 1em; width: 1em;"
"height": "1em",
"width": "1em",
}
}
> >
<svg <svg
aria-hidden={true} aria-hidden="true"
fill="none" fill="none"
focusable={false} focusable="false"
height={24} height="24"
role="img" role="img"
viewBox="0 0 24 24" viewBox="0 0 24 24"
width={24} width="24"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
> >
<path <path
@@ -5632,7 +5721,7 @@ exports[`<ProfilePage /> Renders correctly in various states test preferreded la
/> />
</svg> </svg>
<span <span
className="sr-only" class="sr-only"
> >
in a new tab in a new tab
</span> </span>
@@ -5650,94 +5739,92 @@ exports[`<ProfilePage /> Renders correctly in various states test preferreded la
</div> </div>
</div> </div>
</div> </div>
</div>
`; `;
exports[`<ProfilePage /> Renders correctly in various states viewing other profile 1`] = ` exports[`<ProfilePage /> Renders correctly in various states viewing other profile with all fields 1`] = `
<div>
<div <div
className="profile-page" class="profile-page"
> >
<div <div
className="profile-page-bg-banner bg-primary d-none d-md-block p-relative" class="profile-page-bg-banner bg-primary d-md-block p-relative"
/> />
<div <div
className="container-fluid" class="container-fluid"
> >
<div <div
className="row align-items-center pt-4 mb-4 pt-md-0 mb-md-0" class="row align-items-center pt-4 mb-4 pt-md-0 mb-md-0"
> >
<div <div
className="col-auto col-md-4 col-lg-3" class="col-auto col-md-4 col-lg-3"
> >
<div <div
className="d-flex align-items-center d-md-block" class="d-flex align-items-center d-md-block"
> >
<div <div
className="profile-avatar-wrap position-relative" class="profile-avatar-wrap position-relative"
> >
<div <div
className="profile-avatar rounded-circle bg-light" class="profile-avatar rounded-circle bg-light"
> >
<IconMock <div
aria-hidden={true} aria-hidden="true"
className="text-muted" class="text-muted"
data-testid="IconMock"
focusable="false" focusable="false"
role="img" role="img"
viewBox="0 0 24 24" viewbox="0 0 24 24"
/> />
</div> </div>
<form <form
encType="multipart/form-data" enctype="multipart/form-data"
onSubmit={[Function]}
> >
<input <input
accept=".jpg, .jpeg, .png" accept=".jpg, .jpeg, .png"
className="d-none form-control-file" class="d-none form-control-file"
id="photo-file" id="photo-file"
name="file" name="file"
onChange={[Function]}
type="file" type="file"
/> />
</form> </form>
</div> </div>
</div> </div>
</div> </div>
<div>
PluginPOC
</div>
<div <div
className="col pl-0" class="col"
> >
<div <div
className="d-md-none" class="d-md-none"
> >
<span <span
data-hj-suppress={true} data-hj-suppress="true"
> >
<h1 <h1
className="h2 mb-0 font-weight-bold" class="h2 mb-0 font-weight-bold text-truncate"
> >
verified staff
</h1> </h1>
<p <p
className="mb-0" class="mb-0"
> >
Member since Member since
2017 2017
</p> </p>
<div <div
className="d-flex align-items-center mt-3 mb-2rem" class="d-flex align-items-center mt-3 mb-2rem"
> >
<span <span
className="pgn__icon icon-visibility-off" class="pgn__icon icon-visibility-off"
> >
<svg <svg
aria-hidden={true} aria-hidden="true"
fill="none" fill="none"
focusable={false} focusable="false"
height={24} height="24"
role="img" role="img"
viewBox="0 0 24 24" viewBox="0 0 24 24"
width={24} width="24"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
> >
<path <path
@@ -5747,58 +5834,98 @@ exports[`<ProfilePage /> Renders correctly in various states viewing other profi
</svg> </svg>
</span> </span>
<div <div
className="username-description" class="username-description"
> >
Your profile information is only visible to you. Only your username is visible to others on localhost. Your profile information is only visible to you. Only your username is visible to others on localhost.
</div> </div>
</div> </div>
<hr <hr
className="d-none d-md-block" class="d-none d-md-block"
/> />
</span> </span>
</div> </div>
<div <div
className="d-none d-md-block float-right" class="d-none d-md-block float-right"
/>
</div>
</div>
<div
className="row"
> >
<div <a
className="col-md-4 col-lg-4" class="pgn__hyperlink default-link standalone-link btn btn-primary"
href="http://localhost:18150/records"
rel="noopener noreferrer"
target="_blank"
> >
<div View My Records
className="d-none d-md-block mb-4" <span
class="pgn__hyperlink__external-icon"
title="Opens in a new tab"
> >
<span <span
data-hj-suppress={true} class="pgn__icon"
data-testid="hyperlink-icon"
style="height: 1em; width: 1em;"
>
<svg
aria-hidden="true"
fill="none"
focusable="false"
height="24"
role="img"
viewBox="0 0 24 24"
width="24"
xmlns="http://www.w3.org/2000/svg"
>
<path
d="M19 19H5V5h7V3H3v18h18v-9h-2v7ZM14 3v2h3.59l-9.83 9.83 1.41 1.41L19 6.41V10h2V3h-7Z"
fill="currentColor"
/>
</svg>
<span
class="sr-only"
>
in a new tab
</span>
</span>
</span>
</a>
</div>
</div>
</div>
<div
class="row"
>
<div
class="col-md-4 col-lg-4"
>
<div
class="d-none d-md-block mb-4"
>
<span
data-hj-suppress="true"
> >
<h1 <h1
className="h2 mb-0 font-weight-bold" class="h2 mb-0 font-weight-bold text-truncate"
> >
verified staff
</h1> </h1>
<p <p
className="mb-0" class="mb-0"
> >
Member since Member since
2017 2017
</p> </p>
<div <div
className="d-flex align-items-center mt-3 mb-2rem" class="d-flex align-items-center mt-3 mb-2rem"
> >
<span <span
className="pgn__icon icon-visibility-off" class="pgn__icon icon-visibility-off"
> >
<svg <svg
aria-hidden={true} aria-hidden="true"
fill="none" fill="none"
focusable={false} focusable="false"
height={24} height="24"
role="img" role="img"
viewBox="0 0 24 24" viewBox="0 0 24 24"
width={24} width="24"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
> >
<path <path
@@ -5808,123 +5935,256 @@ exports[`<ProfilePage /> Renders correctly in various states viewing other profi
</svg> </svg>
</span> </span>
<div <div
className="username-description" class="username-description"
> >
Your profile information is only visible to you. Only your username is visible to others on localhost. Your profile information is only visible to you. Only your username is visible to others on localhost.
</div> </div>
</div> </div>
<hr <hr
className="d-none d-md-block" class="d-none d-md-block"
/> />
</span> </span>
</div> </div>
<div <div
className="d-md-none mb-4" class="d-md-none mb-4"
/> >
<div <a
className="pgn-transition-replace-group position-relative mb-5" class="pgn__hyperlink default-link standalone-link btn btn-primary"
style={ href="http://localhost:18150/records"
Object { rel="noopener noreferrer"
"height": null, target="_blank"
} >
} View My Records
/> <span
<div class="pgn__hyperlink__external-icon"
className="pgn-transition-replace-group position-relative mb-5" title="Opens in a new tab"
style={ >
Object { <span
"height": null, class="pgn__icon"
} data-testid="hyperlink-icon"
} style="height: 1em; width: 1em;"
/> >
<div <svg
className="pgn-transition-replace-group position-relative mb-5" aria-hidden="true"
style={ fill="none"
Object { focusable="false"
"height": null, height="24"
} role="img"
} viewBox="0 0 24 24"
/> width="24"
<div xmlns="http://www.w3.org/2000/svg"
className="pgn-transition-replace-group position-relative mb-5" >
style={ <path
Object { d="M19 19H5V5h7V3H3v18h18v-9h-2v7ZM14 3v2h3.59l-9.83 9.83 1.41 1.41L19 6.41V10h2V3h-7Z"
"height": null, fill="currentColor"
}
}
/>
<div
className="pgn-transition-replace-group position-relative mb-5"
style={
Object {
"height": null,
}
}
/> />
</svg>
<span
class="sr-only"
>
in a new tab
</span>
</span>
</span>
</a>
</div> </div>
<div <div
className="pt-md-3 col-md-8 col-lg-7 offset-lg-1" class="pgn-transition-replace-group position-relative mb-5"
> >
<div <div
className="pgn-transition-replace-group position-relative mb-5" style="padding: .1px 0px;"
style={ >
Object {
"height": null,
}
}
/>
<div <div
className="pgn-transition-replace-group position-relative mb-4" class="editable-item-header mb-2"
style={ >
Object { <h2
"height": null, class="edit-section-header"
} >
} Full Name
</h2>
</div>
<p
class="h5"
data-hj-suppress="true"
>
user
</p>
</div>
</div>
<div
class="pgn-transition-replace-group position-relative mb-5"
>
<div
style="padding: .1px 0px;"
>
<div
class="editable-item-header mb-2"
>
<h2
class="edit-section-header"
>
Location
</h2>
</div>
<p
class="h5"
data-hj-suppress="true"
/> />
</div> </div>
</div> </div>
<div
class="pgn-transition-replace-group position-relative mb-5"
>
<div
style="padding: .1px 0px;"
>
<div
class="editable-item-header mb-2"
>
<h2
class="edit-section-header"
>
Primary Language Spoken
</h2>
</div>
<p
class="h5"
data-hj-suppress="true"
/>
</div>
</div>
<div
class="pgn-transition-replace-group position-relative mb-5"
>
<div
style="padding: .1px 0px;"
>
<div
class="editable-item-header mb-2"
>
<h2
class="edit-section-header"
>
Education
</h2>
</div>
<p
class="h5"
data-hj-suppress="true"
>
Other education
</p>
</div>
</div>
<div
class="pgn-transition-replace-group position-relative mb-5"
>
<div
style="padding: .1px 0px;"
>
<div
class="editable-item-header mb-2"
>
<h2
class="edit-section-header"
>
Social Links
</h2>
</div>
<ul
class="list-unstyled"
/>
</div>
</div>
</div>
<div
class="pt-md-3 col-md-8 col-lg-7 offset-lg-1"
>
<div
class="pgn-transition-replace-group position-relative mb-5"
>
<div
style="padding: .1px 0px;"
>
<div
class="editable-item-header mb-2"
>
<h2
class="edit-section-header"
>
About Me
</h2>
</div>
<p
class="lead"
data-hj-suppress="true"
>
bio
</p>
</div>
</div>
<div
class="pgn-transition-replace-group position-relative mb-4"
>
<div
style="padding: .1px 0px;"
>
<div
class="editable-item-header mb-2"
>
<h2
class="edit-section-header"
>
My Certificates
</h2>
</div>
You don't have any certificates yet.
</div>
</div>
</div>
</div>
</div>
</div> </div>
</div> </div>
`; `;
exports[`<ProfilePage /> Renders correctly in various states viewing own profile 1`] = ` exports[`<ProfilePage /> Renders correctly in various states viewing own profile 1`] = `
<div>
<div <div
className="profile-page" class="profile-page"
> >
<div <div
className="profile-page-bg-banner bg-primary d-none d-md-block p-relative" class="profile-page-bg-banner bg-primary d-md-block p-relative"
/> />
<div <div
className="container-fluid" class="container-fluid"
> >
<div <div
className="row align-items-center pt-4 mb-4 pt-md-0 mb-md-0" class="row align-items-center pt-4 mb-4 pt-md-0 mb-md-0"
> >
<div <div
className="col-auto col-md-4 col-lg-3" class="col-auto col-md-4 col-lg-3"
> >
<div <div
className="d-flex align-items-center d-md-block" class="d-flex align-items-center d-md-block"
> >
<div <div
className="profile-avatar-wrap position-relative" class="profile-avatar-wrap position-relative"
> >
<div <div
className="profile-avatar rounded-circle bg-light" class="profile-avatar rounded-circle bg-light"
> >
<div <div
className="profile-avatar-menu-container" class="profile-avatar-menu-container"
> >
<div <div
className="pgn__dropdown pgn__dropdown-light dropdown" class="pgn__dropdown pgn__dropdown-light dropdown"
data-testid="dropdown" data-testid="dropdown"
> >
<button <button
aria-expanded={false} aria-expanded="false"
aria-haspopup={true} aria-haspopup="true"
className="dropdown-toggle btn btn-primary" class="dropdown-toggle btn btn-primary"
disabled={false}
onClick={[Function]}
type="button" type="button"
> >
Change Change
@@ -5933,92 +6193,78 @@ exports[`<ProfilePage /> Renders correctly in various states viewing own profile
</div> </div>
<img <img
alt="profile avatar" alt="profile avatar"
className="w-100 h-100 d-block rounded-circle overflow-hidden" class="w-100 h-100 d-block rounded-circle overflow-hidden"
data-hj-suppress={true} data-hj-suppress="true"
src="http://localhost:18000/media/profile-images/d2a9bdc2ba165dcefc73265c54bf9a20_500.jpg?v=1552495012" src="http://localhost:18000/media/profile-images/d2a9bdc2ba165dcefc73265c54bf9a20_500.jpg?v=1552495012"
style={ style="object-fit: cover;"
Object {
"objectFit": "cover",
}
}
/> />
</div> </div>
<form <form
encType="multipart/form-data" enctype="multipart/form-data"
onSubmit={[Function]}
> >
<input <input
accept=".jpg, .jpeg, .png" accept=".jpg, .jpeg, .png"
className="d-none form-control-file" class="d-none form-control-file"
id="photo-file" id="photo-file"
name="file" name="file"
onChange={[Function]}
type="file" type="file"
/> />
</form> </form>
</div> </div>
</div> </div>
</div> </div>
<div>
PluginPOC
</div>
<div <div
className="col pl-0" class="col"
> >
<div <div
className="d-md-none" class="d-md-none"
> >
<span <span
data-hj-suppress={true} data-hj-suppress="true"
> >
<h1 <h1
className="h2 mb-0 font-weight-bold" class="h2 mb-0 font-weight-bold text-truncate"
> >
staff staff
</h1> </h1>
<p <p
className="mb-0" class="mb-0"
> >
Member since Member since
2017 2017
</p> </p>
<hr <hr
className="d-none d-md-block" class="d-none d-md-block"
/> />
</span> </span>
</div> </div>
<div <div
className="d-none d-md-block float-right" class="d-none d-md-block float-right"
> >
<a <a
className="pgn__hyperlink default-link standalone-link btn btn-primary" class="pgn__hyperlink default-link standalone-link btn btn-primary"
href="http://localhost:18150/records" href="http://localhost:18150/records"
onClick={[Function]}
rel="noopener noreferrer" rel="noopener noreferrer"
target="_blank" target="_blank"
> >
View My Records View My Records
<span <span
className="pgn__hyperlink__external-icon" class="pgn__hyperlink__external-icon"
title="Opens in a new tab" title="Opens in a new tab"
> >
<span <span
className="pgn__icon" class="pgn__icon"
style={ data-testid="hyperlink-icon"
Object { style="height: 1em; width: 1em;"
"height": "1em",
"width": "1em",
}
}
> >
<svg <svg
aria-hidden={true} aria-hidden="true"
fill="none" fill="none"
focusable={false} focusable="false"
height={24} height="24"
role="img" role="img"
viewBox="0 0 24 24" viewBox="0 0 24 24"
width={24} width="24"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
> >
<path <path
@@ -6027,7 +6273,7 @@ exports[`<ProfilePage /> Renders correctly in various states viewing own profile
/> />
</svg> </svg>
<span <span
className="sr-only" class="sr-only"
> >
in a new tab in a new tab
</span> </span>
@@ -6038,65 +6284,60 @@ exports[`<ProfilePage /> Renders correctly in various states viewing own profile
</div> </div>
</div> </div>
<div <div
className="row" class="row"
> >
<div <div
className="col-md-4 col-lg-4" class="col-md-4 col-lg-4"
> >
<div <div
className="d-none d-md-block mb-4" class="d-none d-md-block mb-4"
> >
<span <span
data-hj-suppress={true} data-hj-suppress="true"
> >
<h1 <h1
className="h2 mb-0 font-weight-bold" class="h2 mb-0 font-weight-bold text-truncate"
> >
staff staff
</h1> </h1>
<p <p
className="mb-0" class="mb-0"
> >
Member since Member since
2017 2017
</p> </p>
<hr <hr
className="d-none d-md-block" class="d-none d-md-block"
/> />
</span> </span>
</div> </div>
<div <div
className="d-md-none mb-4" class="d-md-none mb-4"
> >
<a <a
className="pgn__hyperlink default-link standalone-link btn btn-primary" class="pgn__hyperlink default-link standalone-link btn btn-primary"
href="http://localhost:18150/records" href="http://localhost:18150/records"
onClick={[Function]}
rel="noopener noreferrer" rel="noopener noreferrer"
target="_blank" target="_blank"
> >
View My Records View My Records
<span <span
className="pgn__hyperlink__external-icon" class="pgn__hyperlink__external-icon"
title="Opens in a new tab" title="Opens in a new tab"
> >
<span <span
className="pgn__icon" class="pgn__icon"
style={ data-testid="hyperlink-icon"
Object { style="height: 1em; width: 1em;"
"height": "1em",
"width": "1em",
}
}
> >
<svg <svg
aria-hidden={true} aria-hidden="true"
fill="none" fill="none"
focusable={false} focusable="false"
height={24} height="24"
role="img" role="img"
viewBox="0 0 24 24" viewBox="0 0 24 24"
width={24} width="24"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
> >
<path <path
@@ -6105,7 +6346,7 @@ exports[`<ProfilePage /> Renders correctly in various states viewing own profile
/> />
</svg> </svg>
<span <span
className="sr-only" class="sr-only"
> >
in a new tab in a new tab
</span> </span>
@@ -6114,80 +6355,60 @@ exports[`<ProfilePage /> Renders correctly in various states viewing own profile
</a> </a>
</div> </div>
<div <div
className="pgn-transition-replace-group position-relative mb-5" class="pgn-transition-replace-group position-relative mb-5"
style={
Object {
"height": null,
}
}
> >
<div <div
style={ style="padding: .1px 0px;"
Object {
"padding": ".1px 0",
}
}
> >
<div <div
className="editable-item-header mb-2" class="editable-item-header mb-2"
> >
<h2 <h2
className="edit-section-header" class="edit-section-header"
id={null}
> >
Full Name Full Name
<button <button
className="float-right px-0 btn btn-link btn-sm" class="float-right px-0 btn btn-link btn-sm"
disabled={false} style="margin-top: -.35rem;"
onClick={[Function]}
style={
Object {
"marginTop": "-.35rem",
}
}
type="button" type="button"
> >
<svg <svg
aria-hidden="true" aria-hidden="true"
className="svg-inline--fa fa-pencil-alt fa-w-16 mr-1" class="svg-inline--fa fa-pencil mr-1"
data-icon="pencil-alt" data-icon="pencil"
data-prefix="fas" data-prefix="fas"
focusable="false" focusable="false"
role="img" role="img"
style={Object {}}
viewBox="0 0 512 512" viewBox="0 0 512 512"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
> >
<path <path
d="M497.9 142.1l-46.1 46.1c-4.7 4.7-12.3 4.7-17 0l-111-111c-4.7-4.7-4.7-12.3 0-17l46.1-46.1c18.7-18.7 49.1-18.7 67.9 0l60.1 60.1c18.8 18.7 18.8 49.1 0 67.9zM284.2 99.8L21.6 362.4.4 483.9c-2.9 16.4 11.4 30.6 27.8 27.8l121.5-21.3 262.6-262.6c4.7-4.7 4.7-12.3 0-17l-111-111c-4.8-4.7-12.4-4.7-17.1 0zM124.1 339.9c-5.5-5.5-5.5-14.3 0-19.8l154-154c5.5-5.5 14.3-5.5 19.8 0s5.5 14.3 0 19.8l-154 154c-5.5 5.5-14.3 5.5-19.8 0zM88 424h48v36.3l-64.5 11.3-31.1-31.1L51.7 376H88v48z" d="M410.3 231l11.3-11.3-33.9-33.9-62.1-62.1L291.7 89.8l-11.3 11.3-22.6 22.6L58.6 322.9c-10.4 10.4-18 23.3-22.2 37.4L1 480.7c-2.5 8.4-.2 17.5 6.1 23.7s15.3 8.5 23.7 6.1l120.3-35.4c14.1-4.2 27-11.8 37.4-22.2L387.7 253.7 410.3 231zM160 399.4l-9.1 22.7c-4 3.1-8.5 5.4-13.3 6.9L59.4 452l23-78.1c1.4-4.9 3.8-9.4 6.9-13.3l22.7-9.1 0 32c0 8.8 7.2 16 16 16l32 0zM362.7 18.7L348.3 33.2 325.7 55.8 314.3 67.1l33.9 33.9 62.1 62.1 33.9 33.9 11.3-11.3 22.6-22.6 14.5-14.5c25-25 25-65.5 0-90.5L453.3 18.7c-25-25-65.5-25-90.5 0zm-47.4 168l-144 144c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l144-144c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z"
fill="currentColor" fill="currentColor"
style={Object {}}
/> />
</svg> </svg>
Edit Edit
</button> </button>
</h2> </h2>
<p <p
className="mb-0" class="mb-0"
> >
<span <span
className="ml-auto small text-muted" class="ml-auto small text-muted"
> >
<svg <svg
aria-hidden="true" aria-hidden="true"
className="svg-inline--fa fa-eye-slash fa-w-20 " class="svg-inline--fa fa-eye-slash "
data-icon="eye-slash" data-icon="eye-slash"
data-prefix="far" data-prefix="far"
focusable="false" focusable="false"
role="img" role="img"
style={Object {}}
viewBox="0 0 640 512" viewBox="0 0 640 512"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
> >
<path <path
d="M634 471L36 3.51A16 16 0 0 0 13.51 6l-10 12.49A16 16 0 0 0 6 41l598 467.49a16 16 0 0 0 22.49-2.49l10-12.49A16 16 0 0 0 634 471zM296.79 146.47l134.79 105.38C429.36 191.91 380.48 144 320 144a112.26 112.26 0 0 0-23.21 2.47zm46.42 219.07L208.42 260.16C210.65 320.09 259.53 368 320 368a113 113 0 0 0 23.21-2.46zM320 112c98.65 0 189.09 55 237.93 144a285.53 285.53 0 0 1-44 60.2l37.74 29.5a333.7 333.7 0 0 0 52.9-75.11 32.35 32.35 0 0 0 0-29.19C550.29 135.59 442.93 64 320 64c-36.7 0-71.71 7-104.63 18.81l46.41 36.29c18.94-4.3 38.34-7.1 58.22-7.1zm0 288c-98.65 0-189.08-55-237.93-144a285.47 285.47 0 0 1 44.05-60.19l-37.74-29.5a333.6 333.6 0 0 0-52.89 75.1 32.35 32.35 0 0 0 0 29.19C89.72 376.41 197.08 448 320 448c36.7 0 71.71-7.05 104.63-18.81l-46.41-36.28C359.28 397.2 339.89 400 320 400z" d="M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L525.6 386.7c39.6-40.6 66.4-86.1 79.9-118.4c3.3-7.9 3.3-16.7 0-24.6c-14.9-35.7-46.2-87.7-93-131.1C465.5 68.8 400.8 32 320 32c-68.2 0-125 26.3-169.3 60.8L38.8 5.1zm151 118.3C226 97.7 269.5 80 320 80c65.2 0 118.8 29.6 159.9 67.7C518.4 183.5 545 226 558.6 256c-12.6 28-36.6 66.8-70.9 100.9l-53.8-42.2c9.1-17.6 14.2-37.5 14.2-58.7c0-70.7-57.3-128-128-128c-32.2 0-61.7 11.9-84.2 31.5l-46.1-36.1zM394.9 284.2l-81.5-63.9c4.2-8.5 6.6-18.2 6.6-28.3c0-5.5-.7-10.9-2-16c.7 0 1.3 0 2 0c44.2 0 80 35.8 80 80c0 9.9-1.8 19.4-5.1 28.2zm9.4 130.3C378.8 425.4 350.7 432 320 432c-65.2 0-118.8-29.6-159.9-67.7C121.6 328.5 95 286 81.4 256c8.3-18.4 21.5-41.5 39.4-64.8L83.1 161.5C60.3 191.2 44 220.8 34.5 243.7c-3.3 7.9-3.3 16.7 0 24.6c14.9 35.7 46.2 87.7 93 131.1C174.5 443.2 239.2 480 320 480c47.8 0 89.9-12.9 126.2-32.5l-41.9-33zM192 256c0 70.7 57.3 128 128 128c13.3 0 26.1-2 38.2-5.8L302 334c-23.5-5.4-43.1-21.2-53.7-42.3l-56.1-44.2c-.2 2.8-.3 5.6-.3 8.5z"
fill="currentColor" fill="currentColor"
style={Object {}}
/> />
</svg> </svg>
@@ -6196,93 +6417,73 @@ exports[`<ProfilePage /> Renders correctly in various states viewing own profile
</p> </p>
</div> </div>
<p <p
className="h5" class="h5"
data-hj-suppress={true} data-hj-suppress="true"
> >
Lemon Seltzer Lemon Seltzer
</p> </p>
<small <small
className="form-text text-muted" class="form-text text-muted"
> >
This is the name that appears in your account and on your certificates. This is the name that appears in your account and on your certificates.
</small> </small>
</div> </div>
</div> </div>
<div <div
className="pgn-transition-replace-group position-relative mb-5" class="pgn-transition-replace-group position-relative mb-5"
style={
Object {
"height": null,
}
}
> >
<div <div
style={ style="padding: .1px 0px;"
Object {
"padding": ".1px 0",
}
}
> >
<div <div
className="editable-item-header mb-2" class="editable-item-header mb-2"
> >
<h2 <h2
className="edit-section-header" class="edit-section-header"
id={null}
> >
Location Location
<button <button
className="float-right px-0 btn btn-link btn-sm" class="float-right px-0 btn btn-link btn-sm"
disabled={false} style="margin-top: -.35rem;"
onClick={[Function]}
style={
Object {
"marginTop": "-.35rem",
}
}
type="button" type="button"
> >
<svg <svg
aria-hidden="true" aria-hidden="true"
className="svg-inline--fa fa-pencil-alt fa-w-16 mr-1" class="svg-inline--fa fa-pencil mr-1"
data-icon="pencil-alt" data-icon="pencil"
data-prefix="fas" data-prefix="fas"
focusable="false" focusable="false"
role="img" role="img"
style={Object {}}
viewBox="0 0 512 512" viewBox="0 0 512 512"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
> >
<path <path
d="M497.9 142.1l-46.1 46.1c-4.7 4.7-12.3 4.7-17 0l-111-111c-4.7-4.7-4.7-12.3 0-17l46.1-46.1c18.7-18.7 49.1-18.7 67.9 0l60.1 60.1c18.8 18.7 18.8 49.1 0 67.9zM284.2 99.8L21.6 362.4.4 483.9c-2.9 16.4 11.4 30.6 27.8 27.8l121.5-21.3 262.6-262.6c4.7-4.7 4.7-12.3 0-17l-111-111c-4.8-4.7-12.4-4.7-17.1 0zM124.1 339.9c-5.5-5.5-5.5-14.3 0-19.8l154-154c5.5-5.5 14.3-5.5 19.8 0s5.5 14.3 0 19.8l-154 154c-5.5 5.5-14.3 5.5-19.8 0zM88 424h48v36.3l-64.5 11.3-31.1-31.1L51.7 376H88v48z" d="M410.3 231l11.3-11.3-33.9-33.9-62.1-62.1L291.7 89.8l-11.3 11.3-22.6 22.6L58.6 322.9c-10.4 10.4-18 23.3-22.2 37.4L1 480.7c-2.5 8.4-.2 17.5 6.1 23.7s15.3 8.5 23.7 6.1l120.3-35.4c14.1-4.2 27-11.8 37.4-22.2L387.7 253.7 410.3 231zM160 399.4l-9.1 22.7c-4 3.1-8.5 5.4-13.3 6.9L59.4 452l23-78.1c1.4-4.9 3.8-9.4 6.9-13.3l22.7-9.1 0 32c0 8.8 7.2 16 16 16l32 0zM362.7 18.7L348.3 33.2 325.7 55.8 314.3 67.1l33.9 33.9 62.1 62.1 33.9 33.9 11.3-11.3 22.6-22.6 14.5-14.5c25-25 25-65.5 0-90.5L453.3 18.7c-25-25-65.5-25-90.5 0zm-47.4 168l-144 144c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l144-144c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z"
fill="currentColor" fill="currentColor"
style={Object {}}
/> />
</svg> </svg>
Edit Edit
</button> </button>
</h2> </h2>
<p <p
className="mb-0" class="mb-0"
> >
<span <span
className="ml-auto small text-muted" class="ml-auto small text-muted"
> >
<svg <svg
aria-hidden="true" aria-hidden="true"
className="svg-inline--fa fa-eye fa-w-18 " class="svg-inline--fa fa-eye "
data-icon="eye" data-icon="eye"
data-prefix="far" data-prefix="far"
focusable="false" focusable="false"
role="img" role="img"
style={Object {}}
viewBox="0 0 576 512" viewBox="0 0 576 512"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
> >
<path <path
d="M288 144a110.94 110.94 0 0 0-31.24 5 55.4 55.4 0 0 1 7.24 27 56 56 0 0 1-56 56 55.4 55.4 0 0 1-27-7.24A111.71 111.71 0 1 0 288 144zm284.52 97.4C518.29 135.59 410.93 64 288 64S57.68 135.64 3.48 241.41a32.35 32.35 0 0 0 0 29.19C57.71 376.41 165.07 448 288 448s230.32-71.64 284.52-177.41a32.35 32.35 0 0 0 0-29.19zM288 400c-98.65 0-189.09-55-237.93-144C98.91 167 189.34 112 288 112s189.09 55 237.93 144C477.1 345 386.66 400 288 400z" d="M288 80c-65.2 0-118.8 29.6-159.9 67.7C89.6 183.5 63 226 49.4 256c13.6 30 40.2 72.5 78.6 108.3C169.2 402.4 222.8 432 288 432s118.8-29.6 159.9-67.7C486.4 328.5 513 286 526.6 256c-13.6-30-40.2-72.5-78.6-108.3C406.8 109.6 353.2 80 288 80zM95.4 112.6C142.5 68.8 207.2 32 288 32s145.5 36.8 192.6 80.6c46.8 43.5 78.1 95.4 93 131.1c3.3 7.9 3.3 16.7 0 24.6c-14.9 35.7-46.2 87.7-93 131.1C433.5 443.2 368.8 480 288 480s-145.5-36.8-192.6-80.6C48.6 356 17.3 304 2.5 268.3c-3.3-7.9-3.3-16.7 0-24.6C17.3 208 48.6 156 95.4 112.6zM288 336c44.2 0 80-35.8 80-80s-35.8-80-80-80c-.7 0-1.3 0-2 0c1.3 5.1 2 10.5 2 16c0 35.3-28.7 64-64 64c-5.5 0-10.9-.7-16-2c0 .7 0 1.3 0 2c0 44.2 35.8 80 80 80zm0-208a128 128 0 1 1 0 256 128 128 0 1 1 0-256z"
fill="currentColor" fill="currentColor"
style={Object {}}
/> />
</svg> </svg>
@@ -6291,88 +6492,68 @@ exports[`<ProfilePage /> Renders correctly in various states viewing own profile
</p> </p>
</div> </div>
<p <p
className="h5" class="h5"
data-hj-suppress={true} data-hj-suppress="true"
> >
Montenegro Montenegro
</p> </p>
</div> </div>
</div> </div>
<div <div
className="pgn-transition-replace-group position-relative mb-5" class="pgn-transition-replace-group position-relative mb-5"
style={
Object {
"height": null,
}
}
> >
<div <div
style={ style="padding: .1px 0px;"
Object {
"padding": ".1px 0",
}
}
> >
<div <div
className="editable-item-header mb-2" class="editable-item-header mb-2"
> >
<h2 <h2
className="edit-section-header" class="edit-section-header"
id={null}
> >
Primary Language Spoken Primary Language Spoken
<button <button
className="float-right px-0 btn btn-link btn-sm" class="float-right px-0 btn btn-link btn-sm"
disabled={false} style="margin-top: -.35rem;"
onClick={[Function]}
style={
Object {
"marginTop": "-.35rem",
}
}
type="button" type="button"
> >
<svg <svg
aria-hidden="true" aria-hidden="true"
className="svg-inline--fa fa-pencil-alt fa-w-16 mr-1" class="svg-inline--fa fa-pencil mr-1"
data-icon="pencil-alt" data-icon="pencil"
data-prefix="fas" data-prefix="fas"
focusable="false" focusable="false"
role="img" role="img"
style={Object {}}
viewBox="0 0 512 512" viewBox="0 0 512 512"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
> >
<path <path
d="M497.9 142.1l-46.1 46.1c-4.7 4.7-12.3 4.7-17 0l-111-111c-4.7-4.7-4.7-12.3 0-17l46.1-46.1c18.7-18.7 49.1-18.7 67.9 0l60.1 60.1c18.8 18.7 18.8 49.1 0 67.9zM284.2 99.8L21.6 362.4.4 483.9c-2.9 16.4 11.4 30.6 27.8 27.8l121.5-21.3 262.6-262.6c4.7-4.7 4.7-12.3 0-17l-111-111c-4.8-4.7-12.4-4.7-17.1 0zM124.1 339.9c-5.5-5.5-5.5-14.3 0-19.8l154-154c5.5-5.5 14.3-5.5 19.8 0s5.5 14.3 0 19.8l-154 154c-5.5 5.5-14.3 5.5-19.8 0zM88 424h48v36.3l-64.5 11.3-31.1-31.1L51.7 376H88v48z" d="M410.3 231l11.3-11.3-33.9-33.9-62.1-62.1L291.7 89.8l-11.3 11.3-22.6 22.6L58.6 322.9c-10.4 10.4-18 23.3-22.2 37.4L1 480.7c-2.5 8.4-.2 17.5 6.1 23.7s15.3 8.5 23.7 6.1l120.3-35.4c14.1-4.2 27-11.8 37.4-22.2L387.7 253.7 410.3 231zM160 399.4l-9.1 22.7c-4 3.1-8.5 5.4-13.3 6.9L59.4 452l23-78.1c1.4-4.9 3.8-9.4 6.9-13.3l22.7-9.1 0 32c0 8.8 7.2 16 16 16l32 0zM362.7 18.7L348.3 33.2 325.7 55.8 314.3 67.1l33.9 33.9 62.1 62.1 33.9 33.9 11.3-11.3 22.6-22.6 14.5-14.5c25-25 25-65.5 0-90.5L453.3 18.7c-25-25-65.5-25-90.5 0zm-47.4 168l-144 144c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l144-144c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z"
fill="currentColor" fill="currentColor"
style={Object {}}
/> />
</svg> </svg>
Edit Edit
</button> </button>
</h2> </h2>
<p <p
className="mb-0" class="mb-0"
> >
<span <span
className="ml-auto small text-muted" class="ml-auto small text-muted"
> >
<svg <svg
aria-hidden="true" aria-hidden="true"
className="svg-inline--fa fa-eye fa-w-18 " class="svg-inline--fa fa-eye "
data-icon="eye" data-icon="eye"
data-prefix="far" data-prefix="far"
focusable="false" focusable="false"
role="img" role="img"
style={Object {}}
viewBox="0 0 576 512" viewBox="0 0 576 512"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
> >
<path <path
d="M288 144a110.94 110.94 0 0 0-31.24 5 55.4 55.4 0 0 1 7.24 27 56 56 0 0 1-56 56 55.4 55.4 0 0 1-27-7.24A111.71 111.71 0 1 0 288 144zm284.52 97.4C518.29 135.59 410.93 64 288 64S57.68 135.64 3.48 241.41a32.35 32.35 0 0 0 0 29.19C57.71 376.41 165.07 448 288 448s230.32-71.64 284.52-177.41a32.35 32.35 0 0 0 0-29.19zM288 400c-98.65 0-189.09-55-237.93-144C98.91 167 189.34 112 288 112s189.09 55 237.93 144C477.1 345 386.66 400 288 400z" d="M288 80c-65.2 0-118.8 29.6-159.9 67.7C89.6 183.5 63 226 49.4 256c13.6 30 40.2 72.5 78.6 108.3C169.2 402.4 222.8 432 288 432s118.8-29.6 159.9-67.7C486.4 328.5 513 286 526.6 256c-13.6-30-40.2-72.5-78.6-108.3C406.8 109.6 353.2 80 288 80zM95.4 112.6C142.5 68.8 207.2 32 288 32s145.5 36.8 192.6 80.6c46.8 43.5 78.1 95.4 93 131.1c3.3 7.9 3.3 16.7 0 24.6c-14.9 35.7-46.2 87.7-93 131.1C433.5 443.2 368.8 480 288 480s-145.5-36.8-192.6-80.6C48.6 356 17.3 304 2.5 268.3c-3.3-7.9-3.3-16.7 0-24.6C17.3 208 48.6 156 95.4 112.6zM288 336c44.2 0 80-35.8 80-80s-35.8-80-80-80c-.7 0-1.3 0-2 0c1.3 5.1 2 10.5 2 16c0 35.3-28.7 64-64 64c-5.5 0-10.9-.7-16-2c0 .7 0 1.3 0 2c0 44.2 35.8 80 80 80zm0-208a128 128 0 1 1 0 256 128 128 0 1 1 0-256z"
fill="currentColor" fill="currentColor"
style={Object {}}
/> />
</svg> </svg>
@@ -6381,88 +6562,68 @@ exports[`<ProfilePage /> Renders correctly in various states viewing own profile
</p> </p>
</div> </div>
<p <p
className="h5" class="h5"
data-hj-suppress={true} data-hj-suppress="true"
> >
Yoruba Yoruba
</p> </p>
</div> </div>
</div> </div>
<div <div
className="pgn-transition-replace-group position-relative mb-5" class="pgn-transition-replace-group position-relative mb-5"
style={
Object {
"height": null,
}
}
> >
<div <div
style={ style="padding: .1px 0px;"
Object {
"padding": ".1px 0",
}
}
> >
<div <div
className="editable-item-header mb-2" class="editable-item-header mb-2"
> >
<h2 <h2
className="edit-section-header" class="edit-section-header"
id={null}
> >
Education Education
<button <button
className="float-right px-0 btn btn-link btn-sm" class="float-right px-0 btn btn-link btn-sm"
disabled={false} style="margin-top: -.35rem;"
onClick={[Function]}
style={
Object {
"marginTop": "-.35rem",
}
}
type="button" type="button"
> >
<svg <svg
aria-hidden="true" aria-hidden="true"
className="svg-inline--fa fa-pencil-alt fa-w-16 mr-1" class="svg-inline--fa fa-pencil mr-1"
data-icon="pencil-alt" data-icon="pencil"
data-prefix="fas" data-prefix="fas"
focusable="false" focusable="false"
role="img" role="img"
style={Object {}}
viewBox="0 0 512 512" viewBox="0 0 512 512"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
> >
<path <path
d="M497.9 142.1l-46.1 46.1c-4.7 4.7-12.3 4.7-17 0l-111-111c-4.7-4.7-4.7-12.3 0-17l46.1-46.1c18.7-18.7 49.1-18.7 67.9 0l60.1 60.1c18.8 18.7 18.8 49.1 0 67.9zM284.2 99.8L21.6 362.4.4 483.9c-2.9 16.4 11.4 30.6 27.8 27.8l121.5-21.3 262.6-262.6c4.7-4.7 4.7-12.3 0-17l-111-111c-4.8-4.7-12.4-4.7-17.1 0zM124.1 339.9c-5.5-5.5-5.5-14.3 0-19.8l154-154c5.5-5.5 14.3-5.5 19.8 0s5.5 14.3 0 19.8l-154 154c-5.5 5.5-14.3 5.5-19.8 0zM88 424h48v36.3l-64.5 11.3-31.1-31.1L51.7 376H88v48z" d="M410.3 231l11.3-11.3-33.9-33.9-62.1-62.1L291.7 89.8l-11.3 11.3-22.6 22.6L58.6 322.9c-10.4 10.4-18 23.3-22.2 37.4L1 480.7c-2.5 8.4-.2 17.5 6.1 23.7s15.3 8.5 23.7 6.1l120.3-35.4c14.1-4.2 27-11.8 37.4-22.2L387.7 253.7 410.3 231zM160 399.4l-9.1 22.7c-4 3.1-8.5 5.4-13.3 6.9L59.4 452l23-78.1c1.4-4.9 3.8-9.4 6.9-13.3l22.7-9.1 0 32c0 8.8 7.2 16 16 16l32 0zM362.7 18.7L348.3 33.2 325.7 55.8 314.3 67.1l33.9 33.9 62.1 62.1 33.9 33.9 11.3-11.3 22.6-22.6 14.5-14.5c25-25 25-65.5 0-90.5L453.3 18.7c-25-25-65.5-25-90.5 0zm-47.4 168l-144 144c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l144-144c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z"
fill="currentColor" fill="currentColor"
style={Object {}}
/> />
</svg> </svg>
Edit Edit
</button> </button>
</h2> </h2>
<p <p
className="mb-0" class="mb-0"
> >
<span <span
className="ml-auto small text-muted" class="ml-auto small text-muted"
> >
<svg <svg
aria-hidden="true" aria-hidden="true"
className="svg-inline--fa fa-eye-slash fa-w-20 " class="svg-inline--fa fa-eye-slash "
data-icon="eye-slash" data-icon="eye-slash"
data-prefix="far" data-prefix="far"
focusable="false" focusable="false"
role="img" role="img"
style={Object {}}
viewBox="0 0 640 512" viewBox="0 0 640 512"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
> >
<path <path
d="M634 471L36 3.51A16 16 0 0 0 13.51 6l-10 12.49A16 16 0 0 0 6 41l598 467.49a16 16 0 0 0 22.49-2.49l10-12.49A16 16 0 0 0 634 471zM296.79 146.47l134.79 105.38C429.36 191.91 380.48 144 320 144a112.26 112.26 0 0 0-23.21 2.47zm46.42 219.07L208.42 260.16C210.65 320.09 259.53 368 320 368a113 113 0 0 0 23.21-2.46zM320 112c98.65 0 189.09 55 237.93 144a285.53 285.53 0 0 1-44 60.2l37.74 29.5a333.7 333.7 0 0 0 52.9-75.11 32.35 32.35 0 0 0 0-29.19C550.29 135.59 442.93 64 320 64c-36.7 0-71.71 7-104.63 18.81l46.41 36.29c18.94-4.3 38.34-7.1 58.22-7.1zm0 288c-98.65 0-189.08-55-237.93-144a285.47 285.47 0 0 1 44.05-60.19l-37.74-29.5a333.6 333.6 0 0 0-52.89 75.1 32.35 32.35 0 0 0 0 29.19C89.72 376.41 197.08 448 320 448c36.7 0 71.71-7.05 104.63-18.81l-46.41-36.28C359.28 397.2 339.89 400 320 400z" d="M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L525.6 386.7c39.6-40.6 66.4-86.1 79.9-118.4c3.3-7.9 3.3-16.7 0-24.6c-14.9-35.7-46.2-87.7-93-131.1C465.5 68.8 400.8 32 320 32c-68.2 0-125 26.3-169.3 60.8L38.8 5.1zm151 118.3C226 97.7 269.5 80 320 80c65.2 0 118.8 29.6 159.9 67.7C518.4 183.5 545 226 558.6 256c-12.6 28-36.6 66.8-70.9 100.9l-53.8-42.2c9.1-17.6 14.2-37.5 14.2-58.7c0-70.7-57.3-128-128-128c-32.2 0-61.7 11.9-84.2 31.5l-46.1-36.1zM394.9 284.2l-81.5-63.9c4.2-8.5 6.6-18.2 6.6-28.3c0-5.5-.7-10.9-2-16c.7 0 1.3 0 2 0c44.2 0 80 35.8 80 80c0 9.9-1.8 19.4-5.1 28.2zm9.4 130.3C378.8 425.4 350.7 432 320 432c-65.2 0-118.8-29.6-159.9-67.7C121.6 328.5 95 286 81.4 256c8.3-18.4 21.5-41.5 39.4-64.8L83.1 161.5C60.3 191.2 44 220.8 34.5 243.7c-3.3 7.9-3.3 16.7 0 24.6c14.9 35.7 46.2 87.7 93 131.1C174.5 443.2 239.2 480 320 480c47.8 0 89.9-12.9 126.2-32.5l-41.9-33zM192 256c0 70.7 57.3 128 128 128c13.3 0 26.1-2 38.2-5.8L302 334c-23.5-5.4-43.1-21.2-53.7-42.3l-56.1-44.2c-.2 2.8-.3 5.6-.3 8.5z"
fill="currentColor" fill="currentColor"
style={Object {}}
/> />
</svg> </svg>
@@ -6471,88 +6632,68 @@ exports[`<ProfilePage /> Renders correctly in various states viewing own profile
</p> </p>
</div> </div>
<p <p
className="h5" class="h5"
data-hj-suppress={true} data-hj-suppress="true"
> >
Elementary/primary school Elementary/primary school
</p> </p>
</div> </div>
</div> </div>
<div <div
className="pgn-transition-replace-group position-relative mb-5" class="pgn-transition-replace-group position-relative mb-5"
style={
Object {
"height": null,
}
}
> >
<div <div
style={ style="padding: .1px 0px;"
Object {
"padding": ".1px 0",
}
}
> >
<div <div
className="editable-item-header mb-2" class="editable-item-header mb-2"
> >
<h2 <h2
className="edit-section-header" class="edit-section-header"
id={null}
> >
Social Links Social Links
<button <button
className="float-right px-0 btn btn-link btn-sm" class="float-right px-0 btn btn-link btn-sm"
disabled={false} style="margin-top: -.35rem;"
onClick={[Function]}
style={
Object {
"marginTop": "-.35rem",
}
}
type="button" type="button"
> >
<svg <svg
aria-hidden="true" aria-hidden="true"
className="svg-inline--fa fa-pencil-alt fa-w-16 mr-1" class="svg-inline--fa fa-pencil mr-1"
data-icon="pencil-alt" data-icon="pencil"
data-prefix="fas" data-prefix="fas"
focusable="false" focusable="false"
role="img" role="img"
style={Object {}}
viewBox="0 0 512 512" viewBox="0 0 512 512"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
> >
<path <path
d="M497.9 142.1l-46.1 46.1c-4.7 4.7-12.3 4.7-17 0l-111-111c-4.7-4.7-4.7-12.3 0-17l46.1-46.1c18.7-18.7 49.1-18.7 67.9 0l60.1 60.1c18.8 18.7 18.8 49.1 0 67.9zM284.2 99.8L21.6 362.4.4 483.9c-2.9 16.4 11.4 30.6 27.8 27.8l121.5-21.3 262.6-262.6c4.7-4.7 4.7-12.3 0-17l-111-111c-4.8-4.7-12.4-4.7-17.1 0zM124.1 339.9c-5.5-5.5-5.5-14.3 0-19.8l154-154c5.5-5.5 14.3-5.5 19.8 0s5.5 14.3 0 19.8l-154 154c-5.5 5.5-14.3 5.5-19.8 0zM88 424h48v36.3l-64.5 11.3-31.1-31.1L51.7 376H88v48z" d="M410.3 231l11.3-11.3-33.9-33.9-62.1-62.1L291.7 89.8l-11.3 11.3-22.6 22.6L58.6 322.9c-10.4 10.4-18 23.3-22.2 37.4L1 480.7c-2.5 8.4-.2 17.5 6.1 23.7s15.3 8.5 23.7 6.1l120.3-35.4c14.1-4.2 27-11.8 37.4-22.2L387.7 253.7 410.3 231zM160 399.4l-9.1 22.7c-4 3.1-8.5 5.4-13.3 6.9L59.4 452l23-78.1c1.4-4.9 3.8-9.4 6.9-13.3l22.7-9.1 0 32c0 8.8 7.2 16 16 16l32 0zM362.7 18.7L348.3 33.2 325.7 55.8 314.3 67.1l33.9 33.9 62.1 62.1 33.9 33.9 11.3-11.3 22.6-22.6 14.5-14.5c25-25 25-65.5 0-90.5L453.3 18.7c-25-25-65.5-25-90.5 0zm-47.4 168l-144 144c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l144-144c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z"
fill="currentColor" fill="currentColor"
style={Object {}}
/> />
</svg> </svg>
Edit Edit
</button> </button>
</h2> </h2>
<p <p
className="mb-0" class="mb-0"
> >
<span <span
className="ml-auto small text-muted" class="ml-auto small text-muted"
> >
<svg <svg
aria-hidden="true" aria-hidden="true"
className="svg-inline--fa fa-eye fa-w-18 " class="svg-inline--fa fa-eye "
data-icon="eye" data-icon="eye"
data-prefix="far" data-prefix="far"
focusable="false" focusable="false"
role="img" role="img"
style={Object {}}
viewBox="0 0 576 512" viewBox="0 0 576 512"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
> >
<path <path
d="M288 144a110.94 110.94 0 0 0-31.24 5 55.4 55.4 0 0 1 7.24 27 56 56 0 0 1-56 56 55.4 55.4 0 0 1-27-7.24A111.71 111.71 0 1 0 288 144zm284.52 97.4C518.29 135.59 410.93 64 288 64S57.68 135.64 3.48 241.41a32.35 32.35 0 0 0 0 29.19C57.71 376.41 165.07 448 288 448s230.32-71.64 284.52-177.41a32.35 32.35 0 0 0 0-29.19zM288 400c-98.65 0-189.09-55-237.93-144C98.91 167 189.34 112 288 112s189.09 55 237.93 144C477.1 345 386.66 400 288 400z" d="M288 80c-65.2 0-118.8 29.6-159.9 67.7C89.6 183.5 63 226 49.4 256c13.6 30 40.2 72.5 78.6 108.3C169.2 402.4 222.8 432 288 432s118.8-29.6 159.9-67.7C486.4 328.5 513 286 526.6 256c-13.6-30-40.2-72.5-78.6-108.3C406.8 109.6 353.2 80 288 80zM95.4 112.6C142.5 68.8 207.2 32 288 32s145.5 36.8 192.6 80.6c46.8 43.5 78.1 95.4 93 131.1c3.3 7.9 3.3 16.7 0 24.6c-14.9 35.7-46.2 87.7-93 131.1C433.5 443.2 368.8 480 288 480s-145.5-36.8-192.6-80.6C48.6 356 17.3 304 2.5 268.3c-3.3-7.9-3.3-16.7 0-24.6C17.3 208 48.6 156 95.4 112.6zM288 336c44.2 0 80-35.8 80-80s-35.8-80-80-80c-.7 0-1.3 0-2 0c1.3 5.1 2 10.5 2 16c0 35.3-28.7 64-64 64c-5.5 0-10.9-.7-16-2c0 .7 0 1.3 0 2c0 44.2 35.8 80 80 80zm0-208a128 128 0 1 1 0 256 128 128 0 1 1 0-256z"
fill="currentColor" fill="currentColor"
style={Object {}}
/> />
</svg> </svg>
@@ -6561,88 +6702,80 @@ exports[`<ProfilePage /> Renders correctly in various states viewing own profile
</p> </p>
</div> </div>
<ul <ul
className="list-unstyled" class="list-unstyled"
> >
<li <li
className="form-group" class="form-group"
> >
<a <a
className="font-weight-bold" class="font-weight-bold"
href="https://www.twitter.com/ALOHA" href="https://www.twitter.com/ALOHA"
> >
<svg <svg
aria-hidden="true" aria-hidden="true"
className="svg-inline--fa fa-twitter fa-w-16 mr-2" class="svg-inline--fa fa-twitter mr-2"
data-icon="twitter" data-icon="twitter"
data-prefix="fab" data-prefix="fab"
focusable="false" focusable="false"
role="img" role="img"
style={Object {}}
viewBox="0 0 512 512" viewBox="0 0 512 512"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
> >
<path <path
d="M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253z" d="M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253z"
fill="currentColor" fill="currentColor"
style={Object {}}
/> />
</svg> </svg>
Twitter Twitter
</a> </a>
</li> </li>
<li <li
className="form-group" class="form-group"
> >
<a <a
className="font-weight-bold" class="font-weight-bold"
href="https://www.facebook.com/aloha" href="https://www.facebook.com/aloha"
> >
<svg <svg
aria-hidden="true" aria-hidden="true"
className="svg-inline--fa fa-facebook fa-w-16 mr-2" class="svg-inline--fa fa-facebook mr-2"
data-icon="facebook" data-icon="facebook"
data-prefix="fab" data-prefix="fab"
focusable="false" focusable="false"
role="img" role="img"
style={Object {}}
viewBox="0 0 512 512" viewBox="0 0 512 512"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
> >
<path <path
d="M504 256C504 119 393 8 256 8S8 119 8 256c0 123.78 90.69 226.38 209.25 245V327.69h-63V256h63v-54.64c0-62.15 37-96.48 93.67-96.48 27.14 0 55.52 4.84 55.52 4.84v61h-31.28c-30.8 0-40.41 19.12-40.41 38.73V256h68.78l-11 71.69h-57.78V501C413.31 482.38 504 379.78 504 256z" d="M512 256C512 114.6 397.4 0 256 0S0 114.6 0 256C0 376 82.7 476.8 194.2 504.5V334.2H141.4V256h52.8V222.3c0-87.1 39.4-127.5 125-127.5c16.2 0 44.2 3.2 55.7 6.4V172c-6-.6-16.5-1-29.6-1c-42 0-58.2 15.9-58.2 57.2V256h83.6l-14.4 78.2H287V510.1C413.8 494.8 512 386.9 512 256h0z"
fill="currentColor" fill="currentColor"
style={Object {}}
/> />
</svg> </svg>
Facebook Facebook
</a> </a>
</li> </li>
<li <li
className="form-group" class="form-group"
> >
<div> <div>
<button <button
className="pl-0 text-left btn btn-link" class="pl-0 text-left btn btn-link"
onClick={[Function]} tabindex="0"
onKeyDown={[Function]}
tabIndex={0}
type="button" type="button"
> >
<svg <svg
aria-hidden="true" aria-hidden="true"
className="svg-inline--fa fa-plus fa-w-14 fa-xs mr-2" class="svg-inline--fa fa-plus fa-xs mr-2"
data-icon="plus" data-icon="plus"
data-prefix="fas" data-prefix="fas"
focusable="false" focusable="false"
role="img" role="img"
style={Object {}}
viewBox="0 0 448 512" viewBox="0 0 448 512"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
> >
<path <path
d="M416 208H272V64c0-17.67-14.33-32-32-32h-32c-17.67 0-32 14.33-32 32v144H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h144v144c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32V304h144c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32z" d="M256 80c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 144L48 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l144 0 0 144c0 17.7 14.3 32 32 32s32-14.3 32-32l0-144 144 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-144 0 0-144z"
fill="currentColor" fill="currentColor"
style={Object {}}
/> />
</svg> </svg>
Add Add
@@ -6655,83 +6788,63 @@ exports[`<ProfilePage /> Renders correctly in various states viewing own profile
</div> </div>
</div> </div>
<div <div
className="pt-md-3 col-md-8 col-lg-7 offset-lg-1" class="pt-md-3 col-md-8 col-lg-7 offset-lg-1"
> >
<div <div
className="pgn-transition-replace-group position-relative mb-5" class="pgn-transition-replace-group position-relative mb-5"
style={
Object {
"height": null,
}
}
> >
<div <div
style={ style="padding: .1px 0px;"
Object {
"padding": ".1px 0",
}
}
> >
<div <div
className="editable-item-header mb-2" class="editable-item-header mb-2"
> >
<h2 <h2
className="edit-section-header" class="edit-section-header"
id={null}
> >
About Me About Me
<button <button
className="float-right px-0 btn btn-link btn-sm" class="float-right px-0 btn btn-link btn-sm"
disabled={false} style="margin-top: -.35rem;"
onClick={[Function]}
style={
Object {
"marginTop": "-.35rem",
}
}
type="button" type="button"
> >
<svg <svg
aria-hidden="true" aria-hidden="true"
className="svg-inline--fa fa-pencil-alt fa-w-16 mr-1" class="svg-inline--fa fa-pencil mr-1"
data-icon="pencil-alt" data-icon="pencil"
data-prefix="fas" data-prefix="fas"
focusable="false" focusable="false"
role="img" role="img"
style={Object {}}
viewBox="0 0 512 512" viewBox="0 0 512 512"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
> >
<path <path
d="M497.9 142.1l-46.1 46.1c-4.7 4.7-12.3 4.7-17 0l-111-111c-4.7-4.7-4.7-12.3 0-17l46.1-46.1c18.7-18.7 49.1-18.7 67.9 0l60.1 60.1c18.8 18.7 18.8 49.1 0 67.9zM284.2 99.8L21.6 362.4.4 483.9c-2.9 16.4 11.4 30.6 27.8 27.8l121.5-21.3 262.6-262.6c4.7-4.7 4.7-12.3 0-17l-111-111c-4.8-4.7-12.4-4.7-17.1 0zM124.1 339.9c-5.5-5.5-5.5-14.3 0-19.8l154-154c5.5-5.5 14.3-5.5 19.8 0s5.5 14.3 0 19.8l-154 154c-5.5 5.5-14.3 5.5-19.8 0zM88 424h48v36.3l-64.5 11.3-31.1-31.1L51.7 376H88v48z" d="M410.3 231l11.3-11.3-33.9-33.9-62.1-62.1L291.7 89.8l-11.3 11.3-22.6 22.6L58.6 322.9c-10.4 10.4-18 23.3-22.2 37.4L1 480.7c-2.5 8.4-.2 17.5 6.1 23.7s15.3 8.5 23.7 6.1l120.3-35.4c14.1-4.2 27-11.8 37.4-22.2L387.7 253.7 410.3 231zM160 399.4l-9.1 22.7c-4 3.1-8.5 5.4-13.3 6.9L59.4 452l23-78.1c1.4-4.9 3.8-9.4 6.9-13.3l22.7-9.1 0 32c0 8.8 7.2 16 16 16l32 0zM362.7 18.7L348.3 33.2 325.7 55.8 314.3 67.1l33.9 33.9 62.1 62.1 33.9 33.9 11.3-11.3 22.6-22.6 14.5-14.5c25-25 25-65.5 0-90.5L453.3 18.7c-25-25-65.5-25-90.5 0zm-47.4 168l-144 144c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l144-144c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z"
fill="currentColor" fill="currentColor"
style={Object {}}
/> />
</svg> </svg>
Edit Edit
</button> </button>
</h2> </h2>
<p <p
className="mb-0" class="mb-0"
> >
<span <span
className="ml-auto small text-muted" class="ml-auto small text-muted"
> >
<svg <svg
aria-hidden="true" aria-hidden="true"
className="svg-inline--fa fa-eye fa-w-18 " class="svg-inline--fa fa-eye "
data-icon="eye" data-icon="eye"
data-prefix="far" data-prefix="far"
focusable="false" focusable="false"
role="img" role="img"
style={Object {}}
viewBox="0 0 576 512" viewBox="0 0 576 512"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
> >
<path <path
d="M288 144a110.94 110.94 0 0 0-31.24 5 55.4 55.4 0 0 1 7.24 27 56 56 0 0 1-56 56 55.4 55.4 0 0 1-27-7.24A111.71 111.71 0 1 0 288 144zm284.52 97.4C518.29 135.59 410.93 64 288 64S57.68 135.64 3.48 241.41a32.35 32.35 0 0 0 0 29.19C57.71 376.41 165.07 448 288 448s230.32-71.64 284.52-177.41a32.35 32.35 0 0 0 0-29.19zM288 400c-98.65 0-189.09-55-237.93-144C98.91 167 189.34 112 288 112s189.09 55 237.93 144C477.1 345 386.66 400 288 400z" d="M288 80c-65.2 0-118.8 29.6-159.9 67.7C89.6 183.5 63 226 49.4 256c13.6 30 40.2 72.5 78.6 108.3C169.2 402.4 222.8 432 288 432s118.8-29.6 159.9-67.7C486.4 328.5 513 286 526.6 256c-13.6-30-40.2-72.5-78.6-108.3C406.8 109.6 353.2 80 288 80zM95.4 112.6C142.5 68.8 207.2 32 288 32s145.5 36.8 192.6 80.6c46.8 43.5 78.1 95.4 93 131.1c3.3 7.9 3.3 16.7 0 24.6c-14.9 35.7-46.2 87.7-93 131.1C433.5 443.2 368.8 480 288 480s-145.5-36.8-192.6-80.6C48.6 356 17.3 304 2.5 268.3c-3.3-7.9-3.3-16.7 0-24.6C17.3 208 48.6 156 95.4 112.6zM288 336c44.2 0 80-35.8 80-80s-35.8-80-80-80c-.7 0-1.3 0-2 0c1.3 5.1 2 10.5 2 16c0 35.3-28.7 64-64 64c-5.5 0-10.9-.7-16-2c0 .7 0 1.3 0 2c0 44.2 35.8 80 80 80zm0-208a128 128 0 1 1 0 256 128 128 0 1 1 0-256z"
fill="currentColor" fill="currentColor"
style={Object {}}
/> />
</svg> </svg>
@@ -6740,88 +6853,68 @@ exports[`<ProfilePage /> Renders correctly in various states viewing own profile
</p> </p>
</div> </div>
<p <p
className="lead" class="lead"
data-hj-suppress={true} data-hj-suppress="true"
> >
This is my bio This is my bio
</p> </p>
</div> </div>
</div> </div>
<div <div
className="pgn-transition-replace-group position-relative mb-4" class="pgn-transition-replace-group position-relative mb-4"
style={
Object {
"height": null,
}
}
> >
<div <div
style={ style="padding: .1px 0px;"
Object {
"padding": ".1px 0",
}
}
> >
<div <div
className="editable-item-header mb-2" class="editable-item-header mb-2"
> >
<h2 <h2
className="edit-section-header" class="edit-section-header"
id={null}
> >
My Certificates My Certificates
<button <button
className="float-right px-0 btn btn-link btn-sm" class="float-right px-0 btn btn-link btn-sm"
disabled={false} style="margin-top: -.35rem;"
onClick={[Function]}
style={
Object {
"marginTop": "-.35rem",
}
}
type="button" type="button"
> >
<svg <svg
aria-hidden="true" aria-hidden="true"
className="svg-inline--fa fa-pencil-alt fa-w-16 mr-1" class="svg-inline--fa fa-pencil mr-1"
data-icon="pencil-alt" data-icon="pencil"
data-prefix="fas" data-prefix="fas"
focusable="false" focusable="false"
role="img" role="img"
style={Object {}}
viewBox="0 0 512 512" viewBox="0 0 512 512"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
> >
<path <path
d="M497.9 142.1l-46.1 46.1c-4.7 4.7-12.3 4.7-17 0l-111-111c-4.7-4.7-4.7-12.3 0-17l46.1-46.1c18.7-18.7 49.1-18.7 67.9 0l60.1 60.1c18.8 18.7 18.8 49.1 0 67.9zM284.2 99.8L21.6 362.4.4 483.9c-2.9 16.4 11.4 30.6 27.8 27.8l121.5-21.3 262.6-262.6c4.7-4.7 4.7-12.3 0-17l-111-111c-4.8-4.7-12.4-4.7-17.1 0zM124.1 339.9c-5.5-5.5-5.5-14.3 0-19.8l154-154c5.5-5.5 14.3-5.5 19.8 0s5.5 14.3 0 19.8l-154 154c-5.5 5.5-14.3 5.5-19.8 0zM88 424h48v36.3l-64.5 11.3-31.1-31.1L51.7 376H88v48z" d="M410.3 231l11.3-11.3-33.9-33.9-62.1-62.1L291.7 89.8l-11.3 11.3-22.6 22.6L58.6 322.9c-10.4 10.4-18 23.3-22.2 37.4L1 480.7c-2.5 8.4-.2 17.5 6.1 23.7s15.3 8.5 23.7 6.1l120.3-35.4c14.1-4.2 27-11.8 37.4-22.2L387.7 253.7 410.3 231zM160 399.4l-9.1 22.7c-4 3.1-8.5 5.4-13.3 6.9L59.4 452l23-78.1c1.4-4.9 3.8-9.4 6.9-13.3l22.7-9.1 0 32c0 8.8 7.2 16 16 16l32 0zM362.7 18.7L348.3 33.2 325.7 55.8 314.3 67.1l33.9 33.9 62.1 62.1 33.9 33.9 11.3-11.3 22.6-22.6 14.5-14.5c25-25 25-65.5 0-90.5L453.3 18.7c-25-25-65.5-25-90.5 0zm-47.4 168l-144 144c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l144-144c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z"
fill="currentColor" fill="currentColor"
style={Object {}}
/> />
</svg> </svg>
Edit Edit
</button> </button>
</h2> </h2>
<p <p
className="mb-0" class="mb-0"
> >
<span <span
className="ml-auto small text-muted" class="ml-auto small text-muted"
> >
<svg <svg
aria-hidden="true" aria-hidden="true"
className="svg-inline--fa fa-eye fa-w-18 " class="svg-inline--fa fa-eye "
data-icon="eye" data-icon="eye"
data-prefix="far" data-prefix="far"
focusable="false" focusable="false"
role="img" role="img"
style={Object {}}
viewBox="0 0 576 512" viewBox="0 0 576 512"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
> >
<path <path
d="M288 144a110.94 110.94 0 0 0-31.24 5 55.4 55.4 0 0 1 7.24 27 56 56 0 0 1-56 56 55.4 55.4 0 0 1-27-7.24A111.71 111.71 0 1 0 288 144zm284.52 97.4C518.29 135.59 410.93 64 288 64S57.68 135.64 3.48 241.41a32.35 32.35 0 0 0 0 29.19C57.71 376.41 165.07 448 288 448s230.32-71.64 284.52-177.41a32.35 32.35 0 0 0 0-29.19zM288 400c-98.65 0-189.09-55-237.93-144C98.91 167 189.34 112 288 112s189.09 55 237.93 144C477.1 345 386.66 400 288 400z" d="M288 80c-65.2 0-118.8 29.6-159.9 67.7C89.6 183.5 63 226 49.4 256c13.6 30 40.2 72.5 78.6 108.3C169.2 402.4 222.8 432 288 432s118.8-29.6 159.9-67.7C486.4 328.5 513 286 526.6 256c-13.6-30-40.2-72.5-78.6-108.3C406.8 109.6 353.2 80 288 80zM95.4 112.6C142.5 68.8 207.2 32 288 32s145.5 36.8 192.6 80.6c46.8 43.5 78.1 95.4 93 131.1c3.3 7.9 3.3 16.7 0 24.6c-14.9 35.7-46.2 87.7-93 131.1C433.5 443.2 368.8 480 288 480s-145.5-36.8-192.6-80.6C48.6 356 17.3 304 2.5 268.3c-3.3-7.9-3.3-16.7 0-24.6C17.3 208 48.6 156 95.4 112.6zM288 336c44.2 0 80-35.8 80-80s-35.8-80-80-80c-.7 0-1.3 0-2 0c1.3 5.1 2 10.5 2 16c0 35.3-28.7 64-64 64c-5.5 0-10.9-.7-16-2c0 .7 0 1.3 0 2c0 44.2 35.8 80 80 80zm0-208a128 128 0 1 1 0 256 128 128 0 1 1 0-256z"
fill="currentColor" fill="currentColor"
style={Object {}}
/> />
</svg> </svg>
@@ -6830,88 +6923,79 @@ exports[`<ProfilePage /> Renders correctly in various states viewing own profile
</p> </p>
</div> </div>
<div <div
className="row align-items-stretch" class="row align-items-stretch"
> >
<div <div
className="col col-sm-6 d-flex align-items-stretch" class="col-12 col-sm-6 d-flex align-items-stretch"
> >
<div <div
className="card mb-4 certificate flex-grow-1" class="card mb-4 certificate flex-grow-1"
> >
<div <div
className="certificate-type-illustration" class="certificate-type-illustration"
style={ style="background-image: url(icon/mock/path);"
Object {
"backgroundImage": "url(icon/mock/path)",
}
}
/> />
<div <div
className="card-body d-flex flex-column" class="card-body d-flex flex-column"
> >
<div <div
className="card-title" class="card-title"
> >
<p <p
className="small mb-0" class="small mb-0"
> >
Verified Certificate Verified Certificate
</p> </p>
<h4 <h4
className="certificate-title" class="certificate-title"
> >
edX Demonstration Course edX Demonstration Course
</h4> </h4>
</div> </div>
<p <p
className="small mb-0" class="small mb-0"
> >
From From
</p> </p>
<p <p
className="h6 mb-4" class="h6 mb-4"
> >
edX edX
</p> </p>
<div <div
className="flex-grow-1" class="flex-grow-1"
/> />
<p <p
className="small mb-2" class="small mb-2"
> >
Completed on Completed on
3/4/2019 3/4/2019
</p> </p>
<div> <div>
<a <a
className="pgn__hyperlink default-link standalone-link btn btn-outline-primary" class="pgn__hyperlink default-link standalone-link btn btn-outline-primary"
href="http://www.example.com/" href="http://www.example.com/"
onClick={[Function]}
rel="noopener noreferrer" rel="noopener noreferrer"
target="_blank" target="_blank"
> >
View Certificate View Certificate
<span <span
className="pgn__hyperlink__external-icon" class="pgn__hyperlink__external-icon"
title="Opens in a new tab" title="Opens in a new tab"
> >
<span <span
className="pgn__icon" class="pgn__icon"
style={ data-testid="hyperlink-icon"
Object { style="height: 1em; width: 1em;"
"height": "1em",
"width": "1em",
}
}
> >
<svg <svg
aria-hidden={true} aria-hidden="true"
fill="none" fill="none"
focusable={false} focusable="false"
height={24} height="24"
role="img" role="img"
viewBox="0 0 24 24" viewBox="0 0 24 24"
width={24} width="24"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
> >
<path <path
@@ -6920,7 +7004,7 @@ exports[`<ProfilePage /> Renders correctly in various states viewing own profile
/> />
</svg> </svg>
<span <span
className="sr-only" class="sr-only"
> >
in a new tab in a new tab
</span> </span>
@@ -6938,46 +7022,46 @@ exports[`<ProfilePage /> Renders correctly in various states viewing own profile
</div> </div>
</div> </div>
</div> </div>
</div>
`; `;
exports[`<ProfilePage /> Renders correctly in various states while saving an edited bio 1`] = ` exports[`<ProfilePage /> Renders correctly in various states while saving an edited bio 1`] = `
<div>
<div <div
className="profile-page" class="profile-page"
> >
<div <div
className="profile-page-bg-banner bg-primary d-none d-md-block p-relative" class="profile-page-bg-banner bg-primary d-md-block p-relative"
/> />
<div <div
className="container-fluid" class="container-fluid"
> >
<div <div
className="row align-items-center pt-4 mb-4 pt-md-0 mb-md-0" class="row align-items-center pt-4 mb-4 pt-md-0 mb-md-0"
> >
<div <div
className="col-auto col-md-4 col-lg-3" class="col-auto col-md-4 col-lg-3"
> >
<div <div
className="d-flex align-items-center d-md-block" class="d-flex align-items-center d-md-block"
> >
<div <div
className="profile-avatar-wrap position-relative" class="profile-avatar-wrap position-relative"
> >
<div <div
className="profile-avatar rounded-circle bg-light" class="profile-avatar rounded-circle bg-light"
> >
<div <div
className="profile-avatar-menu-container" class="profile-avatar-menu-container"
> >
<div <div
className="pgn__dropdown pgn__dropdown-light dropdown" class="pgn__dropdown pgn__dropdown-light dropdown"
data-testid="dropdown" data-testid="dropdown"
> >
<button <button
aria-expanded={false} aria-expanded="false"
aria-haspopup={true} aria-haspopup="true"
className="dropdown-toggle btn btn-primary" class="dropdown-toggle btn btn-primary"
disabled={false}
onClick={[Function]}
type="button" type="button"
> >
Change Change
@@ -6986,92 +7070,78 @@ exports[`<ProfilePage /> Renders correctly in various states while saving an edi
</div> </div>
<img <img
alt="profile avatar" alt="profile avatar"
className="w-100 h-100 d-block rounded-circle overflow-hidden" class="w-100 h-100 d-block rounded-circle overflow-hidden"
data-hj-suppress={true} data-hj-suppress="true"
src="http://localhost:18000/media/profile-images/d2a9bdc2ba165dcefc73265c54bf9a20_500.jpg?v=1552495012" src="http://localhost:18000/media/profile-images/d2a9bdc2ba165dcefc73265c54bf9a20_500.jpg?v=1552495012"
style={ style="object-fit: cover;"
Object {
"objectFit": "cover",
}
}
/> />
</div> </div>
<form <form
encType="multipart/form-data" enctype="multipart/form-data"
onSubmit={[Function]}
> >
<input <input
accept=".jpg, .jpeg, .png" accept=".jpg, .jpeg, .png"
className="d-none form-control-file" class="d-none form-control-file"
id="photo-file" id="photo-file"
name="file" name="file"
onChange={[Function]}
type="file" type="file"
/> />
</form> </form>
</div> </div>
</div> </div>
</div> </div>
<div>
PluginPOC
</div>
<div <div
className="col pl-0" class="col"
> >
<div <div
className="d-md-none" class="d-md-none"
> >
<span <span
data-hj-suppress={true} data-hj-suppress="true"
> >
<h1 <h1
className="h2 mb-0 font-weight-bold" class="h2 mb-0 font-weight-bold text-truncate"
> >
staff staff
</h1> </h1>
<p <p
className="mb-0" class="mb-0"
> >
Member since Member since
2017 2017
</p> </p>
<hr <hr
className="d-none d-md-block" class="d-none d-md-block"
/> />
</span> </span>
</div> </div>
<div <div
className="d-none d-md-block float-right" class="d-none d-md-block float-right"
> >
<a <a
className="pgn__hyperlink default-link standalone-link btn btn-primary" class="pgn__hyperlink default-link standalone-link btn btn-primary"
href="http://localhost:18150/records" href="http://localhost:18150/records"
onClick={[Function]}
rel="noopener noreferrer" rel="noopener noreferrer"
target="_blank" target="_blank"
> >
View My Records View My Records
<span <span
className="pgn__hyperlink__external-icon" class="pgn__hyperlink__external-icon"
title="Opens in a new tab" title="Opens in a new tab"
> >
<span <span
className="pgn__icon" class="pgn__icon"
style={ data-testid="hyperlink-icon"
Object { style="height: 1em; width: 1em;"
"height": "1em",
"width": "1em",
}
}
> >
<svg <svg
aria-hidden={true} aria-hidden="true"
fill="none" fill="none"
focusable={false} focusable="false"
height={24} height="24"
role="img" role="img"
viewBox="0 0 24 24" viewBox="0 0 24 24"
width={24} width="24"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
> >
<path <path
@@ -7080,7 +7150,7 @@ exports[`<ProfilePage /> Renders correctly in various states while saving an edi
/> />
</svg> </svg>
<span <span
className="sr-only" class="sr-only"
> >
in a new tab in a new tab
</span> </span>
@@ -7091,65 +7161,60 @@ exports[`<ProfilePage /> Renders correctly in various states while saving an edi
</div> </div>
</div> </div>
<div <div
className="row" class="row"
> >
<div <div
className="col-md-4 col-lg-4" class="col-md-4 col-lg-4"
> >
<div <div
className="d-none d-md-block mb-4" class="d-none d-md-block mb-4"
> >
<span <span
data-hj-suppress={true} data-hj-suppress="true"
> >
<h1 <h1
className="h2 mb-0 font-weight-bold" class="h2 mb-0 font-weight-bold text-truncate"
> >
staff staff
</h1> </h1>
<p <p
className="mb-0" class="mb-0"
> >
Member since Member since
2017 2017
</p> </p>
<hr <hr
className="d-none d-md-block" class="d-none d-md-block"
/> />
</span> </span>
</div> </div>
<div <div
className="d-md-none mb-4" class="d-md-none mb-4"
> >
<a <a
className="pgn__hyperlink default-link standalone-link btn btn-primary" class="pgn__hyperlink default-link standalone-link btn btn-primary"
href="http://localhost:18150/records" href="http://localhost:18150/records"
onClick={[Function]}
rel="noopener noreferrer" rel="noopener noreferrer"
target="_blank" target="_blank"
> >
View My Records View My Records
<span <span
className="pgn__hyperlink__external-icon" class="pgn__hyperlink__external-icon"
title="Opens in a new tab" title="Opens in a new tab"
> >
<span <span
className="pgn__icon" class="pgn__icon"
style={ data-testid="hyperlink-icon"
Object { style="height: 1em; width: 1em;"
"height": "1em",
"width": "1em",
}
}
> >
<svg <svg
aria-hidden={true} aria-hidden="true"
fill="none" fill="none"
focusable={false} focusable="false"
height={24} height="24"
role="img" role="img"
viewBox="0 0 24 24" viewBox="0 0 24 24"
width={24} width="24"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
> >
<path <path
@@ -7158,7 +7223,7 @@ exports[`<ProfilePage /> Renders correctly in various states while saving an edi
/> />
</svg> </svg>
<span <span
className="sr-only" class="sr-only"
> >
in a new tab in a new tab
</span> </span>
@@ -7167,80 +7232,60 @@ exports[`<ProfilePage /> Renders correctly in various states while saving an edi
</a> </a>
</div> </div>
<div <div
className="pgn-transition-replace-group position-relative mb-5" class="pgn-transition-replace-group position-relative mb-5"
style={
Object {
"height": null,
}
}
> >
<div <div
style={ style="padding: .1px 0px;"
Object {
"padding": ".1px 0",
}
}
> >
<div <div
className="editable-item-header mb-2" class="editable-item-header mb-2"
> >
<h2 <h2
className="edit-section-header" class="edit-section-header"
id={null}
> >
Full Name Full Name
<button <button
className="float-right px-0 btn btn-link btn-sm" class="float-right px-0 btn btn-link btn-sm"
disabled={false} style="margin-top: -.35rem;"
onClick={[Function]}
style={
Object {
"marginTop": "-.35rem",
}
}
type="button" type="button"
> >
<svg <svg
aria-hidden="true" aria-hidden="true"
className="svg-inline--fa fa-pencil-alt fa-w-16 mr-1" class="svg-inline--fa fa-pencil mr-1"
data-icon="pencil-alt" data-icon="pencil"
data-prefix="fas" data-prefix="fas"
focusable="false" focusable="false"
role="img" role="img"
style={Object {}}
viewBox="0 0 512 512" viewBox="0 0 512 512"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
> >
<path <path
d="M497.9 142.1l-46.1 46.1c-4.7 4.7-12.3 4.7-17 0l-111-111c-4.7-4.7-4.7-12.3 0-17l46.1-46.1c18.7-18.7 49.1-18.7 67.9 0l60.1 60.1c18.8 18.7 18.8 49.1 0 67.9zM284.2 99.8L21.6 362.4.4 483.9c-2.9 16.4 11.4 30.6 27.8 27.8l121.5-21.3 262.6-262.6c4.7-4.7 4.7-12.3 0-17l-111-111c-4.8-4.7-12.4-4.7-17.1 0zM124.1 339.9c-5.5-5.5-5.5-14.3 0-19.8l154-154c5.5-5.5 14.3-5.5 19.8 0s5.5 14.3 0 19.8l-154 154c-5.5 5.5-14.3 5.5-19.8 0zM88 424h48v36.3l-64.5 11.3-31.1-31.1L51.7 376H88v48z" d="M410.3 231l11.3-11.3-33.9-33.9-62.1-62.1L291.7 89.8l-11.3 11.3-22.6 22.6L58.6 322.9c-10.4 10.4-18 23.3-22.2 37.4L1 480.7c-2.5 8.4-.2 17.5 6.1 23.7s15.3 8.5 23.7 6.1l120.3-35.4c14.1-4.2 27-11.8 37.4-22.2L387.7 253.7 410.3 231zM160 399.4l-9.1 22.7c-4 3.1-8.5 5.4-13.3 6.9L59.4 452l23-78.1c1.4-4.9 3.8-9.4 6.9-13.3l22.7-9.1 0 32c0 8.8 7.2 16 16 16l32 0zM362.7 18.7L348.3 33.2 325.7 55.8 314.3 67.1l33.9 33.9 62.1 62.1 33.9 33.9 11.3-11.3 22.6-22.6 14.5-14.5c25-25 25-65.5 0-90.5L453.3 18.7c-25-25-65.5-25-90.5 0zm-47.4 168l-144 144c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l144-144c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z"
fill="currentColor" fill="currentColor"
style={Object {}}
/> />
</svg> </svg>
Edit Edit
</button> </button>
</h2> </h2>
<p <p
className="mb-0" class="mb-0"
> >
<span <span
className="ml-auto small text-muted" class="ml-auto small text-muted"
> >
<svg <svg
aria-hidden="true" aria-hidden="true"
className="svg-inline--fa fa-eye-slash fa-w-20 " class="svg-inline--fa fa-eye-slash "
data-icon="eye-slash" data-icon="eye-slash"
data-prefix="far" data-prefix="far"
focusable="false" focusable="false"
role="img" role="img"
style={Object {}}
viewBox="0 0 640 512" viewBox="0 0 640 512"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
> >
<path <path
d="M634 471L36 3.51A16 16 0 0 0 13.51 6l-10 12.49A16 16 0 0 0 6 41l598 467.49a16 16 0 0 0 22.49-2.49l10-12.49A16 16 0 0 0 634 471zM296.79 146.47l134.79 105.38C429.36 191.91 380.48 144 320 144a112.26 112.26 0 0 0-23.21 2.47zm46.42 219.07L208.42 260.16C210.65 320.09 259.53 368 320 368a113 113 0 0 0 23.21-2.46zM320 112c98.65 0 189.09 55 237.93 144a285.53 285.53 0 0 1-44 60.2l37.74 29.5a333.7 333.7 0 0 0 52.9-75.11 32.35 32.35 0 0 0 0-29.19C550.29 135.59 442.93 64 320 64c-36.7 0-71.71 7-104.63 18.81l46.41 36.29c18.94-4.3 38.34-7.1 58.22-7.1zm0 288c-98.65 0-189.08-55-237.93-144a285.47 285.47 0 0 1 44.05-60.19l-37.74-29.5a333.6 333.6 0 0 0-52.89 75.1 32.35 32.35 0 0 0 0 29.19C89.72 376.41 197.08 448 320 448c36.7 0 71.71-7.05 104.63-18.81l-46.41-36.28C359.28 397.2 339.89 400 320 400z" d="M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L525.6 386.7c39.6-40.6 66.4-86.1 79.9-118.4c3.3-7.9 3.3-16.7 0-24.6c-14.9-35.7-46.2-87.7-93-131.1C465.5 68.8 400.8 32 320 32c-68.2 0-125 26.3-169.3 60.8L38.8 5.1zm151 118.3C226 97.7 269.5 80 320 80c65.2 0 118.8 29.6 159.9 67.7C518.4 183.5 545 226 558.6 256c-12.6 28-36.6 66.8-70.9 100.9l-53.8-42.2c9.1-17.6 14.2-37.5 14.2-58.7c0-70.7-57.3-128-128-128c-32.2 0-61.7 11.9-84.2 31.5l-46.1-36.1zM394.9 284.2l-81.5-63.9c4.2-8.5 6.6-18.2 6.6-28.3c0-5.5-.7-10.9-2-16c.7 0 1.3 0 2 0c44.2 0 80 35.8 80 80c0 9.9-1.8 19.4-5.1 28.2zm9.4 130.3C378.8 425.4 350.7 432 320 432c-65.2 0-118.8-29.6-159.9-67.7C121.6 328.5 95 286 81.4 256c8.3-18.4 21.5-41.5 39.4-64.8L83.1 161.5C60.3 191.2 44 220.8 34.5 243.7c-3.3 7.9-3.3 16.7 0 24.6c14.9 35.7 46.2 87.7 93 131.1C174.5 443.2 239.2 480 320 480c47.8 0 89.9-12.9 126.2-32.5l-41.9-33zM192 256c0 70.7 57.3 128 128 128c13.3 0 26.1-2 38.2-5.8L302 334c-23.5-5.4-43.1-21.2-53.7-42.3l-56.1-44.2c-.2 2.8-.3 5.6-.3 8.5z"
fill="currentColor" fill="currentColor"
style={Object {}}
/> />
</svg> </svg>
@@ -7249,93 +7294,73 @@ exports[`<ProfilePage /> Renders correctly in various states while saving an edi
</p> </p>
</div> </div>
<p <p
className="h5" class="h5"
data-hj-suppress={true} data-hj-suppress="true"
> >
Lemon Seltzer Lemon Seltzer
</p> </p>
<small <small
className="form-text text-muted" class="form-text text-muted"
> >
This is the name that appears in your account and on your certificates. This is the name that appears in your account and on your certificates.
</small> </small>
</div> </div>
</div> </div>
<div <div
className="pgn-transition-replace-group position-relative mb-5" class="pgn-transition-replace-group position-relative mb-5"
style={
Object {
"height": null,
}
}
> >
<div <div
style={ style="padding: .1px 0px;"
Object {
"padding": ".1px 0",
}
}
> >
<div <div
className="editable-item-header mb-2" class="editable-item-header mb-2"
> >
<h2 <h2
className="edit-section-header" class="edit-section-header"
id={null}
> >
Location Location
<button <button
className="float-right px-0 btn btn-link btn-sm" class="float-right px-0 btn btn-link btn-sm"
disabled={false} style="margin-top: -.35rem;"
onClick={[Function]}
style={
Object {
"marginTop": "-.35rem",
}
}
type="button" type="button"
> >
<svg <svg
aria-hidden="true" aria-hidden="true"
className="svg-inline--fa fa-pencil-alt fa-w-16 mr-1" class="svg-inline--fa fa-pencil mr-1"
data-icon="pencil-alt" data-icon="pencil"
data-prefix="fas" data-prefix="fas"
focusable="false" focusable="false"
role="img" role="img"
style={Object {}}
viewBox="0 0 512 512" viewBox="0 0 512 512"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
> >
<path <path
d="M497.9 142.1l-46.1 46.1c-4.7 4.7-12.3 4.7-17 0l-111-111c-4.7-4.7-4.7-12.3 0-17l46.1-46.1c18.7-18.7 49.1-18.7 67.9 0l60.1 60.1c18.8 18.7 18.8 49.1 0 67.9zM284.2 99.8L21.6 362.4.4 483.9c-2.9 16.4 11.4 30.6 27.8 27.8l121.5-21.3 262.6-262.6c4.7-4.7 4.7-12.3 0-17l-111-111c-4.8-4.7-12.4-4.7-17.1 0zM124.1 339.9c-5.5-5.5-5.5-14.3 0-19.8l154-154c5.5-5.5 14.3-5.5 19.8 0s5.5 14.3 0 19.8l-154 154c-5.5 5.5-14.3 5.5-19.8 0zM88 424h48v36.3l-64.5 11.3-31.1-31.1L51.7 376H88v48z" d="M410.3 231l11.3-11.3-33.9-33.9-62.1-62.1L291.7 89.8l-11.3 11.3-22.6 22.6L58.6 322.9c-10.4 10.4-18 23.3-22.2 37.4L1 480.7c-2.5 8.4-.2 17.5 6.1 23.7s15.3 8.5 23.7 6.1l120.3-35.4c14.1-4.2 27-11.8 37.4-22.2L387.7 253.7 410.3 231zM160 399.4l-9.1 22.7c-4 3.1-8.5 5.4-13.3 6.9L59.4 452l23-78.1c1.4-4.9 3.8-9.4 6.9-13.3l22.7-9.1 0 32c0 8.8 7.2 16 16 16l32 0zM362.7 18.7L348.3 33.2 325.7 55.8 314.3 67.1l33.9 33.9 62.1 62.1 33.9 33.9 11.3-11.3 22.6-22.6 14.5-14.5c25-25 25-65.5 0-90.5L453.3 18.7c-25-25-65.5-25-90.5 0zm-47.4 168l-144 144c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l144-144c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z"
fill="currentColor" fill="currentColor"
style={Object {}}
/> />
</svg> </svg>
Edit Edit
</button> </button>
</h2> </h2>
<p <p
className="mb-0" class="mb-0"
> >
<span <span
className="ml-auto small text-muted" class="ml-auto small text-muted"
> >
<svg <svg
aria-hidden="true" aria-hidden="true"
className="svg-inline--fa fa-eye fa-w-18 " class="svg-inline--fa fa-eye "
data-icon="eye" data-icon="eye"
data-prefix="far" data-prefix="far"
focusable="false" focusable="false"
role="img" role="img"
style={Object {}}
viewBox="0 0 576 512" viewBox="0 0 576 512"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
> >
<path <path
d="M288 144a110.94 110.94 0 0 0-31.24 5 55.4 55.4 0 0 1 7.24 27 56 56 0 0 1-56 56 55.4 55.4 0 0 1-27-7.24A111.71 111.71 0 1 0 288 144zm284.52 97.4C518.29 135.59 410.93 64 288 64S57.68 135.64 3.48 241.41a32.35 32.35 0 0 0 0 29.19C57.71 376.41 165.07 448 288 448s230.32-71.64 284.52-177.41a32.35 32.35 0 0 0 0-29.19zM288 400c-98.65 0-189.09-55-237.93-144C98.91 167 189.34 112 288 112s189.09 55 237.93 144C477.1 345 386.66 400 288 400z" d="M288 80c-65.2 0-118.8 29.6-159.9 67.7C89.6 183.5 63 226 49.4 256c13.6 30 40.2 72.5 78.6 108.3C169.2 402.4 222.8 432 288 432s118.8-29.6 159.9-67.7C486.4 328.5 513 286 526.6 256c-13.6-30-40.2-72.5-78.6-108.3C406.8 109.6 353.2 80 288 80zM95.4 112.6C142.5 68.8 207.2 32 288 32s145.5 36.8 192.6 80.6c46.8 43.5 78.1 95.4 93 131.1c3.3 7.9 3.3 16.7 0 24.6c-14.9 35.7-46.2 87.7-93 131.1C433.5 443.2 368.8 480 288 480s-145.5-36.8-192.6-80.6C48.6 356 17.3 304 2.5 268.3c-3.3-7.9-3.3-16.7 0-24.6C17.3 208 48.6 156 95.4 112.6zM288 336c44.2 0 80-35.8 80-80s-35.8-80-80-80c-.7 0-1.3 0-2 0c1.3 5.1 2 10.5 2 16c0 35.3-28.7 64-64 64c-5.5 0-10.9-.7-16-2c0 .7 0 1.3 0 2c0 44.2 35.8 80 80 80zm0-208a128 128 0 1 1 0 256 128 128 0 1 1 0-256z"
fill="currentColor" fill="currentColor"
style={Object {}}
/> />
</svg> </svg>
@@ -7344,88 +7369,68 @@ exports[`<ProfilePage /> Renders correctly in various states while saving an edi
</p> </p>
</div> </div>
<p <p
className="h5" class="h5"
data-hj-suppress={true} data-hj-suppress="true"
> >
Montenegro Montenegro
</p> </p>
</div> </div>
</div> </div>
<div <div
className="pgn-transition-replace-group position-relative mb-5" class="pgn-transition-replace-group position-relative mb-5"
style={
Object {
"height": null,
}
}
> >
<div <div
style={ style="padding: .1px 0px;"
Object {
"padding": ".1px 0",
}
}
> >
<div <div
className="editable-item-header mb-2" class="editable-item-header mb-2"
> >
<h2 <h2
className="edit-section-header" class="edit-section-header"
id={null}
> >
Primary Language Spoken Primary Language Spoken
<button <button
className="float-right px-0 btn btn-link btn-sm" class="float-right px-0 btn btn-link btn-sm"
disabled={false} style="margin-top: -.35rem;"
onClick={[Function]}
style={
Object {
"marginTop": "-.35rem",
}
}
type="button" type="button"
> >
<svg <svg
aria-hidden="true" aria-hidden="true"
className="svg-inline--fa fa-pencil-alt fa-w-16 mr-1" class="svg-inline--fa fa-pencil mr-1"
data-icon="pencil-alt" data-icon="pencil"
data-prefix="fas" data-prefix="fas"
focusable="false" focusable="false"
role="img" role="img"
style={Object {}}
viewBox="0 0 512 512" viewBox="0 0 512 512"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
> >
<path <path
d="M497.9 142.1l-46.1 46.1c-4.7 4.7-12.3 4.7-17 0l-111-111c-4.7-4.7-4.7-12.3 0-17l46.1-46.1c18.7-18.7 49.1-18.7 67.9 0l60.1 60.1c18.8 18.7 18.8 49.1 0 67.9zM284.2 99.8L21.6 362.4.4 483.9c-2.9 16.4 11.4 30.6 27.8 27.8l121.5-21.3 262.6-262.6c4.7-4.7 4.7-12.3 0-17l-111-111c-4.8-4.7-12.4-4.7-17.1 0zM124.1 339.9c-5.5-5.5-5.5-14.3 0-19.8l154-154c5.5-5.5 14.3-5.5 19.8 0s5.5 14.3 0 19.8l-154 154c-5.5 5.5-14.3 5.5-19.8 0zM88 424h48v36.3l-64.5 11.3-31.1-31.1L51.7 376H88v48z" d="M410.3 231l11.3-11.3-33.9-33.9-62.1-62.1L291.7 89.8l-11.3 11.3-22.6 22.6L58.6 322.9c-10.4 10.4-18 23.3-22.2 37.4L1 480.7c-2.5 8.4-.2 17.5 6.1 23.7s15.3 8.5 23.7 6.1l120.3-35.4c14.1-4.2 27-11.8 37.4-22.2L387.7 253.7 410.3 231zM160 399.4l-9.1 22.7c-4 3.1-8.5 5.4-13.3 6.9L59.4 452l23-78.1c1.4-4.9 3.8-9.4 6.9-13.3l22.7-9.1 0 32c0 8.8 7.2 16 16 16l32 0zM362.7 18.7L348.3 33.2 325.7 55.8 314.3 67.1l33.9 33.9 62.1 62.1 33.9 33.9 11.3-11.3 22.6-22.6 14.5-14.5c25-25 25-65.5 0-90.5L453.3 18.7c-25-25-65.5-25-90.5 0zm-47.4 168l-144 144c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l144-144c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z"
fill="currentColor" fill="currentColor"
style={Object {}}
/> />
</svg> </svg>
Edit Edit
</button> </button>
</h2> </h2>
<p <p
className="mb-0" class="mb-0"
> >
<span <span
className="ml-auto small text-muted" class="ml-auto small text-muted"
> >
<svg <svg
aria-hidden="true" aria-hidden="true"
className="svg-inline--fa fa-eye fa-w-18 " class="svg-inline--fa fa-eye "
data-icon="eye" data-icon="eye"
data-prefix="far" data-prefix="far"
focusable="false" focusable="false"
role="img" role="img"
style={Object {}}
viewBox="0 0 576 512" viewBox="0 0 576 512"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
> >
<path <path
d="M288 144a110.94 110.94 0 0 0-31.24 5 55.4 55.4 0 0 1 7.24 27 56 56 0 0 1-56 56 55.4 55.4 0 0 1-27-7.24A111.71 111.71 0 1 0 288 144zm284.52 97.4C518.29 135.59 410.93 64 288 64S57.68 135.64 3.48 241.41a32.35 32.35 0 0 0 0 29.19C57.71 376.41 165.07 448 288 448s230.32-71.64 284.52-177.41a32.35 32.35 0 0 0 0-29.19zM288 400c-98.65 0-189.09-55-237.93-144C98.91 167 189.34 112 288 112s189.09 55 237.93 144C477.1 345 386.66 400 288 400z" d="M288 80c-65.2 0-118.8 29.6-159.9 67.7C89.6 183.5 63 226 49.4 256c13.6 30 40.2 72.5 78.6 108.3C169.2 402.4 222.8 432 288 432s118.8-29.6 159.9-67.7C486.4 328.5 513 286 526.6 256c-13.6-30-40.2-72.5-78.6-108.3C406.8 109.6 353.2 80 288 80zM95.4 112.6C142.5 68.8 207.2 32 288 32s145.5 36.8 192.6 80.6c46.8 43.5 78.1 95.4 93 131.1c3.3 7.9 3.3 16.7 0 24.6c-14.9 35.7-46.2 87.7-93 131.1C433.5 443.2 368.8 480 288 480s-145.5-36.8-192.6-80.6C48.6 356 17.3 304 2.5 268.3c-3.3-7.9-3.3-16.7 0-24.6C17.3 208 48.6 156 95.4 112.6zM288 336c44.2 0 80-35.8 80-80s-35.8-80-80-80c-.7 0-1.3 0-2 0c1.3 5.1 2 10.5 2 16c0 35.3-28.7 64-64 64c-5.5 0-10.9-.7-16-2c0 .7 0 1.3 0 2c0 44.2 35.8 80 80 80zm0-208a128 128 0 1 1 0 256 128 128 0 1 1 0-256z"
fill="currentColor" fill="currentColor"
style={Object {}}
/> />
</svg> </svg>
@@ -7434,88 +7439,68 @@ exports[`<ProfilePage /> Renders correctly in various states while saving an edi
</p> </p>
</div> </div>
<p <p
className="h5" class="h5"
data-hj-suppress={true} data-hj-suppress="true"
> >
Yoruba Yoruba
</p> </p>
</div> </div>
</div> </div>
<div <div
className="pgn-transition-replace-group position-relative mb-5" class="pgn-transition-replace-group position-relative mb-5"
style={
Object {
"height": null,
}
}
> >
<div <div
style={ style="padding: .1px 0px;"
Object {
"padding": ".1px 0",
}
}
> >
<div <div
className="editable-item-header mb-2" class="editable-item-header mb-2"
> >
<h2 <h2
className="edit-section-header" class="edit-section-header"
id={null}
> >
Education Education
<button <button
className="float-right px-0 btn btn-link btn-sm" class="float-right px-0 btn btn-link btn-sm"
disabled={false} style="margin-top: -.35rem;"
onClick={[Function]}
style={
Object {
"marginTop": "-.35rem",
}
}
type="button" type="button"
> >
<svg <svg
aria-hidden="true" aria-hidden="true"
className="svg-inline--fa fa-pencil-alt fa-w-16 mr-1" class="svg-inline--fa fa-pencil mr-1"
data-icon="pencil-alt" data-icon="pencil"
data-prefix="fas" data-prefix="fas"
focusable="false" focusable="false"
role="img" role="img"
style={Object {}}
viewBox="0 0 512 512" viewBox="0 0 512 512"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
> >
<path <path
d="M497.9 142.1l-46.1 46.1c-4.7 4.7-12.3 4.7-17 0l-111-111c-4.7-4.7-4.7-12.3 0-17l46.1-46.1c18.7-18.7 49.1-18.7 67.9 0l60.1 60.1c18.8 18.7 18.8 49.1 0 67.9zM284.2 99.8L21.6 362.4.4 483.9c-2.9 16.4 11.4 30.6 27.8 27.8l121.5-21.3 262.6-262.6c4.7-4.7 4.7-12.3 0-17l-111-111c-4.8-4.7-12.4-4.7-17.1 0zM124.1 339.9c-5.5-5.5-5.5-14.3 0-19.8l154-154c5.5-5.5 14.3-5.5 19.8 0s5.5 14.3 0 19.8l-154 154c-5.5 5.5-14.3 5.5-19.8 0zM88 424h48v36.3l-64.5 11.3-31.1-31.1L51.7 376H88v48z" d="M410.3 231l11.3-11.3-33.9-33.9-62.1-62.1L291.7 89.8l-11.3 11.3-22.6 22.6L58.6 322.9c-10.4 10.4-18 23.3-22.2 37.4L1 480.7c-2.5 8.4-.2 17.5 6.1 23.7s15.3 8.5 23.7 6.1l120.3-35.4c14.1-4.2 27-11.8 37.4-22.2L387.7 253.7 410.3 231zM160 399.4l-9.1 22.7c-4 3.1-8.5 5.4-13.3 6.9L59.4 452l23-78.1c1.4-4.9 3.8-9.4 6.9-13.3l22.7-9.1 0 32c0 8.8 7.2 16 16 16l32 0zM362.7 18.7L348.3 33.2 325.7 55.8 314.3 67.1l33.9 33.9 62.1 62.1 33.9 33.9 11.3-11.3 22.6-22.6 14.5-14.5c25-25 25-65.5 0-90.5L453.3 18.7c-25-25-65.5-25-90.5 0zm-47.4 168l-144 144c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l144-144c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z"
fill="currentColor" fill="currentColor"
style={Object {}}
/> />
</svg> </svg>
Edit Edit
</button> </button>
</h2> </h2>
<p <p
className="mb-0" class="mb-0"
> >
<span <span
className="ml-auto small text-muted" class="ml-auto small text-muted"
> >
<svg <svg
aria-hidden="true" aria-hidden="true"
className="svg-inline--fa fa-eye-slash fa-w-20 " class="svg-inline--fa fa-eye-slash "
data-icon="eye-slash" data-icon="eye-slash"
data-prefix="far" data-prefix="far"
focusable="false" focusable="false"
role="img" role="img"
style={Object {}}
viewBox="0 0 640 512" viewBox="0 0 640 512"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
> >
<path <path
d="M634 471L36 3.51A16 16 0 0 0 13.51 6l-10 12.49A16 16 0 0 0 6 41l598 467.49a16 16 0 0 0 22.49-2.49l10-12.49A16 16 0 0 0 634 471zM296.79 146.47l134.79 105.38C429.36 191.91 380.48 144 320 144a112.26 112.26 0 0 0-23.21 2.47zm46.42 219.07L208.42 260.16C210.65 320.09 259.53 368 320 368a113 113 0 0 0 23.21-2.46zM320 112c98.65 0 189.09 55 237.93 144a285.53 285.53 0 0 1-44 60.2l37.74 29.5a333.7 333.7 0 0 0 52.9-75.11 32.35 32.35 0 0 0 0-29.19C550.29 135.59 442.93 64 320 64c-36.7 0-71.71 7-104.63 18.81l46.41 36.29c18.94-4.3 38.34-7.1 58.22-7.1zm0 288c-98.65 0-189.08-55-237.93-144a285.47 285.47 0 0 1 44.05-60.19l-37.74-29.5a333.6 333.6 0 0 0-52.89 75.1 32.35 32.35 0 0 0 0 29.19C89.72 376.41 197.08 448 320 448c36.7 0 71.71-7.05 104.63-18.81l-46.41-36.28C359.28 397.2 339.89 400 320 400z" d="M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L525.6 386.7c39.6-40.6 66.4-86.1 79.9-118.4c3.3-7.9 3.3-16.7 0-24.6c-14.9-35.7-46.2-87.7-93-131.1C465.5 68.8 400.8 32 320 32c-68.2 0-125 26.3-169.3 60.8L38.8 5.1zm151 118.3C226 97.7 269.5 80 320 80c65.2 0 118.8 29.6 159.9 67.7C518.4 183.5 545 226 558.6 256c-12.6 28-36.6 66.8-70.9 100.9l-53.8-42.2c9.1-17.6 14.2-37.5 14.2-58.7c0-70.7-57.3-128-128-128c-32.2 0-61.7 11.9-84.2 31.5l-46.1-36.1zM394.9 284.2l-81.5-63.9c4.2-8.5 6.6-18.2 6.6-28.3c0-5.5-.7-10.9-2-16c.7 0 1.3 0 2 0c44.2 0 80 35.8 80 80c0 9.9-1.8 19.4-5.1 28.2zm9.4 130.3C378.8 425.4 350.7 432 320 432c-65.2 0-118.8-29.6-159.9-67.7C121.6 328.5 95 286 81.4 256c8.3-18.4 21.5-41.5 39.4-64.8L83.1 161.5C60.3 191.2 44 220.8 34.5 243.7c-3.3 7.9-3.3 16.7 0 24.6c14.9 35.7 46.2 87.7 93 131.1C174.5 443.2 239.2 480 320 480c47.8 0 89.9-12.9 126.2-32.5l-41.9-33zM192 256c0 70.7 57.3 128 128 128c13.3 0 26.1-2 38.2-5.8L302 334c-23.5-5.4-43.1-21.2-53.7-42.3l-56.1-44.2c-.2 2.8-.3 5.6-.3 8.5z"
fill="currentColor" fill="currentColor"
style={Object {}}
/> />
</svg> </svg>
@@ -7524,88 +7509,68 @@ exports[`<ProfilePage /> Renders correctly in various states while saving an edi
</p> </p>
</div> </div>
<p <p
className="h5" class="h5"
data-hj-suppress={true} data-hj-suppress="true"
> >
Elementary/primary school Elementary/primary school
</p> </p>
</div> </div>
</div> </div>
<div <div
className="pgn-transition-replace-group position-relative mb-5" class="pgn-transition-replace-group position-relative mb-5"
style={
Object {
"height": null,
}
}
> >
<div <div
style={ style="padding: .1px 0px;"
Object {
"padding": ".1px 0",
}
}
> >
<div <div
className="editable-item-header mb-2" class="editable-item-header mb-2"
> >
<h2 <h2
className="edit-section-header" class="edit-section-header"
id={null}
> >
Social Links Social Links
<button <button
className="float-right px-0 btn btn-link btn-sm" class="float-right px-0 btn btn-link btn-sm"
disabled={false} style="margin-top: -.35rem;"
onClick={[Function]}
style={
Object {
"marginTop": "-.35rem",
}
}
type="button" type="button"
> >
<svg <svg
aria-hidden="true" aria-hidden="true"
className="svg-inline--fa fa-pencil-alt fa-w-16 mr-1" class="svg-inline--fa fa-pencil mr-1"
data-icon="pencil-alt" data-icon="pencil"
data-prefix="fas" data-prefix="fas"
focusable="false" focusable="false"
role="img" role="img"
style={Object {}}
viewBox="0 0 512 512" viewBox="0 0 512 512"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
> >
<path <path
d="M497.9 142.1l-46.1 46.1c-4.7 4.7-12.3 4.7-17 0l-111-111c-4.7-4.7-4.7-12.3 0-17l46.1-46.1c18.7-18.7 49.1-18.7 67.9 0l60.1 60.1c18.8 18.7 18.8 49.1 0 67.9zM284.2 99.8L21.6 362.4.4 483.9c-2.9 16.4 11.4 30.6 27.8 27.8l121.5-21.3 262.6-262.6c4.7-4.7 4.7-12.3 0-17l-111-111c-4.8-4.7-12.4-4.7-17.1 0zM124.1 339.9c-5.5-5.5-5.5-14.3 0-19.8l154-154c5.5-5.5 14.3-5.5 19.8 0s5.5 14.3 0 19.8l-154 154c-5.5 5.5-14.3 5.5-19.8 0zM88 424h48v36.3l-64.5 11.3-31.1-31.1L51.7 376H88v48z" d="M410.3 231l11.3-11.3-33.9-33.9-62.1-62.1L291.7 89.8l-11.3 11.3-22.6 22.6L58.6 322.9c-10.4 10.4-18 23.3-22.2 37.4L1 480.7c-2.5 8.4-.2 17.5 6.1 23.7s15.3 8.5 23.7 6.1l120.3-35.4c14.1-4.2 27-11.8 37.4-22.2L387.7 253.7 410.3 231zM160 399.4l-9.1 22.7c-4 3.1-8.5 5.4-13.3 6.9L59.4 452l23-78.1c1.4-4.9 3.8-9.4 6.9-13.3l22.7-9.1 0 32c0 8.8 7.2 16 16 16l32 0zM362.7 18.7L348.3 33.2 325.7 55.8 314.3 67.1l33.9 33.9 62.1 62.1 33.9 33.9 11.3-11.3 22.6-22.6 14.5-14.5c25-25 25-65.5 0-90.5L453.3 18.7c-25-25-65.5-25-90.5 0zm-47.4 168l-144 144c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l144-144c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z"
fill="currentColor" fill="currentColor"
style={Object {}}
/> />
</svg> </svg>
Edit Edit
</button> </button>
</h2> </h2>
<p <p
className="mb-0" class="mb-0"
> >
<span <span
className="ml-auto small text-muted" class="ml-auto small text-muted"
> >
<svg <svg
aria-hidden="true" aria-hidden="true"
className="svg-inline--fa fa-eye fa-w-18 " class="svg-inline--fa fa-eye "
data-icon="eye" data-icon="eye"
data-prefix="far" data-prefix="far"
focusable="false" focusable="false"
role="img" role="img"
style={Object {}}
viewBox="0 0 576 512" viewBox="0 0 576 512"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
> >
<path <path
d="M288 144a110.94 110.94 0 0 0-31.24 5 55.4 55.4 0 0 1 7.24 27 56 56 0 0 1-56 56 55.4 55.4 0 0 1-27-7.24A111.71 111.71 0 1 0 288 144zm284.52 97.4C518.29 135.59 410.93 64 288 64S57.68 135.64 3.48 241.41a32.35 32.35 0 0 0 0 29.19C57.71 376.41 165.07 448 288 448s230.32-71.64 284.52-177.41a32.35 32.35 0 0 0 0-29.19zM288 400c-98.65 0-189.09-55-237.93-144C98.91 167 189.34 112 288 112s189.09 55 237.93 144C477.1 345 386.66 400 288 400z" d="M288 80c-65.2 0-118.8 29.6-159.9 67.7C89.6 183.5 63 226 49.4 256c13.6 30 40.2 72.5 78.6 108.3C169.2 402.4 222.8 432 288 432s118.8-29.6 159.9-67.7C486.4 328.5 513 286 526.6 256c-13.6-30-40.2-72.5-78.6-108.3C406.8 109.6 353.2 80 288 80zM95.4 112.6C142.5 68.8 207.2 32 288 32s145.5 36.8 192.6 80.6c46.8 43.5 78.1 95.4 93 131.1c3.3 7.9 3.3 16.7 0 24.6c-14.9 35.7-46.2 87.7-93 131.1C433.5 443.2 368.8 480 288 480s-145.5-36.8-192.6-80.6C48.6 356 17.3 304 2.5 268.3c-3.3-7.9-3.3-16.7 0-24.6C17.3 208 48.6 156 95.4 112.6zM288 336c44.2 0 80-35.8 80-80s-35.8-80-80-80c-.7 0-1.3 0-2 0c1.3 5.1 2 10.5 2 16c0 35.3-28.7 64-64 64c-5.5 0-10.9-.7-16-2c0 .7 0 1.3 0 2c0 44.2 35.8 80 80 80zm0-208a128 128 0 1 1 0 256 128 128 0 1 1 0-256z"
fill="currentColor" fill="currentColor"
style={Object {}}
/> />
</svg> </svg>
@@ -7614,88 +7579,80 @@ exports[`<ProfilePage /> Renders correctly in various states while saving an edi
</p> </p>
</div> </div>
<ul <ul
className="list-unstyled" class="list-unstyled"
> >
<li <li
className="form-group" class="form-group"
> >
<a <a
className="font-weight-bold" class="font-weight-bold"
href="https://www.twitter.com/ALOHA" href="https://www.twitter.com/ALOHA"
> >
<svg <svg
aria-hidden="true" aria-hidden="true"
className="svg-inline--fa fa-twitter fa-w-16 mr-2" class="svg-inline--fa fa-twitter mr-2"
data-icon="twitter" data-icon="twitter"
data-prefix="fab" data-prefix="fab"
focusable="false" focusable="false"
role="img" role="img"
style={Object {}}
viewBox="0 0 512 512" viewBox="0 0 512 512"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
> >
<path <path
d="M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253z" d="M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253z"
fill="currentColor" fill="currentColor"
style={Object {}}
/> />
</svg> </svg>
Twitter Twitter
</a> </a>
</li> </li>
<li <li
className="form-group" class="form-group"
> >
<a <a
className="font-weight-bold" class="font-weight-bold"
href="https://www.facebook.com/aloha" href="https://www.facebook.com/aloha"
> >
<svg <svg
aria-hidden="true" aria-hidden="true"
className="svg-inline--fa fa-facebook fa-w-16 mr-2" class="svg-inline--fa fa-facebook mr-2"
data-icon="facebook" data-icon="facebook"
data-prefix="fab" data-prefix="fab"
focusable="false" focusable="false"
role="img" role="img"
style={Object {}}
viewBox="0 0 512 512" viewBox="0 0 512 512"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
> >
<path <path
d="M504 256C504 119 393 8 256 8S8 119 8 256c0 123.78 90.69 226.38 209.25 245V327.69h-63V256h63v-54.64c0-62.15 37-96.48 93.67-96.48 27.14 0 55.52 4.84 55.52 4.84v61h-31.28c-30.8 0-40.41 19.12-40.41 38.73V256h68.78l-11 71.69h-57.78V501C413.31 482.38 504 379.78 504 256z" d="M512 256C512 114.6 397.4 0 256 0S0 114.6 0 256C0 376 82.7 476.8 194.2 504.5V334.2H141.4V256h52.8V222.3c0-87.1 39.4-127.5 125-127.5c16.2 0 44.2 3.2 55.7 6.4V172c-6-.6-16.5-1-29.6-1c-42 0-58.2 15.9-58.2 57.2V256h83.6l-14.4 78.2H287V510.1C413.8 494.8 512 386.9 512 256h0z"
fill="currentColor" fill="currentColor"
style={Object {}}
/> />
</svg> </svg>
Facebook Facebook
</a> </a>
</li> </li>
<li <li
className="form-group" class="form-group"
> >
<div> <div>
<button <button
className="pl-0 text-left btn btn-link" class="pl-0 text-left btn btn-link"
onClick={[Function]} tabindex="0"
onKeyDown={[Function]}
tabIndex={0}
type="button" type="button"
> >
<svg <svg
aria-hidden="true" aria-hidden="true"
className="svg-inline--fa fa-plus fa-w-14 fa-xs mr-2" class="svg-inline--fa fa-plus fa-xs mr-2"
data-icon="plus" data-icon="plus"
data-prefix="fas" data-prefix="fas"
focusable="false" focusable="false"
role="img" role="img"
style={Object {}}
viewBox="0 0 448 512" viewBox="0 0 448 512"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
> >
<path <path
d="M416 208H272V64c0-17.67-14.33-32-32-32h-32c-17.67 0-32 14.33-32 32v144H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h144v144c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32V304h144c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32z" d="M256 80c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 144L48 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l144 0 0 144c0 17.7 14.3 32 32 32s32-14.3 32-32l0-144 144 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-144 0 0-144z"
fill="currentColor" fill="currentColor"
style={Object {}}
/> />
</svg> </svg>
Add Add
@@ -7708,95 +7665,76 @@ exports[`<ProfilePage /> Renders correctly in various states while saving an edi
</div> </div>
</div> </div>
<div <div
className="pt-md-3 col-md-8 col-lg-7 offset-lg-1" class="pt-md-3 col-md-8 col-lg-7 offset-lg-1"
> >
<div <div
className="pgn-transition-replace-group position-relative mb-5" class="pgn-transition-replace-group position-relative mb-5"
style={
Object {
"height": null,
}
}
> >
<div <div
style={ style="padding: .1px 0px;"
Object {
"padding": ".1px 0",
}
}
> >
<div <div
aria-labelledby="bio-label" aria-labelledby="bio-label"
role="dialog" role="dialog"
> >
<form <form>
onSubmit={[Function]}
>
<div <div
className="pgn__form-group" class="pgn__form-group"
> >
<label <label
className="edit-section-header" class="edit-section-header"
htmlFor="bio" for="bio"
> >
About Me About Me
</label> </label>
<textarea <textarea
className="form-control" class="form-control"
id="bio" id="bio"
name="bio" name="bio"
onChange={[Function]} >
value="This is my bio" This is my bio
/> </textarea>
</div> </div>
<div <div
className="d-flex flex-row-reverse flex-wrap justify-content-end align-items-center" class="d-flex flex-row-reverse flex-wrap justify-content-end align-items-center"
> >
<div <div
className="form-group d-flex flex-wrap" class="form-group d-flex flex-wrap"
> >
<label <label
className="col-form-label" class="col-form-label"
htmlFor="visibilityBio" for="visibilityBio"
> >
Who can see this: Who can see this:
</label> </label>
<span <span
className="d-flex align-items-center" class="d-flex align-items-center"
> >
<span <span
className="d-inline-block ml-1 mr-2" class="d-inline-block ml-1 mr-2"
style={ style="width: 1.5rem;"
Object {
"width": "1.5rem",
}
}
> >
<svg <svg
aria-hidden="true" aria-hidden="true"
className="svg-inline--fa fa-eye fa-w-18 " class="svg-inline--fa fa-eye "
data-icon="eye" data-icon="eye"
data-prefix="far" data-prefix="far"
focusable="false" focusable="false"
role="img" role="img"
style={Object {}}
viewBox="0 0 576 512" viewBox="0 0 576 512"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
> >
<path <path
d="M288 144a110.94 110.94 0 0 0-31.24 5 55.4 55.4 0 0 1 7.24 27 56 56 0 0 1-56 56 55.4 55.4 0 0 1-27-7.24A111.71 111.71 0 1 0 288 144zm284.52 97.4C518.29 135.59 410.93 64 288 64S57.68 135.64 3.48 241.41a32.35 32.35 0 0 0 0 29.19C57.71 376.41 165.07 448 288 448s230.32-71.64 284.52-177.41a32.35 32.35 0 0 0 0-29.19zM288 400c-98.65 0-189.09-55-237.93-144C98.91 167 189.34 112 288 112s189.09 55 237.93 144C477.1 345 386.66 400 288 400z" d="M288 80c-65.2 0-118.8 29.6-159.9 67.7C89.6 183.5 63 226 49.4 256c13.6 30 40.2 72.5 78.6 108.3C169.2 402.4 222.8 432 288 432s118.8-29.6 159.9-67.7C486.4 328.5 513 286 526.6 256c-13.6-30-40.2-72.5-78.6-108.3C406.8 109.6 353.2 80 288 80zM95.4 112.6C142.5 68.8 207.2 32 288 32s145.5 36.8 192.6 80.6c46.8 43.5 78.1 95.4 93 131.1c3.3 7.9 3.3 16.7 0 24.6c-14.9 35.7-46.2 87.7-93 131.1C433.5 443.2 368.8 480 288 480s-145.5-36.8-192.6-80.6C48.6 356 17.3 304 2.5 268.3c-3.3-7.9-3.3-16.7 0-24.6C17.3 208 48.6 156 95.4 112.6zM288 336c44.2 0 80-35.8 80-80s-35.8-80-80-80c-.7 0-1.3 0-2 0c1.3 5.1 2 10.5 2 16c0 35.3-28.7 64-64 64c-5.5 0-10.9-.7-16-2c0 .7 0 1.3 0 2c0 44.2 35.8 80 80 80zm0-208a128 128 0 1 1 0 256 128 128 0 1 1 0-256z"
fill="currentColor" fill="currentColor"
style={Object {}}
/> />
</svg> </svg>
</span> </span>
<select <select
className="d-inline-block w-auto form-control" class="d-inline-block form-control"
id="visibilityBio" id="visibilityBio"
name="visibilityBio" name="visibilityBio"
onChange={[Function]}
type="select" type="select"
value="all_users"
> >
<option <option
value="private" value="private"
@@ -7812,33 +7750,31 @@ exports[`<ProfilePage /> Renders correctly in various states while saving an edi
</span> </span>
</div> </div>
<div <div
className="form-group flex-shrink-0 flex-grow-1" class="form-group flex-shrink-0 flex-grow-1"
> >
<button <button
aria-disabled={false} aria-disabled="false"
aria-live="assertive" aria-live="assertive"
className="pgn__stateful-btn pgn__stateful-btn-state-pending btn btn-primary" class="pgn__stateful-btn pgn__stateful-btn-state-pending btn btn-primary"
disabled={false}
onClick={[Function]}
type="submit" type="submit"
> >
<span <span
className="d-flex align-items-center justify-content-center" class="d-flex align-items-center justify-content-center"
> >
<span <span
className="pgn__stateful-btn-icon" class="pgn__stateful-btn-icon"
> >
<span <span
className="pgn__icon icon-spin" class="pgn__icon icon-spin"
> >
<svg <svg
aria-hidden={true} aria-hidden="true"
fill="none" fill="none"
focusable={false} focusable="false"
height={24} height="24"
role="img" role="img"
viewBox="0 0 24 24" viewBox="0 0 24 24"
width={24} width="24"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
> >
<path <path
@@ -7854,9 +7790,7 @@ exports[`<ProfilePage /> Renders correctly in various states while saving an edi
</span> </span>
</button> </button>
<button <button
className="btn btn-link" class="btn btn-link"
disabled={false}
onClick={[Function]}
type="button" type="button"
> >
Cancel Cancel
@@ -7868,80 +7802,60 @@ exports[`<ProfilePage /> Renders correctly in various states while saving an edi
</div> </div>
</div> </div>
<div <div
className="pgn-transition-replace-group position-relative mb-4" class="pgn-transition-replace-group position-relative mb-4"
style={
Object {
"height": null,
}
}
> >
<div <div
style={ style="padding: .1px 0px;"
Object {
"padding": ".1px 0",
}
}
> >
<div <div
className="editable-item-header mb-2" class="editable-item-header mb-2"
> >
<h2 <h2
className="edit-section-header" class="edit-section-header"
id={null}
> >
My Certificates My Certificates
<button <button
className="float-right px-0 btn btn-link btn-sm" class="float-right px-0 btn btn-link btn-sm"
disabled={false} style="margin-top: -.35rem;"
onClick={[Function]}
style={
Object {
"marginTop": "-.35rem",
}
}
type="button" type="button"
> >
<svg <svg
aria-hidden="true" aria-hidden="true"
className="svg-inline--fa fa-pencil-alt fa-w-16 mr-1" class="svg-inline--fa fa-pencil mr-1"
data-icon="pencil-alt" data-icon="pencil"
data-prefix="fas" data-prefix="fas"
focusable="false" focusable="false"
role="img" role="img"
style={Object {}}
viewBox="0 0 512 512" viewBox="0 0 512 512"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
> >
<path <path
d="M497.9 142.1l-46.1 46.1c-4.7 4.7-12.3 4.7-17 0l-111-111c-4.7-4.7-4.7-12.3 0-17l46.1-46.1c18.7-18.7 49.1-18.7 67.9 0l60.1 60.1c18.8 18.7 18.8 49.1 0 67.9zM284.2 99.8L21.6 362.4.4 483.9c-2.9 16.4 11.4 30.6 27.8 27.8l121.5-21.3 262.6-262.6c4.7-4.7 4.7-12.3 0-17l-111-111c-4.8-4.7-12.4-4.7-17.1 0zM124.1 339.9c-5.5-5.5-5.5-14.3 0-19.8l154-154c5.5-5.5 14.3-5.5 19.8 0s5.5 14.3 0 19.8l-154 154c-5.5 5.5-14.3 5.5-19.8 0zM88 424h48v36.3l-64.5 11.3-31.1-31.1L51.7 376H88v48z" d="M410.3 231l11.3-11.3-33.9-33.9-62.1-62.1L291.7 89.8l-11.3 11.3-22.6 22.6L58.6 322.9c-10.4 10.4-18 23.3-22.2 37.4L1 480.7c-2.5 8.4-.2 17.5 6.1 23.7s15.3 8.5 23.7 6.1l120.3-35.4c14.1-4.2 27-11.8 37.4-22.2L387.7 253.7 410.3 231zM160 399.4l-9.1 22.7c-4 3.1-8.5 5.4-13.3 6.9L59.4 452l23-78.1c1.4-4.9 3.8-9.4 6.9-13.3l22.7-9.1 0 32c0 8.8 7.2 16 16 16l32 0zM362.7 18.7L348.3 33.2 325.7 55.8 314.3 67.1l33.9 33.9 62.1 62.1 33.9 33.9 11.3-11.3 22.6-22.6 14.5-14.5c25-25 25-65.5 0-90.5L453.3 18.7c-25-25-65.5-25-90.5 0zm-47.4 168l-144 144c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l144-144c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z"
fill="currentColor" fill="currentColor"
style={Object {}}
/> />
</svg> </svg>
Edit Edit
</button> </button>
</h2> </h2>
<p <p
className="mb-0" class="mb-0"
> >
<span <span
className="ml-auto small text-muted" class="ml-auto small text-muted"
> >
<svg <svg
aria-hidden="true" aria-hidden="true"
className="svg-inline--fa fa-eye fa-w-18 " class="svg-inline--fa fa-eye "
data-icon="eye" data-icon="eye"
data-prefix="far" data-prefix="far"
focusable="false" focusable="false"
role="img" role="img"
style={Object {}}
viewBox="0 0 576 512" viewBox="0 0 576 512"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
> >
<path <path
d="M288 144a110.94 110.94 0 0 0-31.24 5 55.4 55.4 0 0 1 7.24 27 56 56 0 0 1-56 56 55.4 55.4 0 0 1-27-7.24A111.71 111.71 0 1 0 288 144zm284.52 97.4C518.29 135.59 410.93 64 288 64S57.68 135.64 3.48 241.41a32.35 32.35 0 0 0 0 29.19C57.71 376.41 165.07 448 288 448s230.32-71.64 284.52-177.41a32.35 32.35 0 0 0 0-29.19zM288 400c-98.65 0-189.09-55-237.93-144C98.91 167 189.34 112 288 112s189.09 55 237.93 144C477.1 345 386.66 400 288 400z" d="M288 80c-65.2 0-118.8 29.6-159.9 67.7C89.6 183.5 63 226 49.4 256c13.6 30 40.2 72.5 78.6 108.3C169.2 402.4 222.8 432 288 432s118.8-29.6 159.9-67.7C486.4 328.5 513 286 526.6 256c-13.6-30-40.2-72.5-78.6-108.3C406.8 109.6 353.2 80 288 80zM95.4 112.6C142.5 68.8 207.2 32 288 32s145.5 36.8 192.6 80.6c46.8 43.5 78.1 95.4 93 131.1c3.3 7.9 3.3 16.7 0 24.6c-14.9 35.7-46.2 87.7-93 131.1C433.5 443.2 368.8 480 288 480s-145.5-36.8-192.6-80.6C48.6 356 17.3 304 2.5 268.3c-3.3-7.9-3.3-16.7 0-24.6C17.3 208 48.6 156 95.4 112.6zM288 336c44.2 0 80-35.8 80-80s-35.8-80-80-80c-.7 0-1.3 0-2 0c1.3 5.1 2 10.5 2 16c0 35.3-28.7 64-64 64c-5.5 0-10.9-.7-16-2c0 .7 0 1.3 0 2c0 44.2 35.8 80 80 80zm0-208a128 128 0 1 1 0 256 128 128 0 1 1 0-256z"
fill="currentColor" fill="currentColor"
style={Object {}}
/> />
</svg> </svg>
@@ -7950,88 +7864,79 @@ exports[`<ProfilePage /> Renders correctly in various states while saving an edi
</p> </p>
</div> </div>
<div <div
className="row align-items-stretch" class="row align-items-stretch"
> >
<div <div
className="col col-sm-6 d-flex align-items-stretch" class="col-12 col-sm-6 d-flex align-items-stretch"
> >
<div <div
className="card mb-4 certificate flex-grow-1" class="card mb-4 certificate flex-grow-1"
> >
<div <div
className="certificate-type-illustration" class="certificate-type-illustration"
style={ style="background-image: url(icon/mock/path);"
Object {
"backgroundImage": "url(icon/mock/path)",
}
}
/> />
<div <div
className="card-body d-flex flex-column" class="card-body d-flex flex-column"
> >
<div <div
className="card-title" class="card-title"
> >
<p <p
className="small mb-0" class="small mb-0"
> >
Verified Certificate Verified Certificate
</p> </p>
<h4 <h4
className="certificate-title" class="certificate-title"
> >
edX Demonstration Course edX Demonstration Course
</h4> </h4>
</div> </div>
<p <p
className="small mb-0" class="small mb-0"
> >
From From
</p> </p>
<p <p
className="h6 mb-4" class="h6 mb-4"
> >
edX edX
</p> </p>
<div <div
className="flex-grow-1" class="flex-grow-1"
/> />
<p <p
className="small mb-2" class="small mb-2"
> >
Completed on Completed on
3/4/2019 3/4/2019
</p> </p>
<div> <div>
<a <a
className="pgn__hyperlink default-link standalone-link btn btn-outline-primary" class="pgn__hyperlink default-link standalone-link btn btn-outline-primary"
href="http://www.example.com/" href="http://www.example.com/"
onClick={[Function]}
rel="noopener noreferrer" rel="noopener noreferrer"
target="_blank" target="_blank"
> >
View Certificate View Certificate
<span <span
className="pgn__hyperlink__external-icon" class="pgn__hyperlink__external-icon"
title="Opens in a new tab" title="Opens in a new tab"
> >
<span <span
className="pgn__icon" class="pgn__icon"
style={ data-testid="hyperlink-icon"
Object { style="height: 1em; width: 1em;"
"height": "1em",
"width": "1em",
}
}
> >
<svg <svg
aria-hidden={true} aria-hidden="true"
fill="none" fill="none"
focusable={false} focusable="false"
height={24} height="24"
role="img" role="img"
viewBox="0 0 24 24" viewBox="0 0 24 24"
width={24} width="24"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
> >
<path <path
@@ -8040,7 +7945,7 @@ exports[`<ProfilePage /> Renders correctly in various states while saving an edi
/> />
</svg> </svg>
<span <span
className="sr-only" class="sr-only"
> >
in a new tab in a new tab
</span> </span>
@@ -8058,46 +7963,46 @@ exports[`<ProfilePage /> Renders correctly in various states while saving an edi
</div> </div>
</div> </div>
</div> </div>
</div>
`; `;
exports[`<ProfilePage /> Renders correctly in various states while saving an edited bio with error 1`] = ` exports[`<ProfilePage /> Renders correctly in various states while saving an edited bio with error 1`] = `
<div>
<div <div
className="profile-page" class="profile-page"
> >
<div <div
className="profile-page-bg-banner bg-primary d-none d-md-block p-relative" class="profile-page-bg-banner bg-primary d-md-block p-relative"
/> />
<div <div
className="container-fluid" class="container-fluid"
> >
<div <div
className="row align-items-center pt-4 mb-4 pt-md-0 mb-md-0" class="row align-items-center pt-4 mb-4 pt-md-0 mb-md-0"
> >
<div <div
className="col-auto col-md-4 col-lg-3" class="col-auto col-md-4 col-lg-3"
> >
<div <div
className="d-flex align-items-center d-md-block" class="d-flex align-items-center d-md-block"
> >
<div <div
className="profile-avatar-wrap position-relative" class="profile-avatar-wrap position-relative"
> >
<div <div
className="profile-avatar rounded-circle bg-light" class="profile-avatar rounded-circle bg-light"
> >
<div <div
className="profile-avatar-menu-container" class="profile-avatar-menu-container"
> >
<div <div
className="pgn__dropdown pgn__dropdown-light dropdown" class="pgn__dropdown pgn__dropdown-light dropdown"
data-testid="dropdown" data-testid="dropdown"
> >
<button <button
aria-expanded={false} aria-expanded="false"
aria-haspopup={true} aria-haspopup="true"
className="dropdown-toggle btn btn-primary" class="dropdown-toggle btn btn-primary"
disabled={false}
onClick={[Function]}
type="button" type="button"
> >
Change Change
@@ -8106,92 +8011,78 @@ exports[`<ProfilePage /> Renders correctly in various states while saving an edi
</div> </div>
<img <img
alt="profile avatar" alt="profile avatar"
className="w-100 h-100 d-block rounded-circle overflow-hidden" class="w-100 h-100 d-block rounded-circle overflow-hidden"
data-hj-suppress={true} data-hj-suppress="true"
src="http://localhost:18000/media/profile-images/d2a9bdc2ba165dcefc73265c54bf9a20_500.jpg?v=1552495012" src="http://localhost:18000/media/profile-images/d2a9bdc2ba165dcefc73265c54bf9a20_500.jpg?v=1552495012"
style={ style="object-fit: cover;"
Object {
"objectFit": "cover",
}
}
/> />
</div> </div>
<form <form
encType="multipart/form-data" enctype="multipart/form-data"
onSubmit={[Function]}
> >
<input <input
accept=".jpg, .jpeg, .png" accept=".jpg, .jpeg, .png"
className="d-none form-control-file" class="d-none form-control-file"
id="photo-file" id="photo-file"
name="file" name="file"
onChange={[Function]}
type="file" type="file"
/> />
</form> </form>
</div> </div>
</div> </div>
</div> </div>
<div>
PluginPOC
</div>
<div <div
className="col pl-0" class="col"
> >
<div <div
className="d-md-none" class="d-md-none"
> >
<span <span
data-hj-suppress={true} data-hj-suppress="true"
> >
<h1 <h1
className="h2 mb-0 font-weight-bold" class="h2 mb-0 font-weight-bold text-truncate"
> >
staff staff
</h1> </h1>
<p <p
className="mb-0" class="mb-0"
> >
Member since Member since
2017 2017
</p> </p>
<hr <hr
className="d-none d-md-block" class="d-none d-md-block"
/> />
</span> </span>
</div> </div>
<div <div
className="d-none d-md-block float-right" class="d-none d-md-block float-right"
> >
<a <a
className="pgn__hyperlink default-link standalone-link btn btn-primary" class="pgn__hyperlink default-link standalone-link btn btn-primary"
href="http://localhost:18150/records" href="http://localhost:18150/records"
onClick={[Function]}
rel="noopener noreferrer" rel="noopener noreferrer"
target="_blank" target="_blank"
> >
View My Records View My Records
<span <span
className="pgn__hyperlink__external-icon" class="pgn__hyperlink__external-icon"
title="Opens in a new tab" title="Opens in a new tab"
> >
<span <span
className="pgn__icon" class="pgn__icon"
style={ data-testid="hyperlink-icon"
Object { style="height: 1em; width: 1em;"
"height": "1em",
"width": "1em",
}
}
> >
<svg <svg
aria-hidden={true} aria-hidden="true"
fill="none" fill="none"
focusable={false} focusable="false"
height={24} height="24"
role="img" role="img"
viewBox="0 0 24 24" viewBox="0 0 24 24"
width={24} width="24"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
> >
<path <path
@@ -8200,7 +8091,7 @@ exports[`<ProfilePage /> Renders correctly in various states while saving an edi
/> />
</svg> </svg>
<span <span
className="sr-only" class="sr-only"
> >
in a new tab in a new tab
</span> </span>
@@ -8211,65 +8102,60 @@ exports[`<ProfilePage /> Renders correctly in various states while saving an edi
</div> </div>
</div> </div>
<div <div
className="row" class="row"
> >
<div <div
className="col-md-4 col-lg-4" class="col-md-4 col-lg-4"
> >
<div <div
className="d-none d-md-block mb-4" class="d-none d-md-block mb-4"
> >
<span <span
data-hj-suppress={true} data-hj-suppress="true"
> >
<h1 <h1
className="h2 mb-0 font-weight-bold" class="h2 mb-0 font-weight-bold text-truncate"
> >
staff staff
</h1> </h1>
<p <p
className="mb-0" class="mb-0"
> >
Member since Member since
2017 2017
</p> </p>
<hr <hr
className="d-none d-md-block" class="d-none d-md-block"
/> />
</span> </span>
</div> </div>
<div <div
className="d-md-none mb-4" class="d-md-none mb-4"
> >
<a <a
className="pgn__hyperlink default-link standalone-link btn btn-primary" class="pgn__hyperlink default-link standalone-link btn btn-primary"
href="http://localhost:18150/records" href="http://localhost:18150/records"
onClick={[Function]}
rel="noopener noreferrer" rel="noopener noreferrer"
target="_blank" target="_blank"
> >
View My Records View My Records
<span <span
className="pgn__hyperlink__external-icon" class="pgn__hyperlink__external-icon"
title="Opens in a new tab" title="Opens in a new tab"
> >
<span <span
className="pgn__icon" class="pgn__icon"
style={ data-testid="hyperlink-icon"
Object { style="height: 1em; width: 1em;"
"height": "1em",
"width": "1em",
}
}
> >
<svg <svg
aria-hidden={true} aria-hidden="true"
fill="none" fill="none"
focusable={false} focusable="false"
height={24} height="24"
role="img" role="img"
viewBox="0 0 24 24" viewBox="0 0 24 24"
width={24} width="24"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
> >
<path <path
@@ -8278,7 +8164,7 @@ exports[`<ProfilePage /> Renders correctly in various states while saving an edi
/> />
</svg> </svg>
<span <span
className="sr-only" class="sr-only"
> >
in a new tab in a new tab
</span> </span>
@@ -8287,80 +8173,60 @@ exports[`<ProfilePage /> Renders correctly in various states while saving an edi
</a> </a>
</div> </div>
<div <div
className="pgn-transition-replace-group position-relative mb-5" class="pgn-transition-replace-group position-relative mb-5"
style={
Object {
"height": null,
}
}
> >
<div <div
style={ style="padding: .1px 0px;"
Object {
"padding": ".1px 0",
}
}
> >
<div <div
className="editable-item-header mb-2" class="editable-item-header mb-2"
> >
<h2 <h2
className="edit-section-header" class="edit-section-header"
id={null}
> >
Full Name Full Name
<button <button
className="float-right px-0 btn btn-link btn-sm" class="float-right px-0 btn btn-link btn-sm"
disabled={false} style="margin-top: -.35rem;"
onClick={[Function]}
style={
Object {
"marginTop": "-.35rem",
}
}
type="button" type="button"
> >
<svg <svg
aria-hidden="true" aria-hidden="true"
className="svg-inline--fa fa-pencil-alt fa-w-16 mr-1" class="svg-inline--fa fa-pencil mr-1"
data-icon="pencil-alt" data-icon="pencil"
data-prefix="fas" data-prefix="fas"
focusable="false" focusable="false"
role="img" role="img"
style={Object {}}
viewBox="0 0 512 512" viewBox="0 0 512 512"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
> >
<path <path
d="M497.9 142.1l-46.1 46.1c-4.7 4.7-12.3 4.7-17 0l-111-111c-4.7-4.7-4.7-12.3 0-17l46.1-46.1c18.7-18.7 49.1-18.7 67.9 0l60.1 60.1c18.8 18.7 18.8 49.1 0 67.9zM284.2 99.8L21.6 362.4.4 483.9c-2.9 16.4 11.4 30.6 27.8 27.8l121.5-21.3 262.6-262.6c4.7-4.7 4.7-12.3 0-17l-111-111c-4.8-4.7-12.4-4.7-17.1 0zM124.1 339.9c-5.5-5.5-5.5-14.3 0-19.8l154-154c5.5-5.5 14.3-5.5 19.8 0s5.5 14.3 0 19.8l-154 154c-5.5 5.5-14.3 5.5-19.8 0zM88 424h48v36.3l-64.5 11.3-31.1-31.1L51.7 376H88v48z" d="M410.3 231l11.3-11.3-33.9-33.9-62.1-62.1L291.7 89.8l-11.3 11.3-22.6 22.6L58.6 322.9c-10.4 10.4-18 23.3-22.2 37.4L1 480.7c-2.5 8.4-.2 17.5 6.1 23.7s15.3 8.5 23.7 6.1l120.3-35.4c14.1-4.2 27-11.8 37.4-22.2L387.7 253.7 410.3 231zM160 399.4l-9.1 22.7c-4 3.1-8.5 5.4-13.3 6.9L59.4 452l23-78.1c1.4-4.9 3.8-9.4 6.9-13.3l22.7-9.1 0 32c0 8.8 7.2 16 16 16l32 0zM362.7 18.7L348.3 33.2 325.7 55.8 314.3 67.1l33.9 33.9 62.1 62.1 33.9 33.9 11.3-11.3 22.6-22.6 14.5-14.5c25-25 25-65.5 0-90.5L453.3 18.7c-25-25-65.5-25-90.5 0zm-47.4 168l-144 144c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l144-144c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z"
fill="currentColor" fill="currentColor"
style={Object {}}
/> />
</svg> </svg>
Edit Edit
</button> </button>
</h2> </h2>
<p <p
className="mb-0" class="mb-0"
> >
<span <span
className="ml-auto small text-muted" class="ml-auto small text-muted"
> >
<svg <svg
aria-hidden="true" aria-hidden="true"
className="svg-inline--fa fa-eye-slash fa-w-20 " class="svg-inline--fa fa-eye-slash "
data-icon="eye-slash" data-icon="eye-slash"
data-prefix="far" data-prefix="far"
focusable="false" focusable="false"
role="img" role="img"
style={Object {}}
viewBox="0 0 640 512" viewBox="0 0 640 512"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
> >
<path <path
d="M634 471L36 3.51A16 16 0 0 0 13.51 6l-10 12.49A16 16 0 0 0 6 41l598 467.49a16 16 0 0 0 22.49-2.49l10-12.49A16 16 0 0 0 634 471zM296.79 146.47l134.79 105.38C429.36 191.91 380.48 144 320 144a112.26 112.26 0 0 0-23.21 2.47zm46.42 219.07L208.42 260.16C210.65 320.09 259.53 368 320 368a113 113 0 0 0 23.21-2.46zM320 112c98.65 0 189.09 55 237.93 144a285.53 285.53 0 0 1-44 60.2l37.74 29.5a333.7 333.7 0 0 0 52.9-75.11 32.35 32.35 0 0 0 0-29.19C550.29 135.59 442.93 64 320 64c-36.7 0-71.71 7-104.63 18.81l46.41 36.29c18.94-4.3 38.34-7.1 58.22-7.1zm0 288c-98.65 0-189.08-55-237.93-144a285.47 285.47 0 0 1 44.05-60.19l-37.74-29.5a333.6 333.6 0 0 0-52.89 75.1 32.35 32.35 0 0 0 0 29.19C89.72 376.41 197.08 448 320 448c36.7 0 71.71-7.05 104.63-18.81l-46.41-36.28C359.28 397.2 339.89 400 320 400z" d="M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L525.6 386.7c39.6-40.6 66.4-86.1 79.9-118.4c3.3-7.9 3.3-16.7 0-24.6c-14.9-35.7-46.2-87.7-93-131.1C465.5 68.8 400.8 32 320 32c-68.2 0-125 26.3-169.3 60.8L38.8 5.1zm151 118.3C226 97.7 269.5 80 320 80c65.2 0 118.8 29.6 159.9 67.7C518.4 183.5 545 226 558.6 256c-12.6 28-36.6 66.8-70.9 100.9l-53.8-42.2c9.1-17.6 14.2-37.5 14.2-58.7c0-70.7-57.3-128-128-128c-32.2 0-61.7 11.9-84.2 31.5l-46.1-36.1zM394.9 284.2l-81.5-63.9c4.2-8.5 6.6-18.2 6.6-28.3c0-5.5-.7-10.9-2-16c.7 0 1.3 0 2 0c44.2 0 80 35.8 80 80c0 9.9-1.8 19.4-5.1 28.2zm9.4 130.3C378.8 425.4 350.7 432 320 432c-65.2 0-118.8-29.6-159.9-67.7C121.6 328.5 95 286 81.4 256c8.3-18.4 21.5-41.5 39.4-64.8L83.1 161.5C60.3 191.2 44 220.8 34.5 243.7c-3.3 7.9-3.3 16.7 0 24.6c14.9 35.7 46.2 87.7 93 131.1C174.5 443.2 239.2 480 320 480c47.8 0 89.9-12.9 126.2-32.5l-41.9-33zM192 256c0 70.7 57.3 128 128 128c13.3 0 26.1-2 38.2-5.8L302 334c-23.5-5.4-43.1-21.2-53.7-42.3l-56.1-44.2c-.2 2.8-.3 5.6-.3 8.5z"
fill="currentColor" fill="currentColor"
style={Object {}}
/> />
</svg> </svg>
@@ -8369,93 +8235,73 @@ exports[`<ProfilePage /> Renders correctly in various states while saving an edi
</p> </p>
</div> </div>
<p <p
className="h5" class="h5"
data-hj-suppress={true} data-hj-suppress="true"
> >
Lemon Seltzer Lemon Seltzer
</p> </p>
<small <small
className="form-text text-muted" class="form-text text-muted"
> >
This is the name that appears in your account and on your certificates. This is the name that appears in your account and on your certificates.
</small> </small>
</div> </div>
</div> </div>
<div <div
className="pgn-transition-replace-group position-relative mb-5" class="pgn-transition-replace-group position-relative mb-5"
style={
Object {
"height": null,
}
}
> >
<div <div
style={ style="padding: .1px 0px;"
Object {
"padding": ".1px 0",
}
}
> >
<div <div
className="editable-item-header mb-2" class="editable-item-header mb-2"
> >
<h2 <h2
className="edit-section-header" class="edit-section-header"
id={null}
> >
Location Location
<button <button
className="float-right px-0 btn btn-link btn-sm" class="float-right px-0 btn btn-link btn-sm"
disabled={false} style="margin-top: -.35rem;"
onClick={[Function]}
style={
Object {
"marginTop": "-.35rem",
}
}
type="button" type="button"
> >
<svg <svg
aria-hidden="true" aria-hidden="true"
className="svg-inline--fa fa-pencil-alt fa-w-16 mr-1" class="svg-inline--fa fa-pencil mr-1"
data-icon="pencil-alt" data-icon="pencil"
data-prefix="fas" data-prefix="fas"
focusable="false" focusable="false"
role="img" role="img"
style={Object {}}
viewBox="0 0 512 512" viewBox="0 0 512 512"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
> >
<path <path
d="M497.9 142.1l-46.1 46.1c-4.7 4.7-12.3 4.7-17 0l-111-111c-4.7-4.7-4.7-12.3 0-17l46.1-46.1c18.7-18.7 49.1-18.7 67.9 0l60.1 60.1c18.8 18.7 18.8 49.1 0 67.9zM284.2 99.8L21.6 362.4.4 483.9c-2.9 16.4 11.4 30.6 27.8 27.8l121.5-21.3 262.6-262.6c4.7-4.7 4.7-12.3 0-17l-111-111c-4.8-4.7-12.4-4.7-17.1 0zM124.1 339.9c-5.5-5.5-5.5-14.3 0-19.8l154-154c5.5-5.5 14.3-5.5 19.8 0s5.5 14.3 0 19.8l-154 154c-5.5 5.5-14.3 5.5-19.8 0zM88 424h48v36.3l-64.5 11.3-31.1-31.1L51.7 376H88v48z" d="M410.3 231l11.3-11.3-33.9-33.9-62.1-62.1L291.7 89.8l-11.3 11.3-22.6 22.6L58.6 322.9c-10.4 10.4-18 23.3-22.2 37.4L1 480.7c-2.5 8.4-.2 17.5 6.1 23.7s15.3 8.5 23.7 6.1l120.3-35.4c14.1-4.2 27-11.8 37.4-22.2L387.7 253.7 410.3 231zM160 399.4l-9.1 22.7c-4 3.1-8.5 5.4-13.3 6.9L59.4 452l23-78.1c1.4-4.9 3.8-9.4 6.9-13.3l22.7-9.1 0 32c0 8.8 7.2 16 16 16l32 0zM362.7 18.7L348.3 33.2 325.7 55.8 314.3 67.1l33.9 33.9 62.1 62.1 33.9 33.9 11.3-11.3 22.6-22.6 14.5-14.5c25-25 25-65.5 0-90.5L453.3 18.7c-25-25-65.5-25-90.5 0zm-47.4 168l-144 144c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l144-144c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z"
fill="currentColor" fill="currentColor"
style={Object {}}
/> />
</svg> </svg>
Edit Edit
</button> </button>
</h2> </h2>
<p <p
className="mb-0" class="mb-0"
> >
<span <span
className="ml-auto small text-muted" class="ml-auto small text-muted"
> >
<svg <svg
aria-hidden="true" aria-hidden="true"
className="svg-inline--fa fa-eye fa-w-18 " class="svg-inline--fa fa-eye "
data-icon="eye" data-icon="eye"
data-prefix="far" data-prefix="far"
focusable="false" focusable="false"
role="img" role="img"
style={Object {}}
viewBox="0 0 576 512" viewBox="0 0 576 512"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
> >
<path <path
d="M288 144a110.94 110.94 0 0 0-31.24 5 55.4 55.4 0 0 1 7.24 27 56 56 0 0 1-56 56 55.4 55.4 0 0 1-27-7.24A111.71 111.71 0 1 0 288 144zm284.52 97.4C518.29 135.59 410.93 64 288 64S57.68 135.64 3.48 241.41a32.35 32.35 0 0 0 0 29.19C57.71 376.41 165.07 448 288 448s230.32-71.64 284.52-177.41a32.35 32.35 0 0 0 0-29.19zM288 400c-98.65 0-189.09-55-237.93-144C98.91 167 189.34 112 288 112s189.09 55 237.93 144C477.1 345 386.66 400 288 400z" d="M288 80c-65.2 0-118.8 29.6-159.9 67.7C89.6 183.5 63 226 49.4 256c13.6 30 40.2 72.5 78.6 108.3C169.2 402.4 222.8 432 288 432s118.8-29.6 159.9-67.7C486.4 328.5 513 286 526.6 256c-13.6-30-40.2-72.5-78.6-108.3C406.8 109.6 353.2 80 288 80zM95.4 112.6C142.5 68.8 207.2 32 288 32s145.5 36.8 192.6 80.6c46.8 43.5 78.1 95.4 93 131.1c3.3 7.9 3.3 16.7 0 24.6c-14.9 35.7-46.2 87.7-93 131.1C433.5 443.2 368.8 480 288 480s-145.5-36.8-192.6-80.6C48.6 356 17.3 304 2.5 268.3c-3.3-7.9-3.3-16.7 0-24.6C17.3 208 48.6 156 95.4 112.6zM288 336c44.2 0 80-35.8 80-80s-35.8-80-80-80c-.7 0-1.3 0-2 0c1.3 5.1 2 10.5 2 16c0 35.3-28.7 64-64 64c-5.5 0-10.9-.7-16-2c0 .7 0 1.3 0 2c0 44.2 35.8 80 80 80zm0-208a128 128 0 1 1 0 256 128 128 0 1 1 0-256z"
fill="currentColor" fill="currentColor"
style={Object {}}
/> />
</svg> </svg>
@@ -8464,88 +8310,68 @@ exports[`<ProfilePage /> Renders correctly in various states while saving an edi
</p> </p>
</div> </div>
<p <p
className="h5" class="h5"
data-hj-suppress={true} data-hj-suppress="true"
> >
Montenegro Montenegro
</p> </p>
</div> </div>
</div> </div>
<div <div
className="pgn-transition-replace-group position-relative mb-5" class="pgn-transition-replace-group position-relative mb-5"
style={
Object {
"height": null,
}
}
> >
<div <div
style={ style="padding: .1px 0px;"
Object {
"padding": ".1px 0",
}
}
> >
<div <div
className="editable-item-header mb-2" class="editable-item-header mb-2"
> >
<h2 <h2
className="edit-section-header" class="edit-section-header"
id={null}
> >
Primary Language Spoken Primary Language Spoken
<button <button
className="float-right px-0 btn btn-link btn-sm" class="float-right px-0 btn btn-link btn-sm"
disabled={false} style="margin-top: -.35rem;"
onClick={[Function]}
style={
Object {
"marginTop": "-.35rem",
}
}
type="button" type="button"
> >
<svg <svg
aria-hidden="true" aria-hidden="true"
className="svg-inline--fa fa-pencil-alt fa-w-16 mr-1" class="svg-inline--fa fa-pencil mr-1"
data-icon="pencil-alt" data-icon="pencil"
data-prefix="fas" data-prefix="fas"
focusable="false" focusable="false"
role="img" role="img"
style={Object {}}
viewBox="0 0 512 512" viewBox="0 0 512 512"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
> >
<path <path
d="M497.9 142.1l-46.1 46.1c-4.7 4.7-12.3 4.7-17 0l-111-111c-4.7-4.7-4.7-12.3 0-17l46.1-46.1c18.7-18.7 49.1-18.7 67.9 0l60.1 60.1c18.8 18.7 18.8 49.1 0 67.9zM284.2 99.8L21.6 362.4.4 483.9c-2.9 16.4 11.4 30.6 27.8 27.8l121.5-21.3 262.6-262.6c4.7-4.7 4.7-12.3 0-17l-111-111c-4.8-4.7-12.4-4.7-17.1 0zM124.1 339.9c-5.5-5.5-5.5-14.3 0-19.8l154-154c5.5-5.5 14.3-5.5 19.8 0s5.5 14.3 0 19.8l-154 154c-5.5 5.5-14.3 5.5-19.8 0zM88 424h48v36.3l-64.5 11.3-31.1-31.1L51.7 376H88v48z" d="M410.3 231l11.3-11.3-33.9-33.9-62.1-62.1L291.7 89.8l-11.3 11.3-22.6 22.6L58.6 322.9c-10.4 10.4-18 23.3-22.2 37.4L1 480.7c-2.5 8.4-.2 17.5 6.1 23.7s15.3 8.5 23.7 6.1l120.3-35.4c14.1-4.2 27-11.8 37.4-22.2L387.7 253.7 410.3 231zM160 399.4l-9.1 22.7c-4 3.1-8.5 5.4-13.3 6.9L59.4 452l23-78.1c1.4-4.9 3.8-9.4 6.9-13.3l22.7-9.1 0 32c0 8.8 7.2 16 16 16l32 0zM362.7 18.7L348.3 33.2 325.7 55.8 314.3 67.1l33.9 33.9 62.1 62.1 33.9 33.9 11.3-11.3 22.6-22.6 14.5-14.5c25-25 25-65.5 0-90.5L453.3 18.7c-25-25-65.5-25-90.5 0zm-47.4 168l-144 144c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l144-144c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z"
fill="currentColor" fill="currentColor"
style={Object {}}
/> />
</svg> </svg>
Edit Edit
</button> </button>
</h2> </h2>
<p <p
className="mb-0" class="mb-0"
> >
<span <span
className="ml-auto small text-muted" class="ml-auto small text-muted"
> >
<svg <svg
aria-hidden="true" aria-hidden="true"
className="svg-inline--fa fa-eye fa-w-18 " class="svg-inline--fa fa-eye "
data-icon="eye" data-icon="eye"
data-prefix="far" data-prefix="far"
focusable="false" focusable="false"
role="img" role="img"
style={Object {}}
viewBox="0 0 576 512" viewBox="0 0 576 512"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
> >
<path <path
d="M288 144a110.94 110.94 0 0 0-31.24 5 55.4 55.4 0 0 1 7.24 27 56 56 0 0 1-56 56 55.4 55.4 0 0 1-27-7.24A111.71 111.71 0 1 0 288 144zm284.52 97.4C518.29 135.59 410.93 64 288 64S57.68 135.64 3.48 241.41a32.35 32.35 0 0 0 0 29.19C57.71 376.41 165.07 448 288 448s230.32-71.64 284.52-177.41a32.35 32.35 0 0 0 0-29.19zM288 400c-98.65 0-189.09-55-237.93-144C98.91 167 189.34 112 288 112s189.09 55 237.93 144C477.1 345 386.66 400 288 400z" d="M288 80c-65.2 0-118.8 29.6-159.9 67.7C89.6 183.5 63 226 49.4 256c13.6 30 40.2 72.5 78.6 108.3C169.2 402.4 222.8 432 288 432s118.8-29.6 159.9-67.7C486.4 328.5 513 286 526.6 256c-13.6-30-40.2-72.5-78.6-108.3C406.8 109.6 353.2 80 288 80zM95.4 112.6C142.5 68.8 207.2 32 288 32s145.5 36.8 192.6 80.6c46.8 43.5 78.1 95.4 93 131.1c3.3 7.9 3.3 16.7 0 24.6c-14.9 35.7-46.2 87.7-93 131.1C433.5 443.2 368.8 480 288 480s-145.5-36.8-192.6-80.6C48.6 356 17.3 304 2.5 268.3c-3.3-7.9-3.3-16.7 0-24.6C17.3 208 48.6 156 95.4 112.6zM288 336c44.2 0 80-35.8 80-80s-35.8-80-80-80c-.7 0-1.3 0-2 0c1.3 5.1 2 10.5 2 16c0 35.3-28.7 64-64 64c-5.5 0-10.9-.7-16-2c0 .7 0 1.3 0 2c0 44.2 35.8 80 80 80zm0-208a128 128 0 1 1 0 256 128 128 0 1 1 0-256z"
fill="currentColor" fill="currentColor"
style={Object {}}
/> />
</svg> </svg>
@@ -8554,88 +8380,68 @@ exports[`<ProfilePage /> Renders correctly in various states while saving an edi
</p> </p>
</div> </div>
<p <p
className="h5" class="h5"
data-hj-suppress={true} data-hj-suppress="true"
> >
Yoruba Yoruba
</p> </p>
</div> </div>
</div> </div>
<div <div
className="pgn-transition-replace-group position-relative mb-5" class="pgn-transition-replace-group position-relative mb-5"
style={
Object {
"height": null,
}
}
> >
<div <div
style={ style="padding: .1px 0px;"
Object {
"padding": ".1px 0",
}
}
> >
<div <div
className="editable-item-header mb-2" class="editable-item-header mb-2"
> >
<h2 <h2
className="edit-section-header" class="edit-section-header"
id={null}
> >
Education Education
<button <button
className="float-right px-0 btn btn-link btn-sm" class="float-right px-0 btn btn-link btn-sm"
disabled={false} style="margin-top: -.35rem;"
onClick={[Function]}
style={
Object {
"marginTop": "-.35rem",
}
}
type="button" type="button"
> >
<svg <svg
aria-hidden="true" aria-hidden="true"
className="svg-inline--fa fa-pencil-alt fa-w-16 mr-1" class="svg-inline--fa fa-pencil mr-1"
data-icon="pencil-alt" data-icon="pencil"
data-prefix="fas" data-prefix="fas"
focusable="false" focusable="false"
role="img" role="img"
style={Object {}}
viewBox="0 0 512 512" viewBox="0 0 512 512"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
> >
<path <path
d="M497.9 142.1l-46.1 46.1c-4.7 4.7-12.3 4.7-17 0l-111-111c-4.7-4.7-4.7-12.3 0-17l46.1-46.1c18.7-18.7 49.1-18.7 67.9 0l60.1 60.1c18.8 18.7 18.8 49.1 0 67.9zM284.2 99.8L21.6 362.4.4 483.9c-2.9 16.4 11.4 30.6 27.8 27.8l121.5-21.3 262.6-262.6c4.7-4.7 4.7-12.3 0-17l-111-111c-4.8-4.7-12.4-4.7-17.1 0zM124.1 339.9c-5.5-5.5-5.5-14.3 0-19.8l154-154c5.5-5.5 14.3-5.5 19.8 0s5.5 14.3 0 19.8l-154 154c-5.5 5.5-14.3 5.5-19.8 0zM88 424h48v36.3l-64.5 11.3-31.1-31.1L51.7 376H88v48z" d="M410.3 231l11.3-11.3-33.9-33.9-62.1-62.1L291.7 89.8l-11.3 11.3-22.6 22.6L58.6 322.9c-10.4 10.4-18 23.3-22.2 37.4L1 480.7c-2.5 8.4-.2 17.5 6.1 23.7s15.3 8.5 23.7 6.1l120.3-35.4c14.1-4.2 27-11.8 37.4-22.2L387.7 253.7 410.3 231zM160 399.4l-9.1 22.7c-4 3.1-8.5 5.4-13.3 6.9L59.4 452l23-78.1c1.4-4.9 3.8-9.4 6.9-13.3l22.7-9.1 0 32c0 8.8 7.2 16 16 16l32 0zM362.7 18.7L348.3 33.2 325.7 55.8 314.3 67.1l33.9 33.9 62.1 62.1 33.9 33.9 11.3-11.3 22.6-22.6 14.5-14.5c25-25 25-65.5 0-90.5L453.3 18.7c-25-25-65.5-25-90.5 0zm-47.4 168l-144 144c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l144-144c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z"
fill="currentColor" fill="currentColor"
style={Object {}}
/> />
</svg> </svg>
Edit Edit
</button> </button>
</h2> </h2>
<p <p
className="mb-0" class="mb-0"
> >
<span <span
className="ml-auto small text-muted" class="ml-auto small text-muted"
> >
<svg <svg
aria-hidden="true" aria-hidden="true"
className="svg-inline--fa fa-eye-slash fa-w-20 " class="svg-inline--fa fa-eye-slash "
data-icon="eye-slash" data-icon="eye-slash"
data-prefix="far" data-prefix="far"
focusable="false" focusable="false"
role="img" role="img"
style={Object {}}
viewBox="0 0 640 512" viewBox="0 0 640 512"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
> >
<path <path
d="M634 471L36 3.51A16 16 0 0 0 13.51 6l-10 12.49A16 16 0 0 0 6 41l598 467.49a16 16 0 0 0 22.49-2.49l10-12.49A16 16 0 0 0 634 471zM296.79 146.47l134.79 105.38C429.36 191.91 380.48 144 320 144a112.26 112.26 0 0 0-23.21 2.47zm46.42 219.07L208.42 260.16C210.65 320.09 259.53 368 320 368a113 113 0 0 0 23.21-2.46zM320 112c98.65 0 189.09 55 237.93 144a285.53 285.53 0 0 1-44 60.2l37.74 29.5a333.7 333.7 0 0 0 52.9-75.11 32.35 32.35 0 0 0 0-29.19C550.29 135.59 442.93 64 320 64c-36.7 0-71.71 7-104.63 18.81l46.41 36.29c18.94-4.3 38.34-7.1 58.22-7.1zm0 288c-98.65 0-189.08-55-237.93-144a285.47 285.47 0 0 1 44.05-60.19l-37.74-29.5a333.6 333.6 0 0 0-52.89 75.1 32.35 32.35 0 0 0 0 29.19C89.72 376.41 197.08 448 320 448c36.7 0 71.71-7.05 104.63-18.81l-46.41-36.28C359.28 397.2 339.89 400 320 400z" d="M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L525.6 386.7c39.6-40.6 66.4-86.1 79.9-118.4c3.3-7.9 3.3-16.7 0-24.6c-14.9-35.7-46.2-87.7-93-131.1C465.5 68.8 400.8 32 320 32c-68.2 0-125 26.3-169.3 60.8L38.8 5.1zm151 118.3C226 97.7 269.5 80 320 80c65.2 0 118.8 29.6 159.9 67.7C518.4 183.5 545 226 558.6 256c-12.6 28-36.6 66.8-70.9 100.9l-53.8-42.2c9.1-17.6 14.2-37.5 14.2-58.7c0-70.7-57.3-128-128-128c-32.2 0-61.7 11.9-84.2 31.5l-46.1-36.1zM394.9 284.2l-81.5-63.9c4.2-8.5 6.6-18.2 6.6-28.3c0-5.5-.7-10.9-2-16c.7 0 1.3 0 2 0c44.2 0 80 35.8 80 80c0 9.9-1.8 19.4-5.1 28.2zm9.4 130.3C378.8 425.4 350.7 432 320 432c-65.2 0-118.8-29.6-159.9-67.7C121.6 328.5 95 286 81.4 256c8.3-18.4 21.5-41.5 39.4-64.8L83.1 161.5C60.3 191.2 44 220.8 34.5 243.7c-3.3 7.9-3.3 16.7 0 24.6c14.9 35.7 46.2 87.7 93 131.1C174.5 443.2 239.2 480 320 480c47.8 0 89.9-12.9 126.2-32.5l-41.9-33zM192 256c0 70.7 57.3 128 128 128c13.3 0 26.1-2 38.2-5.8L302 334c-23.5-5.4-43.1-21.2-53.7-42.3l-56.1-44.2c-.2 2.8-.3 5.6-.3 8.5z"
fill="currentColor" fill="currentColor"
style={Object {}}
/> />
</svg> </svg>
@@ -8644,88 +8450,68 @@ exports[`<ProfilePage /> Renders correctly in various states while saving an edi
</p> </p>
</div> </div>
<p <p
className="h5" class="h5"
data-hj-suppress={true} data-hj-suppress="true"
> >
Elementary/primary school Elementary/primary school
</p> </p>
</div> </div>
</div> </div>
<div <div
className="pgn-transition-replace-group position-relative mb-5" class="pgn-transition-replace-group position-relative mb-5"
style={
Object {
"height": null,
}
}
> >
<div <div
style={ style="padding: .1px 0px;"
Object {
"padding": ".1px 0",
}
}
> >
<div <div
className="editable-item-header mb-2" class="editable-item-header mb-2"
> >
<h2 <h2
className="edit-section-header" class="edit-section-header"
id={null}
> >
Social Links Social Links
<button <button
className="float-right px-0 btn btn-link btn-sm" class="float-right px-0 btn btn-link btn-sm"
disabled={false} style="margin-top: -.35rem;"
onClick={[Function]}
style={
Object {
"marginTop": "-.35rem",
}
}
type="button" type="button"
> >
<svg <svg
aria-hidden="true" aria-hidden="true"
className="svg-inline--fa fa-pencil-alt fa-w-16 mr-1" class="svg-inline--fa fa-pencil mr-1"
data-icon="pencil-alt" data-icon="pencil"
data-prefix="fas" data-prefix="fas"
focusable="false" focusable="false"
role="img" role="img"
style={Object {}}
viewBox="0 0 512 512" viewBox="0 0 512 512"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
> >
<path <path
d="M497.9 142.1l-46.1 46.1c-4.7 4.7-12.3 4.7-17 0l-111-111c-4.7-4.7-4.7-12.3 0-17l46.1-46.1c18.7-18.7 49.1-18.7 67.9 0l60.1 60.1c18.8 18.7 18.8 49.1 0 67.9zM284.2 99.8L21.6 362.4.4 483.9c-2.9 16.4 11.4 30.6 27.8 27.8l121.5-21.3 262.6-262.6c4.7-4.7 4.7-12.3 0-17l-111-111c-4.8-4.7-12.4-4.7-17.1 0zM124.1 339.9c-5.5-5.5-5.5-14.3 0-19.8l154-154c5.5-5.5 14.3-5.5 19.8 0s5.5 14.3 0 19.8l-154 154c-5.5 5.5-14.3 5.5-19.8 0zM88 424h48v36.3l-64.5 11.3-31.1-31.1L51.7 376H88v48z" d="M410.3 231l11.3-11.3-33.9-33.9-62.1-62.1L291.7 89.8l-11.3 11.3-22.6 22.6L58.6 322.9c-10.4 10.4-18 23.3-22.2 37.4L1 480.7c-2.5 8.4-.2 17.5 6.1 23.7s15.3 8.5 23.7 6.1l120.3-35.4c14.1-4.2 27-11.8 37.4-22.2L387.7 253.7 410.3 231zM160 399.4l-9.1 22.7c-4 3.1-8.5 5.4-13.3 6.9L59.4 452l23-78.1c1.4-4.9 3.8-9.4 6.9-13.3l22.7-9.1 0 32c0 8.8 7.2 16 16 16l32 0zM362.7 18.7L348.3 33.2 325.7 55.8 314.3 67.1l33.9 33.9 62.1 62.1 33.9 33.9 11.3-11.3 22.6-22.6 14.5-14.5c25-25 25-65.5 0-90.5L453.3 18.7c-25-25-65.5-25-90.5 0zm-47.4 168l-144 144c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l144-144c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z"
fill="currentColor" fill="currentColor"
style={Object {}}
/> />
</svg> </svg>
Edit Edit
</button> </button>
</h2> </h2>
<p <p
className="mb-0" class="mb-0"
> >
<span <span
className="ml-auto small text-muted" class="ml-auto small text-muted"
> >
<svg <svg
aria-hidden="true" aria-hidden="true"
className="svg-inline--fa fa-eye fa-w-18 " class="svg-inline--fa fa-eye "
data-icon="eye" data-icon="eye"
data-prefix="far" data-prefix="far"
focusable="false" focusable="false"
role="img" role="img"
style={Object {}}
viewBox="0 0 576 512" viewBox="0 0 576 512"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
> >
<path <path
d="M288 144a110.94 110.94 0 0 0-31.24 5 55.4 55.4 0 0 1 7.24 27 56 56 0 0 1-56 56 55.4 55.4 0 0 1-27-7.24A111.71 111.71 0 1 0 288 144zm284.52 97.4C518.29 135.59 410.93 64 288 64S57.68 135.64 3.48 241.41a32.35 32.35 0 0 0 0 29.19C57.71 376.41 165.07 448 288 448s230.32-71.64 284.52-177.41a32.35 32.35 0 0 0 0-29.19zM288 400c-98.65 0-189.09-55-237.93-144C98.91 167 189.34 112 288 112s189.09 55 237.93 144C477.1 345 386.66 400 288 400z" d="M288 80c-65.2 0-118.8 29.6-159.9 67.7C89.6 183.5 63 226 49.4 256c13.6 30 40.2 72.5 78.6 108.3C169.2 402.4 222.8 432 288 432s118.8-29.6 159.9-67.7C486.4 328.5 513 286 526.6 256c-13.6-30-40.2-72.5-78.6-108.3C406.8 109.6 353.2 80 288 80zM95.4 112.6C142.5 68.8 207.2 32 288 32s145.5 36.8 192.6 80.6c46.8 43.5 78.1 95.4 93 131.1c3.3 7.9 3.3 16.7 0 24.6c-14.9 35.7-46.2 87.7-93 131.1C433.5 443.2 368.8 480 288 480s-145.5-36.8-192.6-80.6C48.6 356 17.3 304 2.5 268.3c-3.3-7.9-3.3-16.7 0-24.6C17.3 208 48.6 156 95.4 112.6zM288 336c44.2 0 80-35.8 80-80s-35.8-80-80-80c-.7 0-1.3 0-2 0c1.3 5.1 2 10.5 2 16c0 35.3-28.7 64-64 64c-5.5 0-10.9-.7-16-2c0 .7 0 1.3 0 2c0 44.2 35.8 80 80 80zm0-208a128 128 0 1 1 0 256 128 128 0 1 1 0-256z"
fill="currentColor" fill="currentColor"
style={Object {}}
/> />
</svg> </svg>
@@ -8734,88 +8520,80 @@ exports[`<ProfilePage /> Renders correctly in various states while saving an edi
</p> </p>
</div> </div>
<ul <ul
className="list-unstyled" class="list-unstyled"
> >
<li <li
className="form-group" class="form-group"
> >
<a <a
className="font-weight-bold" class="font-weight-bold"
href="https://www.twitter.com/ALOHA" href="https://www.twitter.com/ALOHA"
> >
<svg <svg
aria-hidden="true" aria-hidden="true"
className="svg-inline--fa fa-twitter fa-w-16 mr-2" class="svg-inline--fa fa-twitter mr-2"
data-icon="twitter" data-icon="twitter"
data-prefix="fab" data-prefix="fab"
focusable="false" focusable="false"
role="img" role="img"
style={Object {}}
viewBox="0 0 512 512" viewBox="0 0 512 512"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
> >
<path <path
d="M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253z" d="M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253z"
fill="currentColor" fill="currentColor"
style={Object {}}
/> />
</svg> </svg>
Twitter Twitter
</a> </a>
</li> </li>
<li <li
className="form-group" class="form-group"
> >
<a <a
className="font-weight-bold" class="font-weight-bold"
href="https://www.facebook.com/aloha" href="https://www.facebook.com/aloha"
> >
<svg <svg
aria-hidden="true" aria-hidden="true"
className="svg-inline--fa fa-facebook fa-w-16 mr-2" class="svg-inline--fa fa-facebook mr-2"
data-icon="facebook" data-icon="facebook"
data-prefix="fab" data-prefix="fab"
focusable="false" focusable="false"
role="img" role="img"
style={Object {}}
viewBox="0 0 512 512" viewBox="0 0 512 512"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
> >
<path <path
d="M504 256C504 119 393 8 256 8S8 119 8 256c0 123.78 90.69 226.38 209.25 245V327.69h-63V256h63v-54.64c0-62.15 37-96.48 93.67-96.48 27.14 0 55.52 4.84 55.52 4.84v61h-31.28c-30.8 0-40.41 19.12-40.41 38.73V256h68.78l-11 71.69h-57.78V501C413.31 482.38 504 379.78 504 256z" d="M512 256C512 114.6 397.4 0 256 0S0 114.6 0 256C0 376 82.7 476.8 194.2 504.5V334.2H141.4V256h52.8V222.3c0-87.1 39.4-127.5 125-127.5c16.2 0 44.2 3.2 55.7 6.4V172c-6-.6-16.5-1-29.6-1c-42 0-58.2 15.9-58.2 57.2V256h83.6l-14.4 78.2H287V510.1C413.8 494.8 512 386.9 512 256h0z"
fill="currentColor" fill="currentColor"
style={Object {}}
/> />
</svg> </svg>
Facebook Facebook
</a> </a>
</li> </li>
<li <li
className="form-group" class="form-group"
> >
<div> <div>
<button <button
className="pl-0 text-left btn btn-link" class="pl-0 text-left btn btn-link"
onClick={[Function]} tabindex="0"
onKeyDown={[Function]}
tabIndex={0}
type="button" type="button"
> >
<svg <svg
aria-hidden="true" aria-hidden="true"
className="svg-inline--fa fa-plus fa-w-14 fa-xs mr-2" class="svg-inline--fa fa-plus fa-xs mr-2"
data-icon="plus" data-icon="plus"
data-prefix="fas" data-prefix="fas"
focusable="false" focusable="false"
role="img" role="img"
style={Object {}}
viewBox="0 0 448 512" viewBox="0 0 448 512"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
> >
<path <path
d="M416 208H272V64c0-17.67-14.33-32-32-32h-32c-17.67 0-32 14.33-32 32v144H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h144v144c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32V304h144c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32z" d="M256 80c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 144L48 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l144 0 0 144c0 17.7 14.3 32 32 32s32-14.3 32-32l0-144 144 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-144 0 0-144z"
fill="currentColor" fill="currentColor"
style={Object {}}
/> />
</svg> </svg>
Add Add
@@ -8828,48 +8606,37 @@ exports[`<ProfilePage /> Renders correctly in various states while saving an edi
</div> </div>
</div> </div>
<div <div
className="pt-md-3 col-md-8 col-lg-7 offset-lg-1" class="pt-md-3 col-md-8 col-lg-7 offset-lg-1"
> >
<div <div
className="pgn-transition-replace-group position-relative mb-5" class="pgn-transition-replace-group position-relative mb-5"
style={
Object {
"height": null,
}
}
> >
<div <div
style={ style="padding: .1px 0px;"
Object {
"padding": ".1px 0",
}
}
> >
<div <div
aria-labelledby="bio-label" aria-labelledby="bio-label"
role="dialog" role="dialog"
> >
<form <form>
onSubmit={[Function]}
>
<div <div
className="pgn__form-group" class="pgn__form-group"
> >
<label <label
className="edit-section-header" class="edit-section-header"
htmlFor="bio" for="bio"
> >
About Me About Me
</label> </label>
<textarea <textarea
className="form-control" class="form-control"
id="bio" id="bio"
name="bio" name="bio"
onChange={[Function]} >
value="This is my bio" This is my bio
/> </textarea>
<div <div
className="pgn__form-control-description pgn__form-text pgn__form-text-invalid" class="pgn__form-control-description pgn__form-text pgn__form-text-invalid"
id="bio-1" id="bio-1"
> >
<div> <div>
@@ -8878,53 +8645,45 @@ exports[`<ProfilePage /> Renders correctly in various states while saving an edi
</div> </div>
</div> </div>
<div <div
className="d-flex flex-row-reverse flex-wrap justify-content-end align-items-center" class="d-flex flex-row-reverse flex-wrap justify-content-end align-items-center"
> >
<div <div
className="form-group d-flex flex-wrap" class="form-group d-flex flex-wrap"
> >
<label <label
className="col-form-label" class="col-form-label"
htmlFor="visibilityBio" for="visibilityBio"
> >
Who can see this: Who can see this:
</label> </label>
<span <span
className="d-flex align-items-center" class="d-flex align-items-center"
> >
<span <span
className="d-inline-block ml-1 mr-2" class="d-inline-block ml-1 mr-2"
style={ style="width: 1.5rem;"
Object {
"width": "1.5rem",
}
}
> >
<svg <svg
aria-hidden="true" aria-hidden="true"
className="svg-inline--fa fa-eye fa-w-18 " class="svg-inline--fa fa-eye "
data-icon="eye" data-icon="eye"
data-prefix="far" data-prefix="far"
focusable="false" focusable="false"
role="img" role="img"
style={Object {}}
viewBox="0 0 576 512" viewBox="0 0 576 512"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
> >
<path <path
d="M288 144a110.94 110.94 0 0 0-31.24 5 55.4 55.4 0 0 1 7.24 27 56 56 0 0 1-56 56 55.4 55.4 0 0 1-27-7.24A111.71 111.71 0 1 0 288 144zm284.52 97.4C518.29 135.59 410.93 64 288 64S57.68 135.64 3.48 241.41a32.35 32.35 0 0 0 0 29.19C57.71 376.41 165.07 448 288 448s230.32-71.64 284.52-177.41a32.35 32.35 0 0 0 0-29.19zM288 400c-98.65 0-189.09-55-237.93-144C98.91 167 189.34 112 288 112s189.09 55 237.93 144C477.1 345 386.66 400 288 400z" d="M288 80c-65.2 0-118.8 29.6-159.9 67.7C89.6 183.5 63 226 49.4 256c13.6 30 40.2 72.5 78.6 108.3C169.2 402.4 222.8 432 288 432s118.8-29.6 159.9-67.7C486.4 328.5 513 286 526.6 256c-13.6-30-40.2-72.5-78.6-108.3C406.8 109.6 353.2 80 288 80zM95.4 112.6C142.5 68.8 207.2 32 288 32s145.5 36.8 192.6 80.6c46.8 43.5 78.1 95.4 93 131.1c3.3 7.9 3.3 16.7 0 24.6c-14.9 35.7-46.2 87.7-93 131.1C433.5 443.2 368.8 480 288 480s-145.5-36.8-192.6-80.6C48.6 356 17.3 304 2.5 268.3c-3.3-7.9-3.3-16.7 0-24.6C17.3 208 48.6 156 95.4 112.6zM288 336c44.2 0 80-35.8 80-80s-35.8-80-80-80c-.7 0-1.3 0-2 0c1.3 5.1 2 10.5 2 16c0 35.3-28.7 64-64 64c-5.5 0-10.9-.7-16-2c0 .7 0 1.3 0 2c0 44.2 35.8 80 80 80zm0-208a128 128 0 1 1 0 256 128 128 0 1 1 0-256z"
fill="currentColor" fill="currentColor"
style={Object {}}
/> />
</svg> </svg>
</span> </span>
<select <select
className="d-inline-block w-auto form-control" class="d-inline-block form-control"
id="visibilityBio" id="visibilityBio"
name="visibilityBio" name="visibilityBio"
onChange={[Function]}
type="select" type="select"
value="all_users"
> >
<option <option
value="private" value="private"
@@ -8940,33 +8699,31 @@ exports[`<ProfilePage /> Renders correctly in various states while saving an edi
</span> </span>
</div> </div>
<div <div
className="form-group flex-shrink-0 flex-grow-1" class="form-group flex-shrink-0 flex-grow-1"
> >
<button <button
aria-disabled={false} aria-disabled="false"
aria-live="assertive" aria-live="assertive"
className="pgn__stateful-btn pgn__stateful-btn-state-pending btn btn-primary" class="pgn__stateful-btn pgn__stateful-btn-state-pending btn btn-primary"
disabled={false}
onClick={[Function]}
type="submit" type="submit"
> >
<span <span
className="d-flex align-items-center justify-content-center" class="d-flex align-items-center justify-content-center"
> >
<span <span
className="pgn__stateful-btn-icon" class="pgn__stateful-btn-icon"
> >
<span <span
className="pgn__icon icon-spin" class="pgn__icon icon-spin"
> >
<svg <svg
aria-hidden={true} aria-hidden="true"
fill="none" fill="none"
focusable={false} focusable="false"
height={24} height="24"
role="img" role="img"
viewBox="0 0 24 24" viewBox="0 0 24 24"
width={24} width="24"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
> >
<path <path
@@ -8982,9 +8739,7 @@ exports[`<ProfilePage /> Renders correctly in various states while saving an edi
</span> </span>
</button> </button>
<button <button
className="btn btn-link" class="btn btn-link"
disabled={false}
onClick={[Function]}
type="button" type="button"
> >
Cancel Cancel
@@ -8996,80 +8751,60 @@ exports[`<ProfilePage /> Renders correctly in various states while saving an edi
</div> </div>
</div> </div>
<div <div
className="pgn-transition-replace-group position-relative mb-4" class="pgn-transition-replace-group position-relative mb-4"
style={
Object {
"height": null,
}
}
> >
<div <div
style={ style="padding: .1px 0px;"
Object {
"padding": ".1px 0",
}
}
> >
<div <div
className="editable-item-header mb-2" class="editable-item-header mb-2"
> >
<h2 <h2
className="edit-section-header" class="edit-section-header"
id={null}
> >
My Certificates My Certificates
<button <button
className="float-right px-0 btn btn-link btn-sm" class="float-right px-0 btn btn-link btn-sm"
disabled={false} style="margin-top: -.35rem;"
onClick={[Function]}
style={
Object {
"marginTop": "-.35rem",
}
}
type="button" type="button"
> >
<svg <svg
aria-hidden="true" aria-hidden="true"
className="svg-inline--fa fa-pencil-alt fa-w-16 mr-1" class="svg-inline--fa fa-pencil mr-1"
data-icon="pencil-alt" data-icon="pencil"
data-prefix="fas" data-prefix="fas"
focusable="false" focusable="false"
role="img" role="img"
style={Object {}}
viewBox="0 0 512 512" viewBox="0 0 512 512"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
> >
<path <path
d="M497.9 142.1l-46.1 46.1c-4.7 4.7-12.3 4.7-17 0l-111-111c-4.7-4.7-4.7-12.3 0-17l46.1-46.1c18.7-18.7 49.1-18.7 67.9 0l60.1 60.1c18.8 18.7 18.8 49.1 0 67.9zM284.2 99.8L21.6 362.4.4 483.9c-2.9 16.4 11.4 30.6 27.8 27.8l121.5-21.3 262.6-262.6c4.7-4.7 4.7-12.3 0-17l-111-111c-4.8-4.7-12.4-4.7-17.1 0zM124.1 339.9c-5.5-5.5-5.5-14.3 0-19.8l154-154c5.5-5.5 14.3-5.5 19.8 0s5.5 14.3 0 19.8l-154 154c-5.5 5.5-14.3 5.5-19.8 0zM88 424h48v36.3l-64.5 11.3-31.1-31.1L51.7 376H88v48z" d="M410.3 231l11.3-11.3-33.9-33.9-62.1-62.1L291.7 89.8l-11.3 11.3-22.6 22.6L58.6 322.9c-10.4 10.4-18 23.3-22.2 37.4L1 480.7c-2.5 8.4-.2 17.5 6.1 23.7s15.3 8.5 23.7 6.1l120.3-35.4c14.1-4.2 27-11.8 37.4-22.2L387.7 253.7 410.3 231zM160 399.4l-9.1 22.7c-4 3.1-8.5 5.4-13.3 6.9L59.4 452l23-78.1c1.4-4.9 3.8-9.4 6.9-13.3l22.7-9.1 0 32c0 8.8 7.2 16 16 16l32 0zM362.7 18.7L348.3 33.2 325.7 55.8 314.3 67.1l33.9 33.9 62.1 62.1 33.9 33.9 11.3-11.3 22.6-22.6 14.5-14.5c25-25 25-65.5 0-90.5L453.3 18.7c-25-25-65.5-25-90.5 0zm-47.4 168l-144 144c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l144-144c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z"
fill="currentColor" fill="currentColor"
style={Object {}}
/> />
</svg> </svg>
Edit Edit
</button> </button>
</h2> </h2>
<p <p
className="mb-0" class="mb-0"
> >
<span <span
className="ml-auto small text-muted" class="ml-auto small text-muted"
> >
<svg <svg
aria-hidden="true" aria-hidden="true"
className="svg-inline--fa fa-eye fa-w-18 " class="svg-inline--fa fa-eye "
data-icon="eye" data-icon="eye"
data-prefix="far" data-prefix="far"
focusable="false" focusable="false"
role="img" role="img"
style={Object {}}
viewBox="0 0 576 512" viewBox="0 0 576 512"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
> >
<path <path
d="M288 144a110.94 110.94 0 0 0-31.24 5 55.4 55.4 0 0 1 7.24 27 56 56 0 0 1-56 56 55.4 55.4 0 0 1-27-7.24A111.71 111.71 0 1 0 288 144zm284.52 97.4C518.29 135.59 410.93 64 288 64S57.68 135.64 3.48 241.41a32.35 32.35 0 0 0 0 29.19C57.71 376.41 165.07 448 288 448s230.32-71.64 284.52-177.41a32.35 32.35 0 0 0 0-29.19zM288 400c-98.65 0-189.09-55-237.93-144C98.91 167 189.34 112 288 112s189.09 55 237.93 144C477.1 345 386.66 400 288 400z" d="M288 80c-65.2 0-118.8 29.6-159.9 67.7C89.6 183.5 63 226 49.4 256c13.6 30 40.2 72.5 78.6 108.3C169.2 402.4 222.8 432 288 432s118.8-29.6 159.9-67.7C486.4 328.5 513 286 526.6 256c-13.6-30-40.2-72.5-78.6-108.3C406.8 109.6 353.2 80 288 80zM95.4 112.6C142.5 68.8 207.2 32 288 32s145.5 36.8 192.6 80.6c46.8 43.5 78.1 95.4 93 131.1c3.3 7.9 3.3 16.7 0 24.6c-14.9 35.7-46.2 87.7-93 131.1C433.5 443.2 368.8 480 288 480s-145.5-36.8-192.6-80.6C48.6 356 17.3 304 2.5 268.3c-3.3-7.9-3.3-16.7 0-24.6C17.3 208 48.6 156 95.4 112.6zM288 336c44.2 0 80-35.8 80-80s-35.8-80-80-80c-.7 0-1.3 0-2 0c1.3 5.1 2 10.5 2 16c0 35.3-28.7 64-64 64c-5.5 0-10.9-.7-16-2c0 .7 0 1.3 0 2c0 44.2 35.8 80 80 80zm0-208a128 128 0 1 1 0 256 128 128 0 1 1 0-256z"
fill="currentColor" fill="currentColor"
style={Object {}}
/> />
</svg> </svg>
@@ -9078,88 +8813,79 @@ exports[`<ProfilePage /> Renders correctly in various states while saving an edi
</p> </p>
</div> </div>
<div <div
className="row align-items-stretch" class="row align-items-stretch"
> >
<div <div
className="col col-sm-6 d-flex align-items-stretch" class="col-12 col-sm-6 d-flex align-items-stretch"
> >
<div <div
className="card mb-4 certificate flex-grow-1" class="card mb-4 certificate flex-grow-1"
> >
<div <div
className="certificate-type-illustration" class="certificate-type-illustration"
style={ style="background-image: url(icon/mock/path);"
Object {
"backgroundImage": "url(icon/mock/path)",
}
}
/> />
<div <div
className="card-body d-flex flex-column" class="card-body d-flex flex-column"
> >
<div <div
className="card-title" class="card-title"
> >
<p <p
className="small mb-0" class="small mb-0"
> >
Verified Certificate Verified Certificate
</p> </p>
<h4 <h4
className="certificate-title" class="certificate-title"
> >
edX Demonstration Course edX Demonstration Course
</h4> </h4>
</div> </div>
<p <p
className="small mb-0" class="small mb-0"
> >
From From
</p> </p>
<p <p
className="h6 mb-4" class="h6 mb-4"
> >
edX edX
</p> </p>
<div <div
className="flex-grow-1" class="flex-grow-1"
/> />
<p <p
className="small mb-2" class="small mb-2"
> >
Completed on Completed on
3/4/2019 3/4/2019
</p> </p>
<div> <div>
<a <a
className="pgn__hyperlink default-link standalone-link btn btn-outline-primary" class="pgn__hyperlink default-link standalone-link btn btn-outline-primary"
href="http://www.example.com/" href="http://www.example.com/"
onClick={[Function]}
rel="noopener noreferrer" rel="noopener noreferrer"
target="_blank" target="_blank"
> >
View Certificate View Certificate
<span <span
className="pgn__hyperlink__external-icon" class="pgn__hyperlink__external-icon"
title="Opens in a new tab" title="Opens in a new tab"
> >
<span <span
className="pgn__icon" class="pgn__icon"
style={ data-testid="hyperlink-icon"
Object { style="height: 1em; width: 1em;"
"height": "1em",
"width": "1em",
}
}
> >
<svg <svg
aria-hidden={true} aria-hidden="true"
fill="none" fill="none"
focusable={false} focusable="false"
height={24} height="24"
role="img" role="img"
viewBox="0 0 24 24" viewBox="0 0 24 24"
width={24} width="24"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
> >
<path <path
@@ -9168,7 +8894,7 @@ exports[`<ProfilePage /> Renders correctly in various states while saving an edi
/> />
</svg> </svg>
<span <span
className="sr-only" class="sr-only"
> >
in a new tab in a new tab
</span> </span>
@@ -9186,46 +8912,46 @@ exports[`<ProfilePage /> Renders correctly in various states while saving an edi
</div> </div>
</div> </div>
</div> </div>
</div>
`; `;
exports[`<ProfilePage /> Renders correctly in various states without credentials service 1`] = ` exports[`<ProfilePage /> Renders correctly in various states without credentials service 1`] = `
<div>
<div <div
className="profile-page" class="profile-page"
> >
<div <div
className="profile-page-bg-banner bg-primary d-none d-md-block p-relative" class="profile-page-bg-banner bg-primary d-md-block p-relative"
/> />
<div <div
className="container-fluid" class="container-fluid"
> >
<div <div
className="row align-items-center pt-4 mb-4 pt-md-0 mb-md-0" class="row align-items-center pt-4 mb-4 pt-md-0 mb-md-0"
> >
<div <div
className="col-auto col-md-4 col-lg-3" class="col-auto col-md-4 col-lg-3"
> >
<div <div
className="d-flex align-items-center d-md-block" class="d-flex align-items-center d-md-block"
> >
<div <div
className="profile-avatar-wrap position-relative" class="profile-avatar-wrap position-relative"
> >
<div <div
className="profile-avatar rounded-circle bg-light" class="profile-avatar rounded-circle bg-light"
> >
<div <div
className="profile-avatar-menu-container" class="profile-avatar-menu-container"
> >
<div <div
className="pgn__dropdown pgn__dropdown-light dropdown" class="pgn__dropdown pgn__dropdown-light dropdown"
data-testid="dropdown" data-testid="dropdown"
> >
<button <button
aria-expanded={false} aria-expanded="false"
aria-haspopup={true} aria-haspopup="true"
className="dropdown-toggle btn btn-primary" class="dropdown-toggle btn btn-primary"
disabled={false}
onClick={[Function]}
type="button" type="button"
> >
Change Change
@@ -9234,171 +8960,142 @@ exports[`<ProfilePage /> Renders correctly in various states without credentials
</div> </div>
<img <img
alt="profile avatar" alt="profile avatar"
className="w-100 h-100 d-block rounded-circle overflow-hidden" class="w-100 h-100 d-block rounded-circle overflow-hidden"
data-hj-suppress={true} data-hj-suppress="true"
src="http://localhost:18000/media/profile-images/d2a9bdc2ba165dcefc73265c54bf9a20_500.jpg?v=1552495012" src="http://localhost:18000/media/profile-images/d2a9bdc2ba165dcefc73265c54bf9a20_500.jpg?v=1552495012"
style={ style="object-fit: cover;"
Object {
"objectFit": "cover",
}
}
/> />
</div> </div>
<form <form
encType="multipart/form-data" enctype="multipart/form-data"
onSubmit={[Function]}
> >
<input <input
accept=".jpg, .jpeg, .png" accept=".jpg, .jpeg, .png"
className="d-none form-control-file" class="d-none form-control-file"
id="photo-file" id="photo-file"
name="file" name="file"
onChange={[Function]}
type="file" type="file"
/> />
</form> </form>
</div> </div>
</div> </div>
</div> </div>
<div>
PluginPOC
</div>
<div <div
className="col pl-0" class="col"
> >
<div <div
className="d-md-none" class="d-md-none"
> >
<span <span
data-hj-suppress={true} data-hj-suppress="true"
> >
<h1 <h1
className="h2 mb-0 font-weight-bold" class="h2 mb-0 font-weight-bold text-truncate"
> >
staff staff
</h1> </h1>
<p <p
className="mb-0" class="mb-0"
> >
Member since Member since
2017 2017
</p> </p>
<hr <hr
className="d-none d-md-block" class="d-none d-md-block"
/> />
</span> </span>
</div> </div>
<div <div
className="d-none d-md-block float-right" class="d-none d-md-block float-right"
/> />
</div> </div>
</div> </div>
<div <div
className="row" class="row"
> >
<div <div
className="col-md-4 col-lg-4" class="col-md-4 col-lg-4"
> >
<div <div
className="d-none d-md-block mb-4" class="d-none d-md-block mb-4"
> >
<span <span
data-hj-suppress={true} data-hj-suppress="true"
> >
<h1 <h1
className="h2 mb-0 font-weight-bold" class="h2 mb-0 font-weight-bold text-truncate"
> >
staff staff
</h1> </h1>
<p <p
className="mb-0" class="mb-0"
> >
Member since Member since
2017 2017
</p> </p>
<hr <hr
className="d-none d-md-block" class="d-none d-md-block"
/> />
</span> </span>
</div> </div>
<div <div
className="d-md-none mb-4" class="d-md-none mb-4"
/> />
<div <div
className="pgn-transition-replace-group position-relative mb-5" class="pgn-transition-replace-group position-relative mb-5"
style={
Object {
"height": null,
}
}
> >
<div <div
style={ style="padding: .1px 0px;"
Object {
"padding": ".1px 0",
}
}
> >
<div <div
className="editable-item-header mb-2" class="editable-item-header mb-2"
> >
<h2 <h2
className="edit-section-header" class="edit-section-header"
id={null}
> >
Full Name Full Name
<button <button
className="float-right px-0 btn btn-link btn-sm" class="float-right px-0 btn btn-link btn-sm"
disabled={false} style="margin-top: -.35rem;"
onClick={[Function]}
style={
Object {
"marginTop": "-.35rem",
}
}
type="button" type="button"
> >
<svg <svg
aria-hidden="true" aria-hidden="true"
className="svg-inline--fa fa-pencil-alt fa-w-16 mr-1" class="svg-inline--fa fa-pencil mr-1"
data-icon="pencil-alt" data-icon="pencil"
data-prefix="fas" data-prefix="fas"
focusable="false" focusable="false"
role="img" role="img"
style={Object {}}
viewBox="0 0 512 512" viewBox="0 0 512 512"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
> >
<path <path
d="M497.9 142.1l-46.1 46.1c-4.7 4.7-12.3 4.7-17 0l-111-111c-4.7-4.7-4.7-12.3 0-17l46.1-46.1c18.7-18.7 49.1-18.7 67.9 0l60.1 60.1c18.8 18.7 18.8 49.1 0 67.9zM284.2 99.8L21.6 362.4.4 483.9c-2.9 16.4 11.4 30.6 27.8 27.8l121.5-21.3 262.6-262.6c4.7-4.7 4.7-12.3 0-17l-111-111c-4.8-4.7-12.4-4.7-17.1 0zM124.1 339.9c-5.5-5.5-5.5-14.3 0-19.8l154-154c5.5-5.5 14.3-5.5 19.8 0s5.5 14.3 0 19.8l-154 154c-5.5 5.5-14.3 5.5-19.8 0zM88 424h48v36.3l-64.5 11.3-31.1-31.1L51.7 376H88v48z" d="M410.3 231l11.3-11.3-33.9-33.9-62.1-62.1L291.7 89.8l-11.3 11.3-22.6 22.6L58.6 322.9c-10.4 10.4-18 23.3-22.2 37.4L1 480.7c-2.5 8.4-.2 17.5 6.1 23.7s15.3 8.5 23.7 6.1l120.3-35.4c14.1-4.2 27-11.8 37.4-22.2L387.7 253.7 410.3 231zM160 399.4l-9.1 22.7c-4 3.1-8.5 5.4-13.3 6.9L59.4 452l23-78.1c1.4-4.9 3.8-9.4 6.9-13.3l22.7-9.1 0 32c0 8.8 7.2 16 16 16l32 0zM362.7 18.7L348.3 33.2 325.7 55.8 314.3 67.1l33.9 33.9 62.1 62.1 33.9 33.9 11.3-11.3 22.6-22.6 14.5-14.5c25-25 25-65.5 0-90.5L453.3 18.7c-25-25-65.5-25-90.5 0zm-47.4 168l-144 144c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l144-144c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z"
fill="currentColor" fill="currentColor"
style={Object {}}
/> />
</svg> </svg>
Edit Edit
</button> </button>
</h2> </h2>
<p <p
className="mb-0" class="mb-0"
> >
<span <span
className="ml-auto small text-muted" class="ml-auto small text-muted"
> >
<svg <svg
aria-hidden="true" aria-hidden="true"
className="svg-inline--fa fa-eye-slash fa-w-20 " class="svg-inline--fa fa-eye-slash "
data-icon="eye-slash" data-icon="eye-slash"
data-prefix="far" data-prefix="far"
focusable="false" focusable="false"
role="img" role="img"
style={Object {}}
viewBox="0 0 640 512" viewBox="0 0 640 512"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
> >
<path <path
d="M634 471L36 3.51A16 16 0 0 0 13.51 6l-10 12.49A16 16 0 0 0 6 41l598 467.49a16 16 0 0 0 22.49-2.49l10-12.49A16 16 0 0 0 634 471zM296.79 146.47l134.79 105.38C429.36 191.91 380.48 144 320 144a112.26 112.26 0 0 0-23.21 2.47zm46.42 219.07L208.42 260.16C210.65 320.09 259.53 368 320 368a113 113 0 0 0 23.21-2.46zM320 112c98.65 0 189.09 55 237.93 144a285.53 285.53 0 0 1-44 60.2l37.74 29.5a333.7 333.7 0 0 0 52.9-75.11 32.35 32.35 0 0 0 0-29.19C550.29 135.59 442.93 64 320 64c-36.7 0-71.71 7-104.63 18.81l46.41 36.29c18.94-4.3 38.34-7.1 58.22-7.1zm0 288c-98.65 0-189.08-55-237.93-144a285.47 285.47 0 0 1 44.05-60.19l-37.74-29.5a333.6 333.6 0 0 0-52.89 75.1 32.35 32.35 0 0 0 0 29.19C89.72 376.41 197.08 448 320 448c36.7 0 71.71-7.05 104.63-18.81l-46.41-36.28C359.28 397.2 339.89 400 320 400z" d="M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L525.6 386.7c39.6-40.6 66.4-86.1 79.9-118.4c3.3-7.9 3.3-16.7 0-24.6c-14.9-35.7-46.2-87.7-93-131.1C465.5 68.8 400.8 32 320 32c-68.2 0-125 26.3-169.3 60.8L38.8 5.1zm151 118.3C226 97.7 269.5 80 320 80c65.2 0 118.8 29.6 159.9 67.7C518.4 183.5 545 226 558.6 256c-12.6 28-36.6 66.8-70.9 100.9l-53.8-42.2c9.1-17.6 14.2-37.5 14.2-58.7c0-70.7-57.3-128-128-128c-32.2 0-61.7 11.9-84.2 31.5l-46.1-36.1zM394.9 284.2l-81.5-63.9c4.2-8.5 6.6-18.2 6.6-28.3c0-5.5-.7-10.9-2-16c.7 0 1.3 0 2 0c44.2 0 80 35.8 80 80c0 9.9-1.8 19.4-5.1 28.2zm9.4 130.3C378.8 425.4 350.7 432 320 432c-65.2 0-118.8-29.6-159.9-67.7C121.6 328.5 95 286 81.4 256c8.3-18.4 21.5-41.5 39.4-64.8L83.1 161.5C60.3 191.2 44 220.8 34.5 243.7c-3.3 7.9-3.3 16.7 0 24.6c14.9 35.7 46.2 87.7 93 131.1C174.5 443.2 239.2 480 320 480c47.8 0 89.9-12.9 126.2-32.5l-41.9-33zM192 256c0 70.7 57.3 128 128 128c13.3 0 26.1-2 38.2-5.8L302 334c-23.5-5.4-43.1-21.2-53.7-42.3l-56.1-44.2c-.2 2.8-.3 5.6-.3 8.5z"
fill="currentColor" fill="currentColor"
style={Object {}}
/> />
</svg> </svg>
@@ -9407,93 +9104,73 @@ exports[`<ProfilePage /> Renders correctly in various states without credentials
</p> </p>
</div> </div>
<p <p
className="h5" class="h5"
data-hj-suppress={true} data-hj-suppress="true"
> >
Lemon Seltzer Lemon Seltzer
</p> </p>
<small <small
className="form-text text-muted" class="form-text text-muted"
> >
This is the name that appears in your account and on your certificates. This is the name that appears in your account and on your certificates.
</small> </small>
</div> </div>
</div> </div>
<div <div
className="pgn-transition-replace-group position-relative mb-5" class="pgn-transition-replace-group position-relative mb-5"
style={
Object {
"height": null,
}
}
> >
<div <div
style={ style="padding: .1px 0px;"
Object {
"padding": ".1px 0",
}
}
> >
<div <div
className="editable-item-header mb-2" class="editable-item-header mb-2"
> >
<h2 <h2
className="edit-section-header" class="edit-section-header"
id={null}
> >
Location Location
<button <button
className="float-right px-0 btn btn-link btn-sm" class="float-right px-0 btn btn-link btn-sm"
disabled={false} style="margin-top: -.35rem;"
onClick={[Function]}
style={
Object {
"marginTop": "-.35rem",
}
}
type="button" type="button"
> >
<svg <svg
aria-hidden="true" aria-hidden="true"
className="svg-inline--fa fa-pencil-alt fa-w-16 mr-1" class="svg-inline--fa fa-pencil mr-1"
data-icon="pencil-alt" data-icon="pencil"
data-prefix="fas" data-prefix="fas"
focusable="false" focusable="false"
role="img" role="img"
style={Object {}}
viewBox="0 0 512 512" viewBox="0 0 512 512"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
> >
<path <path
d="M497.9 142.1l-46.1 46.1c-4.7 4.7-12.3 4.7-17 0l-111-111c-4.7-4.7-4.7-12.3 0-17l46.1-46.1c18.7-18.7 49.1-18.7 67.9 0l60.1 60.1c18.8 18.7 18.8 49.1 0 67.9zM284.2 99.8L21.6 362.4.4 483.9c-2.9 16.4 11.4 30.6 27.8 27.8l121.5-21.3 262.6-262.6c4.7-4.7 4.7-12.3 0-17l-111-111c-4.8-4.7-12.4-4.7-17.1 0zM124.1 339.9c-5.5-5.5-5.5-14.3 0-19.8l154-154c5.5-5.5 14.3-5.5 19.8 0s5.5 14.3 0 19.8l-154 154c-5.5 5.5-14.3 5.5-19.8 0zM88 424h48v36.3l-64.5 11.3-31.1-31.1L51.7 376H88v48z" d="M410.3 231l11.3-11.3-33.9-33.9-62.1-62.1L291.7 89.8l-11.3 11.3-22.6 22.6L58.6 322.9c-10.4 10.4-18 23.3-22.2 37.4L1 480.7c-2.5 8.4-.2 17.5 6.1 23.7s15.3 8.5 23.7 6.1l120.3-35.4c14.1-4.2 27-11.8 37.4-22.2L387.7 253.7 410.3 231zM160 399.4l-9.1 22.7c-4 3.1-8.5 5.4-13.3 6.9L59.4 452l23-78.1c1.4-4.9 3.8-9.4 6.9-13.3l22.7-9.1 0 32c0 8.8 7.2 16 16 16l32 0zM362.7 18.7L348.3 33.2 325.7 55.8 314.3 67.1l33.9 33.9 62.1 62.1 33.9 33.9 11.3-11.3 22.6-22.6 14.5-14.5c25-25 25-65.5 0-90.5L453.3 18.7c-25-25-65.5-25-90.5 0zm-47.4 168l-144 144c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l144-144c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z"
fill="currentColor" fill="currentColor"
style={Object {}}
/> />
</svg> </svg>
Edit Edit
</button> </button>
</h2> </h2>
<p <p
className="mb-0" class="mb-0"
> >
<span <span
className="ml-auto small text-muted" class="ml-auto small text-muted"
> >
<svg <svg
aria-hidden="true" aria-hidden="true"
className="svg-inline--fa fa-eye fa-w-18 " class="svg-inline--fa fa-eye "
data-icon="eye" data-icon="eye"
data-prefix="far" data-prefix="far"
focusable="false" focusable="false"
role="img" role="img"
style={Object {}}
viewBox="0 0 576 512" viewBox="0 0 576 512"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
> >
<path <path
d="M288 144a110.94 110.94 0 0 0-31.24 5 55.4 55.4 0 0 1 7.24 27 56 56 0 0 1-56 56 55.4 55.4 0 0 1-27-7.24A111.71 111.71 0 1 0 288 144zm284.52 97.4C518.29 135.59 410.93 64 288 64S57.68 135.64 3.48 241.41a32.35 32.35 0 0 0 0 29.19C57.71 376.41 165.07 448 288 448s230.32-71.64 284.52-177.41a32.35 32.35 0 0 0 0-29.19zM288 400c-98.65 0-189.09-55-237.93-144C98.91 167 189.34 112 288 112s189.09 55 237.93 144C477.1 345 386.66 400 288 400z" d="M288 80c-65.2 0-118.8 29.6-159.9 67.7C89.6 183.5 63 226 49.4 256c13.6 30 40.2 72.5 78.6 108.3C169.2 402.4 222.8 432 288 432s118.8-29.6 159.9-67.7C486.4 328.5 513 286 526.6 256c-13.6-30-40.2-72.5-78.6-108.3C406.8 109.6 353.2 80 288 80zM95.4 112.6C142.5 68.8 207.2 32 288 32s145.5 36.8 192.6 80.6c46.8 43.5 78.1 95.4 93 131.1c3.3 7.9 3.3 16.7 0 24.6c-14.9 35.7-46.2 87.7-93 131.1C433.5 443.2 368.8 480 288 480s-145.5-36.8-192.6-80.6C48.6 356 17.3 304 2.5 268.3c-3.3-7.9-3.3-16.7 0-24.6C17.3 208 48.6 156 95.4 112.6zM288 336c44.2 0 80-35.8 80-80s-35.8-80-80-80c-.7 0-1.3 0-2 0c1.3 5.1 2 10.5 2 16c0 35.3-28.7 64-64 64c-5.5 0-10.9-.7-16-2c0 .7 0 1.3 0 2c0 44.2 35.8 80 80 80zm0-208a128 128 0 1 1 0 256 128 128 0 1 1 0-256z"
fill="currentColor" fill="currentColor"
style={Object {}}
/> />
</svg> </svg>
@@ -9502,88 +9179,68 @@ exports[`<ProfilePage /> Renders correctly in various states without credentials
</p> </p>
</div> </div>
<p <p
className="h5" class="h5"
data-hj-suppress={true} data-hj-suppress="true"
> >
Montenegro Montenegro
</p> </p>
</div> </div>
</div> </div>
<div <div
className="pgn-transition-replace-group position-relative mb-5" class="pgn-transition-replace-group position-relative mb-5"
style={
Object {
"height": null,
}
}
> >
<div <div
style={ style="padding: .1px 0px;"
Object {
"padding": ".1px 0",
}
}
> >
<div <div
className="editable-item-header mb-2" class="editable-item-header mb-2"
> >
<h2 <h2
className="edit-section-header" class="edit-section-header"
id={null}
> >
Primary Language Spoken Primary Language Spoken
<button <button
className="float-right px-0 btn btn-link btn-sm" class="float-right px-0 btn btn-link btn-sm"
disabled={false} style="margin-top: -.35rem;"
onClick={[Function]}
style={
Object {
"marginTop": "-.35rem",
}
}
type="button" type="button"
> >
<svg <svg
aria-hidden="true" aria-hidden="true"
className="svg-inline--fa fa-pencil-alt fa-w-16 mr-1" class="svg-inline--fa fa-pencil mr-1"
data-icon="pencil-alt" data-icon="pencil"
data-prefix="fas" data-prefix="fas"
focusable="false" focusable="false"
role="img" role="img"
style={Object {}}
viewBox="0 0 512 512" viewBox="0 0 512 512"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
> >
<path <path
d="M497.9 142.1l-46.1 46.1c-4.7 4.7-12.3 4.7-17 0l-111-111c-4.7-4.7-4.7-12.3 0-17l46.1-46.1c18.7-18.7 49.1-18.7 67.9 0l60.1 60.1c18.8 18.7 18.8 49.1 0 67.9zM284.2 99.8L21.6 362.4.4 483.9c-2.9 16.4 11.4 30.6 27.8 27.8l121.5-21.3 262.6-262.6c4.7-4.7 4.7-12.3 0-17l-111-111c-4.8-4.7-12.4-4.7-17.1 0zM124.1 339.9c-5.5-5.5-5.5-14.3 0-19.8l154-154c5.5-5.5 14.3-5.5 19.8 0s5.5 14.3 0 19.8l-154 154c-5.5 5.5-14.3 5.5-19.8 0zM88 424h48v36.3l-64.5 11.3-31.1-31.1L51.7 376H88v48z" d="M410.3 231l11.3-11.3-33.9-33.9-62.1-62.1L291.7 89.8l-11.3 11.3-22.6 22.6L58.6 322.9c-10.4 10.4-18 23.3-22.2 37.4L1 480.7c-2.5 8.4-.2 17.5 6.1 23.7s15.3 8.5 23.7 6.1l120.3-35.4c14.1-4.2 27-11.8 37.4-22.2L387.7 253.7 410.3 231zM160 399.4l-9.1 22.7c-4 3.1-8.5 5.4-13.3 6.9L59.4 452l23-78.1c1.4-4.9 3.8-9.4 6.9-13.3l22.7-9.1 0 32c0 8.8 7.2 16 16 16l32 0zM362.7 18.7L348.3 33.2 325.7 55.8 314.3 67.1l33.9 33.9 62.1 62.1 33.9 33.9 11.3-11.3 22.6-22.6 14.5-14.5c25-25 25-65.5 0-90.5L453.3 18.7c-25-25-65.5-25-90.5 0zm-47.4 168l-144 144c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l144-144c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z"
fill="currentColor" fill="currentColor"
style={Object {}}
/> />
</svg> </svg>
Edit Edit
</button> </button>
</h2> </h2>
<p <p
className="mb-0" class="mb-0"
> >
<span <span
className="ml-auto small text-muted" class="ml-auto small text-muted"
> >
<svg <svg
aria-hidden="true" aria-hidden="true"
className="svg-inline--fa fa-eye fa-w-18 " class="svg-inline--fa fa-eye "
data-icon="eye" data-icon="eye"
data-prefix="far" data-prefix="far"
focusable="false" focusable="false"
role="img" role="img"
style={Object {}}
viewBox="0 0 576 512" viewBox="0 0 576 512"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
> >
<path <path
d="M288 144a110.94 110.94 0 0 0-31.24 5 55.4 55.4 0 0 1 7.24 27 56 56 0 0 1-56 56 55.4 55.4 0 0 1-27-7.24A111.71 111.71 0 1 0 288 144zm284.52 97.4C518.29 135.59 410.93 64 288 64S57.68 135.64 3.48 241.41a32.35 32.35 0 0 0 0 29.19C57.71 376.41 165.07 448 288 448s230.32-71.64 284.52-177.41a32.35 32.35 0 0 0 0-29.19zM288 400c-98.65 0-189.09-55-237.93-144C98.91 167 189.34 112 288 112s189.09 55 237.93 144C477.1 345 386.66 400 288 400z" d="M288 80c-65.2 0-118.8 29.6-159.9 67.7C89.6 183.5 63 226 49.4 256c13.6 30 40.2 72.5 78.6 108.3C169.2 402.4 222.8 432 288 432s118.8-29.6 159.9-67.7C486.4 328.5 513 286 526.6 256c-13.6-30-40.2-72.5-78.6-108.3C406.8 109.6 353.2 80 288 80zM95.4 112.6C142.5 68.8 207.2 32 288 32s145.5 36.8 192.6 80.6c46.8 43.5 78.1 95.4 93 131.1c3.3 7.9 3.3 16.7 0 24.6c-14.9 35.7-46.2 87.7-93 131.1C433.5 443.2 368.8 480 288 480s-145.5-36.8-192.6-80.6C48.6 356 17.3 304 2.5 268.3c-3.3-7.9-3.3-16.7 0-24.6C17.3 208 48.6 156 95.4 112.6zM288 336c44.2 0 80-35.8 80-80s-35.8-80-80-80c-.7 0-1.3 0-2 0c1.3 5.1 2 10.5 2 16c0 35.3-28.7 64-64 64c-5.5 0-10.9-.7-16-2c0 .7 0 1.3 0 2c0 44.2 35.8 80 80 80zm0-208a128 128 0 1 1 0 256 128 128 0 1 1 0-256z"
fill="currentColor" fill="currentColor"
style={Object {}}
/> />
</svg> </svg>
@@ -9592,88 +9249,68 @@ exports[`<ProfilePage /> Renders correctly in various states without credentials
</p> </p>
</div> </div>
<p <p
className="h5" class="h5"
data-hj-suppress={true} data-hj-suppress="true"
> >
Yoruba Yoruba
</p> </p>
</div> </div>
</div> </div>
<div <div
className="pgn-transition-replace-group position-relative mb-5" class="pgn-transition-replace-group position-relative mb-5"
style={
Object {
"height": null,
}
}
> >
<div <div
style={ style="padding: .1px 0px;"
Object {
"padding": ".1px 0",
}
}
> >
<div <div
className="editable-item-header mb-2" class="editable-item-header mb-2"
> >
<h2 <h2
className="edit-section-header" class="edit-section-header"
id={null}
> >
Education Education
<button <button
className="float-right px-0 btn btn-link btn-sm" class="float-right px-0 btn btn-link btn-sm"
disabled={false} style="margin-top: -.35rem;"
onClick={[Function]}
style={
Object {
"marginTop": "-.35rem",
}
}
type="button" type="button"
> >
<svg <svg
aria-hidden="true" aria-hidden="true"
className="svg-inline--fa fa-pencil-alt fa-w-16 mr-1" class="svg-inline--fa fa-pencil mr-1"
data-icon="pencil-alt" data-icon="pencil"
data-prefix="fas" data-prefix="fas"
focusable="false" focusable="false"
role="img" role="img"
style={Object {}}
viewBox="0 0 512 512" viewBox="0 0 512 512"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
> >
<path <path
d="M497.9 142.1l-46.1 46.1c-4.7 4.7-12.3 4.7-17 0l-111-111c-4.7-4.7-4.7-12.3 0-17l46.1-46.1c18.7-18.7 49.1-18.7 67.9 0l60.1 60.1c18.8 18.7 18.8 49.1 0 67.9zM284.2 99.8L21.6 362.4.4 483.9c-2.9 16.4 11.4 30.6 27.8 27.8l121.5-21.3 262.6-262.6c4.7-4.7 4.7-12.3 0-17l-111-111c-4.8-4.7-12.4-4.7-17.1 0zM124.1 339.9c-5.5-5.5-5.5-14.3 0-19.8l154-154c5.5-5.5 14.3-5.5 19.8 0s5.5 14.3 0 19.8l-154 154c-5.5 5.5-14.3 5.5-19.8 0zM88 424h48v36.3l-64.5 11.3-31.1-31.1L51.7 376H88v48z" d="M410.3 231l11.3-11.3-33.9-33.9-62.1-62.1L291.7 89.8l-11.3 11.3-22.6 22.6L58.6 322.9c-10.4 10.4-18 23.3-22.2 37.4L1 480.7c-2.5 8.4-.2 17.5 6.1 23.7s15.3 8.5 23.7 6.1l120.3-35.4c14.1-4.2 27-11.8 37.4-22.2L387.7 253.7 410.3 231zM160 399.4l-9.1 22.7c-4 3.1-8.5 5.4-13.3 6.9L59.4 452l23-78.1c1.4-4.9 3.8-9.4 6.9-13.3l22.7-9.1 0 32c0 8.8 7.2 16 16 16l32 0zM362.7 18.7L348.3 33.2 325.7 55.8 314.3 67.1l33.9 33.9 62.1 62.1 33.9 33.9 11.3-11.3 22.6-22.6 14.5-14.5c25-25 25-65.5 0-90.5L453.3 18.7c-25-25-65.5-25-90.5 0zm-47.4 168l-144 144c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l144-144c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z"
fill="currentColor" fill="currentColor"
style={Object {}}
/> />
</svg> </svg>
Edit Edit
</button> </button>
</h2> </h2>
<p <p
className="mb-0" class="mb-0"
> >
<span <span
className="ml-auto small text-muted" class="ml-auto small text-muted"
> >
<svg <svg
aria-hidden="true" aria-hidden="true"
className="svg-inline--fa fa-eye-slash fa-w-20 " class="svg-inline--fa fa-eye-slash "
data-icon="eye-slash" data-icon="eye-slash"
data-prefix="far" data-prefix="far"
focusable="false" focusable="false"
role="img" role="img"
style={Object {}}
viewBox="0 0 640 512" viewBox="0 0 640 512"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
> >
<path <path
d="M634 471L36 3.51A16 16 0 0 0 13.51 6l-10 12.49A16 16 0 0 0 6 41l598 467.49a16 16 0 0 0 22.49-2.49l10-12.49A16 16 0 0 0 634 471zM296.79 146.47l134.79 105.38C429.36 191.91 380.48 144 320 144a112.26 112.26 0 0 0-23.21 2.47zm46.42 219.07L208.42 260.16C210.65 320.09 259.53 368 320 368a113 113 0 0 0 23.21-2.46zM320 112c98.65 0 189.09 55 237.93 144a285.53 285.53 0 0 1-44 60.2l37.74 29.5a333.7 333.7 0 0 0 52.9-75.11 32.35 32.35 0 0 0 0-29.19C550.29 135.59 442.93 64 320 64c-36.7 0-71.71 7-104.63 18.81l46.41 36.29c18.94-4.3 38.34-7.1 58.22-7.1zm0 288c-98.65 0-189.08-55-237.93-144a285.47 285.47 0 0 1 44.05-60.19l-37.74-29.5a333.6 333.6 0 0 0-52.89 75.1 32.35 32.35 0 0 0 0 29.19C89.72 376.41 197.08 448 320 448c36.7 0 71.71-7.05 104.63-18.81l-46.41-36.28C359.28 397.2 339.89 400 320 400z" d="M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L525.6 386.7c39.6-40.6 66.4-86.1 79.9-118.4c3.3-7.9 3.3-16.7 0-24.6c-14.9-35.7-46.2-87.7-93-131.1C465.5 68.8 400.8 32 320 32c-68.2 0-125 26.3-169.3 60.8L38.8 5.1zm151 118.3C226 97.7 269.5 80 320 80c65.2 0 118.8 29.6 159.9 67.7C518.4 183.5 545 226 558.6 256c-12.6 28-36.6 66.8-70.9 100.9l-53.8-42.2c9.1-17.6 14.2-37.5 14.2-58.7c0-70.7-57.3-128-128-128c-32.2 0-61.7 11.9-84.2 31.5l-46.1-36.1zM394.9 284.2l-81.5-63.9c4.2-8.5 6.6-18.2 6.6-28.3c0-5.5-.7-10.9-2-16c.7 0 1.3 0 2 0c44.2 0 80 35.8 80 80c0 9.9-1.8 19.4-5.1 28.2zm9.4 130.3C378.8 425.4 350.7 432 320 432c-65.2 0-118.8-29.6-159.9-67.7C121.6 328.5 95 286 81.4 256c8.3-18.4 21.5-41.5 39.4-64.8L83.1 161.5C60.3 191.2 44 220.8 34.5 243.7c-3.3 7.9-3.3 16.7 0 24.6c14.9 35.7 46.2 87.7 93 131.1C174.5 443.2 239.2 480 320 480c47.8 0 89.9-12.9 126.2-32.5l-41.9-33zM192 256c0 70.7 57.3 128 128 128c13.3 0 26.1-2 38.2-5.8L302 334c-23.5-5.4-43.1-21.2-53.7-42.3l-56.1-44.2c-.2 2.8-.3 5.6-.3 8.5z"
fill="currentColor" fill="currentColor"
style={Object {}}
/> />
</svg> </svg>
@@ -9682,88 +9319,68 @@ exports[`<ProfilePage /> Renders correctly in various states without credentials
</p> </p>
</div> </div>
<p <p
className="h5" class="h5"
data-hj-suppress={true} data-hj-suppress="true"
> >
Elementary/primary school Elementary/primary school
</p> </p>
</div> </div>
</div> </div>
<div <div
className="pgn-transition-replace-group position-relative mb-5" class="pgn-transition-replace-group position-relative mb-5"
style={
Object {
"height": null,
}
}
> >
<div <div
style={ style="padding: .1px 0px;"
Object {
"padding": ".1px 0",
}
}
> >
<div <div
className="editable-item-header mb-2" class="editable-item-header mb-2"
> >
<h2 <h2
className="edit-section-header" class="edit-section-header"
id={null}
> >
Social Links Social Links
<button <button
className="float-right px-0 btn btn-link btn-sm" class="float-right px-0 btn btn-link btn-sm"
disabled={false} style="margin-top: -.35rem;"
onClick={[Function]}
style={
Object {
"marginTop": "-.35rem",
}
}
type="button" type="button"
> >
<svg <svg
aria-hidden="true" aria-hidden="true"
className="svg-inline--fa fa-pencil-alt fa-w-16 mr-1" class="svg-inline--fa fa-pencil mr-1"
data-icon="pencil-alt" data-icon="pencil"
data-prefix="fas" data-prefix="fas"
focusable="false" focusable="false"
role="img" role="img"
style={Object {}}
viewBox="0 0 512 512" viewBox="0 0 512 512"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
> >
<path <path
d="M497.9 142.1l-46.1 46.1c-4.7 4.7-12.3 4.7-17 0l-111-111c-4.7-4.7-4.7-12.3 0-17l46.1-46.1c18.7-18.7 49.1-18.7 67.9 0l60.1 60.1c18.8 18.7 18.8 49.1 0 67.9zM284.2 99.8L21.6 362.4.4 483.9c-2.9 16.4 11.4 30.6 27.8 27.8l121.5-21.3 262.6-262.6c4.7-4.7 4.7-12.3 0-17l-111-111c-4.8-4.7-12.4-4.7-17.1 0zM124.1 339.9c-5.5-5.5-5.5-14.3 0-19.8l154-154c5.5-5.5 14.3-5.5 19.8 0s5.5 14.3 0 19.8l-154 154c-5.5 5.5-14.3 5.5-19.8 0zM88 424h48v36.3l-64.5 11.3-31.1-31.1L51.7 376H88v48z" d="M410.3 231l11.3-11.3-33.9-33.9-62.1-62.1L291.7 89.8l-11.3 11.3-22.6 22.6L58.6 322.9c-10.4 10.4-18 23.3-22.2 37.4L1 480.7c-2.5 8.4-.2 17.5 6.1 23.7s15.3 8.5 23.7 6.1l120.3-35.4c14.1-4.2 27-11.8 37.4-22.2L387.7 253.7 410.3 231zM160 399.4l-9.1 22.7c-4 3.1-8.5 5.4-13.3 6.9L59.4 452l23-78.1c1.4-4.9 3.8-9.4 6.9-13.3l22.7-9.1 0 32c0 8.8 7.2 16 16 16l32 0zM362.7 18.7L348.3 33.2 325.7 55.8 314.3 67.1l33.9 33.9 62.1 62.1 33.9 33.9 11.3-11.3 22.6-22.6 14.5-14.5c25-25 25-65.5 0-90.5L453.3 18.7c-25-25-65.5-25-90.5 0zm-47.4 168l-144 144c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l144-144c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z"
fill="currentColor" fill="currentColor"
style={Object {}}
/> />
</svg> </svg>
Edit Edit
</button> </button>
</h2> </h2>
<p <p
className="mb-0" class="mb-0"
> >
<span <span
className="ml-auto small text-muted" class="ml-auto small text-muted"
> >
<svg <svg
aria-hidden="true" aria-hidden="true"
className="svg-inline--fa fa-eye fa-w-18 " class="svg-inline--fa fa-eye "
data-icon="eye" data-icon="eye"
data-prefix="far" data-prefix="far"
focusable="false" focusable="false"
role="img" role="img"
style={Object {}}
viewBox="0 0 576 512" viewBox="0 0 576 512"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
> >
<path <path
d="M288 144a110.94 110.94 0 0 0-31.24 5 55.4 55.4 0 0 1 7.24 27 56 56 0 0 1-56 56 55.4 55.4 0 0 1-27-7.24A111.71 111.71 0 1 0 288 144zm284.52 97.4C518.29 135.59 410.93 64 288 64S57.68 135.64 3.48 241.41a32.35 32.35 0 0 0 0 29.19C57.71 376.41 165.07 448 288 448s230.32-71.64 284.52-177.41a32.35 32.35 0 0 0 0-29.19zM288 400c-98.65 0-189.09-55-237.93-144C98.91 167 189.34 112 288 112s189.09 55 237.93 144C477.1 345 386.66 400 288 400z" d="M288 80c-65.2 0-118.8 29.6-159.9 67.7C89.6 183.5 63 226 49.4 256c13.6 30 40.2 72.5 78.6 108.3C169.2 402.4 222.8 432 288 432s118.8-29.6 159.9-67.7C486.4 328.5 513 286 526.6 256c-13.6-30-40.2-72.5-78.6-108.3C406.8 109.6 353.2 80 288 80zM95.4 112.6C142.5 68.8 207.2 32 288 32s145.5 36.8 192.6 80.6c46.8 43.5 78.1 95.4 93 131.1c3.3 7.9 3.3 16.7 0 24.6c-14.9 35.7-46.2 87.7-93 131.1C433.5 443.2 368.8 480 288 480s-145.5-36.8-192.6-80.6C48.6 356 17.3 304 2.5 268.3c-3.3-7.9-3.3-16.7 0-24.6C17.3 208 48.6 156 95.4 112.6zM288 336c44.2 0 80-35.8 80-80s-35.8-80-80-80c-.7 0-1.3 0-2 0c1.3 5.1 2 10.5 2 16c0 35.3-28.7 64-64 64c-5.5 0-10.9-.7-16-2c0 .7 0 1.3 0 2c0 44.2 35.8 80 80 80zm0-208a128 128 0 1 1 0 256 128 128 0 1 1 0-256z"
fill="currentColor" fill="currentColor"
style={Object {}}
/> />
</svg> </svg>
@@ -9772,88 +9389,80 @@ exports[`<ProfilePage /> Renders correctly in various states without credentials
</p> </p>
</div> </div>
<ul <ul
className="list-unstyled" class="list-unstyled"
> >
<li <li
className="form-group" class="form-group"
> >
<a <a
className="font-weight-bold" class="font-weight-bold"
href="https://www.twitter.com/ALOHA" href="https://www.twitter.com/ALOHA"
> >
<svg <svg
aria-hidden="true" aria-hidden="true"
className="svg-inline--fa fa-twitter fa-w-16 mr-2" class="svg-inline--fa fa-twitter mr-2"
data-icon="twitter" data-icon="twitter"
data-prefix="fab" data-prefix="fab"
focusable="false" focusable="false"
role="img" role="img"
style={Object {}}
viewBox="0 0 512 512" viewBox="0 0 512 512"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
> >
<path <path
d="M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253z" d="M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253z"
fill="currentColor" fill="currentColor"
style={Object {}}
/> />
</svg> </svg>
Twitter Twitter
</a> </a>
</li> </li>
<li <li
className="form-group" class="form-group"
> >
<a <a
className="font-weight-bold" class="font-weight-bold"
href="https://www.facebook.com/aloha" href="https://www.facebook.com/aloha"
> >
<svg <svg
aria-hidden="true" aria-hidden="true"
className="svg-inline--fa fa-facebook fa-w-16 mr-2" class="svg-inline--fa fa-facebook mr-2"
data-icon="facebook" data-icon="facebook"
data-prefix="fab" data-prefix="fab"
focusable="false" focusable="false"
role="img" role="img"
style={Object {}}
viewBox="0 0 512 512" viewBox="0 0 512 512"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
> >
<path <path
d="M504 256C504 119 393 8 256 8S8 119 8 256c0 123.78 90.69 226.38 209.25 245V327.69h-63V256h63v-54.64c0-62.15 37-96.48 93.67-96.48 27.14 0 55.52 4.84 55.52 4.84v61h-31.28c-30.8 0-40.41 19.12-40.41 38.73V256h68.78l-11 71.69h-57.78V501C413.31 482.38 504 379.78 504 256z" d="M512 256C512 114.6 397.4 0 256 0S0 114.6 0 256C0 376 82.7 476.8 194.2 504.5V334.2H141.4V256h52.8V222.3c0-87.1 39.4-127.5 125-127.5c16.2 0 44.2 3.2 55.7 6.4V172c-6-.6-16.5-1-29.6-1c-42 0-58.2 15.9-58.2 57.2V256h83.6l-14.4 78.2H287V510.1C413.8 494.8 512 386.9 512 256h0z"
fill="currentColor" fill="currentColor"
style={Object {}}
/> />
</svg> </svg>
Facebook Facebook
</a> </a>
</li> </li>
<li <li
className="form-group" class="form-group"
> >
<div> <div>
<button <button
className="pl-0 text-left btn btn-link" class="pl-0 text-left btn btn-link"
onClick={[Function]} tabindex="0"
onKeyDown={[Function]}
tabIndex={0}
type="button" type="button"
> >
<svg <svg
aria-hidden="true" aria-hidden="true"
className="svg-inline--fa fa-plus fa-w-14 fa-xs mr-2" class="svg-inline--fa fa-plus fa-xs mr-2"
data-icon="plus" data-icon="plus"
data-prefix="fas" data-prefix="fas"
focusable="false" focusable="false"
role="img" role="img"
style={Object {}}
viewBox="0 0 448 512" viewBox="0 0 448 512"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
> >
<path <path
d="M416 208H272V64c0-17.67-14.33-32-32-32h-32c-17.67 0-32 14.33-32 32v144H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h144v144c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32V304h144c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32z" d="M256 80c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 144L48 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l144 0 0 144c0 17.7 14.3 32 32 32s32-14.3 32-32l0-144 144 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-144 0 0-144z"
fill="currentColor" fill="currentColor"
style={Object {}}
/> />
</svg> </svg>
Add Add
@@ -9866,83 +9475,63 @@ exports[`<ProfilePage /> Renders correctly in various states without credentials
</div> </div>
</div> </div>
<div <div
className="pt-md-3 col-md-8 col-lg-7 offset-lg-1" class="pt-md-3 col-md-8 col-lg-7 offset-lg-1"
> >
<div <div
className="pgn-transition-replace-group position-relative mb-5" class="pgn-transition-replace-group position-relative mb-5"
style={
Object {
"height": null,
}
}
> >
<div <div
style={ style="padding: .1px 0px;"
Object {
"padding": ".1px 0",
}
}
> >
<div <div
className="editable-item-header mb-2" class="editable-item-header mb-2"
> >
<h2 <h2
className="edit-section-header" class="edit-section-header"
id={null}
> >
About Me About Me
<button <button
className="float-right px-0 btn btn-link btn-sm" class="float-right px-0 btn btn-link btn-sm"
disabled={false} style="margin-top: -.35rem;"
onClick={[Function]}
style={
Object {
"marginTop": "-.35rem",
}
}
type="button" type="button"
> >
<svg <svg
aria-hidden="true" aria-hidden="true"
className="svg-inline--fa fa-pencil-alt fa-w-16 mr-1" class="svg-inline--fa fa-pencil mr-1"
data-icon="pencil-alt" data-icon="pencil"
data-prefix="fas" data-prefix="fas"
focusable="false" focusable="false"
role="img" role="img"
style={Object {}}
viewBox="0 0 512 512" viewBox="0 0 512 512"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
> >
<path <path
d="M497.9 142.1l-46.1 46.1c-4.7 4.7-12.3 4.7-17 0l-111-111c-4.7-4.7-4.7-12.3 0-17l46.1-46.1c18.7-18.7 49.1-18.7 67.9 0l60.1 60.1c18.8 18.7 18.8 49.1 0 67.9zM284.2 99.8L21.6 362.4.4 483.9c-2.9 16.4 11.4 30.6 27.8 27.8l121.5-21.3 262.6-262.6c4.7-4.7 4.7-12.3 0-17l-111-111c-4.8-4.7-12.4-4.7-17.1 0zM124.1 339.9c-5.5-5.5-5.5-14.3 0-19.8l154-154c5.5-5.5 14.3-5.5 19.8 0s5.5 14.3 0 19.8l-154 154c-5.5 5.5-14.3 5.5-19.8 0zM88 424h48v36.3l-64.5 11.3-31.1-31.1L51.7 376H88v48z" d="M410.3 231l11.3-11.3-33.9-33.9-62.1-62.1L291.7 89.8l-11.3 11.3-22.6 22.6L58.6 322.9c-10.4 10.4-18 23.3-22.2 37.4L1 480.7c-2.5 8.4-.2 17.5 6.1 23.7s15.3 8.5 23.7 6.1l120.3-35.4c14.1-4.2 27-11.8 37.4-22.2L387.7 253.7 410.3 231zM160 399.4l-9.1 22.7c-4 3.1-8.5 5.4-13.3 6.9L59.4 452l23-78.1c1.4-4.9 3.8-9.4 6.9-13.3l22.7-9.1 0 32c0 8.8 7.2 16 16 16l32 0zM362.7 18.7L348.3 33.2 325.7 55.8 314.3 67.1l33.9 33.9 62.1 62.1 33.9 33.9 11.3-11.3 22.6-22.6 14.5-14.5c25-25 25-65.5 0-90.5L453.3 18.7c-25-25-65.5-25-90.5 0zm-47.4 168l-144 144c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l144-144c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z"
fill="currentColor" fill="currentColor"
style={Object {}}
/> />
</svg> </svg>
Edit Edit
</button> </button>
</h2> </h2>
<p <p
className="mb-0" class="mb-0"
> >
<span <span
className="ml-auto small text-muted" class="ml-auto small text-muted"
> >
<svg <svg
aria-hidden="true" aria-hidden="true"
className="svg-inline--fa fa-eye fa-w-18 " class="svg-inline--fa fa-eye "
data-icon="eye" data-icon="eye"
data-prefix="far" data-prefix="far"
focusable="false" focusable="false"
role="img" role="img"
style={Object {}}
viewBox="0 0 576 512" viewBox="0 0 576 512"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
> >
<path <path
d="M288 144a110.94 110.94 0 0 0-31.24 5 55.4 55.4 0 0 1 7.24 27 56 56 0 0 1-56 56 55.4 55.4 0 0 1-27-7.24A111.71 111.71 0 1 0 288 144zm284.52 97.4C518.29 135.59 410.93 64 288 64S57.68 135.64 3.48 241.41a32.35 32.35 0 0 0 0 29.19C57.71 376.41 165.07 448 288 448s230.32-71.64 284.52-177.41a32.35 32.35 0 0 0 0-29.19zM288 400c-98.65 0-189.09-55-237.93-144C98.91 167 189.34 112 288 112s189.09 55 237.93 144C477.1 345 386.66 400 288 400z" d="M288 80c-65.2 0-118.8 29.6-159.9 67.7C89.6 183.5 63 226 49.4 256c13.6 30 40.2 72.5 78.6 108.3C169.2 402.4 222.8 432 288 432s118.8-29.6 159.9-67.7C486.4 328.5 513 286 526.6 256c-13.6-30-40.2-72.5-78.6-108.3C406.8 109.6 353.2 80 288 80zM95.4 112.6C142.5 68.8 207.2 32 288 32s145.5 36.8 192.6 80.6c46.8 43.5 78.1 95.4 93 131.1c3.3 7.9 3.3 16.7 0 24.6c-14.9 35.7-46.2 87.7-93 131.1C433.5 443.2 368.8 480 288 480s-145.5-36.8-192.6-80.6C48.6 356 17.3 304 2.5 268.3c-3.3-7.9-3.3-16.7 0-24.6C17.3 208 48.6 156 95.4 112.6zM288 336c44.2 0 80-35.8 80-80s-35.8-80-80-80c-.7 0-1.3 0-2 0c1.3 5.1 2 10.5 2 16c0 35.3-28.7 64-64 64c-5.5 0-10.9-.7-16-2c0 .7 0 1.3 0 2c0 44.2 35.8 80 80 80zm0-208a128 128 0 1 1 0 256 128 128 0 1 1 0-256z"
fill="currentColor" fill="currentColor"
style={Object {}}
/> />
</svg> </svg>
@@ -9951,88 +9540,68 @@ exports[`<ProfilePage /> Renders correctly in various states without credentials
</p> </p>
</div> </div>
<p <p
className="lead" class="lead"
data-hj-suppress={true} data-hj-suppress="true"
> >
This is my bio This is my bio
</p> </p>
</div> </div>
</div> </div>
<div <div
className="pgn-transition-replace-group position-relative mb-4" class="pgn-transition-replace-group position-relative mb-4"
style={
Object {
"height": null,
}
}
> >
<div <div
style={ style="padding: .1px 0px;"
Object {
"padding": ".1px 0",
}
}
> >
<div <div
className="editable-item-header mb-2" class="editable-item-header mb-2"
> >
<h2 <h2
className="edit-section-header" class="edit-section-header"
id={null}
> >
My Certificates My Certificates
<button <button
className="float-right px-0 btn btn-link btn-sm" class="float-right px-0 btn btn-link btn-sm"
disabled={false} style="margin-top: -.35rem;"
onClick={[Function]}
style={
Object {
"marginTop": "-.35rem",
}
}
type="button" type="button"
> >
<svg <svg
aria-hidden="true" aria-hidden="true"
className="svg-inline--fa fa-pencil-alt fa-w-16 mr-1" class="svg-inline--fa fa-pencil mr-1"
data-icon="pencil-alt" data-icon="pencil"
data-prefix="fas" data-prefix="fas"
focusable="false" focusable="false"
role="img" role="img"
style={Object {}}
viewBox="0 0 512 512" viewBox="0 0 512 512"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
> >
<path <path
d="M497.9 142.1l-46.1 46.1c-4.7 4.7-12.3 4.7-17 0l-111-111c-4.7-4.7-4.7-12.3 0-17l46.1-46.1c18.7-18.7 49.1-18.7 67.9 0l60.1 60.1c18.8 18.7 18.8 49.1 0 67.9zM284.2 99.8L21.6 362.4.4 483.9c-2.9 16.4 11.4 30.6 27.8 27.8l121.5-21.3 262.6-262.6c4.7-4.7 4.7-12.3 0-17l-111-111c-4.8-4.7-12.4-4.7-17.1 0zM124.1 339.9c-5.5-5.5-5.5-14.3 0-19.8l154-154c5.5-5.5 14.3-5.5 19.8 0s5.5 14.3 0 19.8l-154 154c-5.5 5.5-14.3 5.5-19.8 0zM88 424h48v36.3l-64.5 11.3-31.1-31.1L51.7 376H88v48z" d="M410.3 231l11.3-11.3-33.9-33.9-62.1-62.1L291.7 89.8l-11.3 11.3-22.6 22.6L58.6 322.9c-10.4 10.4-18 23.3-22.2 37.4L1 480.7c-2.5 8.4-.2 17.5 6.1 23.7s15.3 8.5 23.7 6.1l120.3-35.4c14.1-4.2 27-11.8 37.4-22.2L387.7 253.7 410.3 231zM160 399.4l-9.1 22.7c-4 3.1-8.5 5.4-13.3 6.9L59.4 452l23-78.1c1.4-4.9 3.8-9.4 6.9-13.3l22.7-9.1 0 32c0 8.8 7.2 16 16 16l32 0zM362.7 18.7L348.3 33.2 325.7 55.8 314.3 67.1l33.9 33.9 62.1 62.1 33.9 33.9 11.3-11.3 22.6-22.6 14.5-14.5c25-25 25-65.5 0-90.5L453.3 18.7c-25-25-65.5-25-90.5 0zm-47.4 168l-144 144c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l144-144c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z"
fill="currentColor" fill="currentColor"
style={Object {}}
/> />
</svg> </svg>
Edit Edit
</button> </button>
</h2> </h2>
<p <p
className="mb-0" class="mb-0"
> >
<span <span
className="ml-auto small text-muted" class="ml-auto small text-muted"
> >
<svg <svg
aria-hidden="true" aria-hidden="true"
className="svg-inline--fa fa-eye fa-w-18 " class="svg-inline--fa fa-eye "
data-icon="eye" data-icon="eye"
data-prefix="far" data-prefix="far"
focusable="false" focusable="false"
role="img" role="img"
style={Object {}}
viewBox="0 0 576 512" viewBox="0 0 576 512"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
> >
<path <path
d="M288 144a110.94 110.94 0 0 0-31.24 5 55.4 55.4 0 0 1 7.24 27 56 56 0 0 1-56 56 55.4 55.4 0 0 1-27-7.24A111.71 111.71 0 1 0 288 144zm284.52 97.4C518.29 135.59 410.93 64 288 64S57.68 135.64 3.48 241.41a32.35 32.35 0 0 0 0 29.19C57.71 376.41 165.07 448 288 448s230.32-71.64 284.52-177.41a32.35 32.35 0 0 0 0-29.19zM288 400c-98.65 0-189.09-55-237.93-144C98.91 167 189.34 112 288 112s189.09 55 237.93 144C477.1 345 386.66 400 288 400z" d="M288 80c-65.2 0-118.8 29.6-159.9 67.7C89.6 183.5 63 226 49.4 256c13.6 30 40.2 72.5 78.6 108.3C169.2 402.4 222.8 432 288 432s118.8-29.6 159.9-67.7C486.4 328.5 513 286 526.6 256c-13.6-30-40.2-72.5-78.6-108.3C406.8 109.6 353.2 80 288 80zM95.4 112.6C142.5 68.8 207.2 32 288 32s145.5 36.8 192.6 80.6c46.8 43.5 78.1 95.4 93 131.1c3.3 7.9 3.3 16.7 0 24.6c-14.9 35.7-46.2 87.7-93 131.1C433.5 443.2 368.8 480 288 480s-145.5-36.8-192.6-80.6C48.6 356 17.3 304 2.5 268.3c-3.3-7.9-3.3-16.7 0-24.6C17.3 208 48.6 156 95.4 112.6zM288 336c44.2 0 80-35.8 80-80s-35.8-80-80-80c-.7 0-1.3 0-2 0c1.3 5.1 2 10.5 2 16c0 35.3-28.7 64-64 64c-5.5 0-10.9-.7-16-2c0 .7 0 1.3 0 2c0 44.2 35.8 80 80 80zm0-208a128 128 0 1 1 0 256 128 128 0 1 1 0-256z"
fill="currentColor" fill="currentColor"
style={Object {}}
/> />
</svg> </svg>
@@ -10041,88 +9610,79 @@ exports[`<ProfilePage /> Renders correctly in various states without credentials
</p> </p>
</div> </div>
<div <div
className="row align-items-stretch" class="row align-items-stretch"
> >
<div <div
className="col col-sm-6 d-flex align-items-stretch" class="col-12 col-sm-6 d-flex align-items-stretch"
> >
<div <div
className="card mb-4 certificate flex-grow-1" class="card mb-4 certificate flex-grow-1"
> >
<div <div
className="certificate-type-illustration" class="certificate-type-illustration"
style={ style="background-image: url(icon/mock/path);"
Object {
"backgroundImage": "url(icon/mock/path)",
}
}
/> />
<div <div
className="card-body d-flex flex-column" class="card-body d-flex flex-column"
> >
<div <div
className="card-title" class="card-title"
> >
<p <p
className="small mb-0" class="small mb-0"
> >
Verified Certificate Verified Certificate
</p> </p>
<h4 <h4
className="certificate-title" class="certificate-title"
> >
edX Demonstration Course edX Demonstration Course
</h4> </h4>
</div> </div>
<p <p
className="small mb-0" class="small mb-0"
> >
From From
</p> </p>
<p <p
className="h6 mb-4" class="h6 mb-4"
> >
edX edX
</p> </p>
<div <div
className="flex-grow-1" class="flex-grow-1"
/> />
<p <p
className="small mb-2" class="small mb-2"
> >
Completed on Completed on
3/4/2019 3/4/2019
</p> </p>
<div> <div>
<a <a
className="pgn__hyperlink default-link standalone-link btn btn-outline-primary" class="pgn__hyperlink default-link standalone-link btn btn-outline-primary"
href="http://www.example.com/" href="http://www.example.com/"
onClick={[Function]}
rel="noopener noreferrer" rel="noopener noreferrer"
target="_blank" target="_blank"
> >
View Certificate View Certificate
<span <span
className="pgn__hyperlink__external-icon" class="pgn__hyperlink__external-icon"
title="Opens in a new tab" title="Opens in a new tab"
> >
<span <span
className="pgn__icon" class="pgn__icon"
style={ data-testid="hyperlink-icon"
Object { style="height: 1em; width: 1em;"
"height": "1em",
"width": "1em",
}
}
> >
<svg <svg
aria-hidden={true} aria-hidden="true"
fill="none" fill="none"
focusable={false} focusable="false"
height={24} height="24"
role="img" role="img"
viewBox="0 0 24 24" viewBox="0 0 24 24"
width={24} width="24"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
> >
<path <path
@@ -10131,7 +9691,7 @@ exports[`<ProfilePage /> Renders correctly in various states without credentials
/> />
</svg> </svg>
<span <span
className="sr-only" class="sr-only"
> >
in a new tab in a new tab
</span> </span>
@@ -10149,4 +9709,5 @@ exports[`<ProfilePage /> Renders correctly in various states without credentials
</div> </div>
</div> </div>
</div> </div>
</div>
`; `;

View File

@@ -63,12 +63,14 @@ const profilePage = (state = initialState, action = {}) => {
return { return {
...state, ...state,
saveState: 'error', saveState: 'error',
isLoadingProfile: false,
errors: { ...state.errors, ...action.payload.errors }, errors: { ...state.errors, ...action.payload.errors },
}; };
case SAVE_PROFILE.RESET: case SAVE_PROFILE.RESET:
return { return {
...state, ...state,
saveState: null, saveState: null,
isLoadingProfile: false,
errors: {}, errors: {},
}; };

View File

@@ -1,4 +1,3 @@
import { history } from '@edx/frontend-platform';
import { getAuthenticatedUser } from '@edx/frontend-platform/auth'; import { getAuthenticatedUser } from '@edx/frontend-platform/auth';
import pick from 'lodash.pick'; import pick from 'lodash.pick';
import { import {
@@ -66,6 +65,25 @@ export function* handleFetchProfile(action) {
} else { } else {
[account, courseCertificates] = result; [account, courseCertificates] = result;
} }
// Set initial visibility values for account
// Set account_privacy as custom is necessary so that when viewing another user's profile,
// their full name is displayed and change visibility forms are worked correctly
if (isAuthenticatedUserProfile && result[0].accountPrivacy === 'all_users') {
yield call(ProfileApiService.patchPreferences, action.payload.username, {
account_privacy: 'custom',
'visibility.name': 'all_users',
'visibility.bio': 'all_users',
'visibility.course_certificates': 'all_users',
'visibility.country': 'all_users',
'visibility.date_joined': 'all_users',
'visibility.level_of_education': 'all_users',
'visibility.language_proficiencies': 'all_users',
'visibility.social_links': 'all_users',
'visibility.time_zone': 'all_users',
});
}
yield put(fetchProfileSuccess( yield put(fetchProfileSuccess(
account, account,
preferences, preferences,
@@ -76,7 +94,11 @@ export function* handleFetchProfile(action) {
yield put(fetchProfileReset()); yield put(fetchProfileReset());
} catch (e) { } catch (e) {
if (e.response.status === 404) { if (e.response.status === 404) {
history.push('/notfound'); if (e.processedData && e.processedData.fieldErrors) {
yield put(saveProfileFailure(e.processedData.fieldErrors));
} else {
yield put(saveProfileFailure(e.customAttributes));
}
} else { } else {
throw e; throw e;
} }

View File

@@ -35,9 +35,12 @@ export const editableFormModeSelector = createSelector(
// or is being hidden from us (for other users' profiles) // or is being hidden from us (for other users' profiles)
let propExists = account[formId] != null && account[formId].length > 0; let propExists = account[formId] != null && account[formId].length > 0;
propExists = formId === 'certificates' ? certificates.length > 0 : propExists; // overwrite for certificates propExists = formId === 'certificates' ? certificates.length > 0 : propExists; // overwrite for certificates
// If this isn't the current user's profile or if // If this isn't the current user's profile
if (!isAuthenticatedUserProfile) {
return 'static';
}
// the current user has no age set / under 13 ... // the current user has no age set / under 13 ...
if (!isAuthenticatedUserProfile || account.requiresParentalConsent) { if (account.requiresParentalConsent) {
// then there are only two options: static or nothing. // then there are only two options: static or nothing.
// We use 'null' as a return value because the consumers of // We use 'null' as a return value because the consumers of
// getMode render nothing at all on a mode of null. // getMode render nothing at all on a mode of null.
@@ -228,13 +231,13 @@ export const visibilitiesSelector = createSelector(
switch (accountPrivacy) { switch (accountPrivacy) {
case 'custom': case 'custom':
return { return {
visibilityBio: preferences.visibilityBio || 'private', visibilityBio: preferences.visibilityBio || 'all_users',
visibilityCourseCertificates: preferences.visibilityCourseCertificates || 'private', visibilityCourseCertificates: preferences.visibilityCourseCertificates || 'all_users',
visibilityCountry: preferences.visibilityCountry || 'private', visibilityCountry: preferences.visibilityCountry || 'all_users',
visibilityLevelOfEducation: preferences.visibilityLevelOfEducation || 'private', visibilityLevelOfEducation: preferences.visibilityLevelOfEducation || 'all_users',
visibilityLanguageProficiencies: preferences.visibilityLanguageProficiencies || 'private', visibilityLanguageProficiencies: preferences.visibilityLanguageProficiencies || 'all_users',
visibilityName: preferences.visibilityName || 'private', visibilityName: preferences.visibilityName || 'all_users',
visibilitySocialLinks: preferences.visibilitySocialLinks || 'private', visibilitySocialLinks: preferences.visibilitySocialLinks || 'all_users',
}; };
case 'private': case 'private':
return { return {

View File

@@ -2,7 +2,7 @@ import React from 'react';
import PropTypes from 'prop-types'; import PropTypes from 'prop-types';
import { connect } from 'react-redux'; import { connect } from 'react-redux';
import { FormattedMessage, injectIntl, intlShape } from '@edx/frontend-platform/i18n'; import { FormattedMessage, injectIntl, intlShape } from '@edx/frontend-platform/i18n';
import { Form } from '@edx/paragon'; import { Form } from '@openedx/paragon';
import messages from './Bio.messages'; import messages from './Bio.messages';

View File

@@ -3,7 +3,7 @@ import PropTypes from 'prop-types';
import { import {
FormattedDate, FormattedMessage, injectIntl, intlShape, FormattedDate, FormattedMessage, injectIntl, intlShape,
} from '@edx/frontend-platform/i18n'; } from '@edx/frontend-platform/i18n';
import { Hyperlink } from '@edx/paragon'; import { Hyperlink } from '@openedx/paragon';
import { connect } from 'react-redux'; import { connect } from 'react-redux';
import get from 'lodash.get'; import get from 'lodash.get';
@@ -68,7 +68,7 @@ class Certificates extends React.Component {
})(); })();
return ( return (
<div key={`${modifiedDate}-${courseId}`} className="col col-sm-6 d-flex align-items-stretch"> <div key={`${modifiedDate}-${courseId}`} className="col-12 col-sm-6 d-flex align-items-stretch">
<div className="card mb-4 certificate flex-grow-1"> <div className="card mb-4 certificate flex-grow-1">
<div <div
className="certificate-type-illustration" className="certificate-type-illustration"

View File

@@ -2,7 +2,7 @@ import React from 'react';
import PropTypes from 'prop-types'; import PropTypes from 'prop-types';
import { connect } from 'react-redux'; import { connect } from 'react-redux';
import { injectIntl, intlShape } from '@edx/frontend-platform/i18n'; import { injectIntl, intlShape } from '@edx/frontend-platform/i18n';
import { Form } from '@edx/paragon'; import { Form } from '@openedx/paragon';
import messages from './Country.messages'; import messages from './Country.messages';

View File

@@ -3,7 +3,7 @@ import PropTypes from 'prop-types';
import { connect } from 'react-redux'; import { connect } from 'react-redux';
import { FormattedMessage, injectIntl, intlShape } from '@edx/frontend-platform/i18n'; import { FormattedMessage, injectIntl, intlShape } from '@edx/frontend-platform/i18n';
import get from 'lodash.get'; import get from 'lodash.get';
import { Form } from '@edx/paragon'; import { Form } from '@openedx/paragon';
import messages from './Education.messages'; import messages from './Education.messages';

View File

@@ -1,7 +1,7 @@
import PropTypes from 'prop-types'; import PropTypes from 'prop-types';
import React, { useMemo } from 'react'; import React, { useMemo } from 'react';
import { Provider } from 'react-redux'; import { Provider } from 'react-redux';
import renderer from 'react-test-renderer'; import { render, screen } from '@testing-library/react';
import configureMockStore from 'redux-mock-store'; import configureMockStore from 'redux-mock-store';
import thunk from 'redux-thunk'; import thunk from 'redux-thunk';
import { configure as configureI18n, IntlProvider } from '@edx/frontend-platform/i18n'; import { configure as configureI18n, IntlProvider } from '@edx/frontend-platform/i18n';
@@ -92,31 +92,25 @@ LearningGoalWrapperWithStore.propTypes = {
describe('<LearningGoal />', () => { describe('<LearningGoal />', () => {
describe('renders the current learning goal', () => { describe('renders the current learning goal', () => {
it('renders "I want to advance my career"', () => { it('renders "I want to advance my career"', () => {
const learningGoalRenderer = renderer.create( render(
<LearningGoalWrapper <LearningGoalWrapper
{...requiredLearningGoalProps} {...requiredLearningGoalProps}
formId="learningGoal" formId="learningGoal"
/>, />,
); );
expect(screen.getByText('I want to advance my career')).toBeTruthy();
const learningGoalInstance = learningGoalRenderer.root;
expect(learningGoalInstance.findByProps({ className: 'lead' }).children).toEqual(['I want to advance my career']);
}); });
it('renders "Something else"', () => { it('renders "Something else"', () => {
requiredLearningGoalProps.learningGoal = 'something_else'; requiredLearningGoalProps.learningGoal = 'something_else';
const learningGoalRenderer = renderer.create( render(
<LearningGoalWrapper <LearningGoalWrapper
{...requiredLearningGoalProps} {...requiredLearningGoalProps}
formId="learningGoal" formId="learningGoal"
/>, />,
); );
expect(screen.getByText('Something else')).toBeTruthy();
const learningGoalInstance = learningGoalRenderer.root;
expect(learningGoalInstance.findByProps({ className: 'lead' }).children).toEqual(['Something else']);
}); });
}); });
}); });

View File

@@ -1,40 +0,0 @@
import React from 'react';
import PropTypes from 'prop-types';
import { connect } from 'react-redux';
import { injectIntl } from '@edx/frontend-platform/i18n';
import { Icon } from '@edx/paragon';
import { LocationOn } from '@edx/paragon/icons';
// Selectors
import { countrySelector } from '../data/selectors';
// eslint-disable-next-line react/prefer-stateless-function
class PluginCountry extends React.Component {
render() {
const {
country,
countryMessages,
} = this.props;
return (
<div className="pgn-icons-cell-horizontal">
<Icon src={LocationOn} />
<p className="h5 mt-1 ml-1">{countryMessages[country]}</p>
</div>
);
}
}
PluginCountry.propTypes = {
country: PropTypes.string,
countryMessages: PropTypes.objectOf(PropTypes.string).isRequired,
};
PluginCountry.defaultProps = {
country: null,
};
export default connect(
countrySelector,
{},
)(injectIntl(PluginCountry));

View File

@@ -2,7 +2,7 @@ import React from 'react';
import PropTypes from 'prop-types'; import PropTypes from 'prop-types';
import { connect } from 'react-redux'; import { connect } from 'react-redux';
import { injectIntl, intlShape } from '@edx/frontend-platform/i18n'; import { injectIntl, intlShape } from '@edx/frontend-platform/i18n';
import { Form } from '@edx/paragon'; import { Form } from '@openedx/paragon';
import messages from './PreferredLanguage.messages'; import messages from './PreferredLanguage.messages';

View File

@@ -1,6 +1,6 @@
import React from 'react'; import React from 'react';
import PropTypes from 'prop-types'; import PropTypes from 'prop-types';
import { Button, Dropdown } from '@edx/paragon'; import { Button, Dropdown } from '@openedx/paragon';
import { FormattedMessage, injectIntl, intlShape } from '@edx/frontend-platform/i18n'; import { FormattedMessage, injectIntl, intlShape } from '@edx/frontend-platform/i18n';
import { ReactComponent as DefaultAvatar } from '../assets/avatar.svg'; import { ReactComponent as DefaultAvatar } from '../assets/avatar.svg';

View File

@@ -1,6 +1,6 @@
import React from 'react'; import React from 'react';
import PropTypes from 'prop-types'; import PropTypes from 'prop-types';
import { Alert } from '@edx/paragon'; import { Alert } from '@openedx/paragon';
import { connect } from 'react-redux'; import { connect } from 'react-redux';
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'; import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
import { faTwitter, faFacebook, faLinkedin } from '@fortawesome/free-brands-svg-icons'; import { faTwitter, faFacebook, faLinkedin } from '@fortawesome/free-brands-svg-icons';
@@ -33,6 +33,108 @@ const platformDisplayInfo = {
}, },
}; };
const SocialLink = ({ url, name, platform }) => (
<a href={url} className="font-weight-bold">
<FontAwesomeIcon className="mr-2" icon={platformDisplayInfo[platform].icon} />
{name}
</a>
);
SocialLink.propTypes = {
url: PropTypes.string.isRequired,
platform: PropTypes.string.isRequired,
name: PropTypes.string.isRequired,
};
const EditableListItem = ({
url, platform, onClickEmptyContent, name,
}) => {
const linkDisplay = url ? (
<SocialLink name={name} url={url} platform={platform} />
) : (
<EmptyContent onClick={onClickEmptyContent}>Add {name}</EmptyContent>
);
return <li className="form-group">{linkDisplay}</li>;
};
EditableListItem.propTypes = {
url: PropTypes.string,
platform: PropTypes.string.isRequired,
name: PropTypes.string.isRequired,
onClickEmptyContent: PropTypes.func,
};
EditableListItem.defaultProps = {
url: null,
onClickEmptyContent: null,
};
const EditingListItem = ({
platform, name, value, onChange, error,
}) => (
<li className="form-group">
<label htmlFor={`social-${platform}`}>{name}</label>
<input
className={classNames('form-control', { 'is-invalid': Boolean(error) })}
type="text"
id={`social-${platform}`}
name={platform}
value={value || ''}
onChange={onChange}
aria-describedby="social-error-feedback"
/>
</li>
);
EditingListItem.propTypes = {
platform: PropTypes.string.isRequired,
value: PropTypes.string,
name: PropTypes.string.isRequired,
onChange: PropTypes.func.isRequired,
error: PropTypes.string,
};
EditingListItem.defaultProps = {
value: null,
error: null,
};
const EmptyListItem = ({ onClick, name }) => (
<li className="mb-4">
<EmptyContent onClick={onClick}>
<FormattedMessage
id="profile.sociallinks.add"
defaultMessage="Add {network}"
values={{
network: name,
}}
description="{network} is the name of a social network such as Facebook or Twitter"
/>
</EmptyContent>
</li>
);
EmptyListItem.propTypes = {
name: PropTypes.string.isRequired,
onClick: PropTypes.func.isRequired,
};
const StaticListItem = ({ name, url, platform }) => (
<li className="mb-2">
<SocialLink name={name} url={url} platform={platform} />
</li>
);
StaticListItem.propTypes = {
name: PropTypes.string.isRequired,
url: PropTypes.string,
platform: PropTypes.string.isRequired,
};
StaticListItem.defaultProps = {
url: null,
};
class SocialLinks extends React.Component { class SocialLinks extends React.Component {
constructor(props) { constructor(props) {
super(props); super(props);
@@ -243,105 +345,3 @@ export default connect(
editableFormSelector, editableFormSelector,
{}, {},
)(injectIntl(SocialLinks)); )(injectIntl(SocialLinks));
const SocialLink = ({ url, name, platform }) => (
<a href={url} className="font-weight-bold">
<FontAwesomeIcon className="mr-2" icon={platformDisplayInfo[platform].icon} />
{name}
</a>
);
SocialLink.propTypes = {
url: PropTypes.string.isRequired,
platform: PropTypes.string.isRequired,
name: PropTypes.string.isRequired,
};
const EditableListItem = ({
url, platform, onClickEmptyContent, name,
}) => {
const linkDisplay = url ? (
<SocialLink name={name} url={url} platform={platform} />
) : (
<EmptyContent onClick={onClickEmptyContent}>Add {name}</EmptyContent>
);
return <li className="form-group">{linkDisplay}</li>;
};
EditableListItem.propTypes = {
url: PropTypes.string,
platform: PropTypes.string.isRequired,
name: PropTypes.string.isRequired,
onClickEmptyContent: PropTypes.func,
};
EditableListItem.defaultProps = {
url: null,
onClickEmptyContent: null,
};
const EditingListItem = ({
platform, name, value, onChange, error,
}) => (
<li className="form-group">
<label htmlFor={`social-${platform}`}>{name}</label>
<input
className={classNames('form-control', { 'is-invalid': Boolean(error) })}
type="text"
id={`social-${platform}`}
name={platform}
value={value || ''}
onChange={onChange}
aria-describedby="social-error-feedback"
/>
</li>
);
EditingListItem.propTypes = {
platform: PropTypes.string.isRequired,
value: PropTypes.string,
name: PropTypes.string.isRequired,
onChange: PropTypes.func.isRequired,
error: PropTypes.string,
};
EditingListItem.defaultProps = {
value: null,
error: null,
};
const EmptyListItem = ({ onClick, name }) => (
<li className="mb-4">
<EmptyContent onClick={onClick}>
<FormattedMessage
id="profile.sociallinks.add"
defaultMessage="Add {network}"
values={{
network: name,
}}
description="{network} is the name of a social network such as Facebook or Twitter"
/>
</EmptyContent>
</li>
);
EmptyListItem.propTypes = {
name: PropTypes.string.isRequired,
onClick: PropTypes.func.isRequired,
};
const StaticListItem = ({ name, url, platform }) => (
<li className="mb-2">
<SocialLink name={name} url={url} platform={platform} />
</li>
);
StaticListItem.propTypes = {
name: PropTypes.string.isRequired,
url: PropTypes.string,
platform: PropTypes.string.isRequired,
};
StaticListItem.defaultProps = {
url: null,
};

View File

@@ -1,8 +1,7 @@
import { mount } from 'enzyme'; import { render, fireEvent, screen } from '@testing-library/react';
import PropTypes from 'prop-types'; import PropTypes from 'prop-types';
import React, { useMemo } from 'react'; import React, { useMemo } from 'react';
import { Provider } from 'react-redux'; import { Provider } from 'react-redux';
import renderer from 'react-test-renderer';
import configureMockStore from 'redux-mock-store'; import configureMockStore from 'redux-mock-store';
import thunk from 'redux-thunk'; import thunk from 'redux-thunk';
import { configure as configureI18n, IntlProvider } from '@edx/frontend-platform/i18n'; import { configure as configureI18n, IntlProvider } from '@edx/frontend-platform/i18n';
@@ -103,7 +102,7 @@ describe('<SocialLinks />', () => {
['certificates', 'bio', 'goals', 'socialLinks'].forEach(editMode => ( ['certificates', 'bio', 'goals', 'socialLinks'].forEach(editMode => (
it(`calls social links with edit mode ${editMode}`, () => { it(`calls social links with edit mode ${editMode}`, () => {
const component = <SocialLinksWrapper {...defaultProps} formId={editMode} />; const component = <SocialLinksWrapper {...defaultProps} formId={editMode} />;
const tree = renderer.create(component).toJSON(); const { container: tree } = render(component);
expect(tree).toMatchSnapshot(); expect(tree).toMatchSnapshot();
}) })
)); ));
@@ -112,47 +111,45 @@ describe('<SocialLinks />', () => {
const changeHandler = jest.fn(); const changeHandler = jest.fn();
const submitHandler = jest.fn(); const submitHandler = jest.fn();
const closeHandler = jest.fn(); const closeHandler = jest.fn();
const component = ( const { container } = render(
<SocialLinksWrapper <SocialLinksWrapper
{...defaultProps} {...defaultProps}
formId="bio" formId="bio"
changeHandler={changeHandler} changeHandler={changeHandler}
submitHandler={submitHandler} submitHandler={submitHandler}
closeHandler={closeHandler} closeHandler={closeHandler}
/> />,
); );
const wrapper = mount(component);
const socialLink = wrapper.find(SocialLinks);
const { platform } = defaultProps.socialLinks[0]; const { platform } = defaultProps.socialLinks[0];
const inputField = socialLink.find(`#social-${platform}`); const inputField = container.querySelector(`#social-${platform}`);
inputField.simulate('change', { target: { value: 'test', name: platform } }); fireEvent.change(inputField, { target: { value: 'test', name: platform } });
expect(changeHandler).toHaveBeenCalledTimes(1); expect(changeHandler).toHaveBeenCalledTimes(1);
expect(socialLink.find('#visibilitySocialLinks select').props().value).toBe('private'); const selectElement = container.querySelector('#visibilitySocialLinks');
const event = { target: { value: 'all_users', name: 'visibilitySocialLinks' } }; expect(selectElement.value).toBe('private');
socialLink.find('#visibilitySocialLinks select').simulate('change', event); fireEvent.change(selectElement, { target: { value: 'all_users', name: 'visibilitySocialLinks' } });
expect(changeHandler).toHaveBeenCalledTimes(2); expect(changeHandler).toHaveBeenCalledTimes(2);
socialLink.find('[aria-labelledby="editing-form"]').simulate('submit'); fireEvent.submit(container.querySelector('[aria-labelledby="editing-form"]'));
expect(submitHandler).toHaveBeenCalledTimes(1); expect(submitHandler).toHaveBeenCalledTimes(1);
socialLink.find('[aria-labelledby="editing-form"]').find('Button .btn-link').simulate('click'); fireEvent.click(screen.getByRole('button', { name: 'Cancel' }));
expect(closeHandler).toHaveBeenCalledTimes(1); expect(closeHandler).toHaveBeenCalledTimes(1);
}); });
it('calls social links with static', () => { it('calls social links with static', () => {
const openHandler = jest.fn(); const openHandler = jest.fn();
const component = ( render(
<SocialLinksWrapper <SocialLinksWrapper
{...defaultProps} {...defaultProps}
formId="goals" formId="goals"
openHandler={openHandler} openHandler={openHandler}
/> />,
); );
const wrapper = mount(component); const addFacebookButton = screen.getByRole('button', { name: 'Add Facebook' });
const socialLink = wrapper.find(SocialLinks); fireEvent.click(addFacebookButton);
socialLink.find('EmptyContent button').first().simulate('click');
expect(openHandler).toHaveBeenCalledTimes(1); expect(openHandler).toHaveBeenCalledTimes(1);
}); });
@@ -160,10 +157,9 @@ describe('<SocialLinks />', () => {
const newStore = JSON.parse(JSON.stringify(savingEditedBio)); const newStore = JSON.parse(JSON.stringify(savingEditedBio));
newStore.profilePage.errors.bio = { userMessage: 'error' }; newStore.profilePage.errors.bio = { userMessage: 'error' };
const component = <SocialLinksWrapperWithStore store={newStore} />; const { container } = render(<SocialLinksWrapperWithStore store={newStore} />);
const wrapper = mount(component);
const socialLink = wrapper.find(SocialLinks);
expect(socialLink.find('.alert-danger').exists()).toBe(true); const alertDanger = container.querySelector('.alert-danger');
expect(alertDanger).toBeInTheDocument();
}); });
}); });

View File

@@ -1,20 +1,12 @@
// Jest Snapshot v1, https://goo.gl/fbAQLP // Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`<SocialLinks /> calls social links with edit mode bio 1`] = ` exports[`<SocialLinks /> calls social links with edit mode bio 1`] = `
<div>
<div <div
className="pgn-transition-replace-group position-relative mb-5" class="pgn-transition-replace-group position-relative mb-5"
style={
Object {
"height": null,
}
}
> >
<div <div
style={ style="padding: .1px 0px;"
Object {
"padding": ".1px 0",
}
}
> >
<div <div
aria-labelledby="social-links-label" aria-labelledby="social-links-label"
@@ -22,13 +14,12 @@ exports[`<SocialLinks /> calls social links with edit mode bio 1`] = `
> >
<form <form
aria-labelledby="editing-form" aria-labelledby="editing-form"
onSubmit={[Function]}
> >
<div <div
className="editable-item-header mb-2" class="editable-item-header mb-2"
> >
<h2 <h2
className="edit-section-header" class="edit-section-header"
id="social-links-label" id="social-links-label"
> >
Social Links Social Links
@@ -38,93 +29,83 @@ exports[`<SocialLinks /> calls social links with edit mode bio 1`] = `
id="social-error-feedback" id="social-error-feedback"
/> />
<ul <ul
className="list-unstyled" class="list-unstyled"
> >
<li <li
className="form-group" class="form-group"
> >
<label <label
htmlFor="social-facebook" for="social-facebook"
> >
Facebook Facebook
</label> </label>
<input <input
aria-describedby="social-error-feedback" aria-describedby="social-error-feedback"
className="form-control" class="form-control"
id="social-facebook" id="social-facebook"
name="facebook" name="facebook"
onChange={[Function]}
type="text" type="text"
value="https://www.facebook.com/aloha" value="https://www.facebook.com/aloha"
/> />
</li> </li>
<li <li
className="form-group" class="form-group"
> >
<label <label
htmlFor="social-twitter" for="social-twitter"
> >
Twitter Twitter
</label> </label>
<input <input
aria-describedby="social-error-feedback" aria-describedby="social-error-feedback"
className="form-control" class="form-control"
id="social-twitter" id="social-twitter"
name="twitter" name="twitter"
onChange={[Function]}
type="text" type="text"
value="https://www.twitter.com/ALOHA" value="https://www.twitter.com/ALOHA"
/> />
</li> </li>
</ul> </ul>
<div <div
className="d-flex flex-row-reverse flex-wrap justify-content-end align-items-center" class="d-flex flex-row-reverse flex-wrap justify-content-end align-items-center"
> >
<div <div
className="form-group d-flex flex-wrap" class="form-group d-flex flex-wrap"
> >
<label <label
className="col-form-label" class="col-form-label"
htmlFor="visibilitySocialLinks" for="visibilitySocialLinks"
> >
Who can see this: Who can see this:
</label> </label>
<span <span
className="d-flex align-items-center" class="d-flex align-items-center"
> >
<span <span
className="d-inline-block ml-1 mr-2" class="d-inline-block ml-1 mr-2"
style={ style="width: 1.5rem;"
Object {
"width": "1.5rem",
}
}
> >
<svg <svg
aria-hidden="true" aria-hidden="true"
className="svg-inline--fa fa-eye-slash fa-w-20 " class="svg-inline--fa fa-eye-slash "
data-icon="eye-slash" data-icon="eye-slash"
data-prefix="far" data-prefix="far"
focusable="false" focusable="false"
role="img" role="img"
style={Object {}}
viewBox="0 0 640 512" viewBox="0 0 640 512"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
> >
<path <path
d="M634 471L36 3.51A16 16 0 0 0 13.51 6l-10 12.49A16 16 0 0 0 6 41l598 467.49a16 16 0 0 0 22.49-2.49l10-12.49A16 16 0 0 0 634 471zM296.79 146.47l134.79 105.38C429.36 191.91 380.48 144 320 144a112.26 112.26 0 0 0-23.21 2.47zm46.42 219.07L208.42 260.16C210.65 320.09 259.53 368 320 368a113 113 0 0 0 23.21-2.46zM320 112c98.65 0 189.09 55 237.93 144a285.53 285.53 0 0 1-44 60.2l37.74 29.5a333.7 333.7 0 0 0 52.9-75.11 32.35 32.35 0 0 0 0-29.19C550.29 135.59 442.93 64 320 64c-36.7 0-71.71 7-104.63 18.81l46.41 36.29c18.94-4.3 38.34-7.1 58.22-7.1zm0 288c-98.65 0-189.08-55-237.93-144a285.47 285.47 0 0 1 44.05-60.19l-37.74-29.5a333.6 333.6 0 0 0-52.89 75.1 32.35 32.35 0 0 0 0 29.19C89.72 376.41 197.08 448 320 448c36.7 0 71.71-7.05 104.63-18.81l-46.41-36.28C359.28 397.2 339.89 400 320 400z" d="M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L525.6 386.7c39.6-40.6 66.4-86.1 79.9-118.4c3.3-7.9 3.3-16.7 0-24.6c-14.9-35.7-46.2-87.7-93-131.1C465.5 68.8 400.8 32 320 32c-68.2 0-125 26.3-169.3 60.8L38.8 5.1zm151 118.3C226 97.7 269.5 80 320 80c65.2 0 118.8 29.6 159.9 67.7C518.4 183.5 545 226 558.6 256c-12.6 28-36.6 66.8-70.9 100.9l-53.8-42.2c9.1-17.6 14.2-37.5 14.2-58.7c0-70.7-57.3-128-128-128c-32.2 0-61.7 11.9-84.2 31.5l-46.1-36.1zM394.9 284.2l-81.5-63.9c4.2-8.5 6.6-18.2 6.6-28.3c0-5.5-.7-10.9-2-16c.7 0 1.3 0 2 0c44.2 0 80 35.8 80 80c0 9.9-1.8 19.4-5.1 28.2zm9.4 130.3C378.8 425.4 350.7 432 320 432c-65.2 0-118.8-29.6-159.9-67.7C121.6 328.5 95 286 81.4 256c8.3-18.4 21.5-41.5 39.4-64.8L83.1 161.5C60.3 191.2 44 220.8 34.5 243.7c-3.3 7.9-3.3 16.7 0 24.6c14.9 35.7 46.2 87.7 93 131.1C174.5 443.2 239.2 480 320 480c47.8 0 89.9-12.9 126.2-32.5l-41.9-33zM192 256c0 70.7 57.3 128 128 128c13.3 0 26.1-2 38.2-5.8L302 334c-23.5-5.4-43.1-21.2-53.7-42.3l-56.1-44.2c-.2 2.8-.3 5.6-.3 8.5z"
fill="currentColor" fill="currentColor"
style={Object {}}
/> />
</svg> </svg>
</span> </span>
<select <select
className="d-inline-block w-auto form-control" class="d-inline-block form-control"
id="visibilitySocialLinks" id="visibilitySocialLinks"
name="visibilitySocialLinks" name="visibilitySocialLinks"
onChange={[Function]}
type="select" type="select"
value="private"
> >
<option <option
value="private" value="private"
@@ -140,33 +121,31 @@ exports[`<SocialLinks /> calls social links with edit mode bio 1`] = `
</span> </span>
</div> </div>
<div <div
className="form-group flex-shrink-0 flex-grow-1" class="form-group flex-shrink-0 flex-grow-1"
> >
<button <button
aria-disabled={false} aria-disabled="false"
aria-live="assertive" aria-live="assertive"
className="pgn__stateful-btn pgn__stateful-btn-state-pending btn btn-primary" class="pgn__stateful-btn pgn__stateful-btn-state-pending btn btn-primary"
disabled={false}
onClick={[Function]}
type="submit" type="submit"
> >
<span <span
className="d-flex align-items-center justify-content-center" class="d-flex align-items-center justify-content-center"
> >
<span <span
className="pgn__stateful-btn-icon" class="pgn__stateful-btn-icon"
> >
<span <span
className="pgn__icon icon-spin" class="pgn__icon icon-spin"
> >
<svg <svg
aria-hidden={true} aria-hidden="true"
fill="none" fill="none"
focusable={false} focusable="false"
height={24} height="24"
role="img" role="img"
viewBox="0 0 24 24" viewBox="0 0 24 24"
width={24} width="24"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
> >
<path <path
@@ -182,9 +161,7 @@ exports[`<SocialLinks /> calls social links with edit mode bio 1`] = `
</span> </span>
</button> </button>
<button <button
className="btn btn-link" class="btn btn-link"
disabled={false}
onClick={[Function]}
type="button" type="button"
> >
Cancel Cancel
@@ -195,84 +172,66 @@ exports[`<SocialLinks /> calls social links with edit mode bio 1`] = `
</div> </div>
</div> </div>
</div> </div>
</div>
`; `;
exports[`<SocialLinks /> calls social links with edit mode certificates 1`] = ` exports[`<SocialLinks /> calls social links with edit mode certificates 1`] = `
<div>
<div <div
className="pgn-transition-replace-group position-relative mb-5" class="pgn-transition-replace-group position-relative mb-5"
style={
Object {
"height": null,
}
}
> >
<div <div
style={ style="padding: .1px 0px;"
Object {
"padding": ".1px 0",
}
}
> >
<div <div
className="editable-item-header mb-2" class="editable-item-header mb-2"
> >
<h2 <h2
className="edit-section-header" class="edit-section-header"
id={null}
> >
Social Links Social Links
<button <button
className="float-right px-0 btn btn-link btn-sm" class="float-right px-0 btn btn-link btn-sm"
disabled={false} style="margin-top: -.35rem;"
onClick={[Function]}
style={
Object {
"marginTop": "-.35rem",
}
}
type="button" type="button"
> >
<svg <svg
aria-hidden="true" aria-hidden="true"
className="svg-inline--fa fa-pencil-alt fa-w-16 mr-1" class="svg-inline--fa fa-pencil mr-1"
data-icon="pencil-alt" data-icon="pencil"
data-prefix="fas" data-prefix="fas"
focusable="false" focusable="false"
role="img" role="img"
style={Object {}}
viewBox="0 0 512 512" viewBox="0 0 512 512"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
> >
<path <path
d="M497.9 142.1l-46.1 46.1c-4.7 4.7-12.3 4.7-17 0l-111-111c-4.7-4.7-4.7-12.3 0-17l46.1-46.1c18.7-18.7 49.1-18.7 67.9 0l60.1 60.1c18.8 18.7 18.8 49.1 0 67.9zM284.2 99.8L21.6 362.4.4 483.9c-2.9 16.4 11.4 30.6 27.8 27.8l121.5-21.3 262.6-262.6c4.7-4.7 4.7-12.3 0-17l-111-111c-4.8-4.7-12.4-4.7-17.1 0zM124.1 339.9c-5.5-5.5-5.5-14.3 0-19.8l154-154c5.5-5.5 14.3-5.5 19.8 0s5.5 14.3 0 19.8l-154 154c-5.5 5.5-14.3 5.5-19.8 0zM88 424h48v36.3l-64.5 11.3-31.1-31.1L51.7 376H88v48z" d="M410.3 231l11.3-11.3-33.9-33.9-62.1-62.1L291.7 89.8l-11.3 11.3-22.6 22.6L58.6 322.9c-10.4 10.4-18 23.3-22.2 37.4L1 480.7c-2.5 8.4-.2 17.5 6.1 23.7s15.3 8.5 23.7 6.1l120.3-35.4c14.1-4.2 27-11.8 37.4-22.2L387.7 253.7 410.3 231zM160 399.4l-9.1 22.7c-4 3.1-8.5 5.4-13.3 6.9L59.4 452l23-78.1c1.4-4.9 3.8-9.4 6.9-13.3l22.7-9.1 0 32c0 8.8 7.2 16 16 16l32 0zM362.7 18.7L348.3 33.2 325.7 55.8 314.3 67.1l33.9 33.9 62.1 62.1 33.9 33.9 11.3-11.3 22.6-22.6 14.5-14.5c25-25 25-65.5 0-90.5L453.3 18.7c-25-25-65.5-25-90.5 0zm-47.4 168l-144 144c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l144-144c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z"
fill="currentColor" fill="currentColor"
style={Object {}}
/> />
</svg> </svg>
Edit Edit
</button> </button>
</h2> </h2>
<p <p
className="mb-0" class="mb-0"
> >
<span <span
className="ml-auto small text-muted" class="ml-auto small text-muted"
> >
<svg <svg
aria-hidden="true" aria-hidden="true"
className="svg-inline--fa fa-eye-slash fa-w-20 " class="svg-inline--fa fa-eye-slash "
data-icon="eye-slash" data-icon="eye-slash"
data-prefix="far" data-prefix="far"
focusable="false" focusable="false"
role="img" role="img"
style={Object {}}
viewBox="0 0 640 512" viewBox="0 0 640 512"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
> >
<path <path
d="M634 471L36 3.51A16 16 0 0 0 13.51 6l-10 12.49A16 16 0 0 0 6 41l598 467.49a16 16 0 0 0 22.49-2.49l10-12.49A16 16 0 0 0 634 471zM296.79 146.47l134.79 105.38C429.36 191.91 380.48 144 320 144a112.26 112.26 0 0 0-23.21 2.47zm46.42 219.07L208.42 260.16C210.65 320.09 259.53 368 320 368a113 113 0 0 0 23.21-2.46zM320 112c98.65 0 189.09 55 237.93 144a285.53 285.53 0 0 1-44 60.2l37.74 29.5a333.7 333.7 0 0 0 52.9-75.11 32.35 32.35 0 0 0 0-29.19C550.29 135.59 442.93 64 320 64c-36.7 0-71.71 7-104.63 18.81l46.41 36.29c18.94-4.3 38.34-7.1 58.22-7.1zm0 288c-98.65 0-189.08-55-237.93-144a285.47 285.47 0 0 1 44.05-60.19l-37.74-29.5a333.6 333.6 0 0 0-52.89 75.1 32.35 32.35 0 0 0 0 29.19C89.72 376.41 197.08 448 320 448c36.7 0 71.71-7.05 104.63-18.81l-46.41-36.28C359.28 397.2 339.89 400 320 400z" d="M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L525.6 386.7c39.6-40.6 66.4-86.1 79.9-118.4c3.3-7.9 3.3-16.7 0-24.6c-14.9-35.7-46.2-87.7-93-131.1C465.5 68.8 400.8 32 320 32c-68.2 0-125 26.3-169.3 60.8L38.8 5.1zm151 118.3C226 97.7 269.5 80 320 80c65.2 0 118.8 29.6 159.9 67.7C518.4 183.5 545 226 558.6 256c-12.6 28-36.6 66.8-70.9 100.9l-53.8-42.2c9.1-17.6 14.2-37.5 14.2-58.7c0-70.7-57.3-128-128-128c-32.2 0-61.7 11.9-84.2 31.5l-46.1-36.1zM394.9 284.2l-81.5-63.9c4.2-8.5 6.6-18.2 6.6-28.3c0-5.5-.7-10.9-2-16c.7 0 1.3 0 2 0c44.2 0 80 35.8 80 80c0 9.9-1.8 19.4-5.1 28.2zm9.4 130.3C378.8 425.4 350.7 432 320 432c-65.2 0-118.8-29.6-159.9-67.7C121.6 328.5 95 286 81.4 256c8.3-18.4 21.5-41.5 39.4-64.8L83.1 161.5C60.3 191.2 44 220.8 34.5 243.7c-3.3 7.9-3.3 16.7 0 24.6c14.9 35.7 46.2 87.7 93 131.1C174.5 443.2 239.2 480 320 480c47.8 0 89.9-12.9 126.2-32.5l-41.9-33zM192 256c0 70.7 57.3 128 128 128c13.3 0 26.1-2 38.2-5.8L302 334c-23.5-5.4-43.1-21.2-53.7-42.3l-56.1-44.2c-.2 2.8-.3 5.6-.3 8.5z"
fill="currentColor" fill="currentColor"
style={Object {}}
/> />
</svg> </svg>
@@ -281,57 +240,53 @@ exports[`<SocialLinks /> calls social links with edit mode certificates 1`] = `
</p> </p>
</div> </div>
<ul <ul
className="list-unstyled" class="list-unstyled"
> >
<li <li
className="form-group" class="form-group"
> >
<a <a
className="font-weight-bold" class="font-weight-bold"
href="https://www.facebook.com/aloha" href="https://www.facebook.com/aloha"
> >
<svg <svg
aria-hidden="true" aria-hidden="true"
className="svg-inline--fa fa-facebook fa-w-16 mr-2" class="svg-inline--fa fa-facebook mr-2"
data-icon="facebook" data-icon="facebook"
data-prefix="fab" data-prefix="fab"
focusable="false" focusable="false"
role="img" role="img"
style={Object {}}
viewBox="0 0 512 512" viewBox="0 0 512 512"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
> >
<path <path
d="M504 256C504 119 393 8 256 8S8 119 8 256c0 123.78 90.69 226.38 209.25 245V327.69h-63V256h63v-54.64c0-62.15 37-96.48 93.67-96.48 27.14 0 55.52 4.84 55.52 4.84v61h-31.28c-30.8 0-40.41 19.12-40.41 38.73V256h68.78l-11 71.69h-57.78V501C413.31 482.38 504 379.78 504 256z" d="M512 256C512 114.6 397.4 0 256 0S0 114.6 0 256C0 376 82.7 476.8 194.2 504.5V334.2H141.4V256h52.8V222.3c0-87.1 39.4-127.5 125-127.5c16.2 0 44.2 3.2 55.7 6.4V172c-6-.6-16.5-1-29.6-1c-42 0-58.2 15.9-58.2 57.2V256h83.6l-14.4 78.2H287V510.1C413.8 494.8 512 386.9 512 256h0z"
fill="currentColor" fill="currentColor"
style={Object {}}
/> />
</svg> </svg>
Facebook Facebook
</a> </a>
</li> </li>
<li <li
className="form-group" class="form-group"
> >
<a <a
className="font-weight-bold" class="font-weight-bold"
href="https://www.twitter.com/ALOHA" href="https://www.twitter.com/ALOHA"
> >
<svg <svg
aria-hidden="true" aria-hidden="true"
className="svg-inline--fa fa-twitter fa-w-16 mr-2" class="svg-inline--fa fa-twitter mr-2"
data-icon="twitter" data-icon="twitter"
data-prefix="fab" data-prefix="fab"
focusable="false" focusable="false"
role="img" role="img"
style={Object {}}
viewBox="0 0 512 512" viewBox="0 0 512 512"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
> >
<path <path
d="M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253z" d="M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253z"
fill="currentColor" fill="currentColor"
style={Object {}}
/> />
</svg> </svg>
Twitter Twitter
@@ -340,63 +295,51 @@ exports[`<SocialLinks /> calls social links with edit mode certificates 1`] = `
</ul> </ul>
</div> </div>
</div> </div>
</div>
`; `;
exports[`<SocialLinks /> calls social links with edit mode goals 1`] = ` exports[`<SocialLinks /> calls social links with edit mode goals 1`] = `
<div>
<div <div
className="pgn-transition-replace-group position-relative mb-5" class="pgn-transition-replace-group position-relative mb-5"
style={
Object {
"height": null,
}
}
> >
<div <div
style={ style="padding: .1px 0px;"
Object {
"padding": ".1px 0",
}
}
> >
<div <div
className="editable-item-header mb-2" class="editable-item-header mb-2"
> >
<h2 <h2
className="edit-section-header" class="edit-section-header"
id={null}
> >
Social Links Social Links
</h2> </h2>
</div> </div>
<ul <ul
className="list-unstyled" class="list-unstyled"
> >
<li <li
className="mb-4" class="mb-4"
> >
<div> <div>
<button <button
className="pl-0 text-left btn btn-link" class="pl-0 text-left btn btn-link"
onClick={[Function]} tabindex="0"
onKeyDown={[Function]}
tabIndex={0}
type="button" type="button"
> >
<svg <svg
aria-hidden="true" aria-hidden="true"
className="svg-inline--fa fa-plus fa-w-14 fa-xs mr-2" class="svg-inline--fa fa-plus fa-xs mr-2"
data-icon="plus" data-icon="plus"
data-prefix="fas" data-prefix="fas"
focusable="false" focusable="false"
role="img" role="img"
style={Object {}}
viewBox="0 0 448 512" viewBox="0 0 448 512"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
> >
<path <path
d="M416 208H272V64c0-17.67-14.33-32-32-32h-32c-17.67 0-32 14.33-32 32v144H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h144v144c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32V304h144c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32z" d="M256 80c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 144L48 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l144 0 0 144c0 17.7 14.3 32 32 32s32-14.3 32-32l0-144 144 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-144 0 0-144z"
fill="currentColor" fill="currentColor"
style={Object {}}
/> />
</svg> </svg>
Add Facebook Add Facebook
@@ -404,31 +347,27 @@ exports[`<SocialLinks /> calls social links with edit mode goals 1`] = `
</div> </div>
</li> </li>
<li <li
className="mb-4" class="mb-4"
> >
<div> <div>
<button <button
className="pl-0 text-left btn btn-link" class="pl-0 text-left btn btn-link"
onClick={[Function]} tabindex="0"
onKeyDown={[Function]}
tabIndex={0}
type="button" type="button"
> >
<svg <svg
aria-hidden="true" aria-hidden="true"
className="svg-inline--fa fa-plus fa-w-14 fa-xs mr-2" class="svg-inline--fa fa-plus fa-xs mr-2"
data-icon="plus" data-icon="plus"
data-prefix="fas" data-prefix="fas"
focusable="false" focusable="false"
role="img" role="img"
style={Object {}}
viewBox="0 0 448 512" viewBox="0 0 448 512"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
> >
<path <path
d="M416 208H272V64c0-17.67-14.33-32-32-32h-32c-17.67 0-32 14.33-32 32v144H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h144v144c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32V304h144c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32z" d="M256 80c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 144L48 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l144 0 0 144c0 17.7 14.3 32 32 32s32-14.3 32-32l0-144 144 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-144 0 0-144z"
fill="currentColor" fill="currentColor"
style={Object {}}
/> />
</svg> </svg>
Add Twitter Add Twitter
@@ -438,84 +377,66 @@ exports[`<SocialLinks /> calls social links with edit mode goals 1`] = `
</ul> </ul>
</div> </div>
</div> </div>
</div>
`; `;
exports[`<SocialLinks /> calls social links with edit mode socialLinks 1`] = ` exports[`<SocialLinks /> calls social links with edit mode socialLinks 1`] = `
<div>
<div <div
className="pgn-transition-replace-group position-relative mb-5" class="pgn-transition-replace-group position-relative mb-5"
style={
Object {
"height": null,
}
}
> >
<div <div
style={ style="padding: .1px 0px;"
Object {
"padding": ".1px 0",
}
}
> >
<div <div
className="editable-item-header mb-2" class="editable-item-header mb-2"
> >
<h2 <h2
className="edit-section-header" class="edit-section-header"
id={null}
> >
Social Links Social Links
<button <button
className="float-right px-0 btn btn-link btn-sm" class="float-right px-0 btn btn-link btn-sm"
disabled={false} style="margin-top: -.35rem;"
onClick={[Function]}
style={
Object {
"marginTop": "-.35rem",
}
}
type="button" type="button"
> >
<svg <svg
aria-hidden="true" aria-hidden="true"
className="svg-inline--fa fa-pencil-alt fa-w-16 mr-1" class="svg-inline--fa fa-pencil mr-1"
data-icon="pencil-alt" data-icon="pencil"
data-prefix="fas" data-prefix="fas"
focusable="false" focusable="false"
role="img" role="img"
style={Object {}}
viewBox="0 0 512 512" viewBox="0 0 512 512"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
> >
<path <path
d="M497.9 142.1l-46.1 46.1c-4.7 4.7-12.3 4.7-17 0l-111-111c-4.7-4.7-4.7-12.3 0-17l46.1-46.1c18.7-18.7 49.1-18.7 67.9 0l60.1 60.1c18.8 18.7 18.8 49.1 0 67.9zM284.2 99.8L21.6 362.4.4 483.9c-2.9 16.4 11.4 30.6 27.8 27.8l121.5-21.3 262.6-262.6c4.7-4.7 4.7-12.3 0-17l-111-111c-4.8-4.7-12.4-4.7-17.1 0zM124.1 339.9c-5.5-5.5-5.5-14.3 0-19.8l154-154c5.5-5.5 14.3-5.5 19.8 0s5.5 14.3 0 19.8l-154 154c-5.5 5.5-14.3 5.5-19.8 0zM88 424h48v36.3l-64.5 11.3-31.1-31.1L51.7 376H88v48z" d="M410.3 231l11.3-11.3-33.9-33.9-62.1-62.1L291.7 89.8l-11.3 11.3-22.6 22.6L58.6 322.9c-10.4 10.4-18 23.3-22.2 37.4L1 480.7c-2.5 8.4-.2 17.5 6.1 23.7s15.3 8.5 23.7 6.1l120.3-35.4c14.1-4.2 27-11.8 37.4-22.2L387.7 253.7 410.3 231zM160 399.4l-9.1 22.7c-4 3.1-8.5 5.4-13.3 6.9L59.4 452l23-78.1c1.4-4.9 3.8-9.4 6.9-13.3l22.7-9.1 0 32c0 8.8 7.2 16 16 16l32 0zM362.7 18.7L348.3 33.2 325.7 55.8 314.3 67.1l33.9 33.9 62.1 62.1 33.9 33.9 11.3-11.3 22.6-22.6 14.5-14.5c25-25 25-65.5 0-90.5L453.3 18.7c-25-25-65.5-25-90.5 0zm-47.4 168l-144 144c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l144-144c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z"
fill="currentColor" fill="currentColor"
style={Object {}}
/> />
</svg> </svg>
Edit Edit
</button> </button>
</h2> </h2>
<p <p
className="mb-0" class="mb-0"
> >
<span <span
className="ml-auto small text-muted" class="ml-auto small text-muted"
> >
<svg <svg
aria-hidden="true" aria-hidden="true"
className="svg-inline--fa fa-eye-slash fa-w-20 " class="svg-inline--fa fa-eye-slash "
data-icon="eye-slash" data-icon="eye-slash"
data-prefix="far" data-prefix="far"
focusable="false" focusable="false"
role="img" role="img"
style={Object {}}
viewBox="0 0 640 512" viewBox="0 0 640 512"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
> >
<path <path
d="M634 471L36 3.51A16 16 0 0 0 13.51 6l-10 12.49A16 16 0 0 0 6 41l598 467.49a16 16 0 0 0 22.49-2.49l10-12.49A16 16 0 0 0 634 471zM296.79 146.47l134.79 105.38C429.36 191.91 380.48 144 320 144a112.26 112.26 0 0 0-23.21 2.47zm46.42 219.07L208.42 260.16C210.65 320.09 259.53 368 320 368a113 113 0 0 0 23.21-2.46zM320 112c98.65 0 189.09 55 237.93 144a285.53 285.53 0 0 1-44 60.2l37.74 29.5a333.7 333.7 0 0 0 52.9-75.11 32.35 32.35 0 0 0 0-29.19C550.29 135.59 442.93 64 320 64c-36.7 0-71.71 7-104.63 18.81l46.41 36.29c18.94-4.3 38.34-7.1 58.22-7.1zm0 288c-98.65 0-189.08-55-237.93-144a285.47 285.47 0 0 1 44.05-60.19l-37.74-29.5a333.6 333.6 0 0 0-52.89 75.1 32.35 32.35 0 0 0 0 29.19C89.72 376.41 197.08 448 320 448c36.7 0 71.71-7.05 104.63-18.81l-46.41-36.28C359.28 397.2 339.89 400 320 400z" d="M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L525.6 386.7c39.6-40.6 66.4-86.1 79.9-118.4c3.3-7.9 3.3-16.7 0-24.6c-14.9-35.7-46.2-87.7-93-131.1C465.5 68.8 400.8 32 320 32c-68.2 0-125 26.3-169.3 60.8L38.8 5.1zm151 118.3C226 97.7 269.5 80 320 80c65.2 0 118.8 29.6 159.9 67.7C518.4 183.5 545 226 558.6 256c-12.6 28-36.6 66.8-70.9 100.9l-53.8-42.2c9.1-17.6 14.2-37.5 14.2-58.7c0-70.7-57.3-128-128-128c-32.2 0-61.7 11.9-84.2 31.5l-46.1-36.1zM394.9 284.2l-81.5-63.9c4.2-8.5 6.6-18.2 6.6-28.3c0-5.5-.7-10.9-2-16c.7 0 1.3 0 2 0c44.2 0 80 35.8 80 80c0 9.9-1.8 19.4-5.1 28.2zm9.4 130.3C378.8 425.4 350.7 432 320 432c-65.2 0-118.8-29.6-159.9-67.7C121.6 328.5 95 286 81.4 256c8.3-18.4 21.5-41.5 39.4-64.8L83.1 161.5C60.3 191.2 44 220.8 34.5 243.7c-3.3 7.9-3.3 16.7 0 24.6c14.9 35.7 46.2 87.7 93 131.1C174.5 443.2 239.2 480 320 480c47.8 0 89.9-12.9 126.2-32.5l-41.9-33zM192 256c0 70.7 57.3 128 128 128c13.3 0 26.1-2 38.2-5.8L302 334c-23.5-5.4-43.1-21.2-53.7-42.3l-56.1-44.2c-.2 2.8-.3 5.6-.3 8.5z"
fill="currentColor" fill="currentColor"
style={Object {}}
/> />
</svg> </svg>
@@ -524,57 +445,53 @@ exports[`<SocialLinks /> calls social links with edit mode socialLinks 1`] = `
</p> </p>
</div> </div>
<ul <ul
className="list-unstyled" class="list-unstyled"
> >
<li <li
className="form-group" class="form-group"
> >
<a <a
className="font-weight-bold" class="font-weight-bold"
href="https://www.facebook.com/aloha" href="https://www.facebook.com/aloha"
> >
<svg <svg
aria-hidden="true" aria-hidden="true"
className="svg-inline--fa fa-facebook fa-w-16 mr-2" class="svg-inline--fa fa-facebook mr-2"
data-icon="facebook" data-icon="facebook"
data-prefix="fab" data-prefix="fab"
focusable="false" focusable="false"
role="img" role="img"
style={Object {}}
viewBox="0 0 512 512" viewBox="0 0 512 512"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
> >
<path <path
d="M504 256C504 119 393 8 256 8S8 119 8 256c0 123.78 90.69 226.38 209.25 245V327.69h-63V256h63v-54.64c0-62.15 37-96.48 93.67-96.48 27.14 0 55.52 4.84 55.52 4.84v61h-31.28c-30.8 0-40.41 19.12-40.41 38.73V256h68.78l-11 71.69h-57.78V501C413.31 482.38 504 379.78 504 256z" d="M512 256C512 114.6 397.4 0 256 0S0 114.6 0 256C0 376 82.7 476.8 194.2 504.5V334.2H141.4V256h52.8V222.3c0-87.1 39.4-127.5 125-127.5c16.2 0 44.2 3.2 55.7 6.4V172c-6-.6-16.5-1-29.6-1c-42 0-58.2 15.9-58.2 57.2V256h83.6l-14.4 78.2H287V510.1C413.8 494.8 512 386.9 512 256h0z"
fill="currentColor" fill="currentColor"
style={Object {}}
/> />
</svg> </svg>
Facebook Facebook
</a> </a>
</li> </li>
<li <li
className="form-group" class="form-group"
> >
<a <a
className="font-weight-bold" class="font-weight-bold"
href="https://www.twitter.com/ALOHA" href="https://www.twitter.com/ALOHA"
> >
<svg <svg
aria-hidden="true" aria-hidden="true"
className="svg-inline--fa fa-twitter fa-w-16 mr-2" class="svg-inline--fa fa-twitter mr-2"
data-icon="twitter" data-icon="twitter"
data-prefix="fab" data-prefix="fab"
focusable="false" focusable="false"
role="img" role="img"
style={Object {}}
viewBox="0 0 512 512" viewBox="0 0 512 512"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
> >
<path <path
d="M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253z" d="M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253z"
fill="currentColor" fill="currentColor"
style={Object {}}
/> />
</svg> </svg>
Twitter Twitter
@@ -583,4 +500,5 @@ exports[`<SocialLinks /> calls social links with edit mode socialLinks 1`] = `
</ul> </ul>
</div> </div>
</div> </div>
</div>
`; `;

View File

@@ -3,7 +3,7 @@ import PropTypes from 'prop-types';
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'; import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
import { faPencilAlt } from '@fortawesome/free-solid-svg-icons'; import { faPencilAlt } from '@fortawesome/free-solid-svg-icons';
import { injectIntl, intlShape } from '@edx/frontend-platform/i18n'; import { injectIntl, intlShape } from '@edx/frontend-platform/i18n';
import { Button } from '@edx/paragon'; import { Button } from '@openedx/paragon';
import messages from './EditButton.messages'; import messages from './EditButton.messages';

View File

@@ -1,6 +1,6 @@
import React from 'react'; import React from 'react';
import PropTypes from 'prop-types'; import PropTypes from 'prop-types';
import { Button, StatefulButton } from '@edx/paragon'; import { Button, StatefulButton } from '@openedx/paragon';
import { injectIntl, intlShape } from '@edx/frontend-platform/i18n'; import { injectIntl, intlShape } from '@edx/frontend-platform/i18n';
import messages from './FormControls.messages'; import messages from './FormControls.messages';

View File

@@ -1,6 +1,6 @@
import React from 'react'; import React from 'react';
import PropTypes from 'prop-types'; import PropTypes from 'prop-types';
import { TransitionReplace } from '@edx/paragon'; import { TransitionReplace } from '@openedx/paragon';
const onChildExit = (htmlNode) => { const onChildExit = (htmlNode) => {
// If the leaving child has focus, take control and redirect it // If the leaving child has focus, take control and redirect it

View File

@@ -39,7 +39,7 @@ const VisibilitySelect = ({ intl, className, ...props }) => {
<span className="d-inline-block ml-1 mr-2" style={{ width: '1.5rem' }}> <span className="d-inline-block ml-1 mr-2" style={{ width: '1.5rem' }}>
<FontAwesomeIcon icon={icon} /> <FontAwesomeIcon icon={icon} />
</span> </span>
<select className="d-inline-block w-auto form-control" {...props}> <select className="d-inline-block form-control" {...props}>
<option key="private" value="private"> <option key="private" value="private">
{intl.formatMessage(messages['profile.visibility.who.just.me'])} {intl.formatMessage(messages['profile.visibility.who.just.me'])}
</option> </option>

View File

@@ -3,4 +3,3 @@ export { default as saga } from './data/sagas';
export { default as ProfilePage } from './ProfilePage'; export { default as ProfilePage } from './ProfilePage';
export { default as NotFoundPage } from './NotFoundPage'; export { default as NotFoundPage } from './NotFoundPage';
export { default as messages } from './ProfilePage.messages'; export { default as messages } from './ProfilePage.messages';
export { default as ProfilePluginPage } from './ProfilePluginPage';

View File

@@ -28,7 +28,7 @@
position: absolute; position: absolute;
left: 1.5rem; left: 1.5rem;
top: 5.25rem; top: 5.25rem;
color: $gray-500; color: var(--pgn-color-gray-500);
line-height: 0.9rem; line-height: 0.9rem;
font-size: 0.8rem; font-size: 0.8rem;
font-style: normal; font-style: normal;
@@ -42,12 +42,12 @@
.icon-visibility-off { .icon-visibility-off {
height: 1rem; height: 1rem;
color: $gray-500; color: var(--pgn-color-gray-500);
} }
.profile-page { .profile-page {
.edit-section-header { .edit-section-header {
@extend .h6; font-size: var(--pgn-typography-font-size-h6-base);
display: block; display: block;
font-weight: normal; font-weight: normal;
letter-spacing: 0; letter-spacing: 0;
@@ -55,11 +55,11 @@
} }
label.edit-section-header { label.edit-section-header {
margin-bottom: $spacer * .5; margin-bottom: calc(var(--pgn-spacing-spacer-base) * .5);
} }
.profile-avatar-wrap { .profile-avatar-wrap {
@include media-breakpoint-up(md) { @media (--pgn-size-breakpoint-min-width-md) {
max-width: 12rem; max-width: 12rem;
margin-right: 0; margin-right: 0;
margin-top: -8rem; margin-top: -8rem;
@@ -77,25 +77,25 @@
align-items: center; align-items: center;
border-radius: 50%; border-radius: 50%;
@include media-breakpoint-up(md) { @media (--pgn-size-breakpoint-min-width-md) {
background: linear-gradient(to top, rgba(0,0,0,.65) 4rem, rgba(0,0,0,0) 4rem); background: linear-gradient(to top, rgba(0,0,0,.65) 4rem, rgba(0,0,0,0) 4rem);
align-items: flex-end; align-items: flex-end;
} }
.btn { .btn {
text-decoration: none; text-decoration: none;
@include media-breakpoint-up(md) { @media (--pgn-size-breakpoint-min-width-md) {
margin-bottom: 1.2rem; margin-bottom: 1.2rem;
} }
} }
.dropdown { .dropdown {
@include media-breakpoint-up(md) { @media (--pgn-size-breakpoint-min-width-md) {
margin-bottom: 1.2rem; margin-bottom: 1.2rem;
} }
.btn { .btn {
color: $white; color: var(--pgn-color-white);
background: transparent; background: transparent;
border-color: transparent; border-color: transparent;
margin: 0; margin: 0;
@@ -108,7 +108,7 @@
height: 5rem; height: 5rem;
position: relative; position: relative;
@include media-breakpoint-up(md) { @media (--pgn-size-breakpoint-min-width-md) {
width: 12rem; width: 12rem;
height: 12rem; height: 12rem;
} }
@@ -128,7 +128,7 @@
border-radius:0; border-radius:0;
transition: opacity 200ms ease; transition: opacity 200ms ease;
@include media-breakpoint-up(md) { @media (--pgn-size-breakpoint-min-width-md) {
height: 4rem; height: 4rem;
} }
@@ -142,7 +142,7 @@
position: relative; position: relative;
.certificate-title { .certificate-title {
font-family: $font-family-serif; font-family: var(--pgn-typography-font-family-serif);
font-weight: 400; font-weight: 400;
} }
@@ -162,28 +162,4 @@
position: relative; position: relative;
} }
} }
.pgn-icons-cell-vertical {
display: flex;
flex-direction: column;
align-items: center;
text-align: center;
margin: 1px;
}
.pgn-icons-cell-horizontal {
display: flex;
flex-direction: row;
justify-content: center;
margin: 1px;
}
.profile-plugin-avatar {
@include media-breakpoint-up(xs) {
max-width: 12rem;
margin-right: 0;
margin-top: -4rem;
margin-bottom: 1rem;
}
}
} }

View File

@@ -3,16 +3,19 @@ import {
AuthenticatedPageRoute, AuthenticatedPageRoute,
PageWrap, PageWrap,
} from '@edx/frontend-platform/react'; } from '@edx/frontend-platform/react';
import { Routes, Route } from 'react-router-dom'; import { Routes, Route, useNavigate } from 'react-router-dom';
import { ProfilePage, NotFoundPage, ProfilePluginPage } from '../profile'; import { ProfilePage, NotFoundPage } from '../profile';
const AppRoutes = () => ( const AppRoutes = () => {
const navigate = useNavigate();
return (
<Routes> <Routes>
<Route path="/u/:username" element={<AuthenticatedPageRoute><ProfilePage /></AuthenticatedPageRoute>} /> <Route path="/u/:username" element={<AuthenticatedPageRoute><ProfilePage navigate={navigate} /></AuthenticatedPageRoute>} />
<Route path="/u/:username/plugin" element={<AuthenticatedPageRoute><ProfilePluginPage /></AuthenticatedPageRoute>} />
<Route path="/notfound" element={<PageWrap><NotFoundPage /></PageWrap>} /> <Route path="/notfound" element={<PageWrap><NotFoundPage /></PageWrap>} />
<Route path="*" element={<PageWrap><NotFoundPage /></PageWrap>} /> <Route path="*" element={<PageWrap><NotFoundPage /></PageWrap>} />
</Routes> </Routes>
); );
};
export default AppRoutes; export default AppRoutes;

View File

@@ -15,7 +15,6 @@ jest.mock('@edx/frontend-platform/auth', () => ({
jest.mock('../profile', () => ({ jest.mock('../profile', () => ({
ProfilePage: () => (<div>Profile page</div>), ProfilePage: () => (<div>Profile page</div>),
NotFoundPage: () => (<div>Not found page</div>), NotFoundPage: () => (<div>Not found page</div>),
ProfilePluginPage: () => (<div>Plugin page</div>),
})); }));
const RoutesWithProvider = (context, path) => ( const RoutesWithProvider = (context, path) => (
@@ -55,22 +54,6 @@ describe('routes', () => {
expect(screen.getByText('Profile page')).toBeTruthy(); expect(screen.getByText('Profile page')).toBeTruthy();
}); });
test('Profile Plugin page should be accessible for authenticated users', () => {
render(
RoutesWithProvider(
{
authenticatedUser: {
username: 'edx',
email: 'edx@example.com',
},
config: getConfig(),
},
'/u/edx/plugin',
),
);
expect(screen.getByText('Plugin page')).toBeTruthy();
});
test('should show NotFound page for a bad route', () => { test('should show NotFound page for a bad route', () => {
render( render(
RoutesWithProvider(unauthenticatedUser, '/nonMatchingRoute'), RoutesWithProvider(unauthenticatedUser, '/nonMatchingRoute'),

View File

@@ -1,7 +1,4 @@
/* eslint-disable import/no-extraneous-dependencies */
import 'core-js/stable'; import 'core-js/stable';
import 'regenerator-runtime/runtime'; import 'regenerator-runtime/runtime';
import '@testing-library/jest-dom';
import Enzyme from 'enzyme';
import Adapter from '@wojtekmaj/enzyme-adapter-react-17';
Enzyme.configure({ adapter: new Adapter() });