diff --git a/public/locales/en/modules/bookmark.json b/public/locales/en/modules/bookmark.json index 377e4bf9d..d8052dfba 100644 --- a/public/locales/en/modules/bookmark.json +++ b/public/locales/en/modules/bookmark.json @@ -4,6 +4,12 @@ "description": "Displays a static list of strings or links", "settings": { "title": "Bookmark settings", + "name": { + "label": "Widget Title", + "placeholder": { + "label" : "Leave empty to keep the title hidden" + } + }, "items": { "label": "Items" }, diff --git a/src/widgets/bookmark/BookmarkWidgetTile.tsx b/src/widgets/bookmark/BookmarkWidgetTile.tsx index 1c3d8d151..a2c4ccd4d 100644 --- a/src/widgets/bookmark/BookmarkWidgetTile.tsx +++ b/src/widgets/bookmark/BookmarkWidgetTile.tsx @@ -7,12 +7,15 @@ import { Group, Image, ScrollArea, + Divider, Stack, Switch, Text, TextInput, Title, createStyles, + useMantineTheme, + InputProps, } from '@mantine/core'; import { useForm } from '@mantine/form'; import { @@ -27,6 +30,7 @@ import { useTranslation } from 'next-i18next'; import { useEffect } from 'react'; import { v4 } from 'uuid'; import { z } from 'zod'; +import React from 'react'; import { useEditModeStore } from '../../components/Dashboard/Views/useEditModeStore'; import { IconSelector } from '../../components/IconSelector/IconSelector'; @@ -39,12 +43,18 @@ interface BookmarkItem { href: string; iconUrl: string; openNewTab: boolean; + hideHostname: boolean; + hideIcon: boolean; } const definition = defineWidget({ id: 'bookmark', icon: IconBookmark, options: { + name: { + type: 'text', + defaultValue: '', + }, items: { type: 'draggable-editable-list', defaultValue: [], @@ -58,6 +68,8 @@ const definition = defineWidget({ href: 'https://homarr.dev', iconUrl: '/imgs/logo/logo.png', openNewTab: false, + hideHostname: false, + hideIcon: false, }; }, itemComponent({ data, onChange, delete: deleteData }) { @@ -130,6 +142,16 @@ const definition = defineWidget({ label="Open in new tab" checked={form.values.openNewTab} /> + +