mirror of
https://github.com/linsa-io/linsa.git
synced 2026-01-12 12:20:23 +01:00
* chore: remove useKeyDownListener * chore: remove react-use, update jazz version and add query string * chore: update jazz version * chore: use simple mac or win utils code * feat(util): add isTextInput * feat(hooks): all needed hooks * fix: link bunch stuff * fix: page bunch stuff * chore: bunch update for custom component * chore: use throttle from internal hook * chore: topic bunch stuff * chore: update layout * fix: truncate content header of topic detail
34 lines
835 B
TypeScript
34 lines
835 B
TypeScript
"use client"
|
|
|
|
import React from "react"
|
|
import { LinkForm } from "./partials/form/link-form"
|
|
import { motion, AnimatePresence } from "framer-motion"
|
|
import { parseAsBoolean, useQueryState } from "nuqs"
|
|
|
|
interface LinkManageProps {}
|
|
|
|
const LinkManage: React.FC<LinkManageProps> = () => {
|
|
const [createMode, setCreateMode] = useQueryState("create", parseAsBoolean)
|
|
|
|
const handleFormClose = () => setCreateMode(false)
|
|
|
|
return (
|
|
<AnimatePresence>
|
|
{createMode && (
|
|
<motion.div
|
|
initial={{ height: 0, opacity: 0 }}
|
|
animate={{ height: "auto", opacity: 1 }}
|
|
exit={{ height: 0, opacity: 0 }}
|
|
transition={{ duration: 0.1 }}
|
|
>
|
|
<LinkForm onClose={handleFormClose} onSuccess={handleFormClose} />
|
|
</motion.div>
|
|
)}
|
|
</AnimatePresence>
|
|
)
|
|
}
|
|
|
|
LinkManage.displayName = "LinkManage"
|
|
|
|
export { LinkManage }
|