import {
  MainContainer
} from "./chunk-T3IPHNWH.mjs";
import {
  useCreateChatRoomMutation
} from "./chunk-MMQAXS33.mjs";
import {
  ProfileItemFragment
} from "./chunk-YTT7MYZX.mjs";

// tmp-babel/messages/web/SingleChatCreate/ChatRoomListItem/index.js
import { useCurrentProfile } from "@baseapp-frontend/authentication";
import { AvatarWithPlaceholder } from "@baseapp-frontend/design-system/components/web/avatars";
import { TypographyWithEllipsis } from "@baseapp-frontend/design-system/components/web/typographies";
import { LoadingButton } from "@mui/lab";
import { Box, Typography } from "@mui/material";
import { ConnectionHandler, useFragment } from "react-relay";
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
function _slicedToArray(r, e) {
  return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest();
}
function _nonIterableRest() {
  throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
}
function _unsupportedIterableToArray(r, a) {
  if (r) {
    if ("string" == typeof r) return _arrayLikeToArray(r, a);
    var t = {}.toString.call(r).slice(8, -1);
    return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0;
  }
}
function _arrayLikeToArray(r, a) {
  (null == a || a > r.length) && (a = r.length);
  for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];
  return n;
}
function _iterableToArrayLimit(r, l) {
  var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];
  if (null != t) {
    var e, n, i, u, a = [], f = true, o = false;
    try {
      if (i = (t = t.call(r)).next, 0 === l) {
        if (Object(t) !== t) return;
        f = false;
      } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = true) ;
    } catch (r2) {
      o = true, n = r2;
    } finally {
      try {
        if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return;
      } finally {
        if (o) throw n;
      }
    }
    return a;
  }
}
function _arrayWithHoles(r) {
  if (Array.isArray(r)) return r;
}
var ChatRoomListItem = function ChatRoomListItem2(_ref) {
  var _urlPath$path;
  var profileRef = _ref.profile, onChatCreation = _ref.onChatCreation;
  var _useFragment = useFragment(ProfileItemFragment, profileRef), id = _useFragment.id, image = _useFragment.image, name = _useFragment.name, urlPath = _useFragment.urlPath;
  var _useCreateChatRoomMut = useCreateChatRoomMutation(), _useCreateChatRoomMut2 = _slicedToArray(_useCreateChatRoomMut, 2), commit = _useCreateChatRoomMut2[0], isMutationInFlight = _useCreateChatRoomMut2[1];
  var _useCurrentProfile = useCurrentProfile(), currentProfile = _useCurrentProfile.currentProfile;
  return /* @__PURE__ */ _jsxs(MainContainer, {
    children: [/* @__PURE__ */ _jsx(AvatarWithPlaceholder, {
      width: 48,
      height: 48,
      src: image === null || image === void 0 ? void 0 : image.url,
      sx: {
        alignSelf: "center",
        justifySelf: "center"
      }
    }), /* @__PURE__ */ _jsxs(Box, {
      sx: {
        display: "grid",
        gridTemplateRows: "repeat(2, minmax(0, 1fr))"
      },
      children: [/* @__PURE__ */ _jsx(TypographyWithEllipsis, {
        variant: "subtitle2",
        children: name
      }), /* @__PURE__ */ _jsx(Typography, {
        variant: "caption",
        color: "text.secondary",
        children: (urlPath === null || urlPath === void 0 ? void 0 : urlPath.path) && "@".concat((_urlPath$path = urlPath.path) === null || _urlPath$path === void 0 ? void 0 : _urlPath$path.replace("/", ""))
      })]
    }), /* @__PURE__ */ _jsx(LoadingButton, {
      color: "inherit",
      variant: "outlined",
      size: "small",
      onClick: function onClick() {
        if (currentProfile !== null && currentProfile !== void 0 && currentProfile.id) {
          commit({
            variables: {
              input: {
                profileId: currentProfile.id,
                participants: [id]
              },
              connections: [ConnectionHandler.getConnectionID(currentProfile.id, "roomsList_chatRooms", {
                unreadMessages: false,
                archived: false,
                q: ""
              }), ConnectionHandler.getConnectionID(currentProfile.id, "roomsList_chatRooms", {
                unreadMessages: true,
                archived: false,
                q: ""
              })]
            },
            onCompleted: onChatCreation
          });
        }
      },
      loading: isMutationInFlight,
      sx: {
        maxWidth: "fit-content",
        justifySelf: "end"
      },
      children: "Message"
    })]
  }, "chat-room-item-".concat(id));
};
var ChatRoomListItem_default = ChatRoomListItem;

export {
  ChatRoomListItem_default
};
//# sourceMappingURL=chunk-HG5NKOWV.mjs.map