Ora il db funge più veramente e si possono inviare i problemi
parent
1452c0c143
commit
484c21d606
@ -0,0 +1,14 @@
|
|||||||
|
import { Markdown } from './Markdown.jsx'
|
||||||
|
|
||||||
|
export const Solution = ({ userId, content }) => {
|
||||||
|
return (
|
||||||
|
<div class="solution">
|
||||||
|
<div class="solution-header">
|
||||||
|
<div>@{userId}</div>
|
||||||
|
</div>
|
||||||
|
<div class="solution-content">
|
||||||
|
<Markdown source={content} />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
)
|
||||||
|
}
|
@ -1,6 +1,15 @@
|
|||||||
import renderToString from 'preact-render-to-string'
|
import renderToString from 'preact-render-to-string'
|
||||||
import { App } from './App.jsx'
|
import { App } from './App.jsx'
|
||||||
|
import { MetadataContext } from './hooks.jsx'
|
||||||
|
|
||||||
export function render(url) {
|
export function render(url) {
|
||||||
return renderToString(<App url={url} />)
|
const metadata = {}
|
||||||
|
|
||||||
|
const html = renderToString(
|
||||||
|
<MetadataContext.Provider value={metadata}>
|
||||||
|
<App url={url} />
|
||||||
|
</MetadataContext.Provider>
|
||||||
|
)
|
||||||
|
|
||||||
|
return { html, metadata }
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,26 @@
|
|||||||
|
import { route } from 'preact-router'
|
||||||
|
import { useEffect } from 'preact/hooks'
|
||||||
|
import { useCurrentUser } from '../hooks.jsx'
|
||||||
|
|
||||||
|
export const Admin = ({}) => {
|
||||||
|
const [user] = useCurrentUser(user => {
|
||||||
|
if (!user || user.role !== 'admin') {
|
||||||
|
route('/', true)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
return (
|
||||||
|
<main class="admin">
|
||||||
|
<div class="logo">PHC / Problemi</div>
|
||||||
|
<div class="subtitle">
|
||||||
|
{user ? (
|
||||||
|
<>
|
||||||
|
Logged in as {user.role} @{user.username}
|
||||||
|
</>
|
||||||
|
) : (
|
||||||
|
<a href="/login">Login</a>
|
||||||
|
)}
|
||||||
|
</div>
|
||||||
|
</main>
|
||||||
|
)
|
||||||
|
}
|
Loading…
Reference in New Issue