mirror of
https://github.com/eliasstepanik/strudel-docker.git
synced 2026-01-11 21:58:31 +00:00
delete browse page for now
This commit is contained in:
parent
204c964050
commit
5314c83534
@ -1,56 +0,0 @@
|
||||
import { useCallback, useEffect, useMemo, useState } from 'react';
|
||||
import type { Tables } from '../../database.types';
|
||||
import { getMetadata } from '../metadata_parser';
|
||||
import { loadFeaturedPatterns, loadPublicPatterns } from '../repl/util.mjs';
|
||||
|
||||
export function PatternLabel({ pattern }: { pattern: Tables<'code'> }) {
|
||||
const meta = useMemo(() => getMetadata(pattern.code), [pattern]);
|
||||
return (
|
||||
<>
|
||||
{pattern.id}. {meta.title || pattern.hash} by {meta.by.join(',') || 'Anonymous'}
|
||||
</>
|
||||
);
|
||||
}
|
||||
|
||||
export const usePublicPatterns = () => {
|
||||
const [publicPatterns, setPublicPatterns] = useState<Tables<'code'>[] | null>([]);
|
||||
const [featuredPatterns, setFeaturedPatterns] = useState<Tables<'code'>[] | null>([]);
|
||||
const init = useCallback(async () => {
|
||||
const { data: _publicPatterns } = await loadPublicPatterns();
|
||||
const { data: _featuredPatterns } = await loadFeaturedPatterns();
|
||||
setPublicPatterns(_publicPatterns);
|
||||
setFeaturedPatterns(_featuredPatterns);
|
||||
}, []);
|
||||
useEffect(() => {
|
||||
init();
|
||||
}, [useCallback]);
|
||||
return { publicPatterns, featuredPatterns };
|
||||
};
|
||||
|
||||
export function SharedPatterns() {
|
||||
const { publicPatterns, featuredPatterns } = usePublicPatterns();
|
||||
return (
|
||||
<div>
|
||||
<h2 className="">Featured</h2>
|
||||
<section>
|
||||
{featuredPatterns?.map((pattern, i) => (
|
||||
<div key={i}>
|
||||
<a href={`/?${pattern.hash}`} target="_blank">
|
||||
<PatternLabel pattern={pattern} />
|
||||
</a>
|
||||
</div>
|
||||
))}
|
||||
</section>
|
||||
<h2>Last Creations</h2>
|
||||
<section>
|
||||
{publicPatterns?.map((pattern, i) => (
|
||||
<div key={i}>
|
||||
<a href={`/?${pattern.hash}`} target="_blank">
|
||||
<PatternLabel pattern={pattern} />
|
||||
</a>
|
||||
</div>
|
||||
))}
|
||||
</section>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
@ -1,14 +0,0 @@
|
||||
---
|
||||
import HeadCommon from '../components/HeadCommon.astro';
|
||||
import { SharedPatterns } from '../components/SharedPatterns';
|
||||
---
|
||||
|
||||
<head>
|
||||
<HeadCommon />
|
||||
</head>
|
||||
<body class="bg-slate-800">
|
||||
<div class="prose dark:prose-invert max-w-full pb-8 p-4">
|
||||
<h1>Browse</h1>
|
||||
<SharedPatterns client:only />
|
||||
</div>
|
||||
</body>
|
||||
@ -16,8 +16,8 @@ import {
|
||||
useSettings,
|
||||
} from '../../settings.mjs';
|
||||
import * as tunes from '../tunes.mjs';
|
||||
import { PatternLabel } from '../../components/SharedPatterns';
|
||||
import { useStore } from '@nanostores/react';
|
||||
import { getMetadata } from '../../metadata_parser';
|
||||
|
||||
function classNames(...classes) {
|
||||
return classes.filter(Boolean).join(' ');
|
||||
@ -167,3 +167,12 @@ export function PatternsTab({ context }) {
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
export function PatternLabel({ pattern } /* : { pattern: Tables<'code'> } */) {
|
||||
const meta = useMemo(() => getMetadata(pattern.code), [pattern]);
|
||||
return (
|
||||
<>
|
||||
{pattern.id}. {meta.title || pattern.hash} by {meta.by.join(',') || 'Anonymous'}
|
||||
</>
|
||||
);
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user