dx4 v2
This commit is contained in:
+42
-19
@@ -1,4 +1,4 @@
|
||||
import { motion, AnimatePresence, LayoutGroup } from "motion/react";
|
||||
import { motion, LayoutGroup } from "motion/react";
|
||||
|
||||
import { useAtom } from "jotai";
|
||||
import { useState, useEffect } from "react";
|
||||
@@ -7,20 +7,16 @@ import { AdminUserFRequest, classUserFRequest } from "../trash/req_mgr";
|
||||
import {
|
||||
BiCalendar,
|
||||
BiCalendarEdit,
|
||||
BiCheck,
|
||||
BiExit,
|
||||
BiPencil,
|
||||
BiPlus,
|
||||
BiRedo,
|
||||
BiTime,
|
||||
BiTrash,
|
||||
BiUndo,
|
||||
BiX,
|
||||
} from "react-icons/bi";
|
||||
import { formatDate, parseApiDate } from "../trash/dengi";
|
||||
import {
|
||||
DengiButton,
|
||||
DengiYesOrNoDialog,
|
||||
TextPreloader,
|
||||
// CoolMouseBg
|
||||
} from "../trash/trash-components";
|
||||
import { TableEditor } from "../trash/editorTable";
|
||||
@@ -30,6 +26,7 @@ import { API_BASE_URL } from "../App";
|
||||
export default function EditorPage(props) {
|
||||
const [classId, _setUserId] = useAtom(props.classIDAtom);
|
||||
const [adminId, _setAdminId] = useAtom(props.adminAtom);
|
||||
const [pickmeMode, _setPickmeMode] = useAtom(props.pickmeModeAtom);
|
||||
const [route, setRoute] = useAtom(props.routeAtom);
|
||||
const dateRaw = props.secondPathSegment(route);
|
||||
useEffect(() => {
|
||||
@@ -78,7 +75,7 @@ export default function EditorPage(props) {
|
||||
}, [classId, adminId]);
|
||||
// on rerenderr
|
||||
useEffect(() => {
|
||||
console.log("editor cache clean");
|
||||
// console.log("editor cache clean");
|
||||
props.dengi_cash.delete(
|
||||
"editor_schedule",
|
||||
"editor_changes",
|
||||
@@ -163,9 +160,17 @@ export default function EditorPage(props) {
|
||||
<span>
|
||||
{userFrNames["class"] ? userFrNames["class"] : classId}
|
||||
</span>
|
||||
<span className="block h-[1px] w-[20px] -rotate-45 bg-zinc-600" />
|
||||
<span
|
||||
className={`block h-[1px] w-[20px] -rotate-45 ${
|
||||
pickmeMode ? "bg-pink-600" : "bg-zinc-600"
|
||||
} `}
|
||||
/>
|
||||
<span>
|
||||
{userFrNames["admin"] ? userFrNames["admin"] : adminId}
|
||||
{userFrNames["admin"] ? (
|
||||
userFrNames["admin"]
|
||||
) : (
|
||||
<TextPreloader />
|
||||
)}
|
||||
</span>
|
||||
</motion.span>
|
||||
<motion.span
|
||||
@@ -188,13 +193,20 @@ export default function EditorPage(props) {
|
||||
)
|
||||
}
|
||||
>
|
||||
<BiPencil size={25} />
|
||||
<BiPencil
|
||||
color={pickmeMode ? "#FF0078" : undefined}
|
||||
size={25}
|
||||
/>
|
||||
{formatDate(date)}
|
||||
</div>
|
||||
<div>
|
||||
<a
|
||||
href="#/app"
|
||||
className="flex items-center justify-center border p-1 gap-2 px-2 lg:hover:border-white cursor-pointer rounded-xl transition-colors border-zinc-700 text-zinc-400 lg:hover:text-white"
|
||||
className={`flex items-center justify-center border p-1 gap-2 px-2 cursor-pointer rounded-xl transition-colors ${
|
||||
pickmeMode
|
||||
? "border-pink-400/30 text-pink-300/80 lg:hover:text-white lg:hover:border-pink-500"
|
||||
: "border-zinc-700 text-zinc-400 lg:hover:text-white lg:hover:border-white"
|
||||
} `}
|
||||
onClick={(e) => {
|
||||
if (changesWereMade) {
|
||||
e.preventDefault();
|
||||
@@ -207,12 +219,20 @@ export default function EditorPage(props) {
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div className="flex items-center justify-center gap-5 select-none bg-grain bg-zinc-800/35 p-2 rounded-xl">
|
||||
<div
|
||||
className={`flex items-center justify-center gap-5 select-none bg-grain ${
|
||||
pickmeMode ? "bg-pink-900/35" : "bg-zinc-800/35"
|
||||
} p-2 rounded-xl`}
|
||||
>
|
||||
<LayoutGroup>
|
||||
{tabs.map((item, idx) => (
|
||||
<div
|
||||
className={
|
||||
"flex items-center justify-center gap-1 p-2 rounded-2xl md:hover:bg-white/10 transition-colors relative md:hover:text-white cursor-pointer " +
|
||||
`flex items-center justify-center gap-1 p-2 rounded-2xl ${
|
||||
pickmeMode
|
||||
? "md:hover:bg-pink-400/10"
|
||||
: "md:hover:bg-white/10"
|
||||
} transition-colors relative md:hover:text-white cursor-pointer ` +
|
||||
(idx == selectedTab ? "text-white" : "text-zinc-500")
|
||||
}
|
||||
key={idx}
|
||||
@@ -230,7 +250,9 @@ export default function EditorPage(props) {
|
||||
{idx == selectedTab && (
|
||||
<motion.div
|
||||
layoutId="editor_tabs_underline"
|
||||
className="absolute -bottom-[4px] left-0 h-[3px] bg-white/70 rounded-full w-full"
|
||||
className={`absolute -bottom-[4px] left-0 h-[3px] ${
|
||||
pickmeMode ? "bg-pink-500/70" : "bg-white/70"
|
||||
} rounded-full w-full`}
|
||||
/>
|
||||
)}
|
||||
</div>
|
||||
@@ -246,6 +268,7 @@ export default function EditorPage(props) {
|
||||
setChangesWereMade,
|
||||
date,
|
||||
adminId,
|
||||
pickmeMode,
|
||||
}}
|
||||
dengiCash={props.dengi_cash}
|
||||
/>
|
||||
@@ -255,16 +278,16 @@ export default function EditorPage(props) {
|
||||
</motion.div>
|
||||
{/* <CoolMouseBg /> */}
|
||||
</div>
|
||||
<DefaultEditorBG />
|
||||
<DefaultEditorBG pickmeMode={pickmeMode} />
|
||||
</>
|
||||
);
|
||||
}
|
||||
function DefaultEditorBG() {
|
||||
function DefaultEditorBG({ pickmeMode }) {
|
||||
return (
|
||||
<div
|
||||
className={
|
||||
"w-full h-screen bg-gradient-to-br fixed top-0 left-0 via-black via-50% gap-5 overflow-hidden from-white/2 to-blue-500/10 -z-5 bg-fixed"
|
||||
}
|
||||
className={`w-full h-screen bg-gradient-to-br fixed top-0 left-0 via-black via-50% gap-5 overflow-hidden ${
|
||||
!pickmeMode ? "from-white/2" : "from-pink-400/10"
|
||||
} to-blue-500/10 -z-5 bg-fixed`}
|
||||
/>
|
||||
);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user