7#ifndef KICAD_TEMPLATE_DEFAULT_HTML_H 
    8#define KICAD_TEMPLATE_DEFAULT_HTML_H 
   21        "<meta charset=\"UTF-8\">" 
   22        "<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">" 
   23        "<title>KiCad Project Template Selector</title>" 
   25        "body { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif; margin: 0; padding: 20px; background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); color: #333; min-height: 100vh; box-sizing: border-box; }" 
   26        ".container { max-width: 800px; margin: 0 auto; background: rgba(255, 255, 255, 0.95); border-radius: 12px; padding: 30px; box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1); backdrop-filter: blur(10px); }" 
   27        ".header { text-align: center; margin-bottom: 30px; }" 
   28        ".logo { font-size: 2.5rem; font-weight: bold; color: #4a5568; margin-bottom: 10px; text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.1); }" 
   29        ".subtitle { font-size: 1.2rem; color: #666; margin-bottom: 20px; }" 
   31#
if defined( __MINGW32__ )
 
   32        "background: #4299e1;"   
   34        "background: linear-gradient(135deg, #4299e1, #3182ce);" 
   36        "color: white; padding: 25px; border-radius: 10px; margin-bottom: 25px; box-shadow: 0 4px 15px rgba(66, 153, 225, 0.3); }" 
   37        ".welcome-card h2 { margin-top: 0; font-size: 1.8rem; margin-bottom: 15px; }" 
   38        ".instructions { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 20px; margin-bottom: 25px; }" 
   39        ".instruction-card { background: #f7fafc; border: 2px solid #e2e8f0; border-radius: 8px; padding: 20px; transition: all 0.3s ease; position: relative; overflow: hidden; }" 
   40        ".instruction-card:hover { transform: translateY(-2px); box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1); border-color: #4299e1; }" 
   41        ".instruction-card::before { content: ''; position: absolute; top: 0; left: 0; width: 4px; height: 100%; background: linear-gradient(135deg, #4299e1, #3182ce); }" 
   42        ".instruction-card h3 { color: #2d3748; margin-top: 0; margin-bottom: 10px; font-size: 1.3rem; }" 
   43        ".instruction-card p { color: #4a5568; line-height: 1.6; margin: 0; }" 
   44        ".features { background: #f0fff4; border: 2px solid #9ae6b4; border-radius: 8px; padding: 20px; margin-bottom: 25px; }" 
   45        ".features h3 { color: #22543d; margin-top: 0; margin-bottom: 15px; font-size: 1.4rem; }" 
   46        ".features ul { color: #2f855a; line-height: 1.8; margin: 0; padding-left: 20px; }" 
   47        ".features li { margin-bottom: 8px; }" 
   48        ".tips { background: #fffaf0; border: 2px solid #fbd38d; border-radius: 8px; padding: 20px; }" 
   49        ".tips h3 { color: #c05621; margin-top: 0; margin-bottom: 15px; font-size: 1.4rem; }" 
   50        ".tips p { color: #c05621; line-height: 1.6; margin: 0 0 10px 0; }" 
   51        ".highlight { background: linear-gradient(120deg, #a8edea 0%, #fed6e3 100%); padding: 2px 6px; border-radius: 4px; font-weight: 600; }" 
   55        "<div class=\"container\">" 
   56        "<div class=\"header\">" 
   57        "<div class=\"logo\">KiCad 📑</div>" 
   58        "<div class=\"subtitle\">" + 
_( 
"Project Template Selector" ) + 
"</div>" 
   60        "<div class=\"welcome-card\">" 
   61        "<h2>" + 
_( 
"Welcome to Template Selection!" ) + 
"</h2>" 
   62        "<p>" + 
_( 
"Choose from a variety of pre-configured project templates to jumpstart your PCB design. Templates provide ready-to-use project structures with common components, libraries, and design rules." ) + 
"</p>" 
   64        "<div class=\"instructions\">" 
   65        "<div class=\"instruction-card\">" 
   66        "<h3>→ " + 
_( 
"Browse Templates" ) + 
"</h3>" 
   67        "<p>" + 
_( 
"Navigate through the template tabs above to explore different categories of project templates. Each tab contains templates organized by type or complexity." ) + 
"</p>" 
   69        "<div class=\"instruction-card\">" 
   70        "<h3>→ " + 
_( 
"Select a Template" ) + 
"</h3>" 
   71        "<p>" + 
_( 
"Click on any template in the list to " ) + 
"<span class=\"highlight\">" + 
_( 
"preview its details" ) + 
"</span>. " + 
_( 
"The template information will appear in this panel, showing descriptions, included components, and project structure." ) + 
"</p>" 
   73        "<div class=\"instruction-card\">" 
   74        "<h3>→ " + 
