m2m-components 0.3.1 → 0.4.0

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/cjs/domains.js CHANGED
@@ -8,12 +8,18 @@ const domains = process.env.NODE_ENV === "production" ? {
8
8
  core: "https://core.m2msystems.cloud",
9
9
  sumyca: "https://manage.sumyca.com",
10
10
  cleaning: "https://manager-cleaning.m2msystems.cloud",
11
- users: "https://manage-users.m2msystems.cloud"
11
+ users: "https://manage-users.m2msystems.cloud",
12
+ inspection: "https://inspection.m2msystems.cloud",
13
+ checkin: "https://manage.checkin.m2msystems.cloud",
14
+ systems: "https://m2msystems.cloud/"
12
15
  } : {
13
16
  core: "https://master--m2m-core-manager-front.netlify.app",
14
17
  sumyca: "https://master--sumyca-manager-front.netlify.app",
15
18
  cleaning: "https://master--m2m-cleaning-manager-front.netlify.app",
16
- users: "https://master--manage-users.netlify.app"
19
+ users: "https://master--manage-users.netlify.app",
20
+ inspection: "https://master--m2m-inspection-manager-front.netlify.app",
21
+ checkin: "https://manage.dev.checkin.m2msystems.cloud",
22
+ systems: "https://dev.m2msystems.cloud"
17
23
  };
18
24
  exports.domains = domains;
19
25
  //# sourceMappingURL=domains.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/domains.ts"],"names":["domains","process","env","NODE_ENV","core","sumyca","cleaning","users"],"mappings":";;;;;;AAAO,MAAMA,OAAO,GAClBC,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,YAAzB,GACI;AACEC,EAAAA,IAAI,EAAE,+BADR;AAEEC,EAAAA,MAAM,EAAE,2BAFV;AAGEC,EAAAA,QAAQ,EAAE,2CAHZ;AAIEC,EAAAA,KAAK,EAAE;AAJT,CADJ,GAOI;AACEH,EAAAA,IAAI,EAAE,oDADR;AAEEC,EAAAA,MAAM,EAAE,kDAFV;AAGEC,EAAAA,QAAQ,EAAE,wDAHZ;AAIEC,EAAAA,KAAK,EAAE;AAJT,CARC","sourcesContent":["export const domains =\n process.env.NODE_ENV === \"production\"\n ? {\n core: \"https://core.m2msystems.cloud\",\n sumyca: \"https://manage.sumyca.com\",\n cleaning: \"https://manager-cleaning.m2msystems.cloud\",\n users: \"https://manage-users.m2msystems.cloud\",\n }\n : {\n core: \"https://master--m2m-core-manager-front.netlify.app\",\n sumyca: \"https://master--sumyca-manager-front.netlify.app\",\n cleaning: \"https://master--m2m-cleaning-manager-front.netlify.app\",\n users: \"https://master--manage-users.netlify.app\",\n };\n"],"file":"domains.js"}
