Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Plugin pin functionality #41 #46

Merged
merged 13 commits into from
Jan 5, 2020
Merged
Prev Previous commit
Next Next commit
Renaming
  • Loading branch information
amal jose committed Dec 30, 2019
commit 341455b6dc8467e69ccd13e5b66eb94717903220
4 changes: 2 additions & 2 deletions src/components/CollapsibleTabs/CollapsibleTab.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import PropTypes from "prop-types";
import styled from "styled-components";

import TabContext from "./TabContext";
import PinContext from "../Plugins/pinnedContext";
import PluginContext from "../Plugins/pluginContext";
import SideBtn from "./SideBtn";
import SelectedComp from "./SelectedComp";

Expand All @@ -25,7 +25,7 @@ const HeaderContainer = styled.div`

const CollapsibleTab = ({ tabs, children }) => {
const { selected, setSelected } = useContext(TabContext);
const { handlePluginTabClick } = useContext(PinContext);
const { handlePluginTabClick } = useContext(PluginContext);

const handleTabChange = tabConfig => {
handlePluginTabClick(tabConfig.key);
Expand Down
4 changes: 2 additions & 2 deletions src/components/CollapsibleTabs/Tabs.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,14 @@ import PropTypes from "prop-types";

import CollapsibleTabs from "../CollapsibleTabs";
import pluginsDir from "../Plugins/pluginDir";
import PinContext from "../Plugins/pinnedContext";
import PluginContext from "../Plugins/pluginContext";

const Plugins = lazy(() => import("../Plugins"));

function Tabs({ onTransform }) {
const pluginComponent = <Plugins onTransform={onTransform} />;

const { pinnedPlugins } = useContext(PinContext);
const { pinnedPlugins } = useContext(PluginContext);

const pinnedPluginsForTabs = [];
pinnedPlugins.forEach(pinnedPlugin => {
Expand Down
6 changes: 3 additions & 3 deletions src/components/Editors/EditorView.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import DetectPaste from "./DetectPaste";
import Tabs from "../CollapsibleTabs/Tabs";
import EditorContext from "./EditorContext";
import DiffEditor from "./DiffEditor";
import { PinContextProvider } from "../Plugins/pinnedContext";
import { PluginContextProvider } from "../Plugins/pluginContext";

const EditorView = () => {
const editorConfig = useContext(EditorContext);
Expand Down Expand Up @@ -36,9 +36,9 @@ const EditorView = () => {
) : (
<Editor value={editorVal} editorConfig={editorConfig} />
)}
<PinContextProvider>
<PluginContextProvider>
<Tabs onTransform={onTransform} />
</PinContextProvider>
</PluginContextProvider>
<DetectPaste />
</Fragment>
);
Expand Down
4 changes: 2 additions & 2 deletions src/components/Plugins/Listing.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,10 @@ import SingleItem from "./SingleItem";
import pluginPropType from "./pluginType";
import Header from "./Header";
import FootNote from "./FootNote";
import PinContext from "../Plugins/pinnedContext";
import PluginContext from "../Plugins/pluginContext";

function Listing({ list, onClick }) {
const { pinnedPlugins, handlePinChange } = useContext(PinContext);
const { pinnedPlugins, handlePinChange } = useContext(PluginContext);
return (
<Fragment>
<Header title="Plugins" />
Expand Down
2 changes: 1 addition & 1 deletion src/components/Plugins/SingleItem.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import PropTypes from "prop-types";
import NakedButton from "../../utils/NakedButton";
import UnpinIcon from "../../icons/unpin.svg";
import PinIcon from "../../icons/pin.svg";
import { pinActionTypes } from "../Plugins/pinnedContext";
import { pinActionTypes } from "../Plugins/pluginContext";
const Container = styled.li`
padding: 1rem 2rem;
border-bottom: 0.1rem solid rgba(0, 0, 0, 0.1);
Expand Down
4 changes: 2 additions & 2 deletions src/components/Plugins/index.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import React, { Fragment, useState, useEffect, useContext } from "react";
import styled from "styled-components";
import PropTypes from "prop-types";
import PinContext from "./pinnedContext";
import PluginContext from "./pluginContext";

import Listing from "./Listing";
import ExternalUI from "./ExternalUI";
Expand All @@ -18,7 +18,7 @@ const Content = styled.ul`
function Plugins(props) {
const { onTransform } = props;

const { selectedPlugin, setSelectedPlugin } = useContext(PinContext);
const { selectedPlugin, setSelectedPlugin } = useContext(PluginContext);

const loadPlugin = selectedPlugin => {
setSelectedPlugin(selectedPlugin);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import React, { createContext, useState } from "react";
import PropTypes from "prop-types";
import pluginsDir from "./pluginDir";

const PinContext = createContext({
const PluginContext = createContext({
pinnedPlugins: [],
});

Expand All @@ -11,7 +11,7 @@ export const pinActionTypes = {
REMOVE: "REMOVE",
};

export const PinContextProvider = ({ children }) => {
export const PluginContextProvider = ({ children }) => {
const [selectedPlugin, setSelectedPlugin] = useState(null);
const [pinnedPlugins, setPinnedPlugins] = useState(
JSON.parse(localStorage.getItem("pinnedPlugins") || "[]")
Expand Down Expand Up @@ -44,7 +44,7 @@ export const PinContextProvider = ({ children }) => {
// );

return (
<PinContext.Provider
<PluginContext.Provider
value={{
pinnedPlugins,
setPinnedPlugins,
Expand All @@ -55,12 +55,12 @@ export const PinContextProvider = ({ children }) => {
}}
>
{children}
</PinContext.Provider>
</PluginContext.Provider>
);
};

PinContextProvider.propTypes = {
PluginContextProvider.propTypes = {
children: PropTypes.node.isRequired,
};

export default PinContext;
export default PluginContext;