refactor(column): use context for manage column

This commit is contained in:
2023-12-29 13:12:37 +07:00
parent e1edba8a78
commit be333260f2
13 changed files with 125 additions and 176 deletions

View File

@@ -2,11 +2,11 @@ import { PinIcon } from "@lume/icons";
import { WIDGET_KIND } from "@lume/utils";
import * as Tooltip from "@radix-ui/react-tooltip";
import { useNoteContext } from "..";
import { useWidget } from "../../../hooks/useWidget";
import { useColumnContext } from "../../column";
export function NotePin() {
const event = useNoteContext();
const { addWidget } = useWidget();
const { addColumn } = useColumnContext();
return (
<Tooltip.Provider>
@@ -15,7 +15,7 @@ export function NotePin() {
<button
type="button"
onClick={() =>
addWidget.mutate({
addColumn({
kind: WIDGET_KIND.thread,
title: "Thread",
content: event.id,

View File

@@ -1,14 +1,14 @@
import { WIDGET_KIND } from "@lume/utils";
import { useWidget } from "../../../hooks/useWidget";
import { useColumnContext } from "../../column";
export function Hashtag({ tag }: { tag: string }) {
const { addWidget } = useWidget();
const { addColumn } = useColumnContext();
return (
<button
type="button"
onClick={() =>
addWidget.mutate({
addColumn({
kind: WIDGET_KIND.hashtag,
title: tag,
content: tag.replace("#", ""),

View File

@@ -3,13 +3,13 @@ import * as DropdownMenu from "@radix-ui/react-dropdown-menu";
import { memo } from "react";
import { Link } from "react-router-dom";
import { useProfile } from "../../../hooks/useProfile";
import { useWidget } from "../../../hooks/useWidget";
import { useColumnContext } from "../../column";
export const MentionUser = memo(function MentionUser({
pubkey,
}: { pubkey: string }) {
const { user } = useProfile(pubkey);
const { addWidget } = useWidget();
const { addColumn } = useColumnContext();
return (
<DropdownMenu.Root>
@@ -29,7 +29,7 @@ export const MentionUser = memo(function MentionUser({
<button
type="button"
onClick={() =>
addWidget.mutate({
addColumn({
kind: WIDGET_KIND.user,
title: user?.name || user?.displayName || "",
content: pubkey,