Przeglądaj źródła

user list popover global use

ryoji-s 2 lat temu
rodzic
commit
7acdb3b539

+ 3 - 5
apps/app/src/components/PageControls/BookmarkButtons.tsx

@@ -1,6 +1,5 @@
-import React, {
-  FC, useState, useCallback,
-} from 'react';
+import type { FC } from 'react';
+import React, { useState, useCallback } from 'react';
 
 
 import { useTranslation } from 'next-i18next';
 import { useTranslation } from 'next-i18next';
 import DropdownToggle from 'reactstrap/esm/DropdownToggle';
 import DropdownToggle from 'reactstrap/esm/DropdownToggle';
@@ -15,7 +14,6 @@ import { BookmarkFolderMenu } from '../Bookmarks/BookmarkFolderMenu';
 import UserPictureList from '../Common/UserPictureList';
 import UserPictureList from '../Common/UserPictureList';
 
 
 import styles from './BookmarkButtons.module.scss';
 import styles from './BookmarkButtons.module.scss';
-import popoverStyles from './user-list-popover.module.scss';
 
 
 interface Props {
 interface Props {
   pageId: string,
   pageId: string,
@@ -94,7 +92,7 @@ export const BookmarkButtons: FC<Props> = (props: Props) => {
         {bookmarkCount}
         {bookmarkCount}
       </button>
       </button>
       <Popover placement="bottom" isOpen={isBookmarkUsersPopoverOpen} target="po-total-bookmarks" toggle={toggleBookmarkUsersPopover} trigger="legacy">
       <Popover placement="bottom" isOpen={isBookmarkUsersPopoverOpen} target="po-total-bookmarks" toggle={toggleBookmarkUsersPopover} trigger="legacy">
-        <PopoverBody className={`user-list-popover ${popoverStyles['user-list-popover']}`}>
+        <PopoverBody className="user-list-popover">
           { isLoadingBookmarkedUsers && <i className="fa fa-spinner fa-pulse"></i> }
           { isLoadingBookmarkedUsers && <i className="fa fa-spinner fa-pulse"></i> }
           { !isLoadingBookmarkedUsers && bookmarkedUsers != null && (
           { !isLoadingBookmarkedUsers && bookmarkedUsers != null && (
             <>
             <>

+ 2 - 1
apps/app/src/components/PageControls/LikeButtons.tsx

@@ -1,4 +1,5 @@
-import React, { FC, useState, useCallback } from 'react';
+import type { FC } from 'react';
+import React, { useState, useCallback } from 'react';
 
 
 import type { IUser } from '@growi/core';
 import type { IUser } from '@growi/core';
 import { useTranslation } from 'next-i18next';
 import { useTranslation } from 'next-i18next';

+ 3 - 3
apps/app/src/components/PageControls/SeenUserInfo.tsx

@@ -1,4 +1,5 @@
-import React, { FC, useState } from 'react';
+import type { FC } from 'react';
+import React, { useState } from 'react';
 
 
 import type { IUser } from '@growi/core';
 import type { IUser } from '@growi/core';
 import { FootstampIcon } from '@growi/ui/dist/components';
 import { FootstampIcon } from '@growi/ui/dist/components';
@@ -9,7 +10,6 @@ import UserPictureList from '../Common/UserPictureList';
 
 
 
 
 import styles from './SeenUserInfo.module.scss';
 import styles from './SeenUserInfo.module.scss';
-import popoverStyles from './user-list-popover.module.scss';
 
 
 
 
 interface Props {
 interface Props {
@@ -33,7 +33,7 @@ const SeenUserInfo: FC<Props> = (props: Props) => {
         <span className="total-counts">{sumOfSeenUsers || seenUsers.length}</span>
         <span className="total-counts">{sumOfSeenUsers || seenUsers.length}</span>
       </button>
       </button>
       <Popover placement="bottom" isOpen={isPopoverOpen} target="btn-seen-user" toggle={togglePopover} trigger="legacy" disabled={disabled}>
       <Popover placement="bottom" isOpen={isPopoverOpen} target="btn-seen-user" toggle={togglePopover} trigger="legacy" disabled={disabled}>
-        <PopoverBody className={`user-list-popover ${popoverStyles['user-list-popover']}`}>
+        <PopoverBody className="user-list-popover">
           <div className="px-2 text-end user-list-content text-truncate text-muted">
           <div className="px-2 text-end user-list-content text-truncate text-muted">
             <UserPictureList users={seenUsers} />
             <UserPictureList users={seenUsers} />
           </div>
           </div>

+ 1 - 3
apps/app/src/components/PageHeader/EditingUserList.tsx

@@ -6,8 +6,6 @@ import { Popover, PopoverBody } from 'reactstrap';
 
 
 import UserPictureList from '../Common/UserPictureList';
 import UserPictureList from '../Common/UserPictureList';
 
 
-import popoverStyles from '../PageControls/user-list-popover.module.scss';
-
 type Props = {
 type Props = {
   className: string,
   className: string,
   userList: IUserHasId[]
   userList: IUserHasId[]
@@ -40,7 +38,7 @@ export const EditingUserList: FC<Props> = ({ className, userList }) => {
                 <span className="fw-bold text-info p-1">+{remainingUsers.length}</span>
                 <span className="fw-bold text-info p-1">+{remainingUsers.length}</span>
               </button>
               </button>
               <Popover placement="bottom" isOpen={isPopoverOpen} target="btn-editing-user" toggle={togglePopover} trigger="legacy">
               <Popover placement="bottom" isOpen={isPopoverOpen} target="btn-editing-user" toggle={togglePopover} trigger="legacy">
-                <PopoverBody className={`user-list-popover ${popoverStyles['user-list-popover']}`}>
+                <PopoverBody className="user-list-popover">
                   <UserPictureList users={remainingUsers} />
                   <UserPictureList users={remainingUsers} />
                 </PopoverBody>
                 </PopoverBody>
               </Popover>
               </Popover>

+ 1 - 1
apps/app/src/components/PageControls/user-list-popover.module.scss → apps/app/src/styles/molecules/user-list-popover.scss

@@ -1,4 +1,4 @@
-.user-list-popover :global {
+.user-list-popover {
   --bs-popover-max-width: 200px;
   --bs-popover-max-width: 200px;
   --bs-popover-body-padding-x: .5rem;
   --bs-popover-body-padding-x: .5rem;
   --bs-popover-body-padding-y: .5rem;
   --bs-popover-body-padding-y: .5rem;

+ 1 - 0
apps/app/src/styles/style-app.scss

@@ -12,6 +12,7 @@
 // molecules
 // molecules
 @import 'molecules/toastr';
 @import 'molecules/toastr';
 @import 'molecules/list-group-item';
 @import 'molecules/list-group-item';
+@import 'molecules/user-list-popover';
 // @import 'molecules/slack-notification';
 // @import 'molecules/slack-notification';
 // @import 'molecules/duplicated-paths-table.scss';
 // @import 'molecules/duplicated-paths-table.scss';