refactor: add column

This commit is contained in:
Shusui MOYATANI
2024-02-22 01:25:36 +09:00
parent 788bc73ceb
commit 9472738f90

View File

@@ -1,4 +1,4 @@
import { Component } from 'solid-js'; import { Component, For } from 'solid-js';
import Bell from 'heroicons/24/outline/bell.svg'; import Bell from 'heroicons/24/outline/bell.svg';
import GlobeAlt from 'heroicons/24/outline/globe-alt.svg'; import GlobeAlt from 'heroicons/24/outline/globe-alt.svg';
@@ -77,85 +77,55 @@ const AddColumn: Component<AddColumnProps> = (props) => {
finish(); finish();
}; };
const menu = [
{
name: () => i18n.t('column.home'),
icon: () => <Home />,
onClick: addFollowingColumn,
},
{
name: () => i18n.t('column.notification'),
icon: () => <Bell />,
onClick: addNotificationColumn,
},
{
name: () => i18n.t('column.japanese'),
icon: () => <GlobeAlt />,
onClick: addJapanRelaysColumn,
},
{
name: () => i18n.t('column.search'),
icon: () => <MagnifyingGlass />,
onClick: addSearchColumn,
},
{
name: () => i18n.t('column.myPosts'),
icon: () => <User />,
onClick: addMyPostsColumn,
},
{
name: () => i18n.t('column.myReactions'),
icon: () => <Heart />,
onClick: addMyReactionsColumn,
},
// TODO channel <ChatBubbleLeftRight />
// TODO bookmark <BookmarkIcon />
];
return ( return (
<BasicModal onClose={props.onClose}> <BasicModal onClose={props.onClose}>
<div class="flex flex-wrap p-4"> <div class="flex flex-wrap p-4">
<button <For each={menu}>
class="flex basis-1/2 flex-col items-center gap-2 py-8 hover:text-primary sm:basis-1/4" {(menuItem) => (
onClick={() => addFollowingColumn()} <button
> class="flex basis-1/2 flex-col items-center gap-2 py-8 hover:text-primary sm:basis-1/4"
<span class="inline-block size-8"> onClick={menuItem.onClick}
<Home /> >
</span> <span class="inline-block size-8">{menuItem.icon()}</span>
{i18n.t('column.home')} {menuItem.name()}
</button> </button>
<button )}
class="flex basis-1/2 flex-col items-center gap-2 py-8 hover:text-primary sm:basis-1/4" </For>
onClick={() => addNotificationColumn()}
>
<span class="inline-block size-8">
<Bell />
</span>
{i18n.t('column.notification')}
</button>
<button
class="flex basis-1/2 flex-col items-center gap-2 py-8 hover:text-primary sm:basis-1/4"
onClick={() => addJapanRelaysColumn()}
>
<span class="inline-block size-8">
<GlobeAlt />
</span>
{i18n.t('column.japanese')}
</button>
{/*
<button
class="flex basis-1/2 flex-col items-center gap-2 py-8 sm:basis-1/4"
onClick={() => window.alert()}
>
<span class="inline-block size-8">
<ChatBubbleLeftRight />
</span>
チャンネル
</button>
*/}
{/*
<button
class="flex basis-1/2 flex-col items-center gap-2 py-8 sm:basis-1/4"
onClick={() => addBookmarkColumn()}
>
<span class="inline-block size-8">
<BookmarkIcon />
</span>
ブックマーク
</button>
*/}
<button
class="flex basis-1/2 flex-col items-center gap-2 py-8 hover:text-primary sm:basis-1/4"
onClick={() => addSearchColumn()}
>
<span class="inline-block size-8">
<MagnifyingGlass />
</span>
{i18n.t('column.search')}
</button>
<button
class="flex basis-1/2 flex-col items-center gap-2 py-8 hover:text-primary sm:basis-1/4"
onClick={() => addMyPostsColumn()}
>
<span class="inline-block size-8">
<User />
</span>
{i18n.t('column.myPosts')}
</button>
<button
class="flex basis-1/2 flex-col items-center gap-2 py-8 hover:text-primary sm:basis-1/4"
onClick={() => addMyReactionsColumn()}
>
<span class="inline-block size-8">
<Heart />
</span>
{i18n.t('column.myReactions')}
</button>
</div> </div>
</BasicModal> </BasicModal>
); );