_( 
"Customize Path" ) + 
"</h3>" 
   75        "<p>" + 
_( 
"Use the " ) + 
"<span class=\"highlight\">" + 
_( 
"folder path field" ) + 
"</span> " + 
_( 
"above to browse custom template directories. Click the folder icon to browse, or the refresh icon to reload templates." ) + 
"</p>" 
   77        "<div class=\"instruction-card\">" 
   78        "<h3>→ " + 
_( 
"Create Project" ) + 
"</h3>" 
   79        "<p>" + 
_( 
"Once you've found the right template, click " ) + 
"<span class=\"highlight\">" + 
_( 
"OK" ) + 
"</span> " + 
_( 
"to create a new project based on the selected template. Your project will inherit all template settings and files." ) + 
"</p>" 
   82        "<div class=\"features\">" 
   83        "<h3>" + 
_( 
"What You Get with Templates" ) + 
"</h3>" 
   85        "<li><strong>" + 
_( 
"Pre-configured libraries" ) + 
"</strong> " + 
_( 
"- Common components and footprints already linked" ) + 
"</li>" 
   86        "<li><strong>" + 
_( 
"Design rules" ) + 
"</strong> " + 
_( 
"- Appropriate electrical and mechanical constraints" ) + 
"</li>" 
   87        "<li><strong>" + 
_( 
"Layer stackups" ) + 
"</strong> " + 
_( 
"- Optimized for the intended application" ) + 
"</li>" 
   88        "<li><strong>" + 
_( 
"Component placement" ) + 
"</strong> " + 
_( 
"- Basic layout and routing guidelines" ) + 
"</li>" 
   89        "<li><strong>" + 
_( 
"Documentation" ) + 
"</strong> " + 
_( 
"- README files and design notes" ) + 
"</li>" 
   90        "<li><strong>" + 
_( 
"Manufacturing files" ) + 
"</strong> " + 
_( 
"- Gerber and drill file configurations" ) + 
"</li>" 
   93        "<div class=\"tips\">" 
   94        "<h3>" + 
_( 
"Pro Tips" ) + 
"</h3>" 
   95        "<p><strong>" + 
_( 
"Start Simple:" ) + 
"</strong> " + 
_( 
"Begin with basic templates and add more elements as you go." ) + 
"</p>" 
   96        "<p><strong>" + 
_( 
"Customize Later:" ) + 
"</strong> " + 
_( 
"Templates are starting points - you can modify libraries, rules, and layouts after project creation." ) + 
"</p>" 
   97        "<p><strong>" + 
_( 
"Save Your Own:" ) + 
"</strong> " + 
_( 
"Once you develop preferred settings, create a custom template for future projects." ) + 
"</p>" 
 
  112        "<meta charset=\"UTF-8\">" 
  113        "<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">" 
  114        "<title>" + aTemplateName + 
" - KiCad Template</title>" 
  116        "body { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif; margin:0; padding:20px; background:#edf2f7; color:#2d3748; }" 
  117        ".container { max-width: 780px; margin:0 auto; background:#ffffff; border-radius:12px; padding:32px; box-shadow:0 6px 24px rgba(0,0,0,0.08); }" 
  118        ".header { display:flex; align-items:center; gap:12px; margin-bottom:24px; }" 
  119        ".badge { background:#3182ce; color:white; padding:4px 10px; border-radius:6px; font-size:0.75rem; letter-spacing:0.05em; text-transform:uppercase; }" 
  120        "h1 { font-size:1.9rem; margin:0; }" 
  121        "p { line-height:1.55; }" 
  122        ".cta { background:#ebf8ff; border:1px solid #bee3f8; padding:16px 20px; border-radius:10px; margin:28px 0 18px; }" 
  123        ".steps { display:grid; gap:16px; margin-top:10px; }" 
  124        ".step { background:#f7fafc; border:1px solid #e2e8f0; padding:14px 16px; border-radius:8px; }" 
  125        ".step h3 { margin:0 0 6px 0; font-size:1.05rem; }" 
  126        ".edit-hint { background:#fffaf0; border:1px solid #fbd38d; padding:14px 16px; border-radius:8px; margin-top:24px; }" 
  127        "code { background:#f1f5f9; padding:2px 5px; border-radius:4px; font-size:0.85rem; }" 
  129        "</head><body><div class=\"container\">" 
  130        "<div class=\"header\"><div class=\"badge\">" + 
