Toggle menu
17
24
14
1.7K
Landrace.Wiki - The Landrace Cannabis Wiki
Toggle preferences menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

Template:Accession: Difference between revisions

Template page
No edit summary
No edit summary
 
(102 intermediate revisions by the same user not shown)
Line 1: Line 1:
<!-- Beautiful Hero Section - All in One Template -->
<noinclude>
<div class="accession-hero">
Backend template for accessions on Landrace.Wiki.
 
  <!-- Photo Gallery Section -->
  <div class="hero-gallery">
    <div class="gallery-main">
      <!-- Primary hero image -->
      <div class="hero-image">
        {{#if: {{#show: {{{1}}} | ?Has whole plant in habitat photo}} |
          <img src="/images/placeholder-plant.jpg" alt="{{PAGENAME}} in habitat" class="hero-img">
        |
          <div class="hero-placeholder">
            <div class="placeholder-icon">🌿</div>
            <div class="placeholder-text">No primary image available</div>
          </div>
        }}
       
        <!-- Image overlay with key info -->
        <div class="hero-overlay">
          <div class="hero-title">{{PAGENAME}}</div>
          <div class="hero-subtitle">{{#show: {{{1}}} | ?Has accession ID | default=Accession ID not specified}}</div>
          <div class="hero-location">
            {{#show: {{{1}}} | ?Has locality}}, {{#show: {{{1}}} | ?Has province}} • {{#show: {{{1}}} | ?Has collection date}}
          </div>
        </div>
      </div>
    </div>
   
    <!-- Gallery thumbnails -->
    <div class="gallery-thumbs">
      {{#if: {{#show: {{{1}}} | ?Has flowering branches photo}} |
        <div class="thumb active">
          <img src="/images/placeholder-flowering.jpg" alt="Flowering branches">
          <span class="thumb-label">Flowering</span>
        </div>
      }}
      {{#if: {{#show: {{{1}}} | ?Has close-up inflorescences photo}} |
        <div class="thumb">
          <img src="/images/placeholder-closeup.jpg" alt="Close-up inflorescences">
          <span class="thumb-label">Close-up</span>
        </div>
      }}
      {{#if: {{#show: {{{1}}} | ?Has habitat overview photo}} |
        <div class="thumb">
          <img src="/images/placeholder-habitat.jpg" alt="Habitat overview">
          <span class="thumb-label">Habitat</span>
        </div>
      }}
      {{#if: {{#show: {{{1}}} | ?Has farmer grower portraits}} |
        <div class="thumb">
          <img src="/images/placeholder-farmer.jpg" alt="Farmer portrait">
          <span class="thumb-label">Farmer</span>
        </div>
      }}
    </div>
  </div>


  <!-- Key Stats Dashboard -->
* Populated by [[Form:Accession]] (or future accession forms).
  <div class="hero-stats">
* Renders the infobox via {{Infobox accession}}.
   
* Sets core SemanticMediaWiki properties via {{#set}}.
    <!-- Conservation Status Card -->
</noinclude>
    <div class="stat-card status-card {{#switch: {{#show: {{{1}}} | ?Has conservation priority | link=none}}
      | Critical = critical
      | High = high 
      | Medium = medium
      | Low = low
      | #default = unknown
    }}">
      <div class="stat-icon">🛡️</div>
      <div class="stat-content">
        <div class="stat-label">Conservation Status</div>
        <div class="stat-value">{{#show: {{{1}}} | ?Has conservation priority | default=Unknown}}</div>
        <div class="stat-detail">{{#show: {{{1}}} | ?Has cultivation status | default=Status unknown}}</div>
      </div>
    </div>
 
    <!-- Collection Info Card -->
    <div class="stat-card collection-card">
      <div class="stat-icon">📅</div>
      <div class="stat-content">
        <div class="stat-label">Collection</div>
        <div class="stat-value">{{#show: {{{1}}} | ?Has collection date | default=Date unknown}}</div>
        <div class="stat-detail">{{#show: {{{1}}} | ?Has collection type | default=Type unknown}} • {{#show: {{{1}}} | ?Has collector | default=Collector unknown}}</div>
      </div>
    </div>
 
    <!-- Location Card -->
    <div class="stat-card location-card">
      <div class="stat-icon">📍</div>
      <div class="stat-content">
        <div class="stat-label">Location</div>
        <div class="stat-value">{{#show: {{{1}}} | ?Has elevation | default=Unknown}}{{#if: {{#show: {{{1}}} | ?Has elevation}} | m elevation | }}</div>
        <div class="stat-detail">{{#show: {{{1}}} | ?Has GPS coordinates | default=Coordinates not specified}}</div>
      </div>
    </div>
 
    <!-- Documentation Quality Card -->
    <div class="stat-card docs-card">
      <div class="stat-icon">📋</div>
      <div class="stat-content">
        <div class="stat-label">Documentation</div>
        <div class="stat-value">{{#show: {{{1}}} | ?Has documentation status | default=Unknown}}</div>
        <div class="stat-detail">
          {{#if: {{#show: {{{1}}} | ?Has point of origin documentation}} | ✓ | ✗}} Origin •
          {{#if: {{#show: {{{1}}} | ?Has photographic metadata preserved}} | ✓ | ✗}} Photos •
          {{#if: {{#show: {{{1}}} | ?Has chain of custody maintained}} | ✓ | ✗}} Custody
        </div>
      </div>
    </div>
 
  </div>
 
  <!-- Geographic Hierarchy Breadcrumb -->
  <div class="hero-breadcrumb">
    <div class="breadcrumb-container">
      <div class="breadcrumb-item">
        <span class="breadcrumb-icon">🌍</span>
        <span class="breadcrumb-text">{{#show: {{{1}}} | ?Has country | default=Unknown Country}}</span>
      </div>
      {{#if: {{#show: {{{1}}} | ?Has growing region}} |
        <div class="breadcrumb-arrow">→</div>
        <div class="breadcrumb-item">
          <span class="breadcrumb-text">{{#show: {{{1}}} | ?Has growing region}}</span>
        </div>
      }}
      {{#if: {{#show: {{{1}}} | ?Has growing area}} |
        <div class="breadcrumb-arrow">→</div>
        <div class="breadcrumb-item">
          <span class="breadcrumb-text">{{#show: {{{1}}} | ?Has growing area}}</span>
        </div>
      }}
      {{#if: {{#show: {{{1}}} | ?Has appellation}} |
        <div class="breadcrumb-arrow">→</div>
        <div class="breadcrumb-item">
          <span class="breadcrumb-text">{{#show: {{{1}}} | ?Has appellation}}</span>
        </div>
      }}
      {{#if: {{#show: {{{1}}} | ?Has field}} |
        <div class="breadcrumb-arrow">→</div>
        <div class="breadcrumb-item current">
          <span class="breadcrumb-text">{{#show: {{{1}}} | ?Has field}}</span>
        </div>
      }}
    </div>
  </div>
 
  <!-- Interactive Map Section -->
  <div class="hero-map">
    <div class="map-container">
      {{#if: {{#show: {{{1}}} | ?Has GPS coordinates}} |
        <!-- Map will be rendered here with coordinates -->
        <div class="map-placeholder">
          <div class="map-icon">🗺️</div>
          <div class="map-coords">{{#show: {{{1}}} | ?Has GPS coordinates}}</div>
          <div class="map-text">Interactive map loading...</div>
        </div>
      |
        <div class="map-unavailable">
          <div class="map-icon">📍</div>
          <div class="map-text">Location coordinates not available</div>
        </div>
      }}
    </div>
   
    <!-- Quick Actions -->
    <div class="map-actions">
      {{#if: {{#show: {{{1}}} | ?Has GPS coordinates}} |
        <button class="action-btn primary">📍 View on Map</button>
        <button class="action-btn secondary">🔗 Share Location</button>
      }}
      <button class="action-btn secondary">📁 Download Data</button>
    </div>
  </div>
 
</div>
 
<!-- Temporary placeholder for detailed sections -->
<div class="coming-soon">
  <div class="coming-soon-content">
    <h3>📋 Detailed Information</h3>
    <p>Additional sections (botanical description, cultural context, conservation details) will be added here with beautiful, scannable design.</p>
    <p><em>For now, all essential information is displayed in the hero section above.</em></p>
  </div>
</div>
 
<!-- ALL CSS STYLES IN ONE PLACE -->
<style>
.accession-hero {
  margin-bottom: 2rem;
}
 
/* Gallery Styles */
.hero-gallery {
  margin-bottom: 1.5rem;
}
 
.hero-image {
  position: relative;
  width: 100%;
  height: 400px;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.15);
}
 
.hero-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
 
.hero-placeholder {
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg, #f1f5f9 0%, #e2e8f0 100%);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: #64748b;
}
 
.placeholder-icon {
  font-size: 4rem;
  margin-bottom: 1rem;
}
 
.placeholder-text {
  font-size: 1.1rem;
  font-weight: 500;
}
 
.hero-overlay {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background: linear-gradient(transparent, rgba(0, 0, 0, 0.8));
  color: white;
  padding: 2rem;
}
 
.hero-title {
  font-size: 2.5rem;
  font-weight: 700;
  margin-bottom: 0.5rem;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
}
 
.hero-subtitle {
  font-size: 1.1rem;
  opacity: 0.9;
  font-family: 'SF Mono', monospace;
  margin-bottom: 0.5rem;
}
 
.hero-location {
  font-size: 1rem;
  opacity: 0.8;
}
 
.gallery-thumbs {
  display: flex;
  gap: 0.75rem;
  margin-top: 1rem;
  overflow-x: auto;
  padding: 0.5rem 0;
}
 
.thumb {
  flex-shrink: 0;
  width: 80px;
  height: 60px;
  border-radius: 8px;
  overflow: hidden;
  cursor: pointer;
  opacity: 0.7;
  transition: all 0.3s ease;
  position: relative;
}
 
.thumb:hover, .thumb.active {
  opacity: 1;
  transform: scale(1.05);
}
 
.thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
 
.thumb-label {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background: rgba(0, 0, 0, 0.7);
  color: white;
  font-size: 0.7rem;
  padding: 0.25rem;
  text-align: center;
}
 
/* Stats Dashboard */
.hero-stats {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 1rem;
  margin-bottom: 1.5rem;
}
 
.stat-card {
  background: white;
  border-radius: 12px;
  padding: 1.5rem;
  display: flex;
  align-items: center;
  gap: 1rem;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
  transition: transform 0.3s ease;
}
 
.stat-card:hover {
  transform: translateY(-2px);
}
 
.stat-icon {
  font-size: 2.5rem;
  flex-shrink: 0;
}
 
.stat-content {
  flex: 1;
}
 
.stat-label {
  font-size: 0.9rem;
  color: #64748b;
  font-weight: 500;
  margin-bottom: 0.25rem;
}
 
.stat-value {
  font-size: 1.3rem;
  font-weight: 700;
  color: #1e293b;
  margin-bottom: 0.25rem;
}
 
.stat-detail {
  font-size: 0.85rem;
  color: #64748b;
}
 
/* Conservation Status Colors */
.status-card.critical {
  border-left: 4px solid #ef4444;
  background: linear-gradient(135deg, #fef2f2 0%, #fee2e2 100%);
}
 
.status-card.high {
  border-left: 4px solid #f97316;
  background: linear-gradient(135deg, #fffbeb 0%, #fed7aa 100%);
}


.status-card.medium {
{{Infobox accession
  border-left: 4px solid #eab308;
| descriptive_name            = {{{descriptive_name|{{PAGENAME}}}}}
  background: linear-gradient(135deg, #fefce8 0%, #fef3c7 100%);
| image                      = {{{image|}}}
}
| image_alt                  = {{{image_alt|}}}
| image_caption              = {{{image_caption|}}}


.status-card.low {
| accession_id                = {{{accession_id|}}}
  border-left: 4px solid #22c55e;
| classification              = {{{classification|}}}
  background: linear-gradient(135deg, #f0fdf4 0%, #dcfce7 100%);
| collection_type            = {{{collection_type|}}}
}
| sourcing_type              = {{{sourcing_type|}}}
| documentation_status        = {{{documentation_status|}}}


/* Breadcrumb */
| gene_pool                  = {{{gene_pool|}}}
.hero-breadcrumb {
| regional_complex            = {{{regional_complex|}}}
  background: linear-gradient(135deg, #f8fafc 0%, #e2e8f0 100%);
| growing_region              = {{{growing_region|}}}
  border-radius: 12px;
| growing_area                = {{{growing_area|}}}
  padding: 1rem 1.5rem;
| appellation                = {{{appellation|}}}
  margin-bottom: 1.5rem;
| field                      = {{{field|}}}
  border: 1px solid #e2e8f0;
}


.breadcrumb-container {
| country                    = {{{country|}}}
  display: flex;
| province                    = {{{province|}}}
  align-items: center;
| district                    = {{{district|}}}
  flex-wrap: wrap;
| locality                    = {{{locality|}}}
  gap: 0.5rem;
}


.breadcrumb-item {
| gps_coordinates            = {{{gps_coordinates|}}}
  display: flex;
| elevation                  = {{{elevation|}}}
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 0.75rem;
  background: white;
  border-radius: 6px;
  font-size: 0.9rem;
  font-weight: 500;
  color: #475569;
  border: 1px solid #e2e8f0;
}


.breadcrumb-item.current {
| primary_local_name          = {{{primary_local_name|}}}
  background: #2c5530;
| vernacular_translation      = {{{vernacular_translation|}}}
  color: white;
  font-weight: 600;
}


.breadcrumb-arrow {
| collection_date            = {{{collection_date|}}}
  color: #94a3b8;
| collector                  = {{{collector|}}}
  font-weight: bold;
| collector_affiliation      = {{{collector_affiliation|}}}
}
| collection_method          = {{{collection_method|}}}
| sample_size                = {{{sample_size|}}}


.breadcrumb-icon {
| cultivation_status          = {{{cultivation_status|}}}
   font-size: 1rem;
| conservation_priority      = {{{conservation_priority|}}}
}
| population_estimate        = {{{population_estimate|}}}
| perceived_introgression_level = {{{perceived_introgression_level|}}}
| legal_enforcement_threats   = {{{legal_enforcement_threats|}}}


/* Map Section */
| seed_storage_location      = {{{seed_storage_location|}}}
.hero-map {
| seed_quantity              = {{{seed_quantity|}}}
  background: white;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
}


.map-container {
| last_updated                = {{{last_updated|}}}
  height: 200px;
}}
  background: #f1f5f9;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}


.map-placeholder, .map-unavailable {
{{#set:
  text-align: center;
|Has accession ID={{{accession_id|}}}
  color: #64748b;
|Has descriptive name={{{descriptive_name|{{PAGENAME}}}}}
}
|Has classification={{{classification|}}}
 
|Has collection type={{{collection_type|}}}
.map-icon {
|Has sourcing type={{{sourcing_type|}}}
  font-size: 3rem;
|Has documentation status={{{documentation_status|}}}
  margin-bottom: 0.5rem;
|Has gene pool={{{gene_pool|}}}
}
|Has regional complex={{{regional_complex|}}}
 
|Has growing region={{{growing_region|}}}
.map-coords {
|Has growing area={{{growing_area|}}}
  font-family: 'SF Mono', monospace;
|Has appellation={{{appellation|}}}
  font-size: 0.9rem;
|Has field={{{field|}}}
  margin-bottom: 0.5rem;
|Has country={{{country|}}}
  font-weight: 600;
|Has province={{{province|}}}
  color: #1e293b;
|Has district={{{district|}}}
}
|Has locality={{{locality|}}}
 
|Has GPS coordinates={{{gps_coordinates|}}}
.map-text {
|Has elevation={{{elevation|}}}
  font-size: 1rem;
|Has primary local name={{{primary_local_name|}}}
  font-weight: 500;
|Has vernacular translation={{{vernacular_translation|}}}
}
|Has collection date={{{collection_date|}}}
 
|Has collector={{{collector|}}}
.map-actions {
|Has collector affiliation={{{collector_affiliation|}}}
  padding: 1rem;
|Has collection method={{{collection_method|}}}
  display: flex;
|Has sample size={{{sample_size|}}}
  gap: 0.75rem;
|Has cultivation status={{{cultivation_status|}}}
  flex-wrap: wrap;
|Has conservation priority={{{conservation_priority|}}}
}
|Has population estimate={{{population_estimate|}}}
 
|Has perceived introgression level={{{perceived_introgression_level|}}}
.action-btn {
|Has legal enforcement threats={{{legal_enforcement_threats|}}}
  padding: 0.75rem 1.5rem;
|Has seed storage location={{{seed_storage_location|}}}
  border-radius: 8px;
|Has seed quantity={{{seed_quantity|}}}
  font-weight: 600;
  |Has last updated={{{last_updated|}}}
  font-size: 0.9rem;
}}
  cursor: pointer;
  transition: all 0.3s ease;
  border: none;
}
 
.action-btn.primary {
  background: #2c5530;
  color: white;
}
 
.action-btn.primary:hover {
  background: #22452a;
  transform: translateY(-1px);
}
 
.action-btn.secondary {
  background: #f1f5f9;
  color: #475569;
  border: 1px solid #e2e8f0;
}
 
.action-btn.secondary:hover {
  background: #e2e8f0;
  transform: translateY(-1px);
}
 
/* Coming Soon Placeholder */
.coming-soon {
  background: linear-gradient(135deg, #f8fafc 0%, #e2e8f0 100%);
  border: 2px dashed #cbd5e0;
  border-radius: 12px;
  padding: 2rem;
  margin: 2rem 0;
  text-align: center;
}
 
.coming-soon-content {
  max-width: 500px;
  margin: 0 auto;
}
 
.coming-soon h3 {
  color: #475569;
  margin-bottom: 1rem;
}
 
.coming-soon p {
  color: #64748b;
  margin-bottom: 0.5rem;
}
 
/* Mobile Responsive */
@media (max-width: 768px) {
  .hero-title {
    font-size: 1.8rem;
  }
 
  .hero-stats {
    grid-template-columns: 1fr;
  }
 
  .breadcrumb-container {
    flex-direction: column;
    align-items: stretch;
  }
 
  .breadcrumb-arrow {
    transform: rotate(90deg);
    align-self: center;
  }
 
  .map-actions {
    flex-direction: column;
  }
}
</style>
 
<!-- Auto-categorization -->
{{#show: {{{1}}} | ?Has country | template=Category link | link=none | sep= }}
{{#show: {{{1}}} | ?Has growing region | template=Category link | link=none | sep= }}
{{#show: {{{1}}} | ?Has documentation status | template=Category link | link=none | sep= }}
{{#show: {{{1}}} | ?Has conservation priority | template=Category link | link=none | sep= }}
[[Category:Accessions]]
 
<noinclude>
== Clean Accession Template ==
 
This is the new, clean accession template with beautiful hero section and all CSS included.
 
=== Usage ===
<pre>{{Accession|{{PAGENAME}}}}</pre>
 
=== Features ===
* Beautiful hero section with photo gallery
* Key statistics dashboard
* Geographic breadcrumb navigation  
* Conservation status indicators
* Location map integration
* Mobile-responsive design
* All CSS included in template
 
[[Category:Templates]]
</noinclude>

Latest revision as of 08:56, 22 November 2025

Backend template for accessions on Landrace.Wiki.

  • Populated by Form:Accession (or future accession forms).
  • Renders the infobox via This is the visual infobox for accession pages on Landrace.Wiki.

Do not call it directly; use Accession on accession pages..

  • Sets core SemanticMediaWiki properties via {{#set}}.


This is the visual infobox for accession pages on Landrace.Wiki. Do not call it directly; use Accession on accession pages.