This commit is contained in:
parent
da70eef561
commit
6932d908b2
14
.editorconfig
Normal file
14
.editorconfig
Normal file
|
@ -0,0 +1,14 @@
|
|||
root = true
|
||||
|
||||
[*]
|
||||
end_of_line = lf
|
||||
insert_final_newline = true
|
||||
trim_trailing_whitespace = true
|
||||
|
||||
[*.css]
|
||||
indent_style = space
|
||||
indent_size = 2
|
||||
|
||||
[*.js]
|
||||
indent_style = space
|
||||
indent_size = 2
|
68
css/index.css
Normal file
68
css/index.css
Normal file
|
@ -0,0 +1,68 @@
|
|||
#main {
|
||||
display: flex;
|
||||
flex-flow: column;
|
||||
|
||||
width: 100%;
|
||||
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
@media screen and (min-width: 360px) {
|
||||
#main {
|
||||
margin: auto;
|
||||
width: 360px;
|
||||
}
|
||||
}
|
||||
|
||||
#about img {
|
||||
width: 100%;
|
||||
height: auto;
|
||||
}
|
||||
|
||||
#search {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
#search > * {
|
||||
margin: 0.25rem;
|
||||
}
|
||||
|
||||
.search-inputs {
|
||||
width: 100%;
|
||||
height: 2rem;
|
||||
|
||||
display: flex;
|
||||
}
|
||||
|
||||
.search-inputs > * {
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.search-inputs input[name="query"] {
|
||||
width: 100%;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.search-radio-buttons {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
|
||||
.search-radio-buttons > .category {
|
||||
display: flex;
|
||||
}
|
||||
|
||||
.search-radio-buttons > .category:not(:last-child) {
|
||||
margin-right: 1rem;
|
||||
}
|
||||
|
||||
.search-radio-buttons > .category > input[type="radio"] {
|
||||
margin: 0;
|
||||
margin-right: 0.25rem;
|
||||
}
|
||||
|
||||
#status {
|
||||
font-size: smaller;
|
||||
}
|
43
css/theme.css
Normal file
43
css/theme.css
Normal file
|
@ -0,0 +1,43 @@
|
|||
:root {
|
||||
--primary-color: #bc5151;
|
||||
}
|
||||
|
||||
body {
|
||||
background: url('https://www.tromsite.com/wp-content/uploads/2018/09/tromsite-bg-pattern-light-5.png');
|
||||
background-repeat: repeat;
|
||||
background-attachment: fixed;
|
||||
|
||||
font-family: sans-serif;
|
||||
}
|
||||
|
||||
a {
|
||||
color: var(--primary-color);
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
a:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
.search-inputs input[name="query"] {
|
||||
border: 1px solid darkgrey;
|
||||
border-radius: 0.5rem 0 0 0.5rem;
|
||||
}
|
||||
|
||||
.search-inputs input[type="submit"] {
|
||||
background-color: var(--primary-color);
|
||||
|
||||
color: white;
|
||||
cursor: pointer;
|
||||
|
||||
border: none;
|
||||
border-radius: 0 0.5rem 0.5rem 0;
|
||||
}
|
||||
|
||||
.search-radio-buttons input[type="radio"] {
|
||||
accent-color: var(--primary-color);
|
||||
}
|
||||
|
||||
#status {
|
||||
color: gray;
|
||||
}
|
BIN
img/about.png
Normal file
BIN
img/about.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 17 KiB |
BIN
img/favicon.png
Normal file
BIN
img/favicon.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 343 B |
108
index.html
108
index.html
|
@ -1,110 +1,54 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<title></title>
|
||||
<title>TROM Search</title>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="referrer" content="no-referrer">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<meta name="theme-color" content="#bc5151">
|
||||
<link rel="shortcut icon" href="img/favicon.png">
|
||||
<link rel="search" title="TROM Search" type="application/opensearchdescription+xml" href="opensearchdescription.xml">
|
||||
<style>
|
||||
* { margin: 0; }
|
||||
html, body { width: 100%; height: 100%; }
|
||||
body {
|
||||
background: url('https://www.tromsite.com/wp-content/uploads/2018/09/tromsite-bg-pattern-light-5.png') !important; background-repeat: repeat !important; background-attachment: fixed !important;
|
||||
height: auto !important;}
|
||||
|
||||
|
||||
#search:before {
|
||||
content: url("https://www.tromsite.com/wp-content/uploads/2021/02/trom-logo-dark.png");
|
||||
transform: scale(.6);
|
||||
display: block;
|
||||
width: 100%;
|
||||
margin: 0 auto;}
|
||||
|
||||
#search-box {
|
||||
position: fixed;
|
||||
left: 50%;
|
||||
top: 1rem;
|
||||
transform: translateX(-50%);
|
||||
}
|
||||
|
||||
#info {
|
||||
color: black;
|
||||
text-align: center;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
#info.error { color: #7b7b7b; margin-top: 20px;font-size: 13px;font-style: italic;}
|
||||
|
||||
#search input[name="query"] {
|
||||
width: 500px;
|
||||
height: 40px;
|
||||
background-color: white;
|
||||
border: 2px solid darkgrey;
|
||||
border-radius: 4px;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
#search {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
#search-inputs {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
#search input[type="submit"] {
|
||||
height: 40px;
|
||||
background-color: #bc5151;
|
||||
color: white;
|
||||
font-weight: bold;
|
||||
border: none;
|
||||
border-radius: 4px;
|
||||
margin-left: 10px;
|
||||
cursor: pointer;
|
||||
padding: 0 10px;
|
||||
box-sizing: border-box;
|
||||
width: 20%;
|
||||
}
|
||||
|
||||
.search-radio-buttons {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
#search label {
|
||||
margin-left: 5px;
|
||||
margin-right: 15px;
|
||||
}
|
||||
</style>
|
||||
<script type="module" src="index.js"></script>
|
||||
<link rel="stylesheet" type="text/css" href="css/index.css">
|
||||
<link rel="stylesheet" type="text/css" href="css/theme.css">
|
||||
<script type="module" src="js/index.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div id="search-box">
|
||||
<div id="main">
|
||||
<div id="about">
|
||||
<img src="img/about.png">
|
||||
<p class="description">This is a <a href="https://www.trade-free.org">trade-free</a> tool, part of the <a href="https://trom.tf">trom.tf</a> suite of trade-free services.</p>
|
||||
</div>
|
||||
<main>
|
||||
<form id="search">
|
||||
<div id="search-inputs">
|
||||
<div class="search-inputs">
|
||||
<input name="query" type="text" placeholder="Query">
|
||||
<input type="submit" value="Search">
|
||||
</div>
|
||||
<div class="search-radio-buttons">
|
||||
<div class="category">
|
||||
<input type="radio" id="search-category-all" name="category" value="all" checked>
|
||||
<label for="search-category-all">All</label>
|
||||
</div>
|
||||
<div class="category">
|
||||
<input type="radio" id="search-category-images" name="category" value="images">
|
||||
<label for="search-category-images">Images</label>
|
||||
</div>
|
||||
<div class="category">
|
||||
<input type="radio" id="search-category-news" name="category" value="news">
|
||||
<label for="search-category-news">News</label>
|
||||
</div>
|
||||
<div class="category">
|
||||
<input type="radio" id="search-category-videos" name="category" value="videos">
|
||||
<label for="search-category-videos">Videos</label>
|
||||
</div>
|
||||
<div class="category">
|
||||
<input type="radio" id="search-category-files" name="category" value="files">
|
||||
<label for="search-category-videos">Files</label>
|
||||
<label for="search-category-files">Files</label>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
<p id="info"></p>
|
||||
</main>
|
||||
<p id="status"></p>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
@ -2,12 +2,12 @@ const storageType = 'localStorage'
|
|||
|
||||
let data = {}
|
||||
|
||||
const infoEl = document.getElementById('info')
|
||||
const statusEl = document.getElementById('status')
|
||||
const formEl = document.getElementById('search')
|
||||
|
||||
const errors = {
|
||||
missingQuery: new TypeError('Query is missing.'),
|
||||
noFoundInstances: new TypeError('No instances were found.'),
|
||||
noFoundInstances: new Error('No instances were found.'),
|
||||
}
|
||||
|
||||
function buildSearchURL (opts = {}) {
|
||||
|
@ -102,7 +102,7 @@ if (location.search.length > 0) {
|
|||
}
|
||||
}
|
||||
|
||||
infoEl.textContent = `${data.instances.length} instances`
|
||||
if (data.instances.length > 0) {
|
||||
infoEl.classList.add('error')
|
||||
statusEl.textContent = `${data.instances.length} instances`
|
||||
if (data.instances.length === 0) {
|
||||
statusEl.classList.add('error')
|
||||
}
|
|
@ -2,6 +2,6 @@
|
|||
<ShortName>TROM</ShortName>
|
||||
<Description>TROM Search</Description>
|
||||
<InputEncoding>UTF-8</InputEncoding>
|
||||
<Url type="application/opensearchdescription+xml" rel="self" template="https://testsearch.trom.tf/opensearchdescription.xml"></Url>
|
||||
<Url type="text/html" template="https://testsearch.trom.tf/?q={searchTerms}"></Url>
|
||||
<Url type="application/opensearchdescription+xml" rel="self" template="https://search.trom.tf/opensearchdescription.xml"></Url>
|
||||
<Url type="text/html" template="https://search.trom.tf/?q={searchTerms}"></Url>
|
||||
</OpenSearchDescription>
|
Loading…
Reference in New Issue
Block a user