diff --git a/packages/app/src/components/FollowButton/index.jsx b/packages/app/src/components/FollowButton/index.jsx new file mode 100644 index 00000000..32d5b75e --- /dev/null +++ b/packages/app/src/components/FollowButton/index.jsx @@ -0,0 +1,15 @@ +import React from "react" +import classnames from "classnames" + +import "./index.less" + +export default (props) => { + return + {props.followed ? "Following" : "Follow"} + +} diff --git a/packages/app/src/components/FollowButton/index.less b/packages/app/src/components/FollowButton/index.less new file mode 100644 index 00000000..f38540ea --- /dev/null +++ b/packages/app/src/components/FollowButton/index.less @@ -0,0 +1,59 @@ +.followButton { + user-select: none; + + width : fit-content; + height : 30px; + padding: 5px 15px; + + text-decoration: none; + text-align : center; + vertical-align : middle; + letter-spacing : 1px; + + transition: all 150ms ease-in-out; + + border-radius: 8px; + + span { + transition: all 150ms ease-in-out; + color : #ffffff85 !important; + } + + opacity: 0.9; + + background : linear-gradient(120deg, #6559ae, #ff7159, #6559ae); + background-size : 400% 400%; + background-position: 14% 0%; + + &:hover { + opacity: 1; + + span { + color: white !important; + } + + animation : gradientMove 2s forwards ease-in-out infinite; + } + + &.followed { + background: none; + + span { + color: #7e7e7e !important; + } + } +} + +@keyframes gradientMove { + 0% { + background-position: 14% 0%; + } + + 50% { + background-position: 87% 100%; + } + + 100% { + background-position: 14% 0%; + } +} \ No newline at end of file diff --git a/packages/app/src/components/index.js b/packages/app/src/components/index.js index 3cf28c69..8ff6d646 100644 --- a/packages/app/src/components/index.js +++ b/packages/app/src/components/index.js @@ -1,3 +1,4 @@ +// COMPLEX COMPONENTS export { default as FormGenerator } from "./FormGenerator" export { default as Settings } from "./Settings" export { default as NotFound } from "./NotFound" @@ -22,11 +23,16 @@ export { default as Navigation } from "./Navigation" export { default as ImageUploader } from "./ImageUploader" export { default as ImageViewer } from "./ImageViewer" -export { default as PostsFeed } from "./PostsFeed" +// BUTTONS export { default as LikeButton } from "./LikeButton" +export { default as FollowButton } from "./FollowButton" + +// POSTS +export { default as PostsFeed } from "./PostsFeed" export { default as PostCard } from "./PostCard" export { default as PostCreator } from "./PostCreator" +// OTHERS export * as AdminTools from "./AdminTools" export * as AboutApp from "./AboutApp" export * as Window from "./RenderWindow" \ No newline at end of file