1
+ {"version":3,"sources":["../src/domains.ts"],"names":["domains","process","env","NODE_ENV","core","sumyca","cleaning","users","inspection","checkin","systems"],"mappings":";;;;;;AAAO,MAAMA,OAAO,GAClBC,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,YAAzB,GACI;AACEC,EAAAA,IAAI,EAAE,+BADR;AAEEC,EAAAA,MAAM,EAAE,2BAFV;AAGEC,EAAAA,QAAQ,EAAE,2CAHZ;AAIEC,EAAAA,KAAK,EAAE,uCAJT;AAKEC,EAAAA,UAAU,EAAE,qCALd;AAMEC,EAAAA,OAAO,EAAE,yCANX;AAOEC,EAAAA,OAAO,EAAE;AAPX,CADJ,GAUI;AACEN,EAAAA,IAAI,EAAE,oDADR;AAEEC,EAAAA,MAAM,EAAE,kDAFV;AAGEC,EAAAA,QAAQ,EAAE,wDAHZ;AAIEC,EAAAA,KAAK,EAAE,0CAJT;AAKEC,EAAAA,UAAU,EAAE,0DALd;AAMEC,EAAAA,OAAO,EAAE,6CANX;AAOEC,EAAAA,OAAO,EAAE;AAPX,CAXC","sourcesContent":["export const domains =\n process.env.NODE_ENV === \"production\"\n ? {\n core: \"https://core.m2msystems.cloud\",\n sumyca: \"https://manage.sumyca.com\",\n cleaning: \"https://manager-cleaning.m2msystems.cloud\",\n users: \"https://manage-users.m2msystems.cloud\",\n inspection: \"https://inspection.m2msystems.cloud\",\n checkin: \"https://manage.checkin.m2msystems.cloud\",\n systems: \"https://m2msystems.cloud/\",\n }\n : {\n core: \"https://master--m2m-core-manager-front.netlify.app\",\n sumyca: \"https://master--sumyca-manager-front.netlify.app\",\n cleaning: \"https://master--m2m-cleaning-manager-front.netlify.app\",\n users: \"https://master--manage-users.netlify.app\",\n inspection: \"https://master--m2m-inspection-manager-front.netlify.app\",\n checkin: \"https://manage.dev.checkin.m2msystems.cloud\",\n systems: \"https://dev.m2msystems.cloud\",\n };\n"],"file":"domains.js"}
@@ -89,8 +89,13 @@ let M2MAppsMenu = _decorate([(0, _decorators.customElement)("m2m-apps-menu")], f
89
89
  class="navigation-drawer"
90
90
  >
91
91
  <li><a href="${_domains.domains.core}">m2m-core 施設管理</a></li>
92
- <li><a href="${_domains.domains.users}">m2m-users アカウント管理</a></li>
92
+ <li><a href="${_domains.domains.checkin}">m2m-checkin ゲストチェックイン</a></li>
93
+ <li><a href="${_domains.domains.systems}">m2m-systems Airbnb連携</a></li>
93
94
  <li><a href="${_domains.domains.cleaning}">m2m-cleaning 清掃管理</a></li>
95
+ <li>
96
+ <a href="${_domains.domains.inspection}">m2m-inspection 内見チェック</a>
97
+ </li>
98
+ <li><a href="${_domains.domains.users}">m2m-users アカウント管理</a></li>
94
99
  <li>
95
100
  <a href="${_domains.domains.sumyca}">Sumyca マンスリープラットフォーム</a>
96
101
  </li>
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/m2m-apps-menu.ts"],"names":["M2MAppsMenu","expanded","handleToggleDrawer","listRef","domains","core","users","cleaning","sumyca","LitMenuBaseElement"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAGaA,W,cADZ,+BAAc,eAAd,C;AAAD,QACaA,WADb,6BACoD;AAAA;AAAA;;AAAA;AAAA;;AAAA;;;OAAvCA,W;;;;aACX,kBAAS;AACP,eAAO,cAAK;AAChB;AACA;AACA;AACA;AACA,wBAAwB,KAAKC,QAAS;AACtC,iBAAiB,KAAKC,kBAAmB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,cAAI,KAAKC,OAAT,CAAkB;AAC5B;AACA,sBAAsB,CAAC,KAAKF,QAAS;AACrC;AACA;AACA,uBAAuBG,iBAAQC,IAAK;AACpC,uBAAuBD,iBAAQE,KAAM;AACrC,uBAAuBF,iBAAQG,QAAS;AACxC;AACA,qBAAqBH,iBAAQI,MAAO;AACpC;AACA;AACA,WAhCI;AAiCD;;;GAnC8BC,uC","sourcesContent":["import { domains } from \"./domains\";\nimport { html } from \"lit\";\nimport { customElement } from \"lit/decorators.js\";\nimport { ref } from \"lit/directives/ref.js\";\nimport { LitMenuBaseElement } from \"./LitMenuBaseElement\";\n\n@customElement(\"m2m-apps-menu\")\nexport class M2MAppsMenu extends LitMenuBaseElement {\n render() {\n return html`<nav>\n <button\n type=\"button\"\n class=\"navigation-drawer-controll-button navigation-drawer-controll-button--icon\"\n aria-controls=\"m2m-apps-menu__navigation-drawer\"\n aria-expanded=${this.expanded}\n @click=${this.handleToggleDrawer}\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n >\n <path\n d=\"M4 8h4V4H4v4zm6 12h4v-4h-4v4zm-6 0h4v-4H4v4zm0-6h4v-4H4v4zm6 0h4v-4h-4v4zm6-10v4h4V4h-4zm-6 4h4V4h-4v4zm6 6h4v-4h-4v4zm0 6h4v-4h-4v4z\"\n />\n </svg>\n </button>\n <ul\n ${ref(this.listRef)}\n id=\"m2m-apps-menu__navigation-drawer\"\n aria-hidden=${!this.expanded}\n class=\"navigation-drawer\"\n >\n <li><a href=\"${domains.core}\">m2m-core 施設管理</a></li>\n <li><a href=\"${domains.users}\">m2m-users アカウント管理</a></li>\n <li><a href=\"${domains.cleaning}\">m2m-cleaning 清掃管理</a></li>\n <li>\n <a href=\"${domains.sumyca}\">Sumyca マンスリープラットフォーム</a>\n </li>\n </ul>\n </nav>`;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"m2m-apps-menu\": M2MAppsMenu;\n }\n}\n"],"file":"m2m-apps-menu.js"}
1
+ {"version":3,"sources":["../src/m2m-apps-menu.ts"],"names":["M2MAppsMenu","expanded","handleToggleDrawer","listRef","domains","core","checkin","systems","cleaning","inspection","users","sumyca","LitMenuBaseElement"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAGaA,W,cADZ,+BAAc,eAAd,C;AAAD,QACaA,WADb,6BACoD;AAAA;AAAA;;AAAA;AAAA;;AAAA;;;OAAvCA,W;;;;aACX,kBAAS;AACP,eAAO,cAAK;AAChB;AACA;AACA;AACA;AACA,wBAAwB,KAAKC,QAAS;AACtC,iBAAiB,KAAKC,kBAAmB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,cAAI,KAAKC,OAAT,CAAkB;AAC5B;AACA,sBAAsB,CAAC,KAAKF,QAAS;AACrC;AACA;AACA,uBAAuBG,iBAAQC,IAAK;AACpC,uBAAuBD,iBAAQE,OAAQ;AACvC,uBAAuBF,iBAAQG,OAAQ;AACvC,uBAAuBH,iBAAQI,QAAS;AACxC;AACA,qBAAqBJ,iBAAQK,UAAW;AACxC;AACA,uBAAuBL,iBAAQM,KAAM;AACrC;AACA,qBAAqBN,iBAAQO,MAAO;AACpC;AACA;AACA,WArCI;AAsCD;;;GAxC8BC,uC","sourcesContent":["import { domains } from \"./domains\";\nimport { html } from \"lit\";\nimport { customElement } from \"lit/decorators.js\";\nimport { ref } from \"lit/directives/ref.js\";\nimport { LitMenuBaseElement } from \"./LitMenuBaseElement\";\n\n@customElement(\"m2m-apps-menu\")\nexport class M2MAppsMenu extends LitMenuBaseElement {\n render() {\n return html`<nav>\n <button\n type=\"button\"\n class=\"navigation-drawer-controll-button navigation-drawer-controll-button--icon\"\n aria-controls=\"m2m-apps-menu__navigation-drawer\"\n aria-expanded=${this.expanded}\n @click=${this.handleToggleDrawer}\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n >\n <path\n d=\"M4 8h4V4H4v4zm6 12h4v-4h-4v4zm-6 0h4v-4H4v4zm0-6h4v-4H4v4zm6 0h4v-4h-4v4zm6-10v4h4V4h-4zm-6 4h4V4h-4v4zm6 6h4v-4h-4v4zm0 6h4v-4h-4v4z\"\n />\n </svg>\n </button>\n <ul\n ${ref(this.listRef)}\n id=\"m2m-apps-menu__navigation-drawer\"\n aria-hidden=${!this.expanded}\n class=\"navigation-drawer\"\n >\n <li><a href=\"${domains.core}\">m2m-core 施設管理</a></li>\n <li><a href=\"${domains.checkin}\">m2m-checkin ゲストチェックイン</a></li>\n <li><a href=\"${domains.systems}\">m2m-systems Airbnb連携</a></li>\n <li><a href=\"${domains.cleaning}\">m2m-cleaning 清掃管理</a></li>\n <li>\n <a href=\"${domains.inspection}\">m2m-inspection 内見チェック</a>\n </li>\n <li><a href=\"${domains.users}\">m2m-users アカウント管理</a></li>\n <li>\n <a href=\"${domains.sumyca}\">Sumyca マンスリープラットフォーム</a>\n </li>\n </ul>\n </nav>`;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"m2m-apps-menu\": M2MAppsMenu;\n }\n}\n"],"file":"m2m-apps-menu.js"}
@@ -34,7 +34,7 @@ const NotificationsProvider = ({
34
34
  return item.serviceId === serviceId && item.notificationType === notificationType && item.resourceSubscription.resourceSelectType === "any";
35
35
  });
36
36
  return subscription?.status;
