Skip to content

Commit

Permalink
wip(ban-tpl): renamed from preset reasons to ban templates
Browse files Browse the repository at this point in the history
  • Loading branch information
tabarra committed Apr 30, 2024
1 parent d394da9 commit f86042a
Show file tree
Hide file tree
Showing 6 changed files with 31 additions and 31 deletions.
8 changes: 4 additions & 4 deletions panel/src/layout/MainRouter.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ import TestingPage from "@/pages/TestingPage/TestingPage";
import LiveConsole from "@/pages/LiveConsole/LiveConsole";
import PlayersPage from "@/pages/Players/PlayersPage";
import HistoryPage from "@/pages/History/HistoryPage";
import PresetReasons from "@/pages/PresetReasons/PresetReasonsPage";
import BanTemplatesPage from "@/pages/BanTemplates/BanTemplatesPage";


type RouteType = {
Expand Down Expand Up @@ -54,9 +54,9 @@ const allRoutes: RouteType[] = [
children: <Iframe legacyUrl="settings" />
},
{
path: '/settings/preset-reasons',
title: 'Preset Reasons',
children: <PresetReasons />
path: '/settings/ban-templates',
title: 'Ban Templates',
children: <BanTemplatesPage />
},
{
path: '/system/master-actions',
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import { Dialog, DialogContent, DialogFooter, DialogHeader, DialogTitle } from "
import { Input } from "@/components/ui/input";
import { Label } from "@/components/ui/label";
import { AutosizeTextAreaRef, AutosizeTextarea } from "@/components/ui/autosize-textarea";
import { PresetReasonInputData, banDurationToString } from "./PresetReasonsPage";
import { BanTemplatesInputData, banDurationToString } from "./BanTemplatesPage";
import { BanDurationType } from "@shared/otherTypes";

//Default dropdown options
Expand All @@ -20,19 +20,19 @@ const dropdownOptions = [
];


type PresetReasonInputDialogProps = {
reasonData?: PresetReasonInputData;
onSave: (reasonData: PresetReasonInputData) => void;
type BanTemplatesInputDialogProps = {
reasonData?: BanTemplatesInputData;
onSave: (reasonData: BanTemplatesInputData) => void;
isDialogOpen: boolean;
setIsDialogOpen: (isOpen: boolean) => void;
}

export default function PresetReasonInputDialog({
export default function BanTemplatesInputDialog({
reasonData,
onSave,
isDialogOpen,
setIsDialogOpen
}: PresetReasonInputDialogProps) {
}: BanTemplatesInputDialogProps) {
//Detecting initial state
let initialReason = '';
let initialSelectedDuration = '2 days';
Expand Down Expand Up @@ -86,7 +86,7 @@ export default function PresetReasonInputDialog({
<form onSubmit={handleSubmit}>
<div className="space-y-4">
<DialogHeader>
<DialogTitle>{reasonData ? 'Edit' : 'Add'} Preset</DialogTitle>
<DialogTitle>{reasonData ? 'Edit' : 'Add'} Template</DialogTitle>
</DialogHeader>
<div className="grid grid-cols-6 items-center gap-4">
<Label htmlFor="banReason" className="col-span-6 sm:col-auto">
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,12 @@ import { cn } from "@/lib/utils";
import { PlusIcon } from "lucide-react";


type PresetReasonListAddButtonProps = {
type BanTemplatesListAddButtonProps = {
onClick: () => void;
disabled: boolean;
}

export default function PresetReasonListAddButton({ onClick, disabled }: PresetReasonListAddButtonProps) {
export default function BanTemplatesListAddButton({ onClick, disabled }: BanTemplatesListAddButtonProps) {
return (
<li
onClick={onClick}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
import { cn } from "@/lib/utils";
import { BanDurationType } from "@shared/otherTypes";
import { Settings2Icon, XIcon } from "lucide-react";
import { banDurationToString } from "./PresetReasonsPage";
import { banDurationToString } from "./BanTemplatesPage";


type PresetReasonListItemProps = {
type BanTemplatesListItemProps = {
id: string;
reason: string;
duration: BanDurationType;
Expand All @@ -13,7 +13,7 @@ type PresetReasonListItemProps = {
disabled: boolean;
}

export default function PresetReasonListItem({ id, reason, duration, onEdit, onRemove, disabled }: PresetReasonListItemProps) {
export default function BanTemplatesListItem({ id, reason, duration, onEdit, onRemove, disabled }: BanTemplatesListItemProps) {
return (<>
<div className="grow flex items-center justify-items-start gap-2">
<span className="line-clamp-1">
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,23 +2,23 @@ import InlineCode from "@/components/InlineCode";
import { useAdminPerms } from "@/hooks/auth";
import { useOpenConfirmDialog } from "@/hooks/dialogs";
import { useState } from "react";
import PresetReasonInputDialog from "./PresetReasonInputDialog";
import PresetReasonListItem from "./PresetReasonListItem";
import PresetReasonListAddButton from "./PresetReasonListAddButton";
import BanTemplatesInputDialog from "./BanTemplatesInputDialog";
import BanTemplatesListItem from "./BanTemplatesListItem";
import BanTemplatesListAddButton from "./BanTemplatesListAddButton";
import { BanDurationType } from "@shared/otherTypes";
import { DndSortableGroup, DndSortableItem } from "@/components/dndSortable";
import { DragEndEvent } from "@dnd-kit/core";
import { arrayMove } from "@dnd-kit/sortable";


type PresetReason = {
type BanTemplates = {
id: string;
reason: string;
duration: BanDurationType;
}

//DEBUG: Temporary initial state
export const tmpInitialState: PresetReason[] = [
export const tmpInitialState: BanTemplates[] = [
{
id: '1',
reason: 'Night of. Forth Let place life it created stars all grass. Abundantly. Saying whose darkness brought it rule whales. For forth for upon doesn\'t move us subdue have creeping lesser forth moved. A them man place sea you evening air called second to kind gathered lights evening is. Give multiply them be was you\'re there.',
Expand All @@ -40,15 +40,15 @@ export const banDurationToString = (duration: BanDurationType) => {
}


export type PresetReasonInputData = {
export type BanTemplatesInputData = {
id: string | null;
reason: string;
duration: BanDurationType;
}

export default function PresetReasons() {
export default function BanTemplatesPage() {
const [isDialogOpen, setIsDialogOpen] = useState(false);
const [reasonInputDialogData, setReasonInputDialogData] = useState<PresetReasonInputData | undefined>();
const [reasonInputDialogData, setReasonInputDialogData] = useState<BanTemplatesInputData | undefined>();

const [savedReasons, setSavedReasons] = useState(tmpInitialState);
const openConfirmDialog = useOpenConfirmDialog();
Expand All @@ -67,7 +67,7 @@ export default function PresetReasons() {
}
}

const handleOnSave = ({ id, reason, duration }: PresetReasonInputData) => {
const handleOnSave = ({ id, reason, duration }: BanTemplatesInputData) => {
console.log('Save item', id, reason, duration);
if (id) {
setSavedReasons((prev) =>
Expand Down Expand Up @@ -139,7 +139,7 @@ export default function PresetReasons() {
return <>
<div className="space-y-4 w-fullx w-[1000px] DEBUG mx-auto">
<div className="px-2 md:px-0">
<h1 className="text-3xl mb-2">Preset Ban Reasons</h1>
<h1 className="text-3xl mb-2">Ban Templates</h1>
<p>
Here you can configure ban reasons and durations that will appear as dropdown options when banning a player. <br />
This is useful for common reasons that happen frequently, like violation of your server rules. <br />
Expand Down Expand Up @@ -167,19 +167,19 @@ export default function PresetReasons() {
>
{savedReasons.map((item) => (
<DndSortableItem key={item.id} id={item.id} disabled={!canEdit}>
<PresetReasonListItem
<BanTemplatesListItem
onEdit={handleEditItem}
onRemove={handleRemoveItem}
disabled={!canEdit}
{...item}
/>
</DndSortableItem>
))}
<PresetReasonListAddButton onClick={handleAddNewItem} disabled={!canEdit} />
<BanTemplatesListAddButton onClick={handleAddNewItem} disabled={!canEdit} />
</DndSortableGroup>
</div>
</div>
<PresetReasonInputDialog
<BanTemplatesInputDialog
key={reasonInputDialogData?.id}
reasonData={reasonInputDialogData}
onSave={handleOnSave}
Expand Down
4 changes: 2 additions & 2 deletions panel/src/pages/TestingPage/TestingPage.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import TmpSocket from "./TmpSocket";
import TmpToasts from "./TmpToasts";
import TmpApi from "./TmpApi";
import TmpFiller from "./TmpFiller";
import PresetReasons from "../PresetReasons/PresetReasonsPage";
import BanTemplatesPage from "../BanTemplates/BanTemplatesPage";
import TmpDndSortable from "./TmpDndSortable";


Expand All @@ -26,6 +26,6 @@ export default function TestingPage() {
{/* <TmpMarkdown /> */}
{/* <TmpColors /> */}
{/* <TmpDndSortable /> */}
<PresetReasons />
<BanTemplatesPage />
</div>;
}

0 comments on commit f86042a

Please sign in to comment.