-
- (
-
-
-
- )}
- placement="right-start"
- >
- setOpenSettings(true)}>
- {' '}
-
-
-
+
+
+
+
+
+
+
+
+
+ {
+ setOpenSettings(true)
+ setOpenPopover(false)
+ }}
+ className="py-2 px-4 rounded-none"
+ >
+
+
+
+
+
+
+
+
{children}
diff --git a/renderer/components/layouts/timelines.tsx b/renderer/components/layouts/timelines.tsx
index 6b0f69c7..e0f2a3dc 100644
--- a/renderer/components/layouts/timelines.tsx
+++ b/renderer/components/layouts/timelines.tsx
@@ -1,5 +1,5 @@
import { Account, db } from '@/db'
-import { CustomFlowbiteTheme, Flowbite, Sidebar } from 'flowbite-react'
+import { Card, List, ListItem, ListItemPrefix } from '@material-tailwind/react'
import generator, { Entity } from 'megalodon'
import { useRouter } from 'next/router'
import { useEffect, useState } from 'react'
@@ -10,22 +10,6 @@ type LayoutProps = {
children: React.ReactNode
}
-const customTheme: CustomFlowbiteTheme = {
- sidebar: {
- root: {
- inner: 'h-full overflow-y-auto overflow-x-hidden bg-blue-950 py-4 px-3 dark:bg-blue-950'
- },
- item: {
- base: 'flex items-center justify-center rounded-lg p-2 text-base font-normal text-blue-200 hover:bg-blue-900 dark:text-blue-200 dark:hover:bg-blue-900 cursor-pointer',
- active: 'bg-blue-400 text-gray-800 hover:bg-blue-300',
- icon: {
- base: 'h-5 w-5 flex-shrink-0 text-gray-500 transition duration-75 text-blue-200 group-hover:text-blue-900 dark:text-blue-200 dark:group-hover:text-blue-900',
- active: 'text-gray-800'
- }
- }
- }
-}
-
export default function Layout({ children }: LayoutProps) {
const router = useRouter()
const { formatMessage } = useIntl()
@@ -58,65 +42,63 @@ export default function Layout({ children }: LayoutProps) {
{
id: 'home',
title: formatMessage({ id: 'timeline.home' }),
- icon: FaHouse,
+ icon:
,
path: `/accounts/${router.query.id}/home`
},
{
id: 'notifications',
title: formatMessage({ id: 'timeline.notifications' }),
- icon: FaBell,
+ icon:
,
path: `/accounts/${router.query.id}/notifications`
},
{
id: 'local',
title: formatMessage({ id: 'timeline.local' }),
- icon: FaUsers,
+ icon:
,
path: `/accounts/${router.query.id}/local`
},
{
id: 'public',
title: formatMessage({ id: 'timeline.public' }),
- icon: FaGlobe,
+ icon:
,
path: `/accounts/${router.query.id}/public`
}
]
return (
-
-
-
-
{account?.username}
-
@{account?.domain}
-
-
-
- {pages.map(page => (
- router.push(page.path)}
- icon={page.icon}
- className="sidebar-menu-item"
- >
- {page.title}
-
- ))}
- {lists.map(list => (
- router.push({ pathname: `/accounts/${router.query.id}/list_${list.id}` })}
- icon={FaList}
- className="sidebar-menu-item"
- >
- {list.title}
-
- ))}
-
-
-
-
+
+
+
{account?.username}
+
@{account?.domain}
+
+
+ {pages.map(page => (
+ router.push(page.path)}
+ className="sidebar-menu-item text-blue-100"
+ >
+ {page.icon}
+ {page.title}
+
+ ))}
+ {lists.map(list => (
+ router.push({ pathname: `/accounts/${router.query.id}/list_${list.id}` })}
+ className="sidebar-menu-item text-blue-100"
+ >
+
+
+
+ {list.title}
+
+ ))}
+
+
{children}
)
diff --git a/renderer/components/report/Report.tsx b/renderer/components/report/Report.tsx
index 18839652..2cd9c3d8 100644
--- a/renderer/components/report/Report.tsx
+++ b/renderer/components/report/Report.tsx
@@ -1,4 +1,4 @@
-import { Button, Label, Modal, Textarea } from 'flowbite-react'
+import { Button, Dialog, DialogBody, DialogHeader, Textarea, Typography } from '@material-tailwind/react'
import { Entity, MegalodonInterface } from 'megalodon'
import { FormattedMessage } from 'react-intl'
@@ -21,23 +21,24 @@ export default function Report(props: Props) {
}
return (
-
-
+
-
+
+
-
-
+
+
)
}
diff --git a/renderer/components/timelines/Notifications.tsx b/renderer/components/timelines/Notifications.tsx
index 33de176b..fc986007 100644
--- a/renderer/components/timelines/Notifications.tsx
+++ b/renderer/components/timelines/Notifications.tsx
@@ -1,10 +1,10 @@
import { Account } from '@/db'
-import { TextInput } from 'flowbite-react'
import generator, { Entity, MegalodonInterface, WebSocketInterface } from 'megalodon'
import { useEffect, useState, useCallback, useRef, Dispatch, SetStateAction } from 'react'
import { FormattedMessage, useIntl } from 'react-intl'
import { Virtuoso } from 'react-virtuoso'
import Notification from './notification/Notification'
+import { Input, Spinner } from '@material-tailwind/react'
const TIMELINE_STATUSES_COUNT = 30
const TIMELINE_MAX_STATUSES = 2147483647
@@ -107,32 +107,38 @@ export default function Notifications(props: Props) {