37
- }, [subscriptions]);
37
+ }, [serviceId, subscriptions]);
38
38
  const {
39
39
  data: notifications,
40
40
  error,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/notification/NotificationProvider.tsx"],"names":["NotificationPermissionContext","undefined","NotificationsContext","NotificationsProvider","token","children","serviceId","data","subscriptions","refetch","refetchSubscriptions","m2mNotifications_v1","findMySubscriptions","checkPermission","notificationType","subscription","find","item","resourceSubscription","resourceSelectType","status","notifications","error","refetchNotifications","findNotificationsByServiceId","id","swrConfig","refreshInterval","console","permissionContextState","notificationsContextState","isAllRead","every","n","useNotifications","ctx","Error","useNotificationPermission"],"mappings":";;;;;;;AAAA;;AACA;;AAEA;;AACA;;;;;;AAIA,MAAMA,6BAA6B,gBAAG,0BAQpCC,SARoC,CAAtC;AAUA,MAAMC,oBAAoB,gBAAG,0BAG3BD,SAH2B,CAA7B,C,CAKA;;AACO,MAAME,qBAAkD,GAAG,CAAC;AACjEC,EAAAA,KADiE;AAEjEC,EAAAA;AAFiE,CAAD,KAG5D;AACJ,QAAMC,SAAS,GAAG,sCAAlB;AAEA,QAAM;AAAEC,IAAAA,IAAI,EAAEC,aAAR;AAAuBC,IAAAA,OAAO,EAAEC;AAAhC,MAAyD,gCAE7DN,KAF6D,EAEtDO,sCAAoBC,mBAApB,EAFsD,EAEX,EAFW,CAA/D;AAGA,QAAMC,eAAe,GAAG,wBACrBC,gBAAD,IAA8B;AAC5B,UAAMC,YAAY,GAAGP,aAAa,EAAEQ,IAAf,CAAqBC,IAAD,IAAU;AACjD,aACEA,IAAI,CAACX,SAAL,KAAmBA,SAAnB,IACAW,IAAI,CAACH,gBAAL,KAA0BA,gBAD1B,IAEAG,IAAI,CAACC,oBAAL,CAA0BC,kBAA1B,KAAiD,KAHnD;AAKD,KANoB,CAArB;AAQA,WAAOJ,YAAY,EAAEK,MAArB;AACD,GAXqB,EAYtB,CAACZ,aAAD,CAZsB,CAAxB;AAeA,QAAM;AACJD,IAAAA,IAAI,EAAEc,aADF;AAEJC,IAAAA,KAFI;AAGJb,IAAAA,OAAO,EAAEc;AAHL,MAIF,gCACFnB,KADE,EAEFO,sCAAoBa,4BAApB,CAAiD;AAAEC,IAAAA,EAAE,EAAEnB;AAAN,GAAjD,CAFE,EAGF;AAAEoB,IAAAA,SAAS,EAAE;AAAEC,MAAAA,eAAe,EAAE,OAAO,EAAP,GAAY;AAA/B;AAAb,GAHE,CAJJ;;AASA,MAAIL,KAAJ,EAAW;AACT;AACAM,IAAAA,OAAO,CAACN,KAAR,CAAcA,KAAd;AACD;;AAED,QAAMO,sBAAsB,GAAG,oBAAQ,MAAM;AAC3C,WAAO;AACLhB,MAAAA,eADK;AAELJ,MAAAA,OAAO,EAAEC;AAFJ,KAAP;AAID,GAL8B,EAK5B,CAACG,eAAD,EAAkBH,oBAAlB,CAL4B,CAA/B;AAOA,QAAMoB,yBAAyB,GAAG,oBAAQ,MAAM;AAC9C,WAAO;AACLT,MAAAA,aAAa,EAAEA,aAAa,EAAEd,IAAf,IAAuB,EADjC;AAELwB,MAAAA,SAAS,EAAEV,aAAa,EAAEd,IAAf,CAAoByB,KAApB,CAA2BC,CAAD,IAAOA,CAAC,CAACb,MAAF,KAAa,MAA9C,KAAyD,IAF/D;AAGLX,MAAAA,OAAO,EAAEc;AAHJ,KAAP;AAKD,GANiC,EAM/B,CAACA,oBAAD,EAAuBF,aAAa,EAAEd,IAAtC,CAN+B,CAAlC;AAQA,sBACE,6BAAC,6BAAD,CAA+B,QAA/B;AAAwC,IAAA,KAAK,EAAEsB;AAA/C,kBACE,6BAAC,oBAAD,CAAsB,QAAtB;AAA+B,IAAA,KAAK,EAAEC;AAAtC,KACGzB,QADH,CADF,CADF;AAOD,CA5DM;;;;AA8DA,MAAM6B,gBAAgB,GAAG,MAAM;AACpC,QAAMC,GAAG,GAAG,uBAAWjC,oBAAX,CAAZ;;AACA,MAAI,CAACiC,GAAL,EAAU;AACR,UAAM,IAAIC,KAAJ,CAAU,mCAAV,CAAN;AACD;;AAED,SAAOD,GAAP;AACD,CAPM;;;;AASA,MAAME,yBAAyB,GAAG,MAAM;AAC7C,QAAMF,GAAG,GAAG,uBAAWnC,6BAAX,CAAZ;;AACA,MAAI,CAACmC,GAAL,EAAU;AACR,UAAM,IAAIC,KAAJ,CAAU,mCAAV,CAAN;AACD;;AAED,SAAOD,GAAP;AACD,CAPM","sourcesContent":["import { createContext, useCallback, useContext } from \"react\";\nimport { useAuthFetch } from \"matsuri-hooks\";\nimport { useMemo } from \"react\";\nimport { m2mNotifications_v1 } from \"../endpoints/m2m-notifications.v1\";\nimport { useServiceId } from \"./ServiceIdProvider\";\nimport { SubscriptionStatus, Subscription, Notification } from \"./domain\";\nimport React from \"react\";\n\nconst NotificationPermissionContext = createContext<\n | {\n checkPermission: (\n notificationType: string\n ) => SubscriptionStatus | undefined;\n refetch: () => void;\n }\n | undefined\n>(undefined);\n\nconst NotificationsContext = createContext<\n | { notifications: Notification[]; isAllRead: boolean; refetch: () => void }\n | undefined\n>(undefined);\n\n// ServiceIdProviderの中で使うこと\nexport const NotificationsProvider: React.FC<{ token: string }> = ({\n token,\n children,\n}) => {\n const serviceId = useServiceId();\n\n const { data: subscriptions, refetch: refetchSubscriptions } = useAuthFetch<\n Subscription[]\n >(token, m2mNotifications_v1.findMySubscriptions(), {});\n const checkPermission = useCallback(\n (notificationType: string) => {\n const subscription = subscriptions?.find((item) => {\n return (\n item.serviceId === serviceId &&\n item.notificationType === notificationType &&\n item.resourceSubscription.resourceSelectType === \"any\"\n );\n });\n\n return subscription?.status;\n },\n [subscriptions]\n );\n\n const {\n data: notifications,\n error,\n refetch: refetchNotifications,\n } = useAuthFetch<{ data: Notification[] }>(\n token,\n m2mNotifications_v1.findNotificationsByServiceId({ id: serviceId }),\n { swrConfig: { refreshInterval: 1000 * 60 * 5 } }\n );\n if (error) {\n // エラーが出てもユーザーは特に困らないので、ユーザーに伝える必要はないが、監視は必要。\n console.error(error);\n }\n\n const permissionContextState = useMemo(() => {\n return {\n checkPermission,\n refetch: refetchSubscriptions,\n };\n }, [checkPermission, refetchSubscriptions]);\n\n const notificationsContextState = useMemo(() => {\n return {\n notifications: notifications?.data ?? [],\n isAllRead: notifications?.data.every((n) => n.status === \"read\") ?? true,\n refetch: refetchNotifications,\n };\n }, [refetchNotifications, notifications?.data]);\n\n return (\n <NotificationPermissionContext.Provider value={permissionContextState}>\n <NotificationsContext.Provider value={notificationsContextState}>\n {children}\n </NotificationsContext.Provider>\n </NotificationPermissionContext.Provider>\n );\n};\n\nexport const useNotifications = () => {\n const ctx = useContext(NotificationsContext);\n if (!ctx) {\n throw new Error(\"NotificatoinProvider is not found\");\n }\n\n return ctx;\n};\n\nexport const useNotificationPermission = () => {\n const ctx = useContext(NotificationPermissionContext);\n if (!ctx) {\n throw new Error(\"NotificatoinProvider is not found\");\n }\n\n return ctx;\n};\n"],"file":"NotificationProvider.js"}
