feat: add multiple way to show collections and links

This commit is contained in:
Sonny
2025-08-21 02:27:51 +02:00
parent 18fe979069
commit 4ef2b639b6
41 changed files with 785 additions and 164 deletions

View File

@@ -0,0 +1,18 @@
import { DisplayPreferences } from '#shared/types/index';
export const COLLECTION_LIST_DISPLAYS = ['list', 'inline'] as const;
export const LINK_LIST_DISPLAYS = ['list', 'grid'] as const;
export const DEFAULT_LIST_DISPLAY_PREFERENCES: DisplayPreferences = {
linkListDisplay: LINK_LIST_DISPLAYS[0],
collectionListDisplay: COLLECTION_LIST_DISPLAYS[0],
} as const;
export function getDisplayPreferences(
displayPreferences: Partial<DisplayPreferences> = DEFAULT_LIST_DISPLAY_PREFERENCES
): DisplayPreferences {
return {
...DEFAULT_LIST_DISPLAY_PREFERENCES,
...displayPreferences,
} as const;
}

View File

@@ -1,3 +1,11 @@
import { api } from '#adonis/api';
export type ApiRouteName = (typeof api.routes)[number]['name'];
export type CollectionListDisplay = 'list' | 'inline';
export type LinkListDisplay = 'list' | 'grid';
export type DisplayPreferences = {
linkListDisplay: LinkListDisplay;
collectionListDisplay: CollectionListDisplay;
};