slice-machine-ui 1.23.2-alpha.aa-dt-1891-errors.2 → 1.23.2-alpha.bmo-add-github-settings-page.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.depcheckrc +3 -0
- package/components/DeleteVariationModal/index.tsx +1 -0
- package/components/Forms/RenameVariationModal/RenameVariationModal.tsx +0 -1
- package/components/ModalFormCard/index.tsx +0 -1
- package/components/Navigation/index.tsx +25 -12
- package/components/ReviewModal/ReviewForm.tsx +0 -1
- package/lib/builders/common/EditModal/Form.jsx +0 -1
- package/lib/builders/common/Zone/Card/components/NewField.tsx +0 -1
- package/out/404.html +1 -1
- package/out/_next/static/UxJUH6Ixus9Vdb-J9VGib/_buildManifest.js +1 -0
- package/out/_next/static/chunks/18539003-5f78714a35fde4a1.js +97 -0
- package/out/_next/static/chunks/318-bd030cc1725e23b5.js +1 -0
- package/out/_next/static/chunks/{727-3a3bc32518778317.js → 727-2235967a881f9035.js} +1 -1
- package/out/_next/static/chunks/731-a9b66ccdc3fae2c2.js +1 -0
- package/out/_next/static/chunks/777-8c5507e3b119b5dc.js +8 -0
- package/out/_next/static/chunks/904-6d6937d53ea2761e.js +1 -0
- package/out/_next/static/chunks/pages/_app-825abf5103b0a501.js +434 -0
- package/out/_next/static/chunks/pages/{changelog-afd18276fe018b24.js → changelog-02cd80dad6f40878.js} +1 -1
- package/out/_next/static/chunks/pages/{changes-2a976f9efeb719aa.js → changes-8de69920dfb5a48f.js} +1 -1
- package/out/_next/static/chunks/pages/{labs-ee206005948f8e87.js → labs-39b50541a4c370bf.js} +1 -1
- package/out/_next/static/chunks/pages/settings-386e0971d78f7d57.js +1 -0
- package/out/_next/static/chunks/pages/slices/[lib]/[sliceName]/[variation]/{simulator-897ca93c114a1435.js → simulator-b12346e58ac9abea.js} +1 -1
- package/out/_next/static/chunks/pages/slices/[lib]/[sliceName]/[variation]-62b55bae7f1b3793.js +1 -0
- package/out/_next/static/chunks/pages/slices-81e382c3374273df.js +1 -0
- package/out/_next/static/css/3c26dbbbd8f4be12.css +1 -0
- package/out/_next/static/css/{37153180c3b0dd66.css → 838fd8bb5a7c32b0.css} +1 -1
- package/out/_next/static/css/ca32882a5d2d8d88.css +1 -0
- package/out/changelog.html +1 -1
- package/out/changes.html +1 -1
- package/out/custom-types/[customTypeId].html +1 -1
- package/out/custom-types.html +1 -1
- package/out/index.html +1 -1
- package/out/labs.html +1 -1
- package/out/page-types/[pageTypeId].html +1 -1
- package/out/settings.html +1 -0
- package/out/slices/[lib]/[sliceName]/[variation]/simulator.html +1 -1
- package/out/slices/[lib]/[sliceName]/[variation].html +1 -1
- package/out/slices.html +1 -1
- package/package.json +9 -6
- package/pages/settings.tsx +1 -0
- package/postcss.config.js +10 -0
- package/src/components/FieldSet/FieldSet.stories.tsx +20 -11
- package/src/components/RelativeTime/RelativeTime.stories.tsx +25 -0
- package/src/components/RelativeTime/RelativeTime.tsx +40 -0
- package/src/components/RelativeTime/index.ts +1 -0
- package/src/features/environments/actions/setEnvironment.ts +2 -2
- package/src/features/settings/SettingsPage.tsx +29 -0
- package/src/features/settings/git/ConnectGitRepository.tsx +97 -0
- package/src/features/settings/git/ConnectGitRepositoryBlankSlate.tsx +33 -0
- package/src/features/settings/git/GitOwnerSelect.tsx +71 -0
- package/src/features/settings/git/GitProvider.ts +40 -0
- package/src/features/settings/git/GitProviderConnectButtons.tsx +63 -0
- package/src/features/settings/git/GitRepositoriesList.tsx +76 -0
- package/src/features/settings/git/GitRepositoriesSearch.tsx +69 -0
- package/src/features/settings/git/GitRepositoryConnectDialog.tsx +86 -0
- package/src/features/settings/git/GitRepositoryDisconnectDialog.tsx +64 -0
- package/src/features/settings/git/useGitOwners.ts +12 -0
- package/src/features/settings/git/useGitRepos.ts +24 -0
- package/src/features/settings/git/useLinkedGitRepos.ts +41 -0
- package/src/features/settings/git/useWriteAPIToken.ts +30 -0
- package/src/features/slices/convertLegacySlice/ConvertLegacySliceAsNewSliceDialog.tsx +0 -1
- package/src/features/slices/convertLegacySlice/ConvertLegacySliceAsNewVariationDialog.tsx +0 -1
- package/src/features/slices/convertLegacySlice/ConvertLegacySliceMergeWithIdenticalDialog.tsx +0 -1
- package/src/hooks/useUser.ts +14 -0
- package/src/icons/SettingsIcon.tsx +19 -0
- package/out/_next/static/I-eie7PLe-B3dJx16LuLT/_buildManifest.js +0 -1
- package/out/_next/static/chunks/18539003-5cc559566b738915.js +0 -97
- package/out/_next/static/chunks/318-ce7e74f18f2d5b22.js +0 -1
- package/out/_next/static/chunks/376-7e784d6069e01654.js +0 -8
- package/out/_next/static/chunks/731-501990ebe6a71b32.js +0 -1
- package/out/_next/static/chunks/904-9a4c1264727ae89a.js +0 -1
- package/out/_next/static/chunks/pages/_app-7b13aea8da0bafb5.js +0 -432
- package/out/_next/static/chunks/pages/slices/[lib]/[sliceName]/[variation]-b2a9d773ce5d7739.js +0 -1
- package/out/_next/static/chunks/pages/slices-e9c70c082ca3e3f9.js +0 -1
- package/out/_next/static/css/200244e3e0463c39.css +0 -1
- /package/out/_next/static/{I-eie7PLe-B3dJx16LuLT → UxJUH6Ixus9Vdb-J9VGib}/_ssgManifest.js +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
.Kbd_root__nBos2{background-color:var(--grey2);border-color:var(--grey6);border-radius:3px;border-style:solid;border-width:1px;color:var(--grey11);padding-inline:4px}.kedahr2{height:240px}.kedahr3{height:320px}.kedahr6:focus-visible{box-shadow:0 0 0 4px rgba(123,101,220,.1)}.kedahr6[data-disabled]{opacity:var(--_7j49md3z)}.kedahr6:not([data-disabled]){cursor:var(--_7j49md3n)}.kedahr7{order:0}.kedahr4>.kedahr7{padding:calc(var(--_7j49md55) - var(--_7j49mdh))}.kedahr5>.kedahr7{background-color:var(--_7j49md1a);margin-inline:calc(var(--_7j49md53) - var(--_7j49mdh));margin-top:calc(var(--_7j49md53) - var(--_7j49mdh));padding:var(--_7j49md53)}.kedahr9:not([src]){visibility:hidden}.kedahra:before{content:"";background-color:var(--_7j49md1j);inset:var(--_7j49md4v);opacity:var(--_7j49md3x);position:absolute}.kedahr6:focus-visible .kedahra,.kedahr6:not([data-disabled]) .kedahr7:hover>.kedahra{visibility:visible}.kedahr6:not([data-disabled]) .kedahra:has(:focus-visible){visibility:visible}.kedahr4>.kedahrb{background-color:var(--_7j49md18)}.kedahr4>.kedahrb:not(:first-child){border-top-color:var(--_7j49md1d);border-top-style:inherit;border-top-width:inherit}.kedahrc{order:1}.kedahr4>.kedahrc{padding-left:calc(var(--_7j49md52) - var(--_7j49mdh));padding-right:calc(var(--_7j49md50) - var(--_7j49mdh))}.kedahr5>.kedahrc{padding-inline:calc(var(--_7j49md53) - var(--_7j49mdh))}.kedahrd{order:2}.kedahr4>.kedahrd{padding-inline:calc(var(--_7j49md52) - var(--_7j49mdh))}.kedahr5>.kedahrd{padding-inline:calc(var(--_7j49md53) - var(--_7j49mdh))}.kedahre{margin-bottom:calc((1.5rem - 1rem) / 2)}.kedahrf{background-color:#ebe7fe;color:#5746af}._18bjhbz0{max-width:498px;min-height:400px;background-color:var(--_7j49md18)}._18bjhbz1{background-size:cover;background-color:transparent;border-radius:var(--_7j49md3);border-style:var(--_7j49mdd);height:100%;max-width:100%}._18bjhbz1 ._18bjhbz3{padding:64px}._18bjhbz4{font-size:18px;font-weight:600;line-height:32px}._18bjhbz5{font-weight:400;line-height:24px}._18bjhbz1 ._18bjhbz5{max-width:464px;align-self:center}._18bjhbz1 ._18bjhbz6{justify-content:center}.ovkapw0:focus-visible{outline:none
|
|
1
|
+
.Kbd_root__nBos2{background-color:var(--grey2);border-color:var(--grey6);border-radius:3px;border-style:solid;border-width:1px;color:var(--grey11);padding-inline:4px}.kedahr2{height:240px}.kedahr3{height:320px}.kedahr6:focus-visible{box-shadow:0 0 0 4px rgba(123,101,220,.1)}.kedahr6[data-disabled]{opacity:var(--_7j49md3z)}.kedahr6:not([data-disabled]){cursor:var(--_7j49md3n)}.kedahr7{order:0}.kedahr4>.kedahr7{padding:calc(var(--_7j49md55) - var(--_7j49mdh))}.kedahr5>.kedahr7{background-color:var(--_7j49md1a);margin-inline:calc(var(--_7j49md53) - var(--_7j49mdh));margin-top:calc(var(--_7j49md53) - var(--_7j49mdh));padding:var(--_7j49md53)}.kedahr9:not([src]){visibility:hidden}.kedahra:before{content:"";background-color:var(--_7j49md1j);inset:var(--_7j49md4v);opacity:var(--_7j49md3x);position:absolute}.kedahr6:focus-visible .kedahra,.kedahr6:not([data-disabled]) .kedahr7:hover>.kedahra{visibility:visible}.kedahr6:not([data-disabled]) .kedahra:has(:focus-visible){visibility:visible}.kedahr4>.kedahrb{background-color:var(--_7j49md18)}.kedahr4>.kedahrb:not(:first-child){border-top-color:var(--_7j49md1d);border-top-style:inherit;border-top-width:inherit}.kedahrc{order:1}.kedahr4>.kedahrc{padding-left:calc(var(--_7j49md52) - var(--_7j49mdh));padding-right:calc(var(--_7j49md50) - var(--_7j49mdh))}.kedahr5>.kedahrc{padding-inline:calc(var(--_7j49md53) - var(--_7j49mdh))}.kedahrd{order:2}.kedahr4>.kedahrd{padding-inline:calc(var(--_7j49md52) - var(--_7j49mdh))}.kedahr5>.kedahrd{padding-inline:calc(var(--_7j49md53) - var(--_7j49mdh))}.kedahre{margin-bottom:calc((1.5rem - 1rem) / 2)}.kedahrf{background-color:#ebe7fe;color:#5746af}._18bjhbz0{max-width:498px;min-height:400px;background-color:var(--_7j49md18)}._18bjhbz1{background-size:cover;background-color:transparent;border-radius:var(--_7j49md3);border-style:var(--_7j49mdd);height:100%;max-width:100%}._18bjhbz1 ._18bjhbz3{padding:64px}._18bjhbz4{font-size:18px;font-weight:600;line-height:32px}._18bjhbz5{font-weight:400;line-height:24px}._18bjhbz1 ._18bjhbz5{max-width:464px;align-self:center}._18bjhbz1 ._18bjhbz6{justify-content:center}.ovkapw0:focus-visible{outline:none;text-decoration-line:underline}.ovkapw1{font-size:1.2rem;width:18px;height:18px}.ovkapw2{font-size:1rem;width:16px;height:16px}.ovkapw3{font-size:inherit;width:inherit;height:inherit}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.FieldSet_flex__qy2tm{all:unset;display:flex}.FieldSet_column__NS4qQ{flex-direction:column}.FieldSet_root__XVbMv{border-color:var(--grey6);border-radius:6px;border-style:solid;border-width:1px;box-shadow:var(--box-shadow-1);overflow-x:hidden}.FieldSet_row__END9k{align-items:center;flex-direction:row;gap:8px;padding-inline:16px}.FieldSet_borderBottom__L01vK{box-sizing:border-box}.FieldSet_borderBottom__L01vK:not(:last-child){border-bottom:1px solid var(--grey6)}.FieldSet_legend__JjRCM{background-color:var(--grey2);height:48px;order:0}.FieldSet_header__0Q7YD{background-color:var(--grey2);height:72px;order:1}.FieldSet_content__PDj3t{background-color:var(--grey1);order:2;padding:16px}.FieldSet_list__HoMpl{max-height:256px;order:2;overflow-y:auto}.FieldSet_listItem__P0SKW{background-color:var(--grey1);flex-shrink:0;height:64px}.FieldSet_listItemText__J0_Fr{flex-grow:1}.FieldSet_borderTop__qyC9U:not(:first-child){box-shadow:0 -1px 0 0 var(--grey6)}.FieldSet_footer__thBWh{background-color:var(--grey1);height:48px;order:3;padding-right:8px}.FieldSet_footerText__mKIv2{flex-grow:1}
|
package/out/changelog.html
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/_next/static/css/
|
|
1
|
+
<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/_next/static/css/3c26dbbbd8f4be12.css" as="style"/><link rel="stylesheet" href="/_next/static/css/3c26dbbbd8f4be12.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-c67a75d1b6f99dc8.js"></script><script src="/_next/static/chunks/webpack-2f903acb0cccbf9e.js" defer=""></script><script src="/_next/static/chunks/framework-cdccea7a52cc6e81.js" defer=""></script><script src="/_next/static/chunks/main-5e6780279ca21cb9.js" defer=""></script><script src="/_next/static/chunks/pages/_app-825abf5103b0a501.js" defer=""></script><script src="/_next/static/chunks/59b4e022-7a3b5554b806349f.js" defer=""></script><script src="/_next/static/chunks/183-4feb6bb3eddbc768.js" defer=""></script><script src="/_next/static/chunks/870-0c7a8a9622de78b7.js" defer=""></script><script src="/_next/static/chunks/pages/changelog-02cd80dad6f40878.js" defer=""></script><script src="/_next/static/UxJUH6Ixus9Vdb-J9VGib/_buildManifest.js" defer=""></script><script src="/_next/static/UxJUH6Ixus9Vdb-J9VGib/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/changelog","query":{},"buildId":"UxJUH6Ixus9Vdb-J9VGib","runtimeConfig":{"sentryEnvironment":"alpha"},"nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
|
package/out/changes.html
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/_next/static/css/
|
|
1
|
+
<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/_next/static/css/3c26dbbbd8f4be12.css" as="style"/><link rel="stylesheet" href="/_next/static/css/3c26dbbbd8f4be12.css" data-n-g=""/><link rel="preload" href="/_next/static/css/838fd8bb5a7c32b0.css" as="style"/><link rel="stylesheet" href="/_next/static/css/838fd8bb5a7c32b0.css" data-n-p=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-c67a75d1b6f99dc8.js"></script><script src="/_next/static/chunks/webpack-2f903acb0cccbf9e.js" defer=""></script><script src="/_next/static/chunks/framework-cdccea7a52cc6e81.js" defer=""></script><script src="/_next/static/chunks/main-5e6780279ca21cb9.js" defer=""></script><script src="/_next/static/chunks/pages/_app-825abf5103b0a501.js" defer=""></script><script src="/_next/static/chunks/59b4e022-7a3b5554b806349f.js" defer=""></script><script src="/_next/static/chunks/c8eae200-966ce352f7b5d2b9.js" defer=""></script><script src="/_next/static/chunks/8eec4907-b712959d9f984b68.js" defer=""></script><script src="/_next/static/chunks/543-f8766685f7f451e2.js" defer=""></script><script src="/_next/static/chunks/918-5bb55fb464e34768.js" defer=""></script><script src="/_next/static/chunks/25-37d6fa7f064be04b.js" defer=""></script><script src="/_next/static/chunks/286-ed90373e9a469944.js" defer=""></script><script src="/_next/static/chunks/pages/changes-8de69920dfb5a48f.js" defer=""></script><script src="/_next/static/UxJUH6Ixus9Vdb-J9VGib/_buildManifest.js" defer=""></script><script src="/_next/static/UxJUH6Ixus9Vdb-J9VGib/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/changes","query":{},"buildId":"UxJUH6Ixus9Vdb-J9VGib","runtimeConfig":{"sentryEnvironment":"alpha"},"nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/_next/static/css/
|
|
1
|
+
<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/_next/static/css/3c26dbbbd8f4be12.css" as="style"/><link rel="stylesheet" href="/_next/static/css/3c26dbbbd8f4be12.css" data-n-g=""/><link rel="preload" href="/_next/static/css/72465cc1225f28a2.css" as="style"/><link rel="stylesheet" href="/_next/static/css/72465cc1225f28a2.css" data-n-p=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-c67a75d1b6f99dc8.js"></script><script src="/_next/static/chunks/webpack-2f903acb0cccbf9e.js" defer=""></script><script src="/_next/static/chunks/framework-cdccea7a52cc6e81.js" defer=""></script><script src="/_next/static/chunks/main-5e6780279ca21cb9.js" defer=""></script><script src="/_next/static/chunks/pages/_app-825abf5103b0a501.js" defer=""></script><script src="/_next/static/chunks/59b4e022-7a3b5554b806349f.js" defer=""></script><script src="/_next/static/chunks/f36c6662-03bb5e9d9aa0b0aa.js" defer=""></script><script src="/_next/static/chunks/4c744e84-e3161d754618373f.js" defer=""></script><script src="/_next/static/chunks/065a3ddb-9a38ca0d60f0bf2f.js" defer=""></script><script src="/_next/static/chunks/1cc2734a-2c5b6c0367fcde86.js" defer=""></script><script src="/_next/static/chunks/183-4feb6bb3eddbc768.js" defer=""></script><script src="/_next/static/chunks/50-cfc2514205b86001.js" defer=""></script><script src="/_next/static/chunks/543-f8766685f7f451e2.js" defer=""></script><script src="/_next/static/chunks/696-b12edad30a3617e5.js" defer=""></script><script src="/_next/static/chunks/474-5a072e6fac61f703.js" defer=""></script><script src="/_next/static/chunks/25-37d6fa7f064be04b.js" defer=""></script><script src="/_next/static/chunks/731-a9b66ccdc3fae2c2.js" defer=""></script><script src="/_next/static/chunks/318-bd030cc1725e23b5.js" defer=""></script><script src="/_next/static/chunks/904-6d6937d53ea2761e.js" defer=""></script><script src="/_next/static/chunks/pages/custom-types/%5BcustomTypeId%5D-3f862ad6111a1fc0.js" defer=""></script><script src="/_next/static/UxJUH6Ixus9Vdb-J9VGib/_buildManifest.js" defer=""></script><script src="/_next/static/UxJUH6Ixus9Vdb-J9VGib/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/custom-types/[customTypeId]","query":{},"buildId":"UxJUH6Ixus9Vdb-J9VGib","runtimeConfig":{"sentryEnvironment":"alpha"},"nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
|
package/out/custom-types.html
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/_next/static/css/
|
|
1
|
+
<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/_next/static/css/3c26dbbbd8f4be12.css" as="style"/><link rel="stylesheet" href="/_next/static/css/3c26dbbbd8f4be12.css" data-n-g=""/><link rel="preload" href="/_next/static/css/be1f49e49a5aa7eb.css" as="style"/><link rel="stylesheet" href="/_next/static/css/be1f49e49a5aa7eb.css" data-n-p=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-c67a75d1b6f99dc8.js"></script><script src="/_next/static/chunks/webpack-2f903acb0cccbf9e.js" defer=""></script><script src="/_next/static/chunks/framework-cdccea7a52cc6e81.js" defer=""></script><script src="/_next/static/chunks/main-5e6780279ca21cb9.js" defer=""></script><script src="/_next/static/chunks/pages/_app-825abf5103b0a501.js" defer=""></script><script src="/_next/static/chunks/731-a9b66ccdc3fae2c2.js" defer=""></script><script src="/_next/static/chunks/727-2235967a881f9035.js" defer=""></script><script src="/_next/static/chunks/pages/custom-types-94b8f8dbf7727412.js" defer=""></script><script src="/_next/static/UxJUH6Ixus9Vdb-J9VGib/_buildManifest.js" defer=""></script><script src="/_next/static/UxJUH6Ixus9Vdb-J9VGib/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/custom-types","query":{},"buildId":"UxJUH6Ixus9Vdb-J9VGib","runtimeConfig":{"sentryEnvironment":"alpha"},"nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
|
package/out/index.html
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/_next/static/css/
|
|
1
|
+
<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/_next/static/css/3c26dbbbd8f4be12.css" as="style"/><link rel="stylesheet" href="/_next/static/css/3c26dbbbd8f4be12.css" data-n-g=""/><link rel="preload" href="/_next/static/css/be1f49e49a5aa7eb.css" as="style"/><link rel="stylesheet" href="/_next/static/css/be1f49e49a5aa7eb.css" data-n-p=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-c67a75d1b6f99dc8.js"></script><script src="/_next/static/chunks/webpack-2f903acb0cccbf9e.js" defer=""></script><script src="/_next/static/chunks/framework-cdccea7a52cc6e81.js" defer=""></script><script src="/_next/static/chunks/main-5e6780279ca21cb9.js" defer=""></script><script src="/_next/static/chunks/pages/_app-825abf5103b0a501.js" defer=""></script><script src="/_next/static/chunks/731-a9b66ccdc3fae2c2.js" defer=""></script><script src="/_next/static/chunks/727-2235967a881f9035.js" defer=""></script><script src="/_next/static/chunks/pages/index-64cfb8b0948ba8ef.js" defer=""></script><script src="/_next/static/UxJUH6Ixus9Vdb-J9VGib/_buildManifest.js" defer=""></script><script src="/_next/static/UxJUH6Ixus9Vdb-J9VGib/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/","query":{},"buildId":"UxJUH6Ixus9Vdb-J9VGib","runtimeConfig":{"sentryEnvironment":"alpha"},"nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
|
package/out/labs.html
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/_next/static/css/
|
|
1
|
+
<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/_next/static/css/3c26dbbbd8f4be12.css" as="style"/><link rel="stylesheet" href="/_next/static/css/3c26dbbbd8f4be12.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-c67a75d1b6f99dc8.js"></script><script src="/_next/static/chunks/webpack-2f903acb0cccbf9e.js" defer=""></script><script src="/_next/static/chunks/framework-cdccea7a52cc6e81.js" defer=""></script><script src="/_next/static/chunks/main-5e6780279ca21cb9.js" defer=""></script><script src="/_next/static/chunks/pages/_app-825abf5103b0a501.js" defer=""></script><script src="/_next/static/chunks/pages/labs-39b50541a4c370bf.js" defer=""></script><script src="/_next/static/UxJUH6Ixus9Vdb-J9VGib/_buildManifest.js" defer=""></script><script src="/_next/static/UxJUH6Ixus9Vdb-J9VGib/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/labs","query":{},"buildId":"UxJUH6Ixus9Vdb-J9VGib","runtimeConfig":{"sentryEnvironment":"alpha"},"nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/_next/static/css/
|
|
1
|
+
<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/_next/static/css/3c26dbbbd8f4be12.css" as="style"/><link rel="stylesheet" href="/_next/static/css/3c26dbbbd8f4be12.css" data-n-g=""/><link rel="preload" href="/_next/static/css/72465cc1225f28a2.css" as="style"/><link rel="stylesheet" href="/_next/static/css/72465cc1225f28a2.css" data-n-p=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-c67a75d1b6f99dc8.js"></script><script src="/_next/static/chunks/webpack-2f903acb0cccbf9e.js" defer=""></script><script src="/_next/static/chunks/framework-cdccea7a52cc6e81.js" defer=""></script><script src="/_next/static/chunks/main-5e6780279ca21cb9.js" defer=""></script><script src="/_next/static/chunks/pages/_app-825abf5103b0a501.js" defer=""></script><script src="/_next/static/chunks/59b4e022-7a3b5554b806349f.js" defer=""></script><script src="/_next/static/chunks/f36c6662-03bb5e9d9aa0b0aa.js" defer=""></script><script src="/_next/static/chunks/4c744e84-e3161d754618373f.js" defer=""></script><script src="/_next/static/chunks/065a3ddb-9a38ca0d60f0bf2f.js" defer=""></script><script src="/_next/static/chunks/1cc2734a-2c5b6c0367fcde86.js" defer=""></script><script src="/_next/static/chunks/183-4feb6bb3eddbc768.js" defer=""></script><script src="/_next/static/chunks/50-cfc2514205b86001.js" defer=""></script><script src="/_next/static/chunks/543-f8766685f7f451e2.js" defer=""></script><script src="/_next/static/chunks/696-b12edad30a3617e5.js" defer=""></script><script src="/_next/static/chunks/474-5a072e6fac61f703.js" defer=""></script><script src="/_next/static/chunks/25-37d6fa7f064be04b.js" defer=""></script><script src="/_next/static/chunks/731-a9b66ccdc3fae2c2.js" defer=""></script><script src="/_next/static/chunks/318-bd030cc1725e23b5.js" defer=""></script><script src="/_next/static/chunks/904-6d6937d53ea2761e.js" defer=""></script><script src="/_next/static/chunks/pages/page-types/%5BpageTypeId%5D-d1ffca11c42f2603.js" defer=""></script><script src="/_next/static/UxJUH6Ixus9Vdb-J9VGib/_buildManifest.js" defer=""></script><script src="/_next/static/UxJUH6Ixus9Vdb-J9VGib/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/page-types/[pageTypeId]","query":{},"buildId":"UxJUH6Ixus9Vdb-J9VGib","runtimeConfig":{"sentryEnvironment":"alpha"},"nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/_next/static/css/3c26dbbbd8f4be12.css" as="style"/><link rel="stylesheet" href="/_next/static/css/3c26dbbbd8f4be12.css" data-n-g=""/><link rel="preload" href="/_next/static/css/ca32882a5d2d8d88.css" as="style"/><link rel="stylesheet" href="/_next/static/css/ca32882a5d2d8d88.css" data-n-p=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-c67a75d1b6f99dc8.js"></script><script src="/_next/static/chunks/webpack-2f903acb0cccbf9e.js" defer=""></script><script src="/_next/static/chunks/framework-cdccea7a52cc6e81.js" defer=""></script><script src="/_next/static/chunks/main-5e6780279ca21cb9.js" defer=""></script><script src="/_next/static/chunks/pages/_app-825abf5103b0a501.js" defer=""></script><script src="/_next/static/chunks/pages/settings-386e0971d78f7d57.js" defer=""></script><script src="/_next/static/UxJUH6Ixus9Vdb-J9VGib/_buildManifest.js" defer=""></script><script src="/_next/static/UxJUH6Ixus9Vdb-J9VGib/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/settings","query":{},"buildId":"UxJUH6Ixus9Vdb-J9VGib","runtimeConfig":{"sentryEnvironment":"alpha"},"nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/_next/static/css/
|
|
1
|
+
<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/_next/static/css/3c26dbbbd8f4be12.css" as="style"/><link rel="stylesheet" href="/_next/static/css/3c26dbbbd8f4be12.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-c67a75d1b6f99dc8.js"></script><script src="/_next/static/chunks/webpack-2f903acb0cccbf9e.js" defer=""></script><script src="/_next/static/chunks/framework-cdccea7a52cc6e81.js" defer=""></script><script src="/_next/static/chunks/main-5e6780279ca21cb9.js" defer=""></script><script src="/_next/static/chunks/pages/_app-825abf5103b0a501.js" defer=""></script><script src="/_next/static/chunks/c8eae200-966ce352f7b5d2b9.js" defer=""></script><script src="/_next/static/chunks/72585f70-28b4d7d5384b3703.js" defer=""></script><script src="/_next/static/chunks/18539003-5f78714a35fde4a1.js" defer=""></script><script src="/_next/static/chunks/777-8c5507e3b119b5dc.js" defer=""></script><script src="/_next/static/chunks/pages/slices/%5Blib%5D/%5BsliceName%5D/%5Bvariation%5D/simulator-b12346e58ac9abea.js" defer=""></script><script src="/_next/static/UxJUH6Ixus9Vdb-J9VGib/_buildManifest.js" defer=""></script><script src="/_next/static/UxJUH6Ixus9Vdb-J9VGib/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/slices/[lib]/[sliceName]/[variation]/simulator","query":{},"buildId":"UxJUH6Ixus9Vdb-J9VGib","runtimeConfig":{"sentryEnvironment":"alpha"},"nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/_next/static/css/
|
|
1
|
+
<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/_next/static/css/3c26dbbbd8f4be12.css" as="style"/><link rel="stylesheet" href="/_next/static/css/3c26dbbbd8f4be12.css" data-n-g=""/><link rel="preload" href="/_next/static/css/b22c0750c14cc089.css" as="style"/><link rel="stylesheet" href="/_next/static/css/b22c0750c14cc089.css" data-n-p=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-c67a75d1b6f99dc8.js"></script><script src="/_next/static/chunks/webpack-2f903acb0cccbf9e.js" defer=""></script><script src="/_next/static/chunks/framework-cdccea7a52cc6e81.js" defer=""></script><script src="/_next/static/chunks/main-5e6780279ca21cb9.js" defer=""></script><script src="/_next/static/chunks/pages/_app-825abf5103b0a501.js" defer=""></script><script src="/_next/static/chunks/59b4e022-7a3b5554b806349f.js" defer=""></script><script src="/_next/static/chunks/c8eae200-966ce352f7b5d2b9.js" defer=""></script><script src="/_next/static/chunks/f36c6662-03bb5e9d9aa0b0aa.js" defer=""></script><script src="/_next/static/chunks/4c744e84-e3161d754618373f.js" defer=""></script><script src="/_next/static/chunks/065a3ddb-9a38ca0d60f0bf2f.js" defer=""></script><script src="/_next/static/chunks/1cc2734a-2c5b6c0367fcde86.js" defer=""></script><script src="/_next/static/chunks/183-4feb6bb3eddbc768.js" defer=""></script><script src="/_next/static/chunks/50-cfc2514205b86001.js" defer=""></script><script src="/_next/static/chunks/543-f8766685f7f451e2.js" defer=""></script><script src="/_next/static/chunks/696-b12edad30a3617e5.js" defer=""></script><script src="/_next/static/chunks/25-37d6fa7f064be04b.js" defer=""></script><script src="/_next/static/chunks/318-bd030cc1725e23b5.js" defer=""></script><script src="/_next/static/chunks/286-ed90373e9a469944.js" defer=""></script><script src="/_next/static/chunks/pages/slices/%5Blib%5D/%5BsliceName%5D/%5Bvariation%5D-62b55bae7f1b3793.js" defer=""></script><script src="/_next/static/UxJUH6Ixus9Vdb-J9VGib/_buildManifest.js" defer=""></script><script src="/_next/static/UxJUH6Ixus9Vdb-J9VGib/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/slices/[lib]/[sliceName]/[variation]","query":{},"buildId":"UxJUH6Ixus9Vdb-J9VGib","runtimeConfig":{"sentryEnvironment":"alpha"},"nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
|
package/out/slices.html
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/_next/static/css/
|
|
1
|
+
<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/_next/static/css/3c26dbbbd8f4be12.css" as="style"/><link rel="stylesheet" href="/_next/static/css/3c26dbbbd8f4be12.css" data-n-g=""/><link rel="preload" href="/_next/static/css/f8eb526e10bc2441.css" as="style"/><link rel="stylesheet" href="/_next/static/css/f8eb526e10bc2441.css" data-n-p=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-c67a75d1b6f99dc8.js"></script><script src="/_next/static/chunks/webpack-2f903acb0cccbf9e.js" defer=""></script><script src="/_next/static/chunks/framework-cdccea7a52cc6e81.js" defer=""></script><script src="/_next/static/chunks/main-5e6780279ca21cb9.js" defer=""></script><script src="/_next/static/chunks/pages/_app-825abf5103b0a501.js" defer=""></script><script src="/_next/static/chunks/59b4e022-7a3b5554b806349f.js" defer=""></script><script src="/_next/static/chunks/c8eae200-966ce352f7b5d2b9.js" defer=""></script><script src="/_next/static/chunks/50-cfc2514205b86001.js" defer=""></script><script src="/_next/static/chunks/25-37d6fa7f064be04b.js" defer=""></script><script src="/_next/static/chunks/286-ed90373e9a469944.js" defer=""></script><script src="/_next/static/chunks/pages/slices-81e382c3374273df.js" defer=""></script><script src="/_next/static/UxJUH6Ixus9Vdb-J9VGib/_buildManifest.js" defer=""></script><script src="/_next/static/UxJUH6Ixus9Vdb-J9VGib/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/slices","query":{},"buildId":"UxJUH6Ixus9Vdb-J9VGib","runtimeConfig":{"sentryEnvironment":"alpha"},"nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "slice-machine-ui",
|
|
3
|
-
"version": "1.23.2-alpha.
|
|
3
|
+
"version": "1.23.2-alpha.bmo-add-github-settings-page.1",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"description": "A visual builder for your Slice Models with all the tools you need to generate data models and mock CMS content locally.",
|
|
6
6
|
"repository": {
|
|
@@ -36,15 +36,15 @@
|
|
|
36
36
|
},
|
|
37
37
|
"dependencies": {
|
|
38
38
|
"@radix-ui/react-visually-hidden": "1.0.3",
|
|
39
|
-
"@slicemachine/manager": "0.17.9-alpha.
|
|
40
|
-
"start-slicemachine": "0.12.15-alpha.
|
|
39
|
+
"@slicemachine/manager": "0.17.9-alpha.bmo-add-github-settings-page.4",
|
|
40
|
+
"start-slicemachine": "0.12.15-alpha.bmo-add-github-settings-page.4"
|
|
41
41
|
},
|
|
42
42
|
"devDependencies": {
|
|
43
43
|
"@emotion/react": "11.11.1",
|
|
44
44
|
"@extractus/oembed-extractor": "3.1.8",
|
|
45
|
-
"@prismicio/editor-fields": "0.4.
|
|
46
|
-
"@prismicio/editor-support": "0.4.
|
|
47
|
-
"@prismicio/editor-ui": "0.4.
|
|
45
|
+
"@prismicio/editor-fields": "0.4.22",
|
|
46
|
+
"@prismicio/editor-support": "0.4.22",
|
|
47
|
+
"@prismicio/editor-ui": "0.4.22",
|
|
48
48
|
"@prismicio/mocks": "2.0.0-alpha.2",
|
|
49
49
|
"@prismicio/simulator": "0.1.4",
|
|
50
50
|
"@prismicio/types-internal": "2.2.0",
|
|
@@ -104,6 +104,9 @@
|
|
|
104
104
|
"next-router-mock": "0.8.0",
|
|
105
105
|
"node-fetch": "3.3.1",
|
|
106
106
|
"parse-multipart-data": "1.5.0",
|
|
107
|
+
"postcss": "8.4.21",
|
|
108
|
+
"postcss-flexbugs-fixes": "5.0.2",
|
|
109
|
+
"postcss-preset-env": "9.3.0",
|
|
107
110
|
"rc-drawer": "4.4.3",
|
|
108
111
|
"react": "18.2.0",
|
|
109
112
|
"react-beautiful-dnd": "13.1.1",
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { SettingsPage as default } from "@src/features/settings/SettingsPage";
|
|
@@ -193,11 +193,14 @@ export const WithHeaderAndBoxContent = {
|
|
|
193
193
|
<OwnerSelect />
|
|
194
194
|
</FieldSetHeader>
|
|
195
195
|
<FieldSetContent>
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
196
|
+
<Box
|
|
197
|
+
flexDirection="column"
|
|
198
|
+
/*
|
|
199
|
+
* TODO: these `padding` values actually don't match Figma, but they
|
|
200
|
+
* are the closest allowed by the `Box` component.
|
|
201
|
+
*/
|
|
202
|
+
padding={{ block: 72, inline: 100 }}
|
|
203
|
+
>
|
|
201
204
|
<Text align="center" variant="emphasized">
|
|
202
205
|
No Results Found
|
|
203
206
|
</Text>
|
|
@@ -230,12 +233,18 @@ function OwnerSelect(props: OwnerSelectProps) {
|
|
|
230
233
|
size="large"
|
|
231
234
|
sx={{ width: "calc(50% - 8px)" }}
|
|
232
235
|
>
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
236
|
+
{[...Array(2).keys()].map((index) => (
|
|
237
|
+
<SelectItem
|
|
238
|
+
key={index}
|
|
239
|
+
renderStartIcon={() => (
|
|
240
|
+
<GitHubIcon color={tokens.color.greyLight11} />
|
|
241
|
+
)}
|
|
242
|
+
size="large"
|
|
243
|
+
value={`owner-${index}`}
|
|
244
|
+
>
|
|
245
|
+
Owner
|
|
246
|
+
</SelectItem>
|
|
247
|
+
))}
|
|
239
248
|
</Select>
|
|
240
249
|
);
|
|
241
250
|
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { Meta, StoryObj } from "@storybook/react";
|
|
2
|
+
|
|
3
|
+
import { RelativeTime } from "./RelativeTime";
|
|
4
|
+
|
|
5
|
+
type Story = StoryObj<typeof meta>;
|
|
6
|
+
|
|
7
|
+
const meta = {
|
|
8
|
+
component: RelativeTime,
|
|
9
|
+
argTypes: {
|
|
10
|
+
date: { control: "date" },
|
|
11
|
+
},
|
|
12
|
+
} satisfies Meta<typeof RelativeTime>;
|
|
13
|
+
|
|
14
|
+
export default meta;
|
|
15
|
+
|
|
16
|
+
export const Default = {
|
|
17
|
+
args: {
|
|
18
|
+
date: new Date("1 Jan 2024"),
|
|
19
|
+
},
|
|
20
|
+
render: ({ date, ...otherArgs }) => (
|
|
21
|
+
// The `date` control converts the `date` arg into a UNIX timestamp. That's
|
|
22
|
+
// why we need to convert it back into a `Date` object.
|
|
23
|
+
<RelativeTime {...otherArgs} date={new Date(date)} />
|
|
24
|
+
),
|
|
25
|
+
} satisfies Story;
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { Text } from "@prismicio/editor-ui";
|
|
2
|
+
import type { FC } from "react";
|
|
3
|
+
|
|
4
|
+
type RelativeTimeProps = {
|
|
5
|
+
date: Date;
|
|
6
|
+
};
|
|
7
|
+
|
|
8
|
+
export const RelativeTime: FC<RelativeTimeProps> = ({
|
|
9
|
+
date,
|
|
10
|
+
...otherProps
|
|
11
|
+
}) => (
|
|
12
|
+
<Text {...otherProps} color="inherit" variant="inherit">
|
|
13
|
+
{formatRelativeTime(date)}
|
|
14
|
+
</Text>
|
|
15
|
+
);
|
|
16
|
+
|
|
17
|
+
const rtf = new Intl.RelativeTimeFormat("en", {
|
|
18
|
+
numeric: "auto",
|
|
19
|
+
style: "narrow",
|
|
20
|
+
});
|
|
21
|
+
|
|
22
|
+
function formatRelativeTime(date: Date, now = new Date()): string {
|
|
23
|
+
return rtf.format(differenceInCalendarDays(date, now), "day");
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
const millisecondsInDay = 1_000 * 60 * 60 * 24;
|
|
27
|
+
|
|
28
|
+
// Adapted from: https://github.com/date-fns/date-fns/blob/6f44a167e71053999c10aa9462d7f0c52fec0faa/src/differenceInCalendarDays/index.ts.
|
|
29
|
+
function differenceInCalendarDays(dateLeft: Date, dateRight: Date): number {
|
|
30
|
+
const startOfDayLeft = startOfDay(dateLeft);
|
|
31
|
+
const startOfDayRight = startOfDay(dateRight);
|
|
32
|
+
return Math.round((+startOfDayLeft - +startOfDayRight) / millisecondsInDay);
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
// Adapted from: https://github.com/date-fns/date-fns/blob/6f44a167e71053999c10aa9462d7f0c52fec0faa/src/startOfDay/index.ts.
|
|
36
|
+
function startOfDay(date: Date): Date {
|
|
37
|
+
const newDate = new Date(date);
|
|
38
|
+
newDate.setHours(0, 0, 0, 0);
|
|
39
|
+
return newDate;
|
|
40
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { RelativeTime } from "./RelativeTime";
|
|
@@ -13,6 +13,6 @@ export async function setEnvironment(
|
|
|
13
13
|
environment: environment.domain,
|
|
14
14
|
});
|
|
15
15
|
|
|
16
|
-
revalidateData(getActiveEnvironment, []);
|
|
17
|
-
revalidateData(getLegacySliceMachineState, []);
|
|
16
|
+
void revalidateData(getActiveEnvironment, []);
|
|
17
|
+
void revalidateData(getLegacySliceMachineState, []);
|
|
18
18
|
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { Box } from "@prismicio/editor-ui";
|
|
2
|
+
import Head from "next/head";
|
|
3
|
+
import type { FC } from "react";
|
|
4
|
+
|
|
5
|
+
import {
|
|
6
|
+
AppLayout,
|
|
7
|
+
AppLayoutBreadcrumb,
|
|
8
|
+
AppLayoutContent,
|
|
9
|
+
AppLayoutHeader,
|
|
10
|
+
} from "@components/AppLayout";
|
|
11
|
+
import { ConnectGitRepository } from "@src/features/settings/git/ConnectGitRepository";
|
|
12
|
+
|
|
13
|
+
export const SettingsPage: FC = () => (
|
|
14
|
+
<>
|
|
15
|
+
<Head>
|
|
16
|
+
<title>Settings - Slice Machine</title>
|
|
17
|
+
</Head>
|
|
18
|
+
<AppLayout>
|
|
19
|
+
<AppLayoutHeader>
|
|
20
|
+
<AppLayoutBreadcrumb folder="Settings" />
|
|
21
|
+
</AppLayoutHeader>
|
|
22
|
+
<AppLayoutContent>
|
|
23
|
+
<Box flexDirection="column" maxWidth={600}>
|
|
24
|
+
<ConnectGitRepository />
|
|
25
|
+
</Box>
|
|
26
|
+
</AppLayoutContent>
|
|
27
|
+
</AppLayout>
|
|
28
|
+
</>
|
|
29
|
+
);
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import { Button, ErrorBoundary, IconButton } from "@prismicio/editor-ui";
|
|
2
|
+
import { isUnauthenticatedError } from "@slicemachine/manager/client";
|
|
3
|
+
import { type FC, type ReactNode, Suspense } from "react";
|
|
4
|
+
|
|
5
|
+
import {
|
|
6
|
+
FieldSet,
|
|
7
|
+
FieldSetContent,
|
|
8
|
+
FieldSetFooter,
|
|
9
|
+
FieldSetLegend,
|
|
10
|
+
} from "@src/components/FieldSet";
|
|
11
|
+
import { ConnectGitRepositoryBlankSlate } from "@src/features/settings/git/ConnectGitRepositoryBlankSlate";
|
|
12
|
+
import { GitProviderConnectButtons } from "@src/features/settings/git/GitProviderConnectButtons";
|
|
13
|
+
import { GitRepositoriesList } from "@src/features/settings/git/GitRepositoriesList";
|
|
14
|
+
import {
|
|
15
|
+
GitRepositoriesSearch,
|
|
16
|
+
GitRepositoriesSearchSkeleton,
|
|
17
|
+
} from "@src/features/settings/git/GitRepositoriesSearch";
|
|
18
|
+
import { useGitOwners } from "@src/features/settings/git/useGitOwners";
|
|
19
|
+
import { useLinkedGitRepos } from "@src/features/settings/git/useLinkedGitRepos";
|
|
20
|
+
import { useUser } from "@src/hooks/useUser";
|
|
21
|
+
import useSliceMachineActions from "@src/modules/useSliceMachineActions";
|
|
22
|
+
|
|
23
|
+
export const ConnectGitRepository: FC = () => (
|
|
24
|
+
<FieldSet>
|
|
25
|
+
<FieldSetLegend>Connected Git Repository</FieldSetLegend>
|
|
26
|
+
<ErrorBoundary renderError={renderError}>
|
|
27
|
+
<Suspense fallback={<GitRepositoriesSearchSkeleton gitOwnerSelect />}>
|
|
28
|
+
<Content />
|
|
29
|
+
</Suspense>
|
|
30
|
+
</ErrorBoundary>
|
|
31
|
+
<FieldSetFooter action={<IconButton icon="openInNew" />}>
|
|
32
|
+
Learn more about Prismic for Git
|
|
33
|
+
</FieldSetFooter>
|
|
34
|
+
</FieldSet>
|
|
35
|
+
);
|
|
36
|
+
|
|
37
|
+
const Content: FC = () => {
|
|
38
|
+
const { isLoggedIn } = useUser();
|
|
39
|
+
return isLoggedIn ? <LoggedInContent /> : <LoggedOutContent />;
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
const LoggedInContent: FC = () => {
|
|
43
|
+
const { linkedGitRepos } = useLinkedGitRepos();
|
|
44
|
+
return linkedGitRepos.length > 0 ? (
|
|
45
|
+
<GitRepositoriesList mode="unlink" repos={linkedGitRepos} />
|
|
46
|
+
) : (
|
|
47
|
+
<UnlinkedRepositoryContent />
|
|
48
|
+
);
|
|
49
|
+
};
|
|
50
|
+
|
|
51
|
+
const UnlinkedRepositoryContent: FC = () => {
|
|
52
|
+
const owners = useGitOwners();
|
|
53
|
+
return owners.length > 0 ? (
|
|
54
|
+
<GitRepositoriesSearch owners={owners} />
|
|
55
|
+
) : (
|
|
56
|
+
<FieldSetContent>
|
|
57
|
+
<GitProviderConnectButtons />
|
|
58
|
+
</FieldSetContent>
|
|
59
|
+
);
|
|
60
|
+
};
|
|
61
|
+
|
|
62
|
+
const LoggedOutContent: FC = () => {
|
|
63
|
+
const { openLoginModal } = useSliceMachineActions();
|
|
64
|
+
return (
|
|
65
|
+
<FieldSetContent>
|
|
66
|
+
<ConnectGitRepositoryBlankSlate
|
|
67
|
+
title="It seems like you are logged out"
|
|
68
|
+
description="Log in to connect a Git repository."
|
|
69
|
+
action={<Button onClick={openLoginModal}>Log in to Prismic</Button>}
|
|
70
|
+
/>
|
|
71
|
+
</FieldSetContent>
|
|
72
|
+
);
|
|
73
|
+
};
|
|
74
|
+
|
|
75
|
+
function renderError(error: unknown, reset: () => void): ReactNode {
|
|
76
|
+
if (isUnauthenticatedError(error)) {
|
|
77
|
+
return <LoggedOutContent />;
|
|
78
|
+
} else {
|
|
79
|
+
return <UnknownErrorContent reset={reset} />;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
type UnknownErrorContentProps = { reset: () => void };
|
|
84
|
+
|
|
85
|
+
const UnknownErrorContent: FC<UnknownErrorContentProps> = ({ reset }) => (
|
|
86
|
+
<FieldSetContent>
|
|
87
|
+
<ConnectGitRepositoryBlankSlate
|
|
88
|
+
title="Unable to fetch data"
|
|
89
|
+
description="An error occurred while fetching the list of connected Git repositories."
|
|
90
|
+
action={
|
|
91
|
+
<Button color="grey" onClick={reset}>
|
|
92
|
+
Retry
|
|
93
|
+
</Button>
|
|
94
|
+
}
|
|
95
|
+
/>
|
|
96
|
+
</FieldSetContent>
|
|
97
|
+
);
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { Box, ButtonGroup, Text } from "@prismicio/editor-ui";
|
|
2
|
+
import type { FC, ReactNode } from "react";
|
|
3
|
+
|
|
4
|
+
type ConnectGitRepositoryBlankSlateProps = {
|
|
5
|
+
title: string;
|
|
6
|
+
description: string;
|
|
7
|
+
action?: ReactNode;
|
|
8
|
+
};
|
|
9
|
+
|
|
10
|
+
export const ConnectGitRepositoryBlankSlate: FC<
|
|
11
|
+
ConnectGitRepositoryBlankSlateProps
|
|
12
|
+
> = ({ title, description, action }) => (
|
|
13
|
+
<Box
|
|
14
|
+
flexDirection="column"
|
|
15
|
+
/*
|
|
16
|
+
* TODO: these `padding` values actually don't match Figma, but they are the
|
|
17
|
+
* closest allowed by the `Box` component.
|
|
18
|
+
*/
|
|
19
|
+
padding={{ block: 72, inline: 100 }}
|
|
20
|
+
>
|
|
21
|
+
<Text align="center" variant="emphasized">
|
|
22
|
+
{title}
|
|
23
|
+
</Text>
|
|
24
|
+
<Text align="center" color="grey11">
|
|
25
|
+
{description}
|
|
26
|
+
</Text>
|
|
27
|
+
{Boolean(action) ? (
|
|
28
|
+
<ButtonGroup sx={{ alignSelf: "center", marginTop: 8 }}>
|
|
29
|
+
{action}
|
|
30
|
+
</ButtonGroup>
|
|
31
|
+
) : undefined}
|
|
32
|
+
</Box>
|
|
33
|
+
);
|