1
+ {"version":3,"sources":["../../src/notification/NotificationProvider.tsx"],"names":["NotificationPermissionContext","undefined","NotificationsContext","NotificationsProvider","token","children","serviceId","data","subscriptions","refetch","refetchSubscriptions","m2mNotifications_v1","findMySubscriptions","checkPermission","notificationType","subscription","find","item","resourceSubscription","resourceSelectType","status","notifications","error","refetchNotifications","findNotificationsByServiceId","id","swrConfig","refreshInterval","console","permissionContextState","notificationsContextState","isAllRead","every","n","useNotifications","ctx","Error","useNotificationPermission"],"mappings":";;;;;;;AAAA;;AACA;;AAEA;;AACA;;;;;;AAIA,MAAMA,6BAA6B,gBAAG,0BAQpCC,SARoC,CAAtC;AAUA,MAAMC,oBAAoB,gBAAG,0BAG3BD,SAH2B,CAA7B,C,CAKA;;AACO,MAAME,qBAAkD,GAAG,CAAC;AACjEC,EAAAA,KADiE;AAEjEC,EAAAA;AAFiE,CAAD,KAG5D;AACJ,QAAMC,SAAS,GAAG,sCAAlB;AAEA,QAAM;AAAEC,IAAAA,IAAI,EAAEC,aAAR;AAAuBC,IAAAA,OAAO,EAAEC;AAAhC,MAAyD,gCAE7DN,KAF6D,EAEtDO,sCAAoBC,mBAApB,EAFsD,EAEX,EAFW,CAA/D;AAGA,QAAMC,eAAe,GAAG,wBACrBC,gBAAD,IAA8B;AAC5B,UAAMC,YAAY,GAAGP,aAAa,EAAEQ,IAAf,CAAqBC,IAAD,IAAU;AACjD,aACEA,IAAI,CAACX,SAAL,KAAmBA,SAAnB,IACAW,IAAI,CAACH,gBAAL,KAA0BA,gBAD1B,IAEAG,IAAI,CAACC,oBAAL,CAA0BC,kBAA1B,KAAiD,KAHnD;AAKD,KANoB,CAArB;AAQA,WAAOJ,YAAY,EAAEK,MAArB;AACD,GAXqB,EAYtB,CAACd,SAAD,EAAYE,aAAZ,CAZsB,CAAxB;AAeA,QAAM;AACJD,IAAAA,IAAI,EAAEc,aADF;AAEJC,IAAAA,KAFI;AAGJb,IAAAA,OAAO,EAAEc;AAHL,MAIF,gCACFnB,KADE,EAEFO,sCAAoBa,4BAApB,CAAiD;AAAEC,IAAAA,EAAE,EAAEnB;AAAN,GAAjD,CAFE,EAGF;AAAEoB,IAAAA,SAAS,EAAE;AAAEC,MAAAA,eAAe,EAAE,OAAO,EAAP,GAAY;AAA/B;AAAb,GAHE,CAJJ;;AASA,MAAIL,KAAJ,EAAW;AACT;AACAM,IAAAA,OAAO,CAACN,KAAR,CAAcA,KAAd;AACD;;AAED,QAAMO,sBAAsB,GAAG,oBAAQ,MAAM;AAC3C,WAAO;AACLhB,MAAAA,eADK;AAELJ,MAAAA,OAAO,EAAEC;AAFJ,KAAP;AAID,GAL8B,EAK5B,CAACG,eAAD,EAAkBH,oBAAlB,CAL4B,CAA/B;AAOA,QAAMoB,yBAAyB,GAAG,oBAAQ,MAAM;AAC9C,WAAO;AACLT,MAAAA,aAAa,EAAEA,aAAa,EAAEd,IAAf,IAAuB,EADjC;AAELwB,MAAAA,SAAS,EAAEV,aAAa,EAAEd,IAAf,CAAoByB,KAApB,CAA2BC,CAAD,IAAOA,CAAC,CAACb,MAAF,KAAa,MAA9C,KAAyD,IAF/D;AAGLX,MAAAA,OAAO,EAAEc;AAHJ,KAAP;AAKD,GANiC,EAM/B,CAACA,oBAAD,EAAuBF,aAAa,EAAEd,IAAtC,CAN+B,CAAlC;AAQA,sBACE,6BAAC,6BAAD,CAA+B,QAA/B;AAAwC,IAAA,KAAK,EAAEsB;AAA/C,kBACE,6BAAC,oBAAD,CAAsB,QAAtB;AAA+B,IAAA,KAAK,EAAEC;AAAtC,KACGzB,QADH,CADF,CADF;AAOD,CA5DM;;;;AA8DA,MAAM6B,gBAAgB,GAAG,MAAM;AACpC,QAAMC,GAAG,GAAG,uBAAWjC,oBAAX,CAAZ;;AACA,MAAI,CAACiC,GAAL,EAAU;AACR,UAAM,IAAIC,KAAJ,CAAU,mCAAV,CAAN;AACD;;AAED,SAAOD,GAAP;AACD,CAPM;;;;AASA,MAAME,yBAAyB,GAAG,MAAM;AAC7C,QAAMF,GAAG,GAAG,uBAAWnC,6BAAX,CAAZ;;AACA,MAAI,CAACmC,GAAL,EAAU;AACR,UAAM,IAAIC,KAAJ,CAAU,mCAAV,CAAN;AACD;;AAED,SAAOD,GAAP;AACD,CAPM","sourcesContent":["import { createContext, useCallback, useContext } from \"react\";\nimport { useAuthFetch } from \"matsuri-hooks\";\nimport { useMemo } from \"react\";\nimport { m2mNotifications_v1 } from \"../endpoints/m2m-notifications.v1\";\nimport { useServiceId } from \"./ServiceIdProvider\";\nimport { SubscriptionStatus, Subscription, Notification } from \"./domain\";\nimport React from \"react\";\n\nconst NotificationPermissionContext = createContext<\n | {\n checkPermission: (\n notificationType: string\n ) => SubscriptionStatus | undefined;\n refetch: () => void;\n }\n | undefined\n>(undefined);\n\nconst NotificationsContext = createContext<\n | { notifications: Notification[]; isAllRead: boolean; refetch: () => void }\n | undefined\n>(undefined);\n\n// ServiceIdProviderの中で使うこと\nexport const NotificationsProvider: React.FC<{ token: string }> = ({\n token,\n children,\n}) => {\n const serviceId = useServiceId();\n\n const { data: subscriptions, refetch: refetchSubscriptions } = useAuthFetch<\n Subscription[]\n >(token, m2mNotifications_v1.findMySubscriptions(), {});\n const checkPermission = useCallback(\n (notificationType: string) => {\n const subscription = subscriptions?.find((item) => {\n return (\n item.serviceId === serviceId &&\n item.notificationType === notificationType &&\n item.resourceSubscription.resourceSelectType === \"any\"\n );\n });\n\n return subscription?.status;\n },\n [serviceId, subscriptions]\n );\n\n const {\n data: notifications,\n error,\n refetch: refetchNotifications,\n } = useAuthFetch<{ data: Notification[] }>(\n token,\n m2mNotifications_v1.findNotificationsByServiceId({ id: serviceId }),\n { swrConfig: { refreshInterval: 1000 * 60 * 5 } }\n );\n if (error) {\n // エラーが出てもユーザーは特に困らないので、ユーザーに伝える必要はないが、監視は必要。\n console.error(error);\n }\n\n const permissionContextState = useMemo(() => {\n return {\n checkPermission,\n refetch: refetchSubscriptions,\n };\n }, [checkPermission, refetchSubscriptions]);\n\n const notificationsContextState = useMemo(() => {\n return {\n notifications: notifications?.data ?? [],\n isAllRead: notifications?.data.every((n) => n.status === \"read\") ?? true,\n refetch: refetchNotifications,\n };\n }, [refetchNotifications, notifications?.data]);\n\n return (\n <NotificationPermissionContext.Provider value={permissionContextState}>\n <NotificationsContext.Provider value={notificationsContextState}>\n {children}\n </NotificationsContext.Provider>\n </NotificationPermissionContext.Provider>\n );\n};\n\nexport const useNotifications = () => {\n const ctx = useContext(NotificationsContext);\n if (!ctx) {\n throw new Error(\"NotificatoinProvider is not found\");\n }\n\n return ctx;\n};\n\nexport const useNotificationPermission = () => {\n const ctx = useContext(NotificationPermissionContext);\n if (!ctx) {\n throw new Error(\"NotificatoinProvider is not found\");\n }\n\n return ctx;\n};\n"],"file":"NotificationProvider.js"}
package/domains.d.ts CHANGED
@@ -3,5 +3,8 @@ export declare const domains: {
3
3
  sumyca: string;
4
4
  cleaning: string;
5
5
  users: string;
6
+ inspection: string;
7
+ checkin: string;
8
+ systems: string;
6
9
  };
