205 lines
No EOL
7.7 KiB
Vue
205 lines
No EOL
7.7 KiB
Vue
<template>
|
|
<div>
|
|
<div
|
|
class="template-container min-h-screen bg-white dark:bg-neutral-950 text-neutral-900 dark:text-neutral-100 py-8"
|
|
>
|
|
<div class="max-w-6xl mx-auto px-4 relative">
|
|
<div class="mb-8">
|
|
<h1 class="text-3xl font-bold text-neutral-900 dark:text-white mb-2">
|
|
More Resources & Templates
|
|
</h1>
|
|
<p class="text-neutral-700 dark:text-neutral-200">
|
|
Additional tools, templates, and resources to support your cooperative journey.
|
|
</p>
|
|
</div>
|
|
|
|
<div class="space-y-8">
|
|
<!-- External Templates Section -->
|
|
<section>
|
|
<h2 class="text-2xl font-semibold text-neutral-900 dark:text-white mb-4">
|
|
External Templates
|
|
</h2>
|
|
<div class="grid grid-cols-1 md:grid-cols-2 gap-6">
|
|
<!-- Miro Template -->
|
|
<div class="template-card">
|
|
<div class="absolute top-2 left-2 w-full h-full dither-shadow"></div>
|
|
<div
|
|
class="relative bg-white dark:bg-neutral-950 border border-black dark:border-white p-6"
|
|
>
|
|
<h3 class="text-xl font-semibold text-neutral-900 dark:text-white mb-2">
|
|
Goals & Values Exercise
|
|
</h3>
|
|
<p class="text-neutral-700 dark:text-neutral-200 mb-4">
|
|
A Miro template to help your team align on shared goals and values through collaborative exercises.
|
|
</p>
|
|
<a
|
|
href="https://miro.com/miroverse/goals-values-exercise/"
|
|
target="_blank"
|
|
rel="noopener noreferrer"
|
|
class="inline-flex items-center px-4 py-2 bg-black dark:bg-white text-white dark:text-black font-medium hover:opacity-90 transition-opacity"
|
|
>
|
|
Open in Miro
|
|
<svg class="w-4 h-4 ml-2" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14" />
|
|
</svg>
|
|
</a>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- CommunityRule Templates -->
|
|
<div class="template-card">
|
|
<div class="absolute top-2 left-2 w-full h-full dither-shadow"></div>
|
|
<div
|
|
class="relative bg-white dark:bg-neutral-950 border border-black dark:border-white p-6"
|
|
>
|
|
<h3 class="text-xl font-semibold text-neutral-900 dark:text-white mb-2">
|
|
CommunityRule Governance Templates
|
|
</h3>
|
|
<p class="text-neutral-700 dark:text-neutral-200 mb-4">
|
|
A collection of governance templates and patterns for democratic organizations and communities.
|
|
</p>
|
|
<a
|
|
href="https://communityrule.info/"
|
|
target="_blank"
|
|
rel="noopener noreferrer"
|
|
class="inline-flex items-center px-4 py-2 bg-black dark:bg-white text-white dark:text-black font-medium hover:opacity-90 transition-opacity"
|
|
>
|
|
Browse Templates
|
|
<svg class="w-4 h-4 ml-2" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002 2v-4M14 4h6m0 0v6m0-6L10 14" />
|
|
</svg>
|
|
</a>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
|
|
<!-- PDF Downloads Section -->
|
|
<section>
|
|
<h2 class="text-2xl font-semibold text-neutral-900 dark:text-white mb-4">
|
|
Wizard PDF Downloads
|
|
</h2>
|
|
<p class="text-neutral-700 dark:text-neutral-200 mb-4">
|
|
Download PDF versions of our wizards for offline use or printing.
|
|
</p>
|
|
<div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6">
|
|
<div
|
|
v-for="pdf in pdfDownloads"
|
|
:key="pdf.id"
|
|
class="template-card"
|
|
>
|
|
<div class="absolute top-2 left-2 w-full h-full dither-shadow"></div>
|
|
<div
|
|
class="relative bg-white dark:bg-neutral-950 border border-black dark:border-white p-6"
|
|
>
|
|
<div class="flex items-start justify-between mb-2">
|
|
<h3 class="text-lg font-semibold text-neutral-900 dark:text-white">
|
|
{{ pdf.name }}
|
|
</h3>
|
|
<span class="text-xs text-neutral-600 dark:text-neutral-400 bg-neutral-100 dark:bg-neutral-800 px-2 py-1 rounded">
|
|
PDF
|
|
</span>
|
|
</div>
|
|
<p class="text-sm text-neutral-700 dark:text-neutral-200 mb-4">
|
|
{{ pdf.description }}
|
|
</p>
|
|
<button
|
|
:disabled="!pdf.available"
|
|
:class="[
|
|
'inline-flex items-center px-4 py-2 font-medium transition-opacity',
|
|
pdf.available
|
|
? 'bg-black dark:bg-white text-white dark:text-black hover:opacity-90'
|
|
: 'bg-neutral-200 dark:bg-neutral-800 text-neutral-500 dark:text-neutral-500 cursor-not-allowed'
|
|
]"
|
|
>
|
|
<svg class="w-4 h-4 mr-2" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 10v6m0 0l-3-3m3 3l3-3m2 8H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z" />
|
|
</svg>
|
|
{{ pdf.available ? 'Download' : 'Coming Soon' }}
|
|
</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</template>
|
|
|
|
<script setup lang="ts">
|
|
// PDF downloads list with placeholder data
|
|
const pdfDownloads = [
|
|
{
|
|
id: 'bylaws',
|
|
name: 'Bylaws Wizard',
|
|
description: 'Create comprehensive bylaws for your cooperative',
|
|
available: false,
|
|
url: '#'
|
|
},
|
|
{
|
|
id: 'operating-agreement',
|
|
name: 'Operating Agreement Wizard',
|
|
description: 'Draft an operating agreement for your LLC cooperative',
|
|
available: false,
|
|
url: '#'
|
|
},
|
|
{
|
|
id: 'articles',
|
|
name: 'Articles of Incorporation',
|
|
description: 'Template for articles of incorporation',
|
|
available: false,
|
|
url: '#'
|
|
},
|
|
{
|
|
id: 'membership',
|
|
name: 'Membership Agreement',
|
|
description: 'Define membership terms and conditions',
|
|
available: false,
|
|
url: '#'
|
|
},
|
|
{
|
|
id: 'patronage',
|
|
name: 'Patronage Policy',
|
|
description: 'Structure your patronage distribution system',
|
|
available: false,
|
|
url: '#'
|
|
},
|
|
{
|
|
id: 'conflict',
|
|
name: 'Conflict Resolution Process',
|
|
description: 'Establish clear conflict resolution procedures',
|
|
available: false,
|
|
url: '#'
|
|
}
|
|
]
|
|
</script>
|
|
|
|
<style scoped>
|
|
.template-card {
|
|
position: relative;
|
|
}
|
|
|
|
.dither-shadow {
|
|
background-image: repeating-linear-gradient(
|
|
45deg,
|
|
transparent,
|
|
transparent 2px,
|
|
currentColor 2px,
|
|
currentColor 4px
|
|
);
|
|
opacity: 0.1;
|
|
pointer-events: none;
|
|
}
|
|
|
|
.dither-tag {
|
|
background-image: repeating-linear-gradient(
|
|
135deg,
|
|
transparent,
|
|
transparent 1px,
|
|
currentColor 1px,
|
|
currentColor 2px
|
|
);
|
|
background-size: 4px 4px;
|
|
}
|
|
</style> |