Compare commits
4 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| e08e220c19 | |||
| 93b67f2e73 | |||
| 86936cdf05 | |||
| 19c5af6e68 |
@@ -1,8 +1,8 @@
|
||||
{
|
||||
"name": "Izipus Lite",
|
||||
"name": "Izipus",
|
||||
"version": "0.3.1",
|
||||
"manifest_version": 3,
|
||||
"description": "Lzipus Lite - assists your workflow by simplifying interactions.",
|
||||
"description": "Lzipus - assists your workflow by simplifying interactions.",
|
||||
"homepage_url": "https://git.gorshenin.info/Dgors03/Answer_Templates",
|
||||
"icons": {
|
||||
"16": "icons/icon16.png",
|
||||
@@ -11,7 +11,7 @@
|
||||
},
|
||||
"action": {
|
||||
"default_icon": "icons/icon48.png",
|
||||
"default_title": "Izipus Lite- Quick Actions",
|
||||
"default_title": "Izipus - Quick Actions",
|
||||
"default_popup": "src/popup.html"
|
||||
},
|
||||
"permissions": [
|
||||
@@ -23,7 +23,7 @@
|
||||
],
|
||||
"browser_specific_settings": {
|
||||
"gecko": {
|
||||
"id": "dmitriy.gorshenin@gmail.com"
|
||||
"id": "dmitriy.gorshenin1@gmail.com"
|
||||
}
|
||||
}
|
||||
}
|
||||
6
lzipus/src/popup.css
Executable file → Normal file
6
lzipus/src/popup.css
Executable file → Normal file
@@ -19,15 +19,15 @@ div.header {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
justify-content: center;
|
||||
padding: 10px;
|
||||
padding: 6px;
|
||||
}
|
||||
|
||||
h1 {
|
||||
padding: 10px;
|
||||
padding: 6px;
|
||||
}
|
||||
|
||||
h3 {
|
||||
padding: 10px;
|
||||
padding: 6px;
|
||||
font-family: Helvetica, Arial, sans-serif; /* Более минималистичный шрифт для категорий */
|
||||
font-size: 16px; /* Уменьшен размер шрифта */
|
||||
font-weight: normal; /* Уменьшен вес шрифта для минималистичного вида */
|
||||
|
||||
564
lzipus/src/popup.html
Executable file → Normal file
564
lzipus/src/popup.html
Executable file → Normal file
@@ -2,307 +2,283 @@
|
||||
<html lang="ru">
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<link rel="stylesheet" href="popup.css">
|
||||
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.1/dist/css/bootstrap.min.css" rel="stylesheet"
|
||||
integrity="sha384-4bw+/aepP/YC94hEpVNVgiZdgIC5+VKNBQNGCHeKRQN+PtmoHDEXuppvnDJzQIu9" crossorigin="anonymous">
|
||||
<link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.1.2/css/all.min.css" rel="stylesheet" />
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<link rel="stylesheet" href="popup.css">
|
||||
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.1/dist/css/bootstrap.min.css" rel="stylesheet"
|
||||
integrity="sha384-4bw+/aepP/YC94hEpVNVgiZdgIC5+VKNBQNGCHeKRQN+PtmoHDEXuppvnDJzQIu9" crossorigin="anonymous">
|
||||
<link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.1.2/css/all.min.css" rel="stylesheet" />
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
<button id="theme-toggle" class="theme-btn">
|
||||
<i id="theme-icon" class="fa-moon fa-solid"></i>
|
||||
</button>
|
||||
<button id="theme-toggle" class="theme-btn">
|
||||
<i id="theme-icon" class="fa-moon fa-solid"></i>
|
||||
</button>
|
||||
<div class="container">
|
||||
<div class="header">
|
||||
<h1 class="name fs-4 fw-lighter font-monospace">Твои шаблоны</h1>
|
||||
<button class="template-add btn btn-primary" type="button"><i class="fa-duotone fa-plus"></i></button>
|
||||
</div>
|
||||
|
||||
<div class="templates" id="template-list">
|
||||
<div class="category">
|
||||
<h3 class="font-monospace">
|
||||
Промежуточные ответы
|
||||
<i class="fa fa-chevron-down toggle-icon"></i>
|
||||
|
||||
<div class="container">
|
||||
<div class="header">
|
||||
<h1 class="name fs-4 fw-lighter font-monospace">Твои шаблоны</h1>
|
||||
</div>
|
||||
<div id="template-list">
|
||||
|
||||
<div class="category">
|
||||
<h3 class="font-monospace">
|
||||
Промежуточные ответы
|
||||
</h3>
|
||||
<div class="template-group">
|
||||
<span class="template">
|
||||
<span class="template-title">Приняли в работу</span>
|
||||
<span class="buttons">
|
||||
<span class="btn btn-light" id="inWorkRu">RU</span>
|
||||
<span class="btn btn-light" id="inWorkEn">ENG</span>
|
||||
</span>
|
||||
</span>
|
||||
</h3>
|
||||
<div class="category-content">
|
||||
<span class="template">
|
||||
<span class="template-title font-monospace">Приняли в работу</span>
|
||||
<span class="buttons">
|
||||
<span class="btn btn-light" id="inWorkRu">RU</span>
|
||||
<span class="btn btn-light" id="inWorkEn">ENG</span>
|
||||
<!-- <button class="template-edit-existed btn"><i class="fa-solid fa-pen-to-square"></i></button> -->
|
||||
</span>
|
||||
</span>
|
||||
<span class="template">
|
||||
<span class="template-title font-monospace">Начали диалог с ОС</span>
|
||||
<span class="buttons">
|
||||
<span class="btn btn-light" id="dialogueRu">RU</span>
|
||||
<span class="btn btn-light" id="dialogueEn">ENG</span>
|
||||
<!-- <button class="template-edit-existed btn"><i class="fa-solid fa-pen-to-square"></i></button> -->
|
||||
</span>
|
||||
</span>
|
||||
<span class="template">
|
||||
<span class="template-title font-monospace">Работаем над запросом</span>
|
||||
<span class="buttons">
|
||||
<span id="weworkRu" class="btn btn-light">RU</span>
|
||||
<span id="weworkEn" class="btn btn-light">ENG</span>
|
||||
</span>
|
||||
</span>
|
||||
<span class="template">
|
||||
<span class="template-title font-monospace">Ждем ответа от оператора</span>
|
||||
<span class="buttons">
|
||||
<span id="wework2Ru" class="btn btn-light">RU</span>
|
||||
<span id="wework2En" class="btn btn-light">ENG</span>
|
||||
</span>
|
||||
</span>
|
||||
<span class="template">
|
||||
<span class="template-title font-monospace">Всё еще ждем ответа от оператора</span>
|
||||
<span class="buttons">
|
||||
<span id="wework3Ru" class="btn btn-light">RU</span>
|
||||
<span id="wework3En" class="btn btn-light">ENG</span>
|
||||
</span>
|
||||
</span>
|
||||
<span class="template">
|
||||
<span class="template-title font-monospace">Появилась ли информация?</span>
|
||||
<span class="buttons">
|
||||
<span id="theyworkRu" class="btn btn-light">RU</span>
|
||||
<span id="theyworkEn" class="btn btn-light">ENG</span>
|
||||
</span>
|
||||
</span>
|
||||
<span class="template">
|
||||
<span class="template-title font-monospace">Появился ли ответ?</span>
|
||||
<span class="buttons">
|
||||
<span id="theywork2Ru" class="btn btn-light">RU</span>
|
||||
<span id="theywork2En" class="btn btn-light">ENG</span>
|
||||
</span>
|
||||
</span>
|
||||
<span class="template">
|
||||
<span class="template-title font-monospace">Появились ли новости?</span>
|
||||
<span class="buttons">
|
||||
<span id="theywork3Ru" class="btn btn-light">RU</span>
|
||||
<span id="theywork3En" class="btn btn-light">ENG</span>
|
||||
</span>
|
||||
</span>
|
||||
<span class="template">
|
||||
<span class="template-title font-monospace">Передали ответственной команде</span>
|
||||
<span class="buttons">
|
||||
<span id="fwd2treadRU" class="btn btn-light">RU</span>
|
||||
<span id="fwd2treadEn" class="btn btn-light">ENG</span>
|
||||
</span>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<span class="template">
|
||||
<span class="template-title">Начали диалог с ОС</span>
|
||||
<span class="buttons">
|
||||
<span class="btn btn-light" id="dialogueRu">RU</span>
|
||||
<span class="btn btn-light" id="dialogueEn">ENG</span>
|
||||
</span>
|
||||
</span>
|
||||
<div class="category">
|
||||
<h3 class="font-monospace">
|
||||
Запросы партнерам
|
||||
<i class="fa fa-chevron-down toggle-icon"></i>
|
||||
</h3>
|
||||
<div class="category-content">
|
||||
<span class="template">
|
||||
<span class="template-title font-monospace">Запрос: Недоставка</span>
|
||||
<span class="buttons">
|
||||
<span id="nonDelRu" class="btn btn-light">RU</span>
|
||||
<span id="nonDelEn" class="btn btn-light">ENG</span>
|
||||
</span>
|
||||
</span>
|
||||
<span class="template">
|
||||
<span class="template-title font-monospace">Запрос: Фейк доставка</span>
|
||||
<span class="buttons">
|
||||
<span id="fakeRu" class="btn btn-light">RU</span>
|
||||
<span id="fakeEn" class="btn btn-light">ENG</span>
|
||||
</span>
|
||||
</span>
|
||||
<span class="template">
|
||||
<span class="template-title font-monospace">Запрос: Задержки</span>
|
||||
<span class="buttons">
|
||||
<span id="delayRu" class="btn btn-light">RU</span>
|
||||
<span id="delayEn" class="btn btn-light">ENG</span>
|
||||
</span>
|
||||
</span>
|
||||
<span class="template">
|
||||
<span class="template-title font-monospace">Разрыв соединения</span>
|
||||
<span class="buttons">
|
||||
<span id="conbreRu" class="btn btn-light">RU</span>
|
||||
<span id="conbreEn" class="btn btn-light">ENG</span>
|
||||
</span>
|
||||
</span>
|
||||
<span class="template">
|
||||
<span class="template-title font-monospace">Запрос: Корректность HLR</span>
|
||||
<span class="buttons">
|
||||
<span id="HLRRu" class="btn btn-light">RU</span>
|
||||
<span id="HLREn" class="btn btn-light">ENG</span>
|
||||
</span>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<span class="template">
|
||||
<span class="template-title">Работаем над запросом</span>
|
||||
<span class="buttons">
|
||||
<span id="weworkRu" class="btn btn-light">RU</span>
|
||||
<span id="weworkEn" class="btn btn-light">ENG</span>
|
||||
</span>
|
||||
</span>
|
||||
<div class="category">
|
||||
<h3 class="font-monospace">
|
||||
Ответы клиентам
|
||||
<i class="fa fa-chevron-down toggle-icon"></i>
|
||||
</h3>
|
||||
<div class="category-content">
|
||||
<span class="template">
|
||||
<span class="template-title font-monospace">Не фиксируем на платформе</span>
|
||||
<span class="buttons">
|
||||
<span id="fixItRu" class="btn btn-light">RU</span>
|
||||
<span id="fixItEn" class="btn btn-light">ENG</span>
|
||||
</span>
|
||||
</span>
|
||||
<span class="template">
|
||||
<span class="template-title font-monospace">Все доставлено</span>
|
||||
<span class="buttons">
|
||||
<span id="delivedRu" class="btn btn-light">RU</span>
|
||||
<span id="delivedEn" class="btn btn-light">ENG</span>
|
||||
</span>
|
||||
</span>
|
||||
<span class="template">
|
||||
<span class="template-title font-monospace">Проблемы с ТА</span>
|
||||
<span class="buttons">
|
||||
<span id="problphRu" class="btn btn-light">RU</span>
|
||||
<span id="problphEn" class="btn btn-light">ENG</span>
|
||||
</span>
|
||||
</span>
|
||||
<span class="template">
|
||||
<span class="template-title font-monospace">501: Не обслуживается</span>
|
||||
<span class="buttons">
|
||||
<span id="notservRu" class="btn btn-light">RU</span>
|
||||
<span id="notservEn" class="btn btn-light">ENG</span>
|
||||
</span>
|
||||
</span>
|
||||
<span class="template">
|
||||
<span class="template-title font-monospace">В статусе отправлено</span>
|
||||
<span class="buttons">
|
||||
<span id="insentRu" class="btn btn-light">RU</span>
|
||||
<span id="insentEn" class="btn btn-light">ENG</span>
|
||||
</span>
|
||||
</span>
|
||||
<span class="template">
|
||||
<span class="template-title font-monospace">132: Дубликаты</span>
|
||||
<span class="buttons">
|
||||
<span id="dubleRu" class="btn btn-light">RU</span>
|
||||
<span id="dubleEn" class="btn btn-light">ENG</span>
|
||||
</span>
|
||||
</span>
|
||||
<span class="template">
|
||||
<span class="template-title font-monospace">508: Недоступен</span>
|
||||
<span class="buttons">
|
||||
<span id="unvelbRu" class="btn btn-light">RU</span>
|
||||
<span id="unvelbEn" class="btn btn-light">ENG</span>
|
||||
</span>
|
||||
</span>
|
||||
<span class="template">
|
||||
<span class="template-title font-monospace">Корректировка маршрутизации</span>
|
||||
<span class="buttons">
|
||||
<span id="corroutRu" class="btn btn-light">RU</span>
|
||||
<span id="corroutEn" class="btn btn-light">ENG</span>
|
||||
</span>
|
||||
</span>
|
||||
<span class="template">
|
||||
<span class="template-title font-monospace">Технические неполадки</span>
|
||||
<span class="buttons">
|
||||
<span id="tehtroubRu" class="btn btn-light">RU</span>
|
||||
<span id="tehtroubEn" class="btn btn-light">ENG</span>
|
||||
</span>
|
||||
</span>
|
||||
<span class="template">
|
||||
<span class="template-title font-monospace">Регистрации сендеров</span>
|
||||
<span class="buttons">
|
||||
<span id="senderRu" class="btn btn-light">RU</span>
|
||||
<span id="senderEn" class="btn btn-light">ENG</span>
|
||||
</span>
|
||||
</span>
|
||||
<span class="template">
|
||||
<span class="template-title font-monospace">Block list by MSISDN</span>
|
||||
<span class="buttons">
|
||||
<span id="blockMsisdnRu" class="btn btn-light">RU</span>
|
||||
</span>
|
||||
</span>
|
||||
<span class="template">
|
||||
<span class="template-title font-monospace">Общее имя</span>
|
||||
<span class="buttons">
|
||||
<span id="commonSenderRu" class="btn btn-light">RU</span>
|
||||
</span>
|
||||
</span>
|
||||
<span class="template">
|
||||
<span class="template-title font-monospace">Нет ответа</span>
|
||||
<span class="buttons">
|
||||
<span id="noResponse" class="btn btn-light">RU</span>
|
||||
</span>
|
||||
</span>
|
||||
<span class="template">
|
||||
<span class="template-title font-monospace">Провели тестирование</span>
|
||||
<span class="buttons">
|
||||
<span id="conductedTesting" class="btn btn-light">RU</span>
|
||||
</span>
|
||||
</span>
|
||||
<span class="template">
|
||||
<span class="template-title font-monospace">Информация менеджеру</span>
|
||||
<span class="buttons">
|
||||
<span id="managerTemplate" class="btn btn-light">RU</span>
|
||||
</span>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<span class="template">
|
||||
<span class="template-title">Ждем ответа от оператора</span>
|
||||
<span class="buttons">
|
||||
<span id="wework2Ru" class="btn btn-light">RU</span>
|
||||
<span id="wework2En" class="btn btn-light">ENG</span>
|
||||
</span>
|
||||
</span>
|
||||
|
||||
<span class="template">
|
||||
<span class="template-title">Всё еще ждем ответа от оператора</span>
|
||||
<span class="buttons">
|
||||
<span id="wework3Ru" class="btn btn-light">RU</span>
|
||||
<span id="wework3En" class="btn btn-light">ENG</span>
|
||||
</span>
|
||||
</span>
|
||||
|
||||
<span class="template">
|
||||
<span class="template-title">Появилась ли информация?</span>
|
||||
<span class="buttons">
|
||||
<span id="theyworkRu" class="btn btn-light">RU</span>
|
||||
<span id="theyworkEn" class="btn btn-light">ENG</span>
|
||||
</span>
|
||||
</span>
|
||||
|
||||
<span class="template">
|
||||
<span class="template-title">Появился ли ответ?</span>
|
||||
<span class="buttons">
|
||||
<span id="theywork2Ru" class="btn btn-light">RU</span>
|
||||
<span id="theywork2En" class="btn btn-light">ENG</span>
|
||||
</span>
|
||||
</span>
|
||||
|
||||
<span class="template">
|
||||
<span class="template-title">Появились ли новости?</span>
|
||||
<span class="buttons">
|
||||
<span id="theywork3Ru" class="btn btn-light">RU</span>
|
||||
<span id="theywork3En" class="btn btn-light">ENG</span>
|
||||
</span>
|
||||
</span>
|
||||
|
||||
<span class="template">
|
||||
<span class="template-title">Передали ответственной команде</span>
|
||||
<span class="buttons">
|
||||
<span id="fwd2treadRU" class="btn btn-light">RU</span>
|
||||
<span id="fwd2treadEn" class="btn btn-light">ENG</span>
|
||||
</span>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="category">
|
||||
<h3 class="font-monospace">
|
||||
Запросы партнерам
|
||||
</h3>
|
||||
<div class="template-group">
|
||||
<span class="template">
|
||||
<span class="template-title">Запрос: Недоставка</span>
|
||||
<span class="buttons">
|
||||
<span id="nonDelRu" class="btn btn-light">RU</span>
|
||||
<span id="nonDelEn" class="btn btn-light">ENG</span>
|
||||
</span>
|
||||
</span>
|
||||
|
||||
<span class="template">
|
||||
<span class="template-title">Запрос: Фейк доставка</span>
|
||||
<span class="buttons">
|
||||
<span id="fakeRu" class="btn btn-light">RU</span>
|
||||
<span id="fakeEn" class="btn btn-light">ENG</span>
|
||||
</span>
|
||||
</span>
|
||||
|
||||
<span class="template">
|
||||
<span class="template-title">Запрос: Задержки</span>
|
||||
<span class="buttons">
|
||||
<span id="delayRu" class="btn btn-light">RU</span>
|
||||
<span id="delayEn" class="btn btn-light">ENG</span>
|
||||
</span>
|
||||
</span>
|
||||
|
||||
<span class="template">
|
||||
<span class="template-title">Разрыв соединения</span>
|
||||
<span class="buttons">
|
||||
<span id="conbreRu" class="btn btn-light">RU</span>
|
||||
<span id="conbreEn" class="btn btn-light">ENG</span>
|
||||
</span>
|
||||
</span>
|
||||
|
||||
<span class="template">
|
||||
<span class="template-title">Запрос: Корректность HLR</span>
|
||||
<span class="buttons">
|
||||
<span id="HLRRu" class="btn btn-light">RU</span>
|
||||
<span id="HLREn" class="btn btn-light">ENG</span>
|
||||
</span>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="category">
|
||||
<h3 class="font-monospace">
|
||||
Ответы клиентам
|
||||
</h3>
|
||||
<div class="template-group">
|
||||
<span class="template">
|
||||
<span class="template-title">Не фиксируем на платформе</span>
|
||||
<span class="buttons">
|
||||
<span id="fixItRu" class="btn btn-light">RU</span>
|
||||
<span id="fixItEn" class="btn btn-light">ENG</span>
|
||||
</span>
|
||||
</span>
|
||||
|
||||
<span class="template">
|
||||
<span class="template-title">Все доставлено</span>
|
||||
<span class="buttons">
|
||||
<span id="delivedRu" class="btn btn-light">RU</span>
|
||||
<span id="delivedEn" class="btn btn-light">ENG</span>
|
||||
</span>
|
||||
</span>
|
||||
|
||||
<span class="template">
|
||||
<span class="template-title">Проблемы с ТА</span>
|
||||
<span class="buttons">
|
||||
<span id="problphRu" class="btn btn-light">RU</span>
|
||||
<span id="problphEn" class="btn btn-light">ENG</span>
|
||||
</span>
|
||||
</span>
|
||||
|
||||
<span class="template">
|
||||
<span class="template-title">501: Не обслуживается</span>
|
||||
<span class="buttons">
|
||||
<span id="notservRu" class="btn btn-light">RU</span>
|
||||
<span id="notservEn" class="btn btn-light">ENG</span>
|
||||
</span>
|
||||
</span>
|
||||
|
||||
<span class="template">
|
||||
<span class="template-title">В статусе отправлено</span>
|
||||
<span class="buttons">
|
||||
<span id="insentRu" class="btn btn-light">RU</span>
|
||||
<span id="insentEn" class="btn btn-light">ENG</span>
|
||||
</span>
|
||||
</span>
|
||||
|
||||
<span class="template">
|
||||
<span class="template-title">132: Дубликаты</span>
|
||||
<span class="buttons">
|
||||
<span id="dubleRu" class="btn btn-light">RU</span>
|
||||
<span id="dubleEn" class="btn btn-light">ENG</span>
|
||||
</span>
|
||||
</span>
|
||||
|
||||
<span class="template">
|
||||
<span class="template-title">508: Недоступен</span>
|
||||
<span class="buttons">
|
||||
<span id="unvelbRu" class="btn btn-light">RU</span>
|
||||
<span id="unvelbEn" class="btn btn-light">ENG</span>
|
||||
</span>
|
||||
</span>
|
||||
|
||||
<span class="template">
|
||||
<span class="template-title">Корректировка маршрутизации</span>
|
||||
<span class="buttons">
|
||||
<span id="corroutRu" class="btn btn-light">RU</span>
|
||||
<span id="corroutEn" class="btn btn-light">ENG</span>
|
||||
</span>
|
||||
</span>
|
||||
|
||||
<span class="template">
|
||||
<span class="template-title">Технические неполадки</span>
|
||||
<span class="buttons">
|
||||
<span id="tehtroubRu" class="btn btn-light">RU</span>
|
||||
<span id="tehtroubEn" class="btn btn-light">ENG</span>
|
||||
</span>
|
||||
</span>
|
||||
|
||||
<span class="template">
|
||||
<span class="template-title">Регистрации сендеров</span>
|
||||
<span class="buttons">
|
||||
<span id="senderRu" class="btn btn-light">RU</span>
|
||||
<span id="senderEn" class="btn btn-light">ENG</span>
|
||||
</span>
|
||||
</span>
|
||||
|
||||
<span class="template">
|
||||
<span class="template-title">Block list by MSISDN</span>
|
||||
<span class="buttons">
|
||||
<span id="blockMsisdnRu" class="btn btn-light">RU</span>
|
||||
</span>
|
||||
</span>
|
||||
|
||||
<span class="template">
|
||||
<span class="template-title">Общее имя</span>
|
||||
<span class="buttons">
|
||||
<span id="commonSenderRu" class="btn btn-light">RU</span>
|
||||
</span>
|
||||
</span>
|
||||
|
||||
<span class="template">
|
||||
<span class="template-title">Нет ответа</span>
|
||||
<span class="buttons">
|
||||
<span id="noResponse" class="btn btn-light">RU</span>
|
||||
</span>
|
||||
</span>
|
||||
|
||||
<span class="template">
|
||||
<span class="template-title">Провели тестирование</span>
|
||||
<span class="buttons">
|
||||
<span id="conductedTesting" class="btn btn-light">RU</span>
|
||||
</span>
|
||||
</span>
|
||||
|
||||
<span class="template">
|
||||
<span class="template-title">Информация менеджеру</span>
|
||||
<span class="buttons">
|
||||
<span id="managerTemplate" class="btn btn-light">RU</span>
|
||||
</span>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="category">
|
||||
<h3 class="font-monospace">
|
||||
Даофис
|
||||
</h3>
|
||||
|
||||
<span class="template">
|
||||
<span class="template-title">Внести номер телефона в аксапту</span>
|
||||
<span class="buttons">
|
||||
<span id="daoffice1RU" class="btn btn-light">RU</span>
|
||||
</span>
|
||||
</span>
|
||||
<span class="template">
|
||||
<span class="template-title">Учетка в порядке</span>
|
||||
<span class="buttons">
|
||||
<span id="officeRU" class="btn btn-light">RU</span>
|
||||
</span>
|
||||
</span>
|
||||
|
||||
<span class="template">
|
||||
<span class="template-title">Нет ответа</span>
|
||||
<span class="buttons">
|
||||
<span id="notResponseRU" class="btn btn-light">RU</span>
|
||||
<span id="notResponseEn" class="btn btn-light">ENG</span>
|
||||
</span>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script src="popup.js"></script>
|
||||
<div class="category">
|
||||
<h3 class="font-monospace">
|
||||
Даофис
|
||||
<i class="fa fa-chevron-down toggle-icon"></i>
|
||||
</h3>
|
||||
<div class="category-content">
|
||||
<span class="template">
|
||||
<span class="template-title font-monospace">Внести номер телефона в аксапту</span>
|
||||
<span class="buttons">
|
||||
<span id="daoffice1RU" class="btn btn-light">RU</span>
|
||||
</span>
|
||||
</span>
|
||||
<span class="template">
|
||||
<span class="template-title font-monospace">Учетка в порядке</span>
|
||||
<span class="buttons">
|
||||
<span id="officeRU" class="btn btn-light">RU</span>
|
||||
</span>
|
||||
</span>
|
||||
<span class="template">
|
||||
<span class="template-title font-monospace">Нет ответа</span>
|
||||
<span class="buttons">
|
||||
<span id="notResponseRU" class="btn btn-light">RU</span>
|
||||
<span id="notResponseEn" class="btn btn-light">ENG</span>
|
||||
</span>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</1--div>
|
||||
<script src="popup.js"></script>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
|
||||
145
lzipus/src/popup.js
Executable file → Normal file
145
lzipus/src/popup.js
Executable file → Normal file
@@ -74,6 +74,121 @@ Object.keys(clipboardTexts).forEach(buttonId => {
|
||||
button.addEventListener("click", () => handleClipboardClick(buttonId));
|
||||
}
|
||||
});
|
||||
//---------------------------------------------------Создание новых шаблонов локально---------------------------------------------------------//
|
||||
const templatesEl = document.querySelector('.templates');
|
||||
const addBtn = document.querySelector('.template-add');
|
||||
|
||||
function createTemplate(title, RUText, ENText) {
|
||||
const templateId = Date.now();
|
||||
const templateEl = document.createElement('span');
|
||||
templateEl.setAttribute('data-template-id', templateId);
|
||||
templateEl.classList.add('template');
|
||||
|
||||
templateEl.innerHTML = `
|
||||
<span id="template-title" class="font-monospace">${title}</span>
|
||||
<div class="bigFormochka">
|
||||
<div class="formochka">
|
||||
<input id="template-title-input" class="hidden form-control-sm">
|
||||
<textarea id="template-textareaRU" class="hidden form-control-lg border-2" rows="1" cols="30.5">${RUText}</textarea>
|
||||
<textarea id="template-textareaEN" class="hidden form-control-lg border-2" rows="1" cols="30.5">${ENText}</textarea>
|
||||
</div>
|
||||
<span class="buttonsLong">
|
||||
<span class="btn btn-light" data-ru-text="${RUText}" id="template-ru-text">RU</span>
|
||||
<span class="btn btn-light" data-en-text="${ENText}" id="template-en-text">ENG</span>
|
||||
<button class="template-edit btn"><i class="fa-solid fa-pen-to-square"></i></button>
|
||||
<button class="template-delete btn"><i class="fa-solid fa-trash"></i></button>
|
||||
</span>
|
||||
</div>
|
||||
`;
|
||||
|
||||
const editBtn = templateEl.querySelector('.template-edit');
|
||||
const deleteBtn = templateEl.querySelector('.template-delete');
|
||||
const titleEl = templateEl.querySelector('#template-title');
|
||||
const textRUEl = templateEl.querySelector('#template-ru-text');
|
||||
const textENEl = templateEl.querySelector('#template-en-text');
|
||||
const titleInputEl = templateEl.querySelector('#template-title-input');
|
||||
const textRUInputEl = templateEl.querySelector('#template-textareaRU');
|
||||
const textENInputEl = templateEl.querySelector('#template-textareaEN');
|
||||
|
||||
// Функция для переключения видимости элементов
|
||||
function toggleVisibility(...elements) {
|
||||
elements.forEach(el => el.classList.toggle('hidden'));
|
||||
}
|
||||
|
||||
// Обработчик для редактирования
|
||||
editBtn.addEventListener('click', () => {
|
||||
toggleVisibility(titleEl, textRUEl, textENEl, titleInputEl, textRUInputEl, textENInputEl);
|
||||
});
|
||||
|
||||
// Обработчик для удаления
|
||||
deleteBtn.addEventListener('click', () => {
|
||||
const templates = JSON.parse(localStorage.getItem('templates')) || [];
|
||||
const templateIndex = templates.findIndex(template => template.title === titleEl.innerText);
|
||||
if (templateIndex !== -1) {
|
||||
templates.splice(templateIndex, 1);
|
||||
localStorage.setItem('templates', JSON.stringify(templates));
|
||||
}
|
||||
templateEl.remove();
|
||||
});
|
||||
|
||||
// Обработчики для изменений в полях
|
||||
const handleChange = (key, valueEl, inputEl) => {
|
||||
valueEl.innerText = inputEl.value;
|
||||
navigator.clipboard.writeText(valueEl);
|
||||
updateTemplateInLocalStorage(title, key, inputEl.value);
|
||||
};
|
||||
|
||||
titleInputEl.addEventListener('change', (e) => handleChange('title', titleEl, e.target));
|
||||
textRUInputEl.addEventListener('change', (e) => handleChange('RUText', textRUEl, e.target));
|
||||
textENInputEl.addEventListener('change', (e) => handleChange('ENText', textENEl, e.target));
|
||||
|
||||
// Обработчик для копирования текста в буфер обмена
|
||||
const handleCopyText = (e, key) => {
|
||||
navigator.clipboard.writeText(e.target.dataset[key])
|
||||
.then(() => console.log(`Текст ${key} скопирован в буфер обмена`))
|
||||
.catch(err => console.error(`Не удалось скопировать текст ${key}: `, err));
|
||||
};
|
||||
|
||||
textRUEl.addEventListener('click', (e) => handleCopyText(e, 'ruText'));
|
||||
textENEl.addEventListener('click', (e) => handleCopyText(e, 'enText'));
|
||||
|
||||
return templateEl;
|
||||
}
|
||||
|
||||
function saveTemplateToLocalStorage(title, RUText, ENText) {
|
||||
const template = { title, RUText, ENText };
|
||||
const templates = JSON.parse(localStorage.getItem('templates')) || [];
|
||||
templates.push(template);
|
||||
localStorage.setItem('templates', JSON.stringify(templates));
|
||||
}
|
||||
|
||||
function updateTemplateInLocalStorage(title, key, value) {
|
||||
const templates = JSON.parse(localStorage.getItem('templates')) || [];
|
||||
const templateIndex = templates.findIndex(template => template.title === title);
|
||||
if (templateIndex !== -1) {
|
||||
templates[templateIndex][key] = value;
|
||||
localStorage.setItem('templates', JSON.stringify(templates));
|
||||
}
|
||||
}
|
||||
|
||||
addBtn.addEventListener('click', () => {
|
||||
const title = "Title";
|
||||
const RUText = "RUText";
|
||||
const ENText = "ENText";
|
||||
|
||||
const el = createTemplate(title, RUText, ENText);
|
||||
templatesEl.appendChild(el);
|
||||
saveTemplateToLocalStorage(title, RUText, ENText);
|
||||
});
|
||||
|
||||
window.onload = function () {
|
||||
const templates = JSON.parse(localStorage.getItem('templates')) || [];
|
||||
templates.forEach(template => {
|
||||
const el = createTemplate(template.title, template.RUText, template.ENText);
|
||||
templatesEl.appendChild(el);
|
||||
});
|
||||
};
|
||||
//--------------------------------------------------------------------------------------------------------------------------------//
|
||||
|
||||
// Тема
|
||||
const themeToggle = document.getElementById('theme-toggle');
|
||||
@@ -108,4 +223,34 @@ if (themeToggle && themeIcon) {
|
||||
// Применить сохраненную тему при загрузке страницы
|
||||
applySavedTheme();
|
||||
|
||||
// Управление категориями
|
||||
document.querySelectorAll('.category h3').forEach(function(header) {
|
||||
const categoryId = header.textContent.trim(); // Уникальный идентификатор категории по названию
|
||||
const content = header.nextElementSibling; // Содержимое категории
|
||||
const icon = header.querySelector('.toggle-icon'); // Иконка стрелки
|
||||
|
||||
// Проверка состояния категории при загрузке страницы
|
||||
const isCategoryOpen = localStorage.getItem(categoryId) === 'true';
|
||||
|
||||
if (isCategoryOpen) {
|
||||
content.classList.add('show');
|
||||
if (icon) {
|
||||
icon.classList.replace('fa-chevron-down', 'fa-chevron-up');
|
||||
}
|
||||
} else {
|
||||
content.classList.remove('show');
|
||||
if (icon) {
|
||||
icon.classList.replace('fa-chevron-up', 'fa-chevron-down');
|
||||
}
|
||||
}
|
||||
|
||||
// Обработчик клика по заголовку категории
|
||||
header.addEventListener('click', function() {
|
||||
content.classList.toggle('show'); // Переключаем видимость категории
|
||||
icon.classList.toggle('fa-chevron-down');
|
||||
icon.classList.toggle('fa-chevron-up');
|
||||
// Сохраняем состояние категории как открытое или закрытое
|
||||
localStorage.setItem(categoryId, content.classList.contains('show') ? 'true' : 'false');
|
||||
});
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user