7
10
  //# sourceMappingURL=domains.d.ts.map
package/domains.js CHANGED
@@ -2,11 +2,17 @@ export var domains = process.env.NODE_ENV === "production" ? {
2
2
  core: "https://core.m2msystems.cloud",
3
3
  sumyca: "https://manage.sumyca.com",
4
4
  cleaning: "https://manager-cleaning.m2msystems.cloud",
5
- users: "https://manage-users.m2msystems.cloud"
5
+ users: "https://manage-users.m2msystems.cloud",
6
+ inspection: "https://inspection.m2msystems.cloud",
7
+ checkin: "https://manage.checkin.m2msystems.cloud",
8
+ systems: "https://m2msystems.cloud/"
6
9
  } : {
7
10
  core: "https://master--m2m-core-manager-front.netlify.app",
8
11
  sumyca: "https://master--sumyca-manager-front.netlify.app",
9
12
  cleaning: "https://master--m2m-cleaning-manager-front.netlify.app",
10
- users: "https://master--manage-users.netlify.app"
13
+ users: "https://master--manage-users.netlify.app",
14
+ inspection: "https://master--m2m-inspection-manager-front.netlify.app",
15
+ checkin: "https://manage.dev.checkin.m2msystems.cloud",
16
+ systems: "https://dev.m2msystems.cloud"
11
17
  };
12
18
  //# sourceMappingURL=domains.js.map
