tagliatelle

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs

notes.html (4197B)


      1 {{template "_header" .}}
      2 
      3 <details><summary>Import and Export</summary>
      4 
      5             <div class="import-form">
      6 				<button class="btn btn-primary" onclick="exportNotes()">Export</button>
      7                 <h4 style="margin-bottom: 10px">Import Notes</h4>
      8                 <form action="/notes/import" method="POST" enctype="multipart/form-data">
      9                     <input type="file" name="file" accept=".txt" required>
     10                     <label class="checkbox-label">
     11                         <input type="checkbox" name="merge" value="true">
     12                         <span>Merge with existing notes (instead of replacing)</span>
     13                     </label>
     14                     <button type="submit" class="btn btn-primary" style="margin-top: 10px;">Import</button>
     15                 </form>
     16             </div>
     17 
     18 </details>
     19 
     20         <div class="toolbar">
     21             <div class="toolbar-group">
     22                 <input type="text" class="search-box" id="search-input" placeholder="Filter notes...">
     23             </div>
     24             <div class="toolbar-group">
     25                 <label>Filter by Category:</label>
     26                 <select id="category-filter" onchange="filterByCategory()">
     27                     <option value="">All Categories</option>
     28                     <option value="__uncategorized__">Uncategorized</option>
     29                     {{range .Data.Categories}}
     30                     <option value="{{.}}">{{.}}</option>
     31                     {{end}}
     32                 </select>
     33             </div>
     34             <div class="toolbar-group">
     35                 <button class="btn btn-secondary" onclick="clearFilters()">Clear</button>
     36                 <button class="btn btn-secondary" onclick="previewProcessing()">Preview</button>
     37 
     38 
     39 
     40     <div class="dropdown">
     41         <button class="btn btn-secondary dropdown-toggle">
     42             Sed Rules ▼
     43         </button>
     44 
     45         <div class="dropdown-menu">
     46             {{if .Data.SedRules}}
     47                 {{range $index, $rule := .Data.SedRules}}
     48                 <button class="dropdown-item" onclick="applySedRule({{$index}})">
     49                     <div class="operation-name">{{$rule.Name}}</div>
     50                     <div class="operation-desc">{{$rule.Description}}</div>
     51                 </button>
     52                 {{end}}
     53             {{else}}
     54                 <div class="dropdown-empty">
     55                     No sed rules configured.<br>
     56                     <a href="/admin">Admin → Sed Rules</a>
     57                 </div>
     58             {{end}}
     59         </div>
     60     </div>
     61 
     62             </div>
     63             <div class="toolbar-actions">
     64                 <button class="btn btn-success" onclick="saveNotes()">Save</button>
     65             </div>
     66         </div>
     67 
     68         <div class="stats-bar">
     69             <div class="stat">
     70                 <span class="stat-label">Total Lines:</span>
     71                 <span class="stat-value" id="total-lines">{{.Data.Stats.total_lines}}</span>
     72             </div>
     73             <div class="stat">
     74                 <span class="stat-label">Categorized:</span>
     75                 <span class="stat-value" id="categorized-lines">{{.Data.Stats.categorized_lines}}</span>
     76             </div>
     77             <div class="stat">
     78                 <span class="stat-label">Uncategorized:</span>
     79                 <span class="stat-value" id="uncategorized-lines">{{.Data.Stats.uncategorized}}</span>
     80             </div>
     81             <div class="stat">
     82                 <span class="stat-label">Categories:</span>
     83                 <span class="stat-value" id="unique-categories">{{.Data.Stats.unique_categories}}</span>
     84             </div>
     85         </div>
     86 
     87         <div id="message" class="message"></div>
     88 
     89         <div class="editor-container">
     90             <div class="editor-pane">
     91                 <textarea id="editor" placeholder="Enter your notes here...
     92 Format: category > value
     93 Example:
     94 websites > https://example.com
     95 tools > useful-tool
     96 ideas > interesting concept">{{.Data.Content}}</textarea>
     97             </div>
     98             <div class="editor-pane">
     99                 <div class="preview-content" id="preview">{{.Data.Content}}</div>
    100             </div>
    101         </div>
    102 
    103         </div>
    104 
    105     <script src="/static/notes.js" defer></script>
    106 {{template "_footer"}}