|
|
@@ -60,6 +60,8 @@ export const useMjLogsData = () => {
|
|
|
|
|
|
// User and admin
|
|
|
const isAdminUser = isAdmin();
|
|
|
+ // Role-specific storage key to prevent different roles from overwriting each other
|
|
|
+ const STORAGE_KEY = isAdminUser ? 'mj-logs-table-columns-admin' : 'mj-logs-table-columns-user';
|
|
|
|
|
|
// Modal states
|
|
|
const [isModalOpen, setIsModalOpen] = useState(false);
|
|
|
@@ -88,13 +90,14 @@ export const useMjLogsData = () => {
|
|
|
|
|
|
// Load saved column preferences from localStorage
|
|
|
useEffect(() => {
|
|
|
- const savedColumns = localStorage.getItem('mj-logs-table-columns');
|
|
|
+ const savedColumns = localStorage.getItem(STORAGE_KEY);
|
|
|
if (savedColumns) {
|
|
|
try {
|
|
|
const parsed = JSON.parse(savedColumns);
|
|
|
const defaults = getDefaultColumnVisibility();
|
|
|
const merged = { ...defaults, ...parsed };
|
|
|
- // If not admin, force hide columns only visible to admins
|
|
|
+
|
|
|
+ // For non-admin users, force-hide admin-only columns (does not touch admin settings)
|
|
|
if (!isAdminUser) {
|
|
|
merged[COLUMN_KEYS.CHANNEL] = false;
|
|
|
merged[COLUMN_KEYS.SUBMIT_RESULT] = false;
|
|
|
@@ -139,7 +142,7 @@ export const useMjLogsData = () => {
|
|
|
const initDefaultColumns = () => {
|
|
|
const defaults = getDefaultColumnVisibility();
|
|
|
setVisibleColumns(defaults);
|
|
|
- localStorage.setItem('mj-logs-table-columns', JSON.stringify(defaults));
|
|
|
+ localStorage.setItem(STORAGE_KEY, JSON.stringify(defaults));
|
|
|
};
|
|
|
|
|
|
// Handle column visibility change
|
|
|
@@ -167,10 +170,10 @@ export const useMjLogsData = () => {
|
|
|
setVisibleColumns(updatedColumns);
|
|
|
};
|
|
|
|
|
|
- // Update table when column visibility changes
|
|
|
+ // Persist column settings to the role-specific STORAGE_KEY
|
|
|
useEffect(() => {
|
|
|
if (Object.keys(visibleColumns).length > 0) {
|
|
|
- localStorage.setItem('mj-logs-table-columns', JSON.stringify(visibleColumns));
|
|
|
+ localStorage.setItem(STORAGE_KEY, JSON.stringify(visibleColumns));
|
|
|
}
|
|
|
}, [visibleColumns]);
|
|
|
|