package/domains.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["src/domains.ts"],"names":["domains","process","env","NODE_ENV","core","sumyca","cleaning","users"],"mappings":"AAAA,OAAO,IAAMA,OAAO,GAClBC,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,YAAzB,GACI;AACEC,EAAAA,IAAI,EAAE,+BADR;AAEEC,EAAAA,MAAM,EAAE,2BAFV;AAGEC,EAAAA,QAAQ,EAAE,2CAHZ;AAIEC,EAAAA,KAAK,EAAE;AAJT,CADJ,GAOI;AACEH,EAAAA,IAAI,EAAE,oDADR;AAEEC,EAAAA,MAAM,EAAE,kDAFV;AAGEC,EAAAA,QAAQ,EAAE,wDAHZ;AAIEC,EAAAA,KAAK,EAAE;AAJT,CARC","sourcesContent":["export const domains =\n process.env.NODE_ENV === \"production\"\n ? {\n core: \"https://core.m2msystems.cloud\",\n sumyca: \"https://manage.sumyca.com\",\n cleaning: \"https://manager-cleaning.m2msystems.cloud\",\n users: \"https://manage-users.m2msystems.cloud\",\n }\n : {\n core: \"https://master--m2m-core-manager-front.netlify.app\",\n sumyca: \"https://master--sumyca-manager-front.netlify.app\",\n cleaning: \"https://master--m2m-cleaning-manager-front.netlify.app\",\n users: \"https://master--manage-users.netlify.app\",\n };\n"],"file":"domains.js"}
1
+ {"version":3,"sources":["src/domains.ts"],"names":["domains","process","env","NODE_ENV","core","sumyca","cleaning","users","inspection","checkin","systems"],"mappings":"AAAA,OAAO,IAAMA,OAAO,GAClBC,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,YAAzB,GACI;AACEC,EAAAA,IAAI,EAAE,+BADR;AAEEC,EAAAA,MAAM,EAAE,2BAFV;AAGEC,EAAAA,QAAQ,EAAE,2CAHZ;AAIEC,EAAAA,KAAK,EAAE,uCAJT;AAKEC,EAAAA,UAAU,EAAE,qCALd;AAMEC,EAAAA,OAAO,EAAE,yCANX;AAOEC,EAAAA,OAAO,EAAE;AAPX,CADJ,GAUI;AACEN,EAAAA,IAAI,EAAE,oDADR;AAEEC,EAAAA,MAAM,EAAE,kDAFV;AAGEC,EAAAA,QAAQ,EAAE,wDAHZ;AAIEC,EAAAA,KAAK,EAAE,0CAJT;AAKEC,EAAAA,UAAU,EAAE,0DALd;AAMEC,EAAAA,OAAO,EAAE,6CANX;AAOEC,EAAAA,OAAO,EAAE;AAPX,CAXC","sourcesContent":["export const domains =\n process.env.NODE_ENV === \"production\"\n ? {\n core: \"https://core.m2msystems.cloud\",\n sumyca: \"https://manage.sumyca.com\",\n cleaning: \"https://manager-cleaning.m2msystems.cloud\",\n users: \"https://manage-users.m2msystems.cloud\",\n inspection: \"https://inspection.m2msystems.cloud\",\n checkin: \"https://manage.checkin.m2msystems.cloud\",\n systems: \"https://m2msystems.cloud/\",\n }\n : {\n core: \"https://master--m2m-core-manager-front.netlify.app\",\n sumyca: \"https://master--sumyca-manager-front.netlify.app\",\n cleaning: \"https://master--m2m-cleaning-manager-front.netlify.app\",\n users: \"https://master--manage-users.netlify.app\",\n inspection: \"https://master--m2m-inspection-manager-front.netlify.app\",\n checkin: \"https://manage.dev.checkin.m2msystems.cloud\",\n systems: \"https://dev.m2msystems.cloud\",\n };\n"],"file":"domains.js"}
package/m2m-apps-menu.js CHANGED
@@ -55,7 +55,7 @@ export var M2MAppsMenu = _decorate([customElement("m2m-apps-menu")], function (_
55
55
  kind: "method",
56
56
  key: "render",
57
57
  value: function render() {
58
- return html(_templateObject || (_templateObject = _taggedTemplateLiteral(["<nav>\n <button\n type=\"button\"\n class=\"navigation-drawer-controll-button navigation-drawer-controll-button--icon\"\n aria-controls=\"m2m-apps-menu__navigation-drawer\"\n aria-expanded=", "\n @click=", "\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n >\n <path\n d=\"M4 8h4V4H4v4zm6 12h4v-4h-4v4zm-6 0h4v-4H4v4zm0-6h4v-4H4v4zm6 0h4v-4h-4v4zm6-10v4h4V4h-4zm-6 4h4V4h-4v4zm6 6h4v-4h-4v4zm0 6h4v-4h-4v4z\"\n />\n </svg>\n </button>\n <ul\n ", "\n id=\"m2m-apps-menu__navigation-drawer\"\n aria-hidden=", "\n class=\"navigation-drawer\"\n >\n <li><a href=\"", "\">m2m-core \u65BD\u8A2D\u7BA1\u7406</a></li>\n <li><a href=\"", "\">m2m-users \u30A2\u30AB\u30A6\u30F3\u30C8\u7BA1\u7406</a></li>\n <li><a href=\"", "\">m2m-cleaning \u6E05\u6383\u7BA1\u7406</a></li>\n <li>\n <a href=\"", "\">Sumyca \u30DE\u30F3\u30B9\u30EA\u30FC\u30D7\u30E9\u30C3\u30C8\u30D5\u30A9\u30FC\u30E0</a>\n </li>\n </ul>\n </nav>"])), this.expanded, this.handleToggleDrawer, ref(this.listRef), !this.expanded, domains.core, domains.users, domains.cleaning, domains.sumyca);
58
+ return html(_templateObject || (_templateObject = _taggedTemplateLiteral(["<nav>\n <button\n type=\"button\"\n class=\"navigation-drawer-controll-button navigation-drawer-controll-button--icon\"\n aria-controls=\"m2m-apps-menu__navigation-drawer\"\n aria-expanded=", "\n @click=", "\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n >\n <path\n d=\"M4 8h4V4H4v4zm6 12h4v-4h-4v4zm-6 0h4v-4H4v4zm0-6h4v-4H4v4zm6 0h4v-4h-4v4zm6-10v4h4V4h-4zm-6 4h4V4h-4v4zm6 6h4v-4h-4v4zm0 6h4v-4h-4v4z\"\n />\n </svg>\n </button>\n <ul\n ", "\n id=\"m2m-apps-menu__navigation-drawer\"\n aria-hidden=", "\n class=\"navigation-drawer\"\n >\n <li><a href=\"", "\">m2m-core \u65BD\u8A2D\u7BA1\u7406</a></li>\n <li><a href=\"", "\">m2m-checkin \u30B2\u30B9\u30C8\u30C1\u30A7\u30C3\u30AF\u30A4\u30F3</a></li>\n <li><a href=\"", "\">m2m-systems Airbnb\u9023\u643A</a></li>\n <li><a href=\"", "\">m2m-cleaning \u6E05\u6383\u7BA1\u7406</a></li>\n <li>\n <a href=\"", "\">m2m-inspection \u5185\u898B\u30C1\u30A7\u30C3\u30AF</a>\n </li>\n <li><a href=\"", "\">m2m-users \u30A2\u30AB\u30A6\u30F3\u30C8\u7BA1\u7406</a></li>\n <li>\n <a href=\"", "\">Sumyca \u30DE\u30F3\u30B9\u30EA\u30FC\u30D7\u30E9\u30C3\u30C8\u30D5\u30A9\u30FC\u30E0</a>\n </li>\n </ul>\n </nav>"])), this.expanded, this.handleToggleDrawer, ref(this.listRef), !this.expanded, domains.core, domains.checkin, domains.systems, domains.cleaning, domains.inspection, domains.users, domains.sumyca);
59
59
  }
60
60
  }]
