import type { Component } from 'solid-js' import { A, useLocation } from '@solidjs/router' import { rootsQueries } from '@wovin/core/query' import { Logger } from 'besonders-logger' import { createMemo, createResource, createSignal, Show } from 'solid-js' import { initialized } from '../../appInit' import { devMode, setDevMode } from '../../ui/utils-ui' import { Iconify } from '../mini-components' import { SyncButton } from '../SyncControls' const { WARN, LOG, DEBUG, VERBOSE, ERROR } = Logger.setup(Logger.DEBUG) // eslint-disable-line unused-imports/no-unused-vars export const TopBar: Component<{ searchOpen, setSearchOpen }> = (props) => { const location = useLocation() const isSearchPossible = createMemo(() => !(['settings', 'help'].includes(location.pathname.split('/')[1]))) const [versionStrStatic] = createResource(async () => { if (import.meta.env.DEV && import.meta.env.PREV_COMMIT) { DEBUG({ metaEnv: import.meta.env }) return `${import.meta.env.PREV_COMMIT}_${import.meta.env.GIT_STATUS_INFO}` } else { DEBUG('!DEV', import.meta.env.DEV) } const response = await fetch('commit.txt') // (i) using relative path, bc. we might be on e.g. /ipns/note3.fission.app/#/ if (!response.ok) throw ERROR(`Response ${response.statusText} for /commit.txt`) const text = await response.text() return text // .substring(7) }, { initialValue: import.meta.env.PREV_COMMIT ? `${import.meta.env.PREV_COMMIT}_${import.meta.env.GIT_STATUS_INFO}` : '' }) const [versionStrHMR, setVersionStrHMR] = createSignal(null) if (import.meta.hot) { import.meta.hot.on('git:hmr', (data) => { DEBUG('git:hmr', { data }) if (data.PREV_COMMIT) { setVersionStrHMR(`${data.PREV_COMMIT}_${data.GIT_STATUS_INFO}`) } }) } const versionStr = createMemo(() => (versionStrHMR() || versionStrStatic())?.substring(0, 7)) const gitlabURL = createMemo(() => `https://gitlab.com/wovin/wovin/-/${ versionStr()?.slice(-5).includes('A') ? 'commits/main' // send to main commits page if our hash is ahead : `commit/${versionStrStatic()?.substring(0, 7)}` // otherwise try the sha (hack: might 404 on D or B) }`, ) DEBUG({ versionStr: versionStrStatic(), sig: versionStrHMR(), gitlabURL: gitlabURL() }) return (
{/* }> */}
Note3 {versionStr()} {rootsQueries.size}x useRoots
{ /* props.setSearchOpen(true)} // size='small' mr--2 > */ } props.setSearchOpen(true)} size={6} name='magnifying-glass-bold' /> {/* */} hint) */}> {/* */} { if (e.button === 1) { e.preventDefault() setDevMode(!devMode()) } }} > {/* */}
{/*
*/}
) }