Rename to Grimoired, update domain to grimoi.red, add resource system
- Rename Grimaired -> Grimoired everywhere (title, nav, descriptions, token keys) - Update domain from skills.here.run.place to grimoi.red - Add Grimoired logo with description on homepage - Add accordion behavior for Quick install / Quick push sections - Add generic resource system (skills, agents, output-styles, rules) - Add resource registry, editor, search, and file manager components
This commit is contained in:
committed by
Alejandro Martinez
parent
aa477a553b
commit
17423fb3b9
@@ -16,7 +16,7 @@
|
||||
<div class="w-full max-w-md rounded-2xl border border-white/[0.08] bg-[var(--color-surface-200)] p-6 shadow-2xl">
|
||||
<h3 class="text-lg font-semibold text-white mb-1">Author Verification</h3>
|
||||
<p class="text-sm text-gray-500 mb-4">
|
||||
This skill is owned by <strong class="text-gray-300">{{ authorName || authorEmail }}</strong>. Enter your token to edit.
|
||||
This resource is owned by <strong class="text-gray-300">{{ authorName || authorEmail }}</strong>. Enter your token to edit.
|
||||
</p>
|
||||
|
||||
<form @submit.prevent="verify">
|
||||
@@ -44,7 +44,7 @@
|
||||
|
||||
<button
|
||||
type="button"
|
||||
@click="forkSkill"
|
||||
@click="forkResource"
|
||||
class="text-sm text-[var(--color-accent-400)] hover:text-[var(--color-accent-300)] transition-colors"
|
||||
>
|
||||
Fork instead
|
||||
@@ -72,8 +72,11 @@ const props = defineProps<{
|
||||
authorEmail?: string;
|
||||
authorName?: string;
|
||||
authorHasToken?: boolean;
|
||||
resourceType?: string;
|
||||
}>();
|
||||
|
||||
const type = props.resourceType || 'skills';
|
||||
|
||||
const showModal = ref(false);
|
||||
const token = ref('');
|
||||
const error = ref('');
|
||||
@@ -82,12 +85,11 @@ const tokenInput = ref<HTMLInputElement>();
|
||||
|
||||
async function handleClick() {
|
||||
if (!props.authorEmail || !props.authorHasToken) {
|
||||
window.location.href = `/${props.slug}/edit`;
|
||||
window.location.href = `/${type}/${props.slug}/edit`;
|
||||
return;
|
||||
}
|
||||
|
||||
// Try saved token first
|
||||
const saved = localStorage.getItem('skillshere-token') || '';
|
||||
const saved = localStorage.getItem('grimoired-token') || '';
|
||||
if (saved) {
|
||||
try {
|
||||
const res = await fetch('/api/auth/verify', {
|
||||
@@ -96,8 +98,8 @@ async function handleClick() {
|
||||
body: JSON.stringify({ email: props.authorEmail, token: saved }),
|
||||
});
|
||||
if (res.ok) {
|
||||
localStorage.setItem('skillshere-token', saved);
|
||||
window.location.href = `/${props.slug}/edit`;
|
||||
localStorage.setItem('grimoired-token', saved);
|
||||
window.location.href = `/${type}/${props.slug}/edit`;
|
||||
return;
|
||||
}
|
||||
} catch { /* fall through to modal */ }
|
||||
@@ -126,9 +128,8 @@ async function verify() {
|
||||
return;
|
||||
}
|
||||
|
||||
// Store token for the editor to use
|
||||
localStorage.setItem('skillshere-token', token.value);
|
||||
window.location.href = `/${props.slug}/edit`;
|
||||
localStorage.setItem('grimoired-token', token.value);
|
||||
window.location.href = `/${type}/${props.slug}/edit`;
|
||||
} catch {
|
||||
error.value = 'Could not verify token';
|
||||
} finally {
|
||||
@@ -136,8 +137,8 @@ async function verify() {
|
||||
}
|
||||
}
|
||||
|
||||
function forkSkill() {
|
||||
function forkResource() {
|
||||
showModal.value = false;
|
||||
window.location.href = `/new?from=${encodeURIComponent(props.slug)}`;
|
||||
window.location.href = `/${type}/new?from=${encodeURIComponent(props.slug)}`;
|
||||
}
|
||||
</script>
|
||||
|
||||
Reference in New Issue
Block a user