61
61
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["src/m2m-apps-menu.ts"],"names":["domains","html","customElement","ref","LitMenuBaseElement","M2MAppsMenu","expanded","handleToggleDrawer","listRef","core","users","cleaning","sumyca"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,SAASA,OAAT,QAAwB,WAAxB;AACA,SAASC,IAAT,QAAqB,KAArB;AACA,SAASC,aAAT,QAA8B,mBAA9B;AACA,SAASC,GAAT,QAAoB,uBAApB;AACA,SAASC,kBAAT,QAAmC,sBAAnC;AAGA,WAAaC,WAAb,cADCH,aAAa,CAAC,eAAD,CACd;AADA,QACaG,WADb,6BACoD;AAAA;AAAA;;AAAA;AAAA;;AAAA;;AAApD;AAAA,OAAaA,WAAb;AAAA;AAAA;AAAA;AAAA,aACE,kBAAS;AACP,eAAOJ,IAAP,0uCAKoB,KAAKK,QALzB,EAMa,KAAKC,kBANlB,EAoBMJ,GAAG,CAAC,KAAKK,OAAN,CApBT,EAsBkB,CAAC,KAAKF,QAtBxB,EAyBmBN,OAAO,CAACS,IAzB3B,EA0BmBT,OAAO,CAACU,KA1B3B,EA2BmBV,OAAO,CAACW,QA3B3B,EA6BiBX,OAAO,CAACY,MA7BzB;AAiCD;AAnCH;AAAA;AAAA,GAAiCR,kBAAjC","sourcesContent":["import { domains } from \"./domains\";\nimport { html } from \"lit\";\nimport { customElement } from \"lit/decorators.js\";\nimport { ref } from \"lit/directives/ref.js\";\nimport { LitMenuBaseElement } from \"./LitMenuBaseElement\";\n\n@customElement(\"m2m-apps-menu\")\nexport class M2MAppsMenu extends LitMenuBaseElement {\n render() {\n return html`<nav>\n <button\n type=\"button\"\n class=\"navigation-drawer-controll-button navigation-drawer-controll-button--icon\"\n aria-controls=\"m2m-apps-menu__navigation-drawer\"\n aria-expanded=${this.expanded}\n @click=${this.handleToggleDrawer}\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n >\n <path\n d=\"M4 8h4V4H4v4zm6 12h4v-4h-4v4zm-6 0h4v-4H4v4zm0-6h4v-4H4v4zm6 0h4v-4h-4v4zm6-10v4h4V4h-4zm-6 4h4V4h-4v4zm6 6h4v-4h-4v4zm0 6h4v-4h-4v4z\"\n />\n </svg>\n </button>\n <ul\n ${ref(this.listRef)}\n id=\"m2m-apps-menu__navigation-drawer\"\n aria-hidden=${!this.expanded}\n class=\"navigation-drawer\"\n >\n <li><a href=\"${domains.core}\">m2m-core 施設管理</a></li>\n <li><a href=\"${domains.users}\">m2m-users アカウント管理</a></li>\n <li><a href=\"${domains.cleaning}\">m2m-cleaning 清掃管理</a></li>\n <li>\n <a href=\"${domains.sumyca}\">Sumyca マンスリープラットフォーム</a>\n </li>\n </ul>\n </nav>`;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"m2m-apps-menu\": M2MAppsMenu;\n }\n}\n"],"file":"m2m-apps-menu.js"}
1
+ {"version":3,"sources":["src/m2m-apps-menu.ts"],"names":["domains","html","customElement","ref","LitMenuBaseElement","M2MAppsMenu","expanded","handleToggleDrawer","listRef","core","checkin","systems","cleaning","inspection","users","sumyca"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,SAASA,OAAT,QAAwB,WAAxB;AACA,SAASC,IAAT,QAAqB,KAArB;AACA,SAASC,aAAT,QAA8B,mBAA9B;AACA,SAASC,GAAT,QAAoB,uBAApB;AACA,SAASC,kBAAT,QAAmC,sBAAnC;AAGA,WAAaC,WAAb,cADCH,aAAa,CAAC,eAAD,CACd;AADA,QACaG,WADb,6BACoD;AAAA;AAAA;;AAAA;AAAA;;AAAA;;AAApD;AAAA,OAAaA,WAAb;AAAA;AAAA;AAAA;AAAA,aACE,kBAAS;AACP,eAAOJ,IAAP,2gDAKoB,KAAKK,QALzB,EAMa,KAAKC,kBANlB,EAoBMJ,GAAG,CAAC,KAAKK,OAAN,CApBT,EAsBkB,CAAC,KAAKF,QAtBxB,EAyBmBN,OAAO,CAACS,IAzB3B,EA0BmBT,OAAO,CAACU,OA1B3B,EA2BmBV,OAAO,CAACW,OA3B3B,EA4BmBX,OAAO,CAACY,QA5B3B,EA8BiBZ,OAAO,CAACa,UA9BzB,EAgCmBb,OAAO,CAACc,KAhC3B,EAkCiBd,OAAO,CAACe,MAlCzB;AAsCD;AAxCH;AAAA;AAAA,GAAiCX,kBAAjC","sourcesContent":["import { domains } from \"./domains\";\nimport { html } from \"lit\";\nimport { customElement } from \"lit/decorators.js\";\nimport { ref } from \"lit/directives/ref.js\";\nimport { LitMenuBaseElement } from \"./LitMenuBaseElement\";\n\n@customElement(\"m2m-apps-menu\")\nexport class M2MAppsMenu extends LitMenuBaseElement {\n render() {\n return html`<nav>\n <button\n type=\"button\"\n class=\"navigation-drawer-controll-button navigation-drawer-controll-button--icon\"\n aria-controls=\"m2m-apps-menu__navigation-drawer\"\n aria-expanded=${this.expanded}\n @click=${this.handleToggleDrawer}\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n >\n <path\n d=\"M4 8h4V4H4v4zm6 12h4v-4h-4v4zm-6 0h4v-4H4v4zm0-6h4v-4H4v4zm6 0h4v-4h-4v4zm6-10v4h4V4h-4zm-6 4h4V4h-4v4zm6 6h4v-4h-4v4zm0 6h4v-4h-4v4z\"\n />\n </svg>\n </button>\n <ul\n ${ref(this.listRef)}\n id=\"m2m-apps-menu__navigation-drawer\"\n aria-hidden=${!this.expanded}\n class=\"navigation-drawer\"\n >\n <li><a href=\"${domains.core}\">m2m-core 施設管理</a></li>\n <li><a href=\"${domains.checkin}\">m2m-checkin ゲストチェックイン</a></li>\n <li><a href=\"${domains.systems}\">m2m-systems Airbnb連携</a></li>\n <li><a href=\"${domains.cleaning}\">m2m-cleaning 清掃管理</a></li>\n <li>\n <a href=\"${domains.inspection}\">m2m-inspection 内見チェック</a>\n </li>\n <li><a href=\"${domains.users}\">m2m-users アカウント管理</a></li>\n <li>\n <a href=\"${domains.sumyca}\">Sumyca マンスリープラットフォーム</a>\n </li>\n </ul>\n </nav>`;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"m2m-apps-menu\": M2MAppsMenu;\n }\n}\n"],"file":"m2m-apps-menu.js"}
@@ -22,7 +22,7 @@ export var NotificationsProvider = _ref => {
22
22
  return item.serviceId === serviceId && item.notificationType === notificationType && item.resourceSubscription.resourceSelectType === "any";
23
23
  });
24
24
  return subscription === null || subscription === void 0 ? void 0 : subscription.status;
25
- }, [subscriptions]);
25
+ }, [serviceId, subscriptions]);
26
26
  var {
27
27
  data: notifications,
28
28
  error,
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/notification/NotificationProvider.tsx"],"names":["createContext","useCallback","useContext","useAuthFetch","useMemo","m2mNotifications_v1","useServiceId","React","NotificationPermissionContext","undefined","NotificationsContext","NotificationsProvider","token","children","serviceId","data","subscriptions","refetch","refetchSubscriptions","findMySubscriptions","checkPermission","notificationType","subscription","find","item","resourceSubscription","resourceSelectType","status","notifications","error","refetchNotifications","findNotificationsByServiceId","id","swrConfig","refreshInterval","console","permissionContextState","notificationsContextState","isAllRead","every","n","useNotifications","ctx","Error","useNotificationPermission"],"mappings":"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","sourcesContent":["import { createContext, useCallback, useContext } from \"react\";\nimport { useAuthFetch } from \"matsuri-hooks\";\nimport { useMemo } from \"react\";\nimport { m2mNotifications_v1 } from \"../endpoints/m2m-notifications.v1\";\nimport { useServiceId } from \"./ServiceIdProvider\";\nimport { SubscriptionStatus, Subscription, Notification } from \"./domain\";\nimport React from \"react\";\n\nconst NotificationPermissionContext = createContext<\n | {\n checkPermission: (\n notificationType: string\n ) => SubscriptionStatus | undefined;\n refetch: () => void;\n }\n | undefined\n>(undefined);\n\nconst NotificationsContext = createContext<\n | { notifications: Notification[]; isAllRead: boolean; refetch: () => void }\n | undefined\n>(undefined);\n\n// ServiceIdProviderの中で使うこと\nexport const NotificationsProvider: React.FC<{ token: string }> = ({\n token,\n children,\n}) => {\n const serviceId = useServiceId();\n\n const { data: subscriptions, refetch: refetchSubscriptions } = useAuthFetch<\n Subscription[]\n >(token, m2mNotifications_v1.findMySubscriptions(), {});\n const checkPermission = useCallback(\n (notificationType: string) => {\n const subscription = subscriptions?.find((item) => {\n return (\n item.serviceId === serviceId &&\n item.notificationType === notificationType &&\n item.resourceSubscription.resourceSelectType === \"any\"\n );\n });\n\n return subscription?.status;\n },\n [subscriptions]\n );\n\n const {\n data: notifications,\n error,\n refetch: refetchNotifications,\n } = useAuthFetch<{ data: Notification[] }>(\n token,\n m2mNotifications_v1.findNotificationsByServiceId({ id: serviceId }),\n { swrConfig: { refreshInterval: 1000 * 60 * 5 } }\n );\n if (error) {\n // エラーが出てもユーザーは特に困らないので、ユーザーに伝える必要はないが、監視は必要。\n console.error(error);\n }\n\n const permissionContextState = useMemo(() => {\n return {\n checkPermission,\n refetch: refetchSubscriptions,\n };\n }, [checkPermission, refetchSubscriptions]);\n\n const notificationsContextState = useMemo(() => {\n return {\n notifications: notifications?.data ?? [],\n isAllRead: notifications?.data.every((n) => n.status === \"read\") ?? true,\n refetch: refetchNotifications,\n };\n }, [refetchNotifications, notifications?.data]);\n\n return (\n <NotificationPermissionContext.Provider value={permissionContextState}>\n <NotificationsContext.Provider value={notificationsContextState}>\n {children}\n </NotificationsContext.Provider>\n </NotificationPermissionContext.Provider>\n );\n};\n\nexport const useNotifications = () => {\n const ctx = useContext(NotificationsContext);\n if (!ctx) {\n throw new Error(\"NotificatoinProvider is not found\");\n }\n\n return ctx;\n};\n\nexport const useNotificationPermission = () => {\n const ctx = useContext(NotificationPermissionContext);\n if (!ctx) {\n throw new Error(\"NotificatoinProvider is not found\");\n }\n\n return ctx;\n};\n"],"file":"NotificationProvider.js"}
1
+ {"version":3,"sources":["../src/notification/NotificationProvider.tsx"],"names":["createContext","useCallback","useContext","useAuthFetch","useMemo","m2mNotifications_v1","useServiceId","React","NotificationPermissionContext","undefined","NotificationsContext","NotificationsProvider","token","children","serviceId","data","subscriptions","refetch","refetchSubscriptions","findMySubscriptions","checkPermission","notificationType","subscription","find","item","resourceSubscription","resourceSelectType","status","notifications","error","refetchNotifications","findNotificationsByServiceId","id","swrConfig","refreshInterval","console","permissionContextState","notificationsContextState","isAllRead","every","n","useNotifications","ctx","Error","useNotificationPermission"],"mappings":"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","sourcesContent":["import { createContext, useCallback, useContext } from \"react\";\nimport { useAuthFetch } from \"matsuri-hooks\";\nimport { useMemo } from \"react\";\nimport { m2mNotifications_v1 } from \"../endpoints/m2m-notifications.v1\";\nimport { useServiceId } from \"./ServiceIdProvider\";\nimport { SubscriptionStatus, Subscription, Notification } from \"./domain\";\nimport React from \"react\";\n\nconst NotificationPermissionContext = createContext<\n | {\n checkPermission: (\n notificationType: string\n ) => SubscriptionStatus | undefined;\n refetch: () => void;\n }\n | undefined\n>(undefined);\n\nconst NotificationsContext = createContext<\n | { notifications: Notification[]; isAllRead: boolean; refetch: () => void }\n | undefined\n>(undefined);\n\n// ServiceIdProviderの中で使うこと\nexport const NotificationsProvider: React.FC<{ token: string }> = ({\n token,\n children,\n}) => {\n const serviceId = useServiceId();\n\n const { data: subscriptions, refetch: refetchSubscriptions } = useAuthFetch<\n Subscription[]\n >(token, m2mNotifications_v1.findMySubscriptions(), {});\n const checkPermission = useCallback(\n (notificationType: string) => {\n const subscription = subscriptions?.find((item) => {\n return (\n item.serviceId === serviceId &&\n item.notificationType === notificationType &&\n item.resourceSubscription.resourceSelectType === \"any\"\n );\n });\n\n return subscription?.status;\n },\n [serviceId, subscriptions]\n );\n\n const {\n data: notifications,\n error,\n refetch: refetchNotifications,\n } = useAuthFetch<{ data: Notification[] }>(\n token,\n m2mNotifications_v1.findNotificationsByServiceId({ id: serviceId }),\n { swrConfig: { refreshInterval: 1000 * 60 * 5 } }\n );\n if (error) {\n // エラーが出てもユーザーは特に困らないので、ユーザーに伝える必要はないが、監視は必要。\n console.error(error);\n }\n\n const permissionContextState = useMemo(() => {\n return {\n checkPermission,\n refetch: refetchSubscriptions,\n };\n }, [checkPermission, refetchSubscriptions]);\n\n const notificationsContextState = useMemo(() => {\n return {\n notifications: notifications?.data ?? [],\n isAllRead: notifications?.data.every((n) => n.status === \"read\") ?? true,\n refetch: refetchNotifications,\n };\n }, [refetchNotifications, notifications?.data]);\n\n return (\n <NotificationPermissionContext.Provider value={permissionContextState}>\n <NotificationsContext.Provider value={notificationsContextState}>\n {children}\n </NotificationsContext.Provider>\n </NotificationPermissionContext.Provider>\n );\n};\n\nexport const useNotifications = () => {\n const ctx = useContext(NotificationsContext);\n if (!ctx) {\n throw new Error(\"NotificatoinProvider is not found\");\n }\n\n return ctx;\n};\n\nexport const useNotificationPermission = () => {\n const ctx = useContext(NotificationPermissionContext);\n if (!ctx) {\n throw new Error(\"NotificatoinProvider is not found\");\n }\n\n return ctx;\n};\n"],"file":"NotificationProvider.js"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "m2m-components",
3
- "version": "0.3.1",
3
+ "version": "0.4.0",
4
4
  "main": "cjs/index.js",
5
5
  "module": "index.js",
6
6
  "typings": "index.d.ts",