import { useEffect, useState } from 'preact/hooks';
import { useHotkeys } from 'react-hotkeys-hook';
import { useSnapshot } from 'valtio';
import Icon from '../components/icon';
import Link from '../components/link';
import db from '../utils/db';
import openCompose from '../utils/open-compose';
import states from '../utils/states';
import { getCurrentAccountNS } from '../utils/store-utils';
import Following from './following';
function Home() {
const snapStates = useSnapshot(states);
useEffect(() => {
(async () => {
const keys = await db.drafts.keys();
if (keys.length) {
const ns = getCurrentAccountNS();
const ownKeys = keys.filter((key) => key.startsWith(ns));
if (ownKeys.length) {
states.showDrafts = true;
}
}
})();
}, []);
const { shortcuts } = snapStates;
const { shortcutsColumnsMode } = snapStates.settings || {};
const [shortcutsComponents, setShortcutsComponents] = useState([]);
useEffect(() => {
if (shortcutsColumnsMode) {
const componentsPromises = shortcuts.map((shortcut) => {
const { type, ...params } = shortcut;
// Uppercase type
return import(`./${type}`).then((module) => {
const { default: Component } = module;
return