From 63f689d1da14823d395d592bdf0c8a958e625e82 Mon Sep 17 00:00:00 2001 From: sazzadulalambd Date: Sun, 10 May 2026 18:24:24 +0600 Subject: [PATCH] feat: add visibility toggles for app and web in company policy settings and fix routing typo --- .../components/CompanyPolicySettings.tsx | 241 +++++++++++++++--- src/app/admin/settings/page.tsx | 75 +++--- src/app/page.tsx | 2 +- 3 files changed, 247 insertions(+), 71 deletions(-) diff --git a/src/app/admin/settings/components/CompanyPolicySettings.tsx b/src/app/admin/settings/components/CompanyPolicySettings.tsx index 97b38ec..a3e4602 100644 --- a/src/app/admin/settings/components/CompanyPolicySettings.tsx +++ b/src/app/admin/settings/components/CompanyPolicySettings.tsx @@ -19,12 +19,20 @@ interface CompanyPolicySettingsProps { setEditPolicyDesc: (desc: string) => void; editPolicyDescHtml: string; setEditPolicyDescHtml: (desc: string) => void; + editPolicyShowApp: boolean; + setEditPolicyShowApp: (v: boolean) => void; + editPolicyShowWeb: boolean; + setEditPolicyShowWeb: (v: boolean) => void; showAddPolicy: boolean; setShowAddPolicy: (show: boolean) => void; newPolicyName: string; setNewPolicyName: (name: string) => void; newPolicyDesc: string; setNewPolicyDesc: (desc: string) => void; + newPolicyShowApp: boolean; + setNewPolicyShowApp: (v: boolean) => void; + newPolicyShowWeb: boolean; + setNewPolicyShowWeb: (v: boolean) => void; } export default function CompanyPolicySettings({ @@ -40,14 +48,22 @@ export default function CompanyPolicySettings({ setEditPolicyName, editPolicyDesc, setEditPolicyDesc, - editPolicyDescHtml, +editPolicyDescHtml, setEditPolicyDescHtml, - showAddPolicy, + editPolicyShowApp, + setEditPolicyShowApp, + editPolicyShowWeb, + setEditPolicyShowWeb, +showAddPolicy, setShowAddPolicy, newPolicyName, setNewPolicyName, newPolicyDesc, setNewPolicyDesc, + newPolicyShowApp, + setNewPolicyShowApp, + newPolicyShowWeb, + setNewPolicyShowWeb, }: CompanyPolicySettingsProps) { return (
@@ -69,18 +85,35 @@ export default function CompanyPolicySettings({
{showAddPolicy && ( -
- setNewPolicyName(e.target.value)} className="w-full px-2 py-1.5 border border-slate-200 rounded text-sm mb-2" placeholder="Policy Title" /> +
+ setNewPolicyName(e.target.value)} className="w-full px-2 py-1.5 border border-slate-200 rounded text-sm" placeholder="Policy Title" /> setNewPolicyDesc(val)} placeholder="Policy Description..." minHeight={100} /> -
+
+
+ + Show on App +
+
+ + Show on Web +
+
+
- +
)} @@ -91,10 +124,24 @@ export default function CompanyPolicySettings({
setEditPolicyName(e.target.value)} className="w-full px-2 py-1.5 border border-slate-200 rounded text-sm" placeholder="Policy Title" /> setEditPolicyDescHtml(val)} placeholder="Policy Description..." minHeight={100} /> +
+
+ + Show on App +
+
+ + Show on Web +
+
- ) : ( +) : (
-
+
{policy.title} + {(policy as { showApp?: boolean; showWeb?: boolean }).showApp && ( + App + )} + {(policy as { showApp?: boolean; showWeb?: boolean }).showWeb && ( + Web + )}
-
+
-
{showAddPolicy && ( -
- setNewPolicyName(e.target.value)} className="w-full px-2 py-1.5 border border-slate-200 rounded text-sm mb-2" placeholder="Policy Title" /> +
+ setNewPolicyName(e.target.value)} className="w-full px-2 py-1.5 border border-slate-200 rounded text-sm" placeholder="Policy Title" /> setNewPolicyDesc(val)} placeholder="Policy Description..." minHeight={100} /> -
+
+
+ + Show on App +
+
+ + Show on Web +
+
+
- +
)} @@ -160,10 +230,24 @@ export default function CompanyPolicySettings({
setEditPolicyName(e.target.value)} className="w-full px-2 py-1.5 border border-slate-200 rounded text-sm" placeholder="Policy Title" /> setEditPolicyDescHtml(val)} placeholder="Policy Description..." minHeight={100} /> +
+
+ + Show on App +
+
+ + Show on Web +
+
{showAddPolicy && ( -
- setNewPolicyName(e.target.value)} className="w-full px-2 py-1.5 border border-slate-200 rounded text-sm mb-2" placeholder="Policy Title" /> +
+ setNewPolicyName(e.target.value)} className="w-full px-2 py-1.5 border border-slate-200 rounded text-sm" placeholder="Policy Title" /> setNewPolicyDesc(val)} placeholder="Policy Description..." minHeight={100} /> -
+
+
+ + Show on App +
+
+ + Show on Web +
+
+
- +
)} @@ -229,10 +336,24 @@ export default function CompanyPolicySettings({
setEditPolicyName(e.target.value)} className="w-full px-2 py-1.5 border border-slate-200 rounded text-sm" placeholder="Policy Title" /> setEditPolicyDescHtml(val)} placeholder="Policy Description..." minHeight={100} /> +
+
+ + Show on App +
+
+ + Show on Web +
+
{showAddPolicy && ( -
- setNewPolicyName(e.target.value)} className="w-full px-2 py-1.5 border border-slate-200 rounded text-sm mb-2" placeholder="Policy Title" /> +
+ setNewPolicyName(e.target.value)} className="w-full px-2 py-1.5 border border-slate-200 rounded text-sm" placeholder="Policy Title" /> setNewPolicyDesc(val)} placeholder="Policy Description..." minHeight={100} /> -
+
+
+ + Show on App +
+
+ + Show on Web +
+
+
- +
)} @@ -306,10 +449,24 @@ export default function CompanyPolicySettings({
setEditPolicyName(e.target.value)} className="w-full px-2 py-1.5 border border-slate-200 rounded text-sm" placeholder="Policy Title" /> setEditPolicyDescHtml(val)} placeholder="Policy Description..." minHeight={100} /> +
+
+ + Show on App +
+
+ + Show on Web +
+