//this file is generated by program(drogon_ctl) automatically,don't modify it!
#include "trackers.h"
#include <drogon/utils/OStringStream.h>
#include <drogon/utils/Utilities.h>
#include <string>
#include <map>
#include <vector>
#include <set>
#include <iostream>
#include <unordered_map>
#include <unordered_set>
#include <algorithm>
#include <list>
#include <deque>
#include <queue>

#include <vector>
#include <map>
#include <string>

using namespace drogon;
std::string trackers::genText(const DrTemplateData& trackers_view_data)
{
	drogon::OStringStream trackers_tmp_stream;
	std::string layoutName{""};
    auto trackers = trackers_view_data.get<std::vector<std::map<std::string, std::string>>>("trackers");
    auto role = trackers_view_data.get<std::string>("role");
	trackers_tmp_stream << "<!DOCTYPE html>\n";
	trackers_tmp_stream << "<html lang=\"en\">\n";
	trackers_tmp_stream << "<head>\n";
	trackers_tmp_stream << "  <meta charset=\"UTF-8\">\n";
	trackers_tmp_stream << "  <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n";
	trackers_tmp_stream << "  <title>TRAKERVEH - Trackers</title>\n";
	trackers_tmp_stream << "  <link rel=\"stylesheet\" href=\"/lib/leaflet/leaflet.css\">\n";
	trackers_tmp_stream << "  <link rel=\"stylesheet\" href=\"/css/style.css\">\n";
	trackers_tmp_stream << "  <link rel=\"stylesheet\" href=\"/css/leaflet-dark.css\">\n";
	trackers_tmp_stream << "  <link rel=\"stylesheet\" href=\"/tracker/css/tracker.css\">\n";
	trackers_tmp_stream << "</head>\n";
	trackers_tmp_stream << "<body>\n";
trackers_tmp_stream<<"\n";
	trackers_tmp_stream << "  <div class=\"header\">\n";
	trackers_tmp_stream << "    <div class=\"logo\">TRAKERVEH</div>\n";
	trackers_tmp_stream << "  </div>\n";
trackers_tmp_stream<<"\n";
	trackers_tmp_stream << "  <div class=\"center-container\">\n";
	trackers_tmp_stream << "    <div class=\"trackers-layout\">\n";
trackers_tmp_stream<<"\n";
	trackers_tmp_stream << "      <!-- Left: Details pane -->\n";
	trackers_tmp_stream << "      <div class=\"trackers-details-pane\">\n";
	trackers_tmp_stream << "        ";
 if(role == "admin") { 
	trackers_tmp_stream << "        <form action=\"/trackers/update\" method=\"POST\" style=\"display:flex;flex-direction:column;gap:15px;\">\n";
	trackers_tmp_stream << "          <input type=\"hidden\" id=\"update-tracker-id\" name=\"trackerId\" value=\"\">\n";
	trackers_tmp_stream << "          <div class=\"line-group\">\n";
	trackers_tmp_stream << "            <span>Tracker ID: <span id=\"detail-tracker-id\">—</span></span>\n";
	trackers_tmp_stream << "            <span>Sector ID: <input type=\"text\" class=\"editable-field\" id=\"detail-sector-id\" name=\"sectorId\" value=\"—\"></span>\n";
	trackers_tmp_stream << "          </div>\n";
	trackers_tmp_stream << "          <div class=\"spacer\"></div>\n";
	trackers_tmp_stream << "          <div class=\"line-group\">\n";
	trackers_tmp_stream << "            <span>Serial Number: <span id=\"detail-serial\">—</span></span>\n";
	trackers_tmp_stream << "            <span>Status: <input type=\"text\" class=\"editable-field\" id=\"detail-status\" name=\"status\" value=\"—\"></span>\n";
	trackers_tmp_stream << "          </div>\n";
	trackers_tmp_stream << "          <div class=\"spacer\"></div>\n";
	trackers_tmp_stream << "          <div class=\"line-group\">\n";
	trackers_tmp_stream << "            <span>Rental Time:</span>\n";
	trackers_tmp_stream << "            <span class=\"indented\">Start: <input type=\"text\" class=\"editable-field\" id=\"detail-rental-start\" name=\"rentalStart\" value=\"—\"></span>\n";
	trackers_tmp_stream << "            <span class=\"indented\">End: <input type=\"text\" class=\"editable-field\" id=\"detail-rental-end\" name=\"rentalEnd\" value=\"—\"></span>\n";
	trackers_tmp_stream << "          </div>\n";
	trackers_tmp_stream << "          <button type=\"submit\" class=\"submit-btn\">Submit</button>\n";
	trackers_tmp_stream << "        </form>\n";
	trackers_tmp_stream << "        ";
 } else { 
	trackers_tmp_stream << "        <div class=\"line-group\">\n";
	trackers_tmp_stream << "          <span>Tracker ID: <span id=\"detail-tracker-id\">—</span></span>\n";
	trackers_tmp_stream << "          <span>Sector ID: <span id=\"detail-sector-id\">—</span></span>\n";
	trackers_tmp_stream << "        </div>\n";
	trackers_tmp_stream << "        <div class=\"spacer\"></div>\n";
	trackers_tmp_stream << "        <div class=\"line-group\">\n";
	trackers_tmp_stream << "          <span>Serial Number: <span id=\"detail-serial\">—</span></span>\n";
	trackers_tmp_stream << "          <span>Status: <span id=\"detail-status\">—</span></span>\n";
	trackers_tmp_stream << "        </div>\n";
	trackers_tmp_stream << "        <div class=\"spacer\"></div>\n";
	trackers_tmp_stream << "        <div class=\"line-group\">\n";
	trackers_tmp_stream << "          <span>Rental Time:</span>\n";
	trackers_tmp_stream << "          <span class=\"indented\">Start: <span id=\"detail-rental-start\">—</span></span>\n";
	trackers_tmp_stream << "          <span class=\"indented\">End: <span id=\"detail-rental-end\">—</span></span>\n";
	trackers_tmp_stream << "        </div>\n";
	trackers_tmp_stream << "        ";
 } 
	trackers_tmp_stream << "      </div>\n";
trackers_tmp_stream<<"\n";
	trackers_tmp_stream << "      <div class=\"trackers-divider-left\"></div>\n";
trackers_tmp_stream<<"\n";
	trackers_tmp_stream << "      <!-- Center: Tracker list -->\n";
	trackers_tmp_stream << "      <div class=\"trackers-list\">\n";
	trackers_tmp_stream << "        ";
 for(auto const& t : trackers) { 
	trackers_tmp_stream << "        <div class=\"traker-item\"\n";
	trackers_tmp_stream << "             data-tracker-id=\"";
 trackers_tmp_stream << t.at("tracker_id"); 
	trackers_tmp_stream << "\"\n";
	trackers_tmp_stream << "             data-sector-id=\"";
 trackers_tmp_stream << t.at("sector_id"); 
	trackers_tmp_stream << "\"\n";
	trackers_tmp_stream << "             data-serial=\"";
 trackers_tmp_stream << t.at("serial_number"); 
	trackers_tmp_stream << "\"\n";
	trackers_tmp_stream << "             data-status=\"";
 trackers_tmp_stream << t.at("status"); 
	trackers_tmp_stream << "\"\n";
	trackers_tmp_stream << "             data-rental-start=\"";
 trackers_tmp_stream << t.at("rental_start"); 
	trackers_tmp_stream << "\"\n";
	trackers_tmp_stream << "             data-rental-end=\"";
 trackers_tmp_stream << t.at("rental_end"); 
	trackers_tmp_stream << "\">\n";
	trackers_tmp_stream << "          <div class=\"traker-id\">";
 trackers_tmp_stream << t.at("serial_number"); 
	trackers_tmp_stream << "</div>\n";
	trackers_tmp_stream << "          <div class=\"traker-line\"></div>\n";
	trackers_tmp_stream << "          <div class=\"traker-info\">\n";
	trackers_tmp_stream << "            <span>Sector - ";
 trackers_tmp_stream << t.at("sector_id"); 
	trackers_tmp_stream << "</span>\n";
	trackers_tmp_stream << "            <span>Status - ";
 trackers_tmp_stream << t.at("status"); 
	trackers_tmp_stream << "</span>\n";
	trackers_tmp_stream << "          </div>\n";
	trackers_tmp_stream << "        </div>\n";
	trackers_tmp_stream << "        ";
 } 
	trackers_tmp_stream << "        ";
 if(role == "admin") { 
	trackers_tmp_stream << "        <div class=\"add-item-btn\" onclick=\"document.getElementById('add-tracker-form').style.display='flex'\">+ Add Tracker</div>\n";
	trackers_tmp_stream << "        ";
 } 
	trackers_tmp_stream << "      </div>\n";
trackers_tmp_stream<<"\n";
	trackers_tmp_stream << "      <div class=\"trackers-divider-right\"></div>\n";
trackers_tmp_stream<<"\n";
	trackers_tmp_stream << "      <!-- Right: Leaflet Map -->\n";
	trackers_tmp_stream << "      <div class=\"trackers-map-area\">\n";
	trackers_tmp_stream << "        <div id=\"tracker-map\"></div>\n";
	trackers_tmp_stream << "      </div>\n";
trackers_tmp_stream<<"\n";
	trackers_tmp_stream << "    </div>\n";
	trackers_tmp_stream << "  </div>\n";
trackers_tmp_stream<<"\n";
	trackers_tmp_stream << "  <!-- Add Tracker Modal (admin only) -->\n";
	trackers_tmp_stream << "  ";
 if(role == "admin") { 
	trackers_tmp_stream << "  <div id=\"add-tracker-form\" style=\"display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.7);z-index:200;justify-content:center;align-items:center;\">\n";
	trackers_tmp_stream << "    <form action=\"/trackers/add\" method=\"POST\" style=\"display:flex;flex-direction:column;gap:20px;padding:40px;width:300px;\">\n";
	trackers_tmp_stream << "      <div style=\"font-size:1.4rem;text-align:center;margin-bottom:10px;\">Add Tracker</div>\n";
	trackers_tmp_stream << "      <div class=\"input-group\"><input type=\"text\" name=\"serialNumber\" placeholder=\" \" required /><label>Serial Number</label></div>\n";
	trackers_tmp_stream << "      <div class=\"input-group\"><input type=\"number\" name=\"sectorId\" placeholder=\" \" required /><label>Sector ID</label></div>\n";
	trackers_tmp_stream << "      <div class=\"input-group\"><input type=\"text\" name=\"status\" placeholder=\" \" value=\"active\" required /><label>Status</label></div>\n";
	trackers_tmp_stream << "      <div style=\"display:flex;gap:20px;justify-content:center;\">\n";
	trackers_tmp_stream << "        <button type=\"submit\" class=\"submit-btn\">Create</button>\n";
	trackers_tmp_stream << "        <button type=\"button\" class=\"submit-btn\" onclick=\"document.getElementById('add-tracker-form').style.display='none'\">Cancel</button>\n";
	trackers_tmp_stream << "      </div>\n";
	trackers_tmp_stream << "    </form>\n";
	trackers_tmp_stream << "  </div>\n";
	trackers_tmp_stream << "  ";
 } 
trackers_tmp_stream<<"\n";
	trackers_tmp_stream << "  <div class=\"menu-container\" id=\"menu-container\">\n";
	trackers_tmp_stream << "    <button class=\"menu-icon-btn\" id=\"burger-btn\">\n";
	trackers_tmp_stream << "      <svg class=\"menu-icon\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\">\n";
	trackers_tmp_stream << "        <line x1=\"3\" y1=\"12\" x2=\"21\" y2=\"12\"></line>\n";
	trackers_tmp_stream << "        <line x1=\"3\" y1=\"6\" x2=\"21\" y2=\"6\"></line>\n";
	trackers_tmp_stream << "        <line x1=\"3\" y1=\"18\" x2=\"21\" y2=\"18\"></line>\n";
	trackers_tmp_stream << "      </svg>\n";
	trackers_tmp_stream << "    </button>\n";
	trackers_tmp_stream << "    <div class=\"menu-items\">\n";
	trackers_tmp_stream << "      <button class=\"menu-btn\" onclick=\"location.href='/trackers'\">Trackers</button>\n";
	trackers_tmp_stream << "      ";
 if(role == "admin") { 
	trackers_tmp_stream << "      <button class=\"menu-btn\" onclick=\"location.href='/agents'\">Agents</button>\n";
	trackers_tmp_stream << "      ";
 } 
	trackers_tmp_stream << "      <button class=\"menu-btn\" onclick=\"location.href='/map'\">Map</button>\n";
	trackers_tmp_stream << "      <button class=\"menu-btn\" onclick=\"location.href='/logout'\">Logout</button>\n";
	trackers_tmp_stream << "    </div>\n";
	trackers_tmp_stream << "  </div>\n";
trackers_tmp_stream<<"\n";
	trackers_tmp_stream << "  <div class=\"footer-info\">\n";
	trackers_tmp_stream << "    <div class=\"time-row\">\n";
	trackers_tmp_stream << "      <div class=\"time\">04:42</div>\n";
	trackers_tmp_stream << "      <div class=\"am-pm\">pm</div>\n";
	trackers_tmp_stream << "      <div class=\"page-title\">Trackers</div>\n";
	trackers_tmp_stream << "    </div>\n";
	trackers_tmp_stream << "    <div class=\"user-name\">";
 trackers_tmp_stream << trackers_view_data.get<std::string>("userName"); 
	trackers_tmp_stream << "</div>\n";
	trackers_tmp_stream << "  </div>\n";
trackers_tmp_stream<<"\n";
	trackers_tmp_stream << "  <link rel=\"stylesheet\" href=\"/login/css/login.css\">\n";
	trackers_tmp_stream << "  <script src=\"/lib/leaflet/leaflet.js\"></script>\n";
	trackers_tmp_stream << "  <script src=\"/js/script.js\"></script>\n";
	trackers_tmp_stream << "  <script>\n";
	trackers_tmp_stream << "    window.trackerPoints = ";
 trackers_tmp_stream << trackers_view_data.get<std::string>("trackers_points_json"); 
	trackers_tmp_stream << ";\n";
	trackers_tmp_stream << "  </script>\n";
	trackers_tmp_stream << "  <script src=\"/tracker/js/tracker.js\"></script>\n";
	trackers_tmp_stream << "  ";
 if(role == "admin") { 
	trackers_tmp_stream << "  <script>\n";
	trackers_tmp_stream << "    document.querySelectorAll('.traker-item').forEach(item => {\n";
	trackers_tmp_stream << "      item.addEventListener('mouseenter', () => {\n";
	trackers_tmp_stream << "        const hid = document.getElementById('update-tracker-id');\n";
	trackers_tmp_stream << "        if(hid) hid.value = item.dataset.trackerId || '';\n";
	trackers_tmp_stream << "      });\n";
	trackers_tmp_stream << "    });\n";
	trackers_tmp_stream << "  </script>\n";
	trackers_tmp_stream << "  ";
 } 
	trackers_tmp_stream << "</body>\n";
	trackers_tmp_stream << "</html>\n";
if(layoutName.empty())
{
std::string ret{std::move(trackers_tmp_stream.str())};
return ret;
}else
{
auto templ = DrTemplateBase::newTemplate(layoutName);
if(!templ) return "";
HttpViewData data = trackers_view_data;
auto str = std::move(trackers_tmp_stream.str());
if(!str.empty() && str[str.length()-1] == '\n') str.resize(str.length()-1);
data[""] = std::move(str);
return templ->genText(data);
}
}