_( 
"Template" ) + 
"</div><h1>" + aTemplateName + 
"</h1></div>" 
  131        "<p>" + 
_( 
"This project template doesn't include an info page yet. You can still use it to create a new project." ) + 
"</p>" 
  132        "<div class=\"cta\">" 
  133        "<strong>" + 
_( 
"To use this template:" ) + 
"</strong>" 
  134        "<div class=\"steps\">" 
  135        "<div class=\"step\"><h3>1. " + 
_( 
"Create the project" ) + 
"</h3><p>" + 
_( 
"Click OK below. KiCad will create a new project folder populated with the contents of this template." ) + 
"</p></div>" 
  136        "<div class=\"step\"><h3>2. " + 
_( 
"Open schematic and PCB" ) + 
"</h3><p>" + 
_( 
"Use the Project Manager tree or launch Schematic and PCB editors to begin designing." ) + 
"</p></div>" 
  137        "<div class=\"step\"><h3>3. " + 
_( 
"Review libraries & settings" ) + 
"</h3><p>" + 
_( 
"Confirm symbol/footprint libraries, design rules, and board stackup match your needs." ) + 
"</p></div>" 
  140        "<div class=\"edit-hint\">" 
  141        "<strong>" + 
_( 
"Add an info page later:" ) + 
"</strong>" 
  142        "<p>" + 
_( 
"Create a file at" ) + 
" <code>meta/info.html</code> " + 
_( 
"inside this template's directory to provide rich documentation, images, or guidance." ) + 
"</p>" 
  143        "<p>" + 
_( 
"You can copy styling from the default pages for consistency." ) + 
"</p>" 
  145        "</div></body></html>" 
 
  156        "<meta charset=\"UTF-8\">" 
  157        "<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">" 
  158        "<title>No Templates - KiCad</title>" 
  160        "body { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif; margin: 0; padding: 20px; background: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%); color: #333; min-height: 100vh; box-sizing: border-box; }" 
  161        ".container { max-width: 600px; margin: 0 auto; background: rgba(255, 255, 255, 0.98); border-radius: 12px; padding: 40px; box-shadow: 0 8px 32px rgba(0, 0, 0, 0.15); }" 
  162        ".content { text-align: center; }" 
  163        ".icon { font-size: 3.5rem; margin-bottom: 20px; }" 
  164        ".title { font-size: 1.8rem; font-weight: 600; color: #2d3748; margin-bottom: 12px; }" 
  165        ".message { font-size: 1rem; color: #4a5568; line-height: 1.6; margin-bottom: 30px; }" 
  166        ".suggestions { text-align: left; background: #edf2f7; border-left: 4px solid #4299e1; border-radius: 8px; padding: 20px; margin-bottom: 30px; }" 
  167        ".suggestions h3 { color: #2d3748; margin-top: 0; margin-bottom: 12px; }" 
  168        ".suggestions ul { color: #4a5568; margin: 0; padding-left: 20px; line-height: 1.8; }" 
  169        ".suggestions li { margin-bottom: 8px; }" 
  170        ".action-hint { background: #fef5e7; border: 1px solid #f9e79f; border-radius: 8px; padding: 16px; color: #7d6608; }" 
  171        ".action-hint strong { color: #c17817; }" 
  175        "<div class=\"container\">" 
  176        "<div class=\"content\">" 
  177        "<div class=\"icon\">📂</div>" 
  178        "<div class=\"title\">" + 
_( 
"No Templates Found" ) + 
"</div>" 
  179        "<div class=\"message\">" 
  180        + 
_( 
"The selected templates directory does not contain any project templates." )
 
  182        "<div class=\"suggestions\">" 
  183        "<h3>" + 
_( 
"What to do:" ) + 
"</h3>" 
  185        "<li>" + 
_( 
"Browse to a different templates directory using the folder icon" ) + 
"</li>" 
  186        "<li>" + 
_( 
"Click the refresh icon to reload the current directory" ) + 
"</li>" 
  187        "<li>" + 
_( 
"Check that the directory path contains valid templates" ) + 
"</li>" 
  188        "<li>" + 
_( 
"Use the default system templates by navigating to a system templates tab" ) + 
"</li>" 
  191        "<div class=\"action-hint\">" 
  192        "<strong>" + 
_( 
"Tip:" ) + 
"</strong> " + 
_( 
"Templates are organized in subdirectories. Each template needs a 'meta' folder with configuration files." )
 
 
wxString GetWelcomeHtml()
 
wxString GetNoTemplatesHtml()
 
wxString GetTemplateInfoHtml(const wxString &